Skip to content

Commit fe35138

Browse files
committed
* #RI-2918 - Event SLOWLOG_AUTO_REFRESH_ENABLED should be sent when user changes rate after enabling autorefresh
* #RI-2908 - The edit rate button should appear when hover on the rate value
1 parent 02f99a0 commit fe35138

File tree

6 files changed

+74
-30
lines changed

6 files changed

+74
-30
lines changed

redisinsight/ui/src/pages/browser/components/auto-refresh/AutoRefresh.tsx

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ export interface Props {
2929
testid?: string
3030
containerClassName?: string
3131
turnOffAutoRefresh?: boolean
32-
onRefresh: () => void
32+
onRefresh: (enableAutoRefresh?: boolean) => void
3333
onEnableAutoRefresh?: (enableAutoRefresh: boolean, refreshRate: string) => void
34+
onChangeAutoRefreshRate?: (enableAutoRefresh: boolean, refreshRate: string) => void
3435
}
3536

3637
const TIMEOUT_TO_UPDATE_REFRESH_TIME = 1_000 * MINUTE // once a minute
@@ -45,6 +46,7 @@ const AutoRefresh = ({
4546
turnOffAutoRefresh,
4647
onRefresh,
4748
onEnableAutoRefresh,
49+
onChangeAutoRefreshRate,
4850
}: Props) => {
4951
let intervalText: NodeJS.Timeout
5052
let timeoutRefresh: NodeJS.Timeout
@@ -126,18 +128,20 @@ const AutoRefresh = ({
126128
)
127129
}
128130

129-
const handleApplyAutoRefreshRate = (value: string) => {
130-
setRefreshRate(+value > MIN_REFRESH_RATE ? value : `${MIN_REFRESH_RATE}`)
131+
const handleApplyAutoRefreshRate = (initValue: string) => {
132+
const value = +initValue >= MIN_REFRESH_RATE ? initValue : `${MIN_REFRESH_RATE}`
133+
setRefreshRate(value)
131134
setEditingRate(false)
132135
localStorageService.set(BrowserStorageItem.autoRefreshRate + postfix, value)
136+
onChangeAutoRefreshRate?.(enableAutoRefresh, value)
133137
}
134138

135139
const handleDeclineAutoRefreshRate = () => {
136140
setEditingRate(false)
137141
}
138142

139143
const handleRefresh = () => {
140-
onRefresh()
144+
onRefresh(enableAutoRefresh)
141145
}
142146

143147
const onChangeEnableAutoRefresh = (value: boolean) => {
@@ -207,7 +211,7 @@ const AutoRefresh = ({
207211
{!editingRate && (
208212
<EuiTextColor
209213
color="subdued"
210-
style={{ cursor: 'pointer' }}
214+
className={styles.refreshRateText}
211215
onClick={() => setEditingRate(true)}
212216
data-testid="refresh-rate"
213217
>

redisinsight/ui/src/pages/browser/components/auto-refresh/styles.module.scss

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,16 @@
115115
color: var(--euiColorPrimary) !important;
116116
}
117117
}
118+
119+
.refreshRateText {
120+
display: inline-block;
121+
width: 80px;
122+
height: 30px;
123+
border: 1px solid transparent;
124+
cursor: pointer;
125+
126+
&:hover {
127+
padding-left: 5px;
128+
border-color: var(--controlsBorderColor);
129+
}
130+
}

redisinsight/ui/src/pages/browser/components/key-details-header/KeyDetailsHeader.tsx

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -178,18 +178,20 @@ const KeyDetailsHeader = ({
178178
})
179179
}
180180

181-
const handleRefreshKey = () => {
182-
sendEventTelemetry({
183-
event: getBasedOnViewTypeEvent(
184-
viewType,
185-
TelemetryEvent.BROWSER_KEY_DETAILS_REFRESH_CLICKED,
186-
TelemetryEvent.TREE_VIEW_KEY_DETAILS_REFRESH_CLICKED
187-
),
188-
eventData: {
189-
databaseId: instanceId,
190-
keyType: type
191-
}
192-
})
181+
const handleRefreshKey = (enableAutoRefresh: boolean) => {
182+
if (!enableAutoRefresh) {
183+
sendEventTelemetry({
184+
event: getBasedOnViewTypeEvent(
185+
viewType,
186+
TelemetryEvent.BROWSER_KEY_DETAILS_REFRESH_CLICKED,
187+
TelemetryEvent.TREE_VIEW_KEY_DETAILS_REFRESH_CLICKED
188+
),
189+
eventData: {
190+
databaseId: instanceId,
191+
keyType: type
192+
}
193+
})
194+
}
193195
onRefresh(key, type)
194196
}
195197

redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -107,17 +107,19 @@ const KeysHeader = (props: Props) => {
107107
height: '36px !important',
108108
}
109109

110-
const handleRefreshKeys = () => {
111-
sendEventTelemetry({
112-
event: getBasedOnViewTypeEvent(
113-
viewType,
114-
TelemetryEvent.BROWSER_KEY_LIST_REFRESH_CLICKED,
115-
TelemetryEvent.TREE_VIEW_KEY_LIST_REFRESH_CLICKED
116-
),
117-
eventData: {
118-
databaseId: instanceId
119-
}
120-
})
110+
const handleRefreshKeys = (enableAutoRefresh: boolean) => {
111+
if (!enableAutoRefresh) {
112+
sendEventTelemetry({
113+
event: getBasedOnViewTypeEvent(
114+
viewType,
115+
TelemetryEvent.BROWSER_KEY_LIST_REFRESH_CLICKED,
116+
TelemetryEvent.TREE_VIEW_KEY_LIST_REFRESH_CLICKED
117+
),
118+
eventData: {
119+
databaseId: instanceId
120+
}
121+
})
122+
}
121123
dispatch(fetchKeys(
122124
'0',
123125
viewType === KeyViewType.Browser ? SCAN_COUNT_DEFAULT : SCAN_TREE_COUNT_DEFAULT,

redisinsight/ui/src/pages/slowLog/components/Actions/Actions.tsx

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ import { slowLogSelector } from 'uiSrc/slices/slowlog/slowlog'
1919
import AutoRefresh from 'uiSrc/pages/browser/components/auto-refresh'
2020
import { Nullable } from 'uiSrc/utils'
2121
import { sendEventTelemetry, TelemetryEvent } from 'uiSrc/telemetry'
22-
import styles from './styles.module.scss'
2322
import SlowLogConfig from '../SlowLogConfig'
23+
import styles from './styles.module.scss'
2424

2525
export interface Props {
2626
width: number
@@ -68,11 +68,25 @@ const Actions = (props: Props) => {
6868
: TelemetryEvent.SLOWLOG_AUTO_REFRESH_DISABLED,
6969
eventData: {
7070
databaseId: instanceId,
71-
refreshRate: enableAutoRefresh ? refreshRate : undefined
71+
refreshRate: enableAutoRefresh ? +refreshRate : undefined
7272
}
7373
})
7474
}
7575

76+
const handleChangeAutoRefreshRate = (enableAutoRefresh: boolean, refreshRate: string) => {
77+
if (enableAutoRefresh) {
78+
sendEventTelemetry({
79+
event: enableAutoRefresh
80+
? TelemetryEvent.SLOWLOG_AUTO_REFRESH_ENABLED
81+
: TelemetryEvent.SLOWLOG_AUTO_REFRESH_DISABLED,
82+
eventData: {
83+
databaseId: instanceId,
84+
refreshRate: +refreshRate
85+
}
86+
})
87+
}
88+
}
89+
7690
const ToolTipContent = (
7791
<div className={styles.popoverContainer}>
7892
<EuiIcon type="alert" color="danger" className={styles.warningIcon} />
@@ -116,6 +130,7 @@ const Actions = (props: Props) => {
116130
containerClassName={styles.refreshContainer}
117131
onRefresh={onRefresh}
118132
onEnableAutoRefresh={handleEnableAutoRefresh}
133+
onChangeAutoRefreshRate={handleChangeAutoRefreshRate}
119134
testid="refresh-slowlog-btn"
120135
/>
121136
</EuiFlexItem>

redisinsight/ui/src/telemetry/events.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ export enum TelemetryEvent {
5252
BROWSER_KEYS_SCANNED = 'BROWSER_KEYS_SCANNED',
5353
BROWSER_KEYS_ADDITIONALLY_SCANNED = 'BROWSER_KEYS_ADDITIONALLY_SCANNED',
5454
BROWSER_KEYS_SCANNED_WITH_FILTER_ENABLED = 'BROWSER_KEYS_SCANNED_WITH_FILTER_ENABLED',
55+
BROWSER_KEY_LIST_AUTO_REFRESH_ENABLED = 'BROWSER_KEY_LIST_AUTO_REFRESH_ENABLED',
56+
BROWSER_KEY_LIST_AUTO_REFRESH_DISABLED = 'BROWSER_KEY_LIST_AUTO_REFRESH_DISABLED',
57+
BROWSER_KEY_DETAILS_AUTO_REFRESH_ENABLED = 'BROWSER_KEY_DETAILS_AUTO_REFRESH_ENABLED',
58+
BROWSER_KEY_DETAILS_AUTO_REFRESH_DISABLED = 'BROWSER_KEY_DETAILS_AUTO_REFRESH_DISABLED',
5559

5660
CLI_OPENED = 'CLI_OPENED',
5761
CLI_CLOSED = 'CLI_CLOSED',
@@ -114,6 +118,10 @@ export enum TelemetryEvent {
114118
TREE_VIEW_KEYS_ADDITIONALLY_SCANNED = 'TREE_VIEW_KEYS_ADDITIONALLY_SCANNED',
115119
TREE_VIEW_DELIMITER_CHANGED = 'TREE_VIEW_DELIMITER_CHANGED',
116120
TREE_VIEW_KEY_ADDED = 'TREE_VIEW_KEY_ADDED',
121+
TREE_VIEW_KEY_LIST_AUTO_REFRESH_ENABLED = 'TREE_VIEW_KEY_LIST_AUTO_REFRESH_ENABLED',
122+
TREE_VIEW_KEY_LIST_AUTO_REFRESH_DISABLED = 'TREE_VIEW_KEY_LIST_AUTO_REFRESH_DISABLED',
123+
TREE_VIEW_KEY_DETAILS_AUTO_REFRESH_ENABLED = 'TREE_VIEW_KEY_DETAILS_AUTO_REFRESH_ENABLED',
124+
TREE_VIEW_KEY_DETAILS_AUTO_REFRESH_DISABLED = 'TREE_VIEW_KEY_DETAILS_AUTO_REFRESH_DISABLED',
117125

118126
SLOWLOG_LOADED = 'SLOWLOG_LOADED',
119127
SLOWLOG_CLEARED = 'SLOWLOG_CLEARED',

0 commit comments

Comments
 (0)