Skip to content

Commit 3dab888

Browse files
committed
#RI-2457 - Update message in Browser for TimeSeries and Graph data types
1 parent 0b5e7d7 commit 3dab888

File tree

8 files changed

+101
-25
lines changed

8 files changed

+101
-25
lines changed

redisinsight/ui/src/constants/keys.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@ export enum KeyTypes {
1111
}
1212

1313
export enum UnsupportedKeyTypes {
14-
Graph = 'graphdata',
1514
Stream = 'stream',
15+
}
16+
17+
export enum ModulesKeyTypes {
18+
Graph = 'graphdata',
1619
TimeSeries = 'TSDB-TYPE',
1720
}
1821

@@ -25,8 +28,8 @@ export const GROUP_TYPES_DISPLAY = Object.freeze({
2528
[KeyTypes.ReJSON]: 'JSON',
2629
[KeyTypes.JSON]: 'JSON',
2730
[UnsupportedKeyTypes.Stream]: 'Stream',
28-
[UnsupportedKeyTypes.Graph]: 'GRAPH',
29-
[UnsupportedKeyTypes.TimeSeries]: 'TS',
31+
[ModulesKeyTypes.Graph]: 'GRAPH',
32+
[ModulesKeyTypes.TimeSeries]: 'TS',
3033
[CommandGroup.Bitmap]: 'Bitmap',
3134
[CommandGroup.Cluster]: 'Cluster',
3235
[CommandGroup.Connection]: 'Connection',
@@ -54,8 +57,8 @@ export const GROUP_TYPES_COLORS = Object.freeze({
5457
[KeyTypes.ReJSON]: 'var(--typeReJSONColor)',
5558
[KeyTypes.JSON]: 'var(--typeReJSONColor)',
5659
[UnsupportedKeyTypes.Stream]: 'var(--typeStreamColor)',
57-
[UnsupportedKeyTypes.Graph]: 'var(--typeGraphColor)',
58-
[UnsupportedKeyTypes.TimeSeries]: 'var(--typeTimeSeriesColor)',
60+
[ModulesKeyTypes.Graph]: 'var(--typeGraphColor)',
61+
[ModulesKeyTypes.TimeSeries]: 'var(--typeTimeSeriesColor)',
5962
[CommandGroup.SortedSet]: 'var(--groupSortedSetColor)',
6063
[CommandGroup.Bitmap]: 'var(--groupBitmapColor)',
6164
[CommandGroup.Cluster]: 'var(--groupClusterColor)',
@@ -107,7 +110,12 @@ export enum SortOrder {
107110
}
108111

109112
export const LENGTH_NAMING_BY_TYPE = Object.freeze({
110-
[UnsupportedKeyTypes.Graph]: 'Nodes',
111-
[UnsupportedKeyTypes.TimeSeries]: 'Samples',
113+
[ModulesKeyTypes.Graph]: 'Nodes',
114+
[ModulesKeyTypes.TimeSeries]: 'Samples',
112115
[UnsupportedKeyTypes.Stream]: 'Entries'
113116
})
117+
118+
export const MODULES_KEY_TYPES_NAMES = Object.freeze({
119+
[ModulesKeyTypes.Graph]: 'RedisGraph',
120+
[ModulesKeyTypes.TimeSeries]: 'RedisTimeSeries',
121+
})
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
import { KeyTypes } from '../keys'
1+
import { KeyTypes, ModulesKeyTypes } from '../keys'
22

33
export interface IKeyPropTypes {
4-
name: string;
5-
type: KeyTypes;
6-
ttl: number;
7-
size: number;
8-
length: number;
4+
name: string
5+
type: KeyTypes | ModulesKeyTypes
6+
ttl: number
7+
size: number
8+
length: number
99
}
1010

1111
export interface IKeyListPropTypes {
12-
nextCursor: string;
13-
total: number;
14-
scanned: number;
15-
keys: IKeyPropTypes[];
12+
nextCursor: string
13+
total: number
14+
scanned: number
15+
keys: IKeyPropTypes[]
1616
}

redisinsight/ui/src/pages/browser/components/filter-key-type/constants.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {
22
GROUP_TYPES_COLORS,
33
KeyTypes,
4+
ModulesKeyTypes,
45
UnsupportedKeyTypes,
56
} from 'uiSrc/constants'
67

@@ -42,12 +43,12 @@ export const FILTER_KEY_TYPE_OPTIONS = [
4243
},
4344
{
4445
text: 'GRAPH',
45-
value: UnsupportedKeyTypes.Graph,
46-
color: GROUP_TYPES_COLORS[UnsupportedKeyTypes.Graph],
46+
value: ModulesKeyTypes.Graph,
47+
color: GROUP_TYPES_COLORS[ModulesKeyTypes.Graph],
4748
},
4849
{
4950
text: 'TS',
50-
value: UnsupportedKeyTypes.TimeSeries,
51-
color: GROUP_TYPES_COLORS[UnsupportedKeyTypes.TimeSeries],
51+
value: ModulesKeyTypes.TimeSeries,
52+
color: GROUP_TYPES_COLORS[ModulesKeyTypes.TimeSeries],
5253
},
5354
]

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,12 @@ import {
66
import { isNull } from 'lodash'
77
import { useSelector } from 'react-redux'
88
import cx from 'classnames'
9-
import { KeyTypes } from 'uiSrc/constants'
9+
1010
import {
1111
selectedKeyDataSelector,
1212
selectedKeySelector,
1313
} from 'uiSrc/slices/keys'
14+
import { KeyTypes, ModulesKeyTypes, MODULES_KEY_TYPES_NAMES } from 'uiSrc/constants'
1415
import { connectedInstanceSelector } from 'uiSrc/slices/instances'
1516
import { sendEventTelemetry, TelemetryEvent } from 'uiSrc/telemetry'
1617
import AddHashFields from '../../key-details-add-items/add-hash-fields/AddHashFields'
@@ -26,6 +27,7 @@ import ListDetails from '../../list-details/ListDetails'
2627
import RejsonDetailsWrapper from '../../rejson-details/RejsonDetailsWrapper'
2728
import RemoveListElements from '../../key-details-remove-items/remove-list-elements/RemoveListElements'
2829
import UnsupportedTypeDetails from '../../unsupported-type-details/UnsupportedTypeDetails'
30+
import ModulesTypeDetails from '../../modules-type-details/ModulesTypeDetails'
2931

3032
import styles from '../styles.module.scss'
3133

@@ -149,7 +151,12 @@ const KeyDetails = ({ ...props }: Props) => {
149151
<RejsonDetailsWrapper />
150152
)}
151153

152-
{!(Object.values(KeyTypes).includes(selectedKeyType)) && (
154+
{(Object.values(ModulesKeyTypes).includes(selectedKeyType)) && (
155+
<ModulesTypeDetails moduleName={MODULES_KEY_TYPES_NAMES[selectedKeyType]} />
156+
)}
157+
158+
{!(Object.values(KeyTypes).includes(selectedKeyType))
159+
&& !(Object.values(ModulesKeyTypes).includes(selectedKeyType)) && (
153160
<UnsupportedTypeDetails />
154161
)}
155162
</div>
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import React from 'react'
2+
import { ModulesKeyTypes, MODULES_KEY_TYPES_NAMES } from 'uiSrc/constants'
3+
import { render } from 'uiSrc/utils/test-utils'
4+
5+
import ModulesTypeDetails from './ModulesTypeDetails'
6+
7+
describe('ModulesTypeDetails', () => {
8+
it('should render', () => {
9+
expect(render(<ModulesTypeDetails moduleName={MODULES_KEY_TYPES_NAMES[ModulesKeyTypes.Graph]} />)).toBeTruthy()
10+
})
11+
})
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import React from 'react'
2+
import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTitle } from '@elastic/eui'
3+
import { useHistory } from 'react-router-dom'
4+
import { useSelector } from 'react-redux'
5+
6+
import { Pages } from 'uiSrc/constants'
7+
import { connectedInstanceSelector } from 'uiSrc/slices/instances'
8+
9+
import styles from '../unsupported-type-details/styles.module.scss'
10+
11+
const ModulesTypeDetails = ({ moduleName = 'unsupported' }: { moduleName: string }) => {
12+
const history = useHistory()
13+
const { id: connectedInstanceId = '' } = useSelector(connectedInstanceSelector)
14+
15+
const handleGoWorkbenchPage = (e: React.MouseEvent) => {
16+
e.preventDefault()
17+
history.push(Pages.workbench(connectedInstanceId))
18+
}
19+
20+
return (
21+
<div className={styles.container} data-testid="modules-type-details">
22+
<EuiFlexGroup alignItems="center" justifyContent="center">
23+
<EuiFlexItem className={styles.textWrapper}>
24+
<EuiTitle>
25+
<h4>{`This is ${moduleName} key.`}</h4>
26+
</EuiTitle>
27+
<EuiText size="s">
28+
{'Use Redis commands in the '}
29+
<a
30+
tabIndex={0}
31+
onClick={handleGoWorkbenchPage}
32+
className={styles.link}
33+
onKeyDown={() => ({})}
34+
role="link"
35+
rel="noreferrer"
36+
>
37+
Workbench
38+
</a>
39+
{' tool to view the value.'}
40+
</EuiText>
41+
</EuiFlexItem>
42+
</EuiFlexGroup>
43+
</div>
44+
)
45+
}
46+
47+
export default ModulesTypeDetails

redisinsight/ui/src/pages/browser/components/unsupported-type-details/UnsupportedTypeDetails.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiText, EuiTitle } from '@elastic/eui'
44
import styles from './styles.module.scss'
55

66
const UnsupportedTypeDetails = () => (
7-
<div className={styles.container}>
7+
<div className={styles.container} data-testid="unsupported-type-details">
88
<EuiFlexGroup alignItems="center" justifyContent="center">
99
<EuiFlexItem className={styles.textWrapper}>
1010
<EuiTitle>

redisinsight/ui/src/pages/browser/components/unsupported-type-details/styles.module.scss

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
h4 {
1010
font-size: 18px;
1111
font-weight: normal;
12-
margin-bottom: 16px;
12+
margin-bottom: 18px;
13+
line-height: 24px;
1314
}
1415
}
1516

@@ -22,4 +23,5 @@
2223
.link {
2324
text-decoration: underline;
2425
color: currentColor;
26+
color: var(--euiColorPrimary);
2527
}

0 commit comments

Comments
 (0)