Skip to content

Commit 350ec72

Browse files
Merge pull request #4137 from RedisInsight/fe/bugfix/RI-6352_Delimiter_must_be_string_Analysis
#RI-6352 - "Delimiter must be a string" error for db analysis
2 parents 88ffe9f + a70da59 commit 350ec72

File tree

6 files changed

+18
-15
lines changed

6 files changed

+18
-15
lines changed

redisinsight/ui/src/components/side-panels/panels/live-time-recommendations/LiveTimeRecommendations.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
} from '@elastic/eui'
1313
import { remove } from 'lodash'
1414

15-
import { Pages } from 'uiSrc/constants'
15+
import { DEFAULT_DELIMITER, Pages } from 'uiSrc/constants'
1616
import { ANALYZE_CLUSTER_TOOLTIP_MESSAGE, ANALYZE_TOOLTIP_MESSAGE } from 'uiSrc/constants/recommendations'
1717
import {
1818
recommendationsSelector,
@@ -26,6 +26,7 @@ import { IRecommendation } from 'uiSrc/slices/interfaces/recommendations'
2626
import { appContextDbConfig, setRecommendationsShowHidden } from 'uiSrc/slices/app/context'
2727
import { ConnectionType } from 'uiSrc/slices/interfaces'
2828
import { createNewAnalysis } from 'uiSrc/slices/analytics/dbAnalysis'
29+
import { comboBoxToArray } from 'uiSrc/utils'
2930

3031
import InfoIcon from 'uiSrc/assets/img/icons/help_illus.svg'
3132

@@ -45,7 +46,7 @@ const LiveTimeRecommendations = () => {
4546
} = useSelector(recommendationsSelector)
4647
const {
4748
showHiddenRecommendations: isShowHidden,
48-
treeViewDelimiter: delimiter = '',
49+
treeViewDelimiter = [DEFAULT_DELIMITER],
4950
} = useSelector(appContextDbConfig)
5051

5152
const { instanceId } = useParams<{ instanceId: string }>()
@@ -68,7 +69,7 @@ const LiveTimeRecommendations = () => {
6869
}, [])
6970

