Skip to content

Commit a6b16b6

Browse files
Merge pull request #4128 from RedisInsight/fe/feature/bugfix
2 parents 4f49f42 + d64a733 commit a6b16b6

File tree

4 files changed

+19
-11
lines changed

4 files changed

+19
-11
lines changed

redisinsight/ui/src/helpers/constructKeysToTree.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,12 @@ import { IKeyPropTypes } from 'uiSrc/constants/prop-types/keys'
44
interface Props {
55
items: IKeyPropTypes[]
66
delimiterPattern?: string
7+
delimiters?: string[]
78
sorting?: SortOrder
89
}
910

1011
export const constructKeysToTree = (props: Props): any[] => {
11-
const { items: keys, delimiterPattern = ':', sorting = 'ASC' } = props
12+
const { items: keys, delimiterPattern = ':', delimiters = [], sorting = 'ASC' } = props
1213
const keysSymbol = `keys${delimiterPattern}keys`
1314
const tree: any = {}
1415

@@ -82,9 +83,10 @@ export const constructKeysToTree = (props: Props): any[] => {
8283

8384
// populate node with children nodes
8485
if (!tree[key].isLeaf && Object.keys(tree[key]).length > 0) {
86+
const delimiterView = delimiters.length === 1 ? delimiters[0] : '-'
8587
node.children = formatTreeData(
8688
tree[key],
87-
`${previousKey + name}-`,
89+
`${previousKey + name + delimiterView}`,
8890
delimiter,
8991
path,
9092
)

redisinsight/ui/src/pages/browser/components/virtual-tree/VirtualTree.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,12 +105,12 @@ const VirtualTree = (props: Props) => {
105105
nodes.current = []
106106
elements.current = {}
107107
rerender({})
108-
runWebworker?.({ items: [], delimiterPattern, sorting })
108+
runWebworker?.({ items: [], delimiterPattern, delimiters, sorting })
109109
return
110110
}
111111

112112
setConstructingTree(true)
113-
runWebworker?.({ items, delimiterPattern, sorting })
113+
runWebworker?.({ items, delimiterPattern, delimiters, sorting })
114114
}, [items, delimiterPattern])
115115

116116
const handleUpdateSelected = useCallback((name: RedisString) => {

redisinsight/ui/src/pages/browser/components/virtual-tree/components/Node/Node.tsx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ const Node = ({
5555
updateStatusSelected,
5656
} = data
5757

58+
const delimiterView = delimiters.length === 1 ? delimiters[0] : '-'
59+
5860
const [deletePopoverId, setDeletePopoverId] = useState<Maybe<string>>(undefined)
5961

6062
useEffect(() => {
@@ -165,12 +167,14 @@ const Node = ({
165167
const tooltipContent = (
166168
<>
167169
<div className={styles.folderTooltipHeader}>
168-
<span className={styles.folderPattern}>{`${fullName}-*`}</span>
169-
<span className={styles.delimiters}>
170-
{delimiters.map((delimiter) => (
171-
<span className={styles.delimiter}>{delimiter}</span>
172-
))}
173-
</span>
170+
<span className={styles.folderPattern}>{`${fullName + delimiterView}*`}</span>
171+
{delimiters.length > 1 && (
172+
<span className={styles.delimiters}>
173+
{delimiters.map((delimiter) => (
174+
<span className={styles.delimiter}>{delimiter}</span>
175+
))}
176+
</span>
177+
)}
174178
</div>
175179
<span>{`${keyCount} key(s) (${Math.round(keyApproximate * 100) / 100}%)`}</span>
176180
</>

redisinsight/ui/src/pages/browser/components/virtual-tree/components/Node/styles.module.scss

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@
145145
display: flex;
146146
flex-wrap: wrap;
147147
align-items: center;
148-
white-space: nowrap;
148+
word-break: break-all;
149149
}
150150

151151
.delimiters {
@@ -154,7 +154,9 @@
154154
}
155155

156156
.folderPattern {
157+
font-weight: bold;
157158
margin-right: 4px;
159+
white-space: normal;
158160
}
159161

160162
.delimiter {

0 commit comments

Comments
 (0)