Skip to content

Commit c61a95b

Browse files
Merge pull request #2467 from RedisInsight/fe/bugfix/RI-4825-fix-deleting-key
#RI-4825 - fix closing selected key after deleting from list
2 parents 20f1724 + 8b84c3a commit c61a95b

File tree

5 files changed

+21
-12
lines changed

5 files changed

+21
-12
lines changed

redisinsight/ui/src/pages/browser/BrowserPage.tsx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ const BrowserPage = () => {
163163
setIsBulkActionsPanelOpen(value)
164164
}, [])
165165

166+
const handleRemoveSelectedKey = useCallback(() => {
167+
handlePanel(true)
168+
}, [])
169+
166170
const handleCreateIndexPanel = useCallback((value: boolean) => {
167171
handlePanel(value)
168172
setIsCreateIndexPanelOpen(value)
@@ -231,8 +235,9 @@ const BrowserPage = () => {
231235
}}
232236
>
233237
<BrowserLeftPanel
238+
selectedKey={selectedKey}
234239
selectKey={selectKey}
235-
setSelectedKey={setSelectedKey}
240+
removeSelectedKey={handleRemoveSelectedKey}
236241
handleAddKeyPanel={handleAddKeyPanel}
237242
handleBulkActionsPanel={handleBulkActionsPanel}
238243
/>
@@ -270,7 +275,6 @@ const BrowserPage = () => {
270275
isBulkActionsPanelOpen={isBulkActionsPanelOpen}
271276
handleAddKeyPanel={handleAddKeyPanel}
272277
handleBulkActionsPanel={handleBulkActionsPanel}
273-
handleCreateIndexPanel={handleCreateIndexPanel}
274278
closeRightPanels={closeRightPanels}
275279
/>
276280
</EuiResizablePanel>

redisinsight/ui/src/pages/browser/components/browser-left-panel/BrowserLeftPanel.tsx

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { IKeyPropTypes } from 'uiSrc/constants/prop-types/keys'
1818
import { setConnectedInstanceId } from 'uiSrc/slices/instances/instances'
1919
import { SCAN_COUNT_DEFAULT, SCAN_TREE_COUNT_DEFAULT } from 'uiSrc/constants/api'
2020
import { redisearchDataSelector, redisearchListSelector, redisearchSelector } from 'uiSrc/slices/browser/redisearch'
21-
import { Nullable } from 'uiSrc/utils'
21+
import { isEqualBuffers, Nullable } from 'uiSrc/utils'
2222
import { RedisResponseBuffer } from 'uiSrc/slices/interfaces'
2323
import { KeyTypes } from 'uiSrc/constants'
2424

@@ -29,16 +29,18 @@ import KeysHeader from '../keys-header'
2929
import styles from './styles.module.scss'
3030

3131
export interface Props {
32+
selectedKey: Nullable<RedisResponseBuffer>
3233
selectKey: ({ rowData }: { rowData: any }) => void
33-
setSelectedKey: (keyName: Nullable<RedisResponseBuffer>) => void
34+
removeSelectedKey: () => void
3435
handleAddKeyPanel: (value: boolean) => void
3536
handleBulkActionsPanel: (value: boolean) => void
3637
}
3738

3839
const BrowserLeftPanel = (props: Props) => {
3940
const {
41+
selectedKey,
4042
selectKey,
41-
setSelectedKey,
43+
removeSelectedKey,
4244
handleAddKeyPanel,
4345
handleBulkActionsPanel
4446
} = props
@@ -110,8 +112,12 @@ const BrowserLeftPanel = (props: Props) => {
110112
}
111113

112114
const onDeleteKey = useCallback(
113-
() => setSelectedKey(null),
114-
[],
115+
(key: RedisResponseBuffer) => {
116+
if (isEqualBuffers(key, selectedKey)) {
117+
removeSelectedKey()
118+
}
119+
},
120+
[selectedKey],
115121
)
116122

117123
return (

redisinsight/ui/src/pages/browser/components/browser-right-panel/BrowserRightPanel.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ export interface Props {
2828
isBulkActionsPanelOpen: boolean
2929
handleBulkActionsPanel: (value: boolean) => void
3030
isCreateIndexPanelOpen: boolean
31-
handleCreateIndexPanel?: (value: boolean) => void
3231
closeRightPanels: () => void
3332
}
3433

redisinsight/ui/src/pages/browser/components/key-list/KeyList.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ export interface Props {
7272
oldKeys: IKeyPropTypes[],
7373
{ startIndex, stopIndex }: { startIndex: number, stopIndex: number },
7474
) => void
75-
onDelete: () => void
75+
onDelete: (key: RedisResponseBuffer) => void
7676
commonFilterType: Nullable<KeyTypes>
7777
onAddKeyPanel: (value: boolean) => void
7878
onBulkActionsPanel: (value: boolean) => void
@@ -241,7 +241,7 @@ const KeyList = forwardRef((props: Props, ref) => {
241241
const handleRemoveKey = (key: RedisResponseBuffer) => {
242242
dispatch(deleteKeyAction(key, () => {
243243
setDeletePopoverIndex(undefined)
244-
onDelete()
244+
onDelete(key)
245245
}))
246246
}
247247

redisinsight/ui/src/pages/browser/components/key-tree/KeyTree.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { KeysStoreData } from 'uiSrc/slices/interfaces/keys'
1818
import { Nullable, bufferToString } from 'uiSrc/utils'
1919
import { IKeyPropTypes } from 'uiSrc/constants/prop-types/keys'
2020
import { KeyTypes } from 'uiSrc/constants'
21+
import { RedisResponseBuffer } from 'uiSrc/slices/interfaces'
2122
import { GetKeyInfoResponse } from 'apiSrc/modules/browser/dto'
2223
import KeyTreeDelimiter from './KeyTreeDelimiter'
2324

@@ -33,7 +34,7 @@ export interface Props {
3334
oldKeys: IKeyPropTypes[],
3435
{ startIndex, stopIndex }: { startIndex: number, stopIndex: number },
3536
) => void
36-
onDelete: () => void
37+
onDelete: (key: RedisResponseBuffer) => void
3738
onAddKeyPanel: (value: boolean) => void
3839
onBulkActionsPanel: (value: boolean) => void
3940
}
@@ -236,7 +237,6 @@ const KeyTree = forwardRef((props: Props, ref) => {
236237
</>
237238
)}
238239
</EuiResizableContainer>
239-
240240
</div>
241241
</div>
242242
</div>

0 commit comments

Comments
 (0)