7071
const handleClickDbAnalysisLink = () => {
71-
dispatch(createNewAnalysis(instanceId, delimiter))
72+
dispatch(createNewAnalysis(instanceId, comboBoxToArray(treeViewDelimiter)))
7273
history.push(Pages.databaseAnalysis(instanceId))
7374
sendEventTelemetry({
7475
event: TelemetryEvent.INSIGHTS_TIPS_DATABASE_ANALYSIS_CLICKED,

redisinsight/ui/src/components/side-panels/panels/live-time-recommendations/components/welcome-screen/WelcomeScreen.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ import { useHistory, useParams } from 'react-router-dom'
44
import cx from 'classnames'
55
import { EuiText, EuiButton } from '@elastic/eui'
66

7-
import { Pages } from 'uiSrc/constants'
7+
import { DEFAULT_DELIMITER, Pages } from 'uiSrc/constants'
88
import { recommendationsSelector } from 'uiSrc/slices/recommendations/recommendations'
99
import { connectedInstanceSelector } from 'uiSrc/slices/instances/instances'
1010
import { sendEventTelemetry, TelemetryEvent } from 'uiSrc/telemetry'
1111
import WelcomeIcon from 'uiSrc/assets/img/icons/welcome.svg?react'
1212
import { appContextDbConfig } from 'uiSrc/slices/app/context'
1313
import { createNewAnalysis } from 'uiSrc/slices/analytics/dbAnalysis'
1414
import { ConnectionType } from 'uiSrc/slices/interfaces'
15+
import { comboBoxToArray } from 'uiSrc/utils'
1516
import { ANALYZE_CLUSTER_TOOLTIP_MESSAGE, ANALYZE_TOOLTIP_MESSAGE } from 'uiSrc/constants/recommendations'
1617
import PopoverRunAnalyze from '../popover-run-analyze'
1718

@@ -20,7 +21,7 @@ import styles from './styles.module.scss'
2021
const NoRecommendationsScreen = () => {
2122
const { provider, connectionType } = useSelector(connectedInstanceSelector)
2223
const { data: { recommendations } } = useSelector(recommendationsSelector)
23-
const { treeViewDelimiter: delimiter = '' } = useSelector(appContextDbConfig)
24+
const { treeViewDelimiter = [DEFAULT_DELIMITER] } = useSelector(appContextDbConfig)
2425

2526
const [isShowInfo, setIsShowInfo] = useState(false)
2627

@@ -29,7 +30,7 @@ const NoRecommendationsScreen = () => {
2930
const history = useHistory()
3031

3132
const handleClickDbAnalysisLink = () => {
32-
dispatch(createNewAnalysis(instanceId, delimiter))
33+
dispatch(createNewAnalysis(instanceId, comboBoxToArray(treeViewDelimiter)))
3334
history.push(Pages.databaseAnalysis(instanceId))
3435
sendEventTelemetry({
3536
event: TelemetryEvent.INSIGHTS_TIPS_DATABASE_ANALYSIS_CLICKED,

redisinsight/ui/src/pages/database-analysis/components/header/Header.tsx

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ import { appContextDbConfig } from 'uiSrc/slices/app/context'
2020
import { connectedInstanceSelector } from 'uiSrc/slices/instances/instances'
2121
import { ConnectionType } from 'uiSrc/slices/interfaces'
2222
import AnalyticsTabs from 'uiSrc/components/analytics-tabs'
23-
import { Nullable, getDbIndex } from 'uiSrc/utils'
23+
import { Nullable, comboBoxToArray, getDbIndex } from 'uiSrc/utils'
2424
import { sendEventTelemetry, TelemetryEvent } from 'uiSrc/telemetry'
2525
import { ANALYZE_CLUSTER_TOOLTIP_MESSAGE, ANALYZE_TOOLTIP_MESSAGE } from 'uiSrc/constants/recommendations'
2626
import { FormatedDate } from 'uiSrc/components'
27+
import { DEFAULT_DELIMITER } from 'uiSrc/constants'
2728
import { ShortDatabaseAnalysis } from 'apiSrc/modules/database-analysis/models'
2829
import { AnalysisProgress } from 'apiSrc/modules/database-analysis/models/analysis-progress'
2930

@@ -50,7 +51,7 @@ const Header = (props: Props) => {
5051
const { instanceId } = useParams<{ instanceId: string }>()
5152
const dispatch = useDispatch()
5253

53-
const { treeViewDelimiter: delimiter = '' } = useSelector(appContextDbConfig)
54+
const { treeViewDelimiter = [DEFAULT_DELIMITER] } = useSelector(appContextDbConfig)
5455

5556
const analysisOptions: EuiSuperSelectOption<any>[] = items.map((item) => {
5657
const { createdAt, id, db } = item
@@ -76,7 +77,7 @@ const Header = (props: Props) => {
7677
provider,
7778
}
7879
})
79-
dispatch(createNewAnalysis(instanceId, delimiter))
80+
dispatch(createNewAnalysis(instanceId, comboBoxToArray(treeViewDelimiter)))
8081
}
8182

8283
return (

redisinsight/ui/src/slices/analytics/dbAnalysis.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ export function fetchDBAnalysisReportsHistory(
199199

200200
export function createNewAnalysis(
201201
instanceId: string,
202-
delimiter: string,
202+
delimiters: string[],
203203
onSuccessAction?: (data: DatabaseAnalysis) => void,
204204
onFailAction?: () => void,
205205
) {
@@ -213,7 +213,7 @@ export function createNewAnalysis(
213213
ApiEndpoints.DATABASE_ANALYSIS,
214214
),
215215
{
216-
delimiter,
216+
delimiter: delimiters?.[0],
217217
}
218218
)
219219

redisinsight/ui/src/slices/tests/analytics/dbAnalysis.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,7 @@ describe('db analysis slice', () => {
369369

370370
// Act
371371
await store.dispatch<any>(
372-
createNewAnalysis('instanceId', 'delimiter')
372+
createNewAnalysis('instanceId', ['delimiter'])
373373
)
374374

375375
// Assert
@@ -403,7 +403,7 @@ describe('db analysis slice', () => {
403403

404404
// Act
405405
await store.dispatch<any>(
406-
createNewAnalysis('instanceId', 'delimiter')
406+
createNewAnalysis('instanceId', ['delimiter'])
407407
)
408408

409409
// Assert

redisinsight/ui/src/slices/tests/app/context.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ describe('slices', () => {
449449
// Arrange
450450
const data = {
451451
slowLogDurationUnit: 'msec',
452-
treeViewDelimiter: ':-',
452+
treeViewDelimiter: [{ label: ':-' }],
453453
treeViewSort: SortOrder.DESC,
454454
showHiddenRecommendations: true,
455455
}
@@ -496,7 +496,7 @@ describe('slices', () => {
496496
describe('setBrowserTreeDelimiter', () => {
497497
it('should properly set browser tree delimiter', () => {
498498
// Arrange
499-
const delimiter = '_'
499+
const delimiter = [{ label: '_' }]
500500

501501
const state = {
502502
...initialState.dbConfig,

0 commit comments

Comments
 (0)