Skip to content

Commit 6274ad6

Browse files
authored
Merge pull request #3155 from RedisInsight/fe/bugfix/RIVS-162_Editing_element_is_not_cancelled_after_search
#RIVS-162 - editing element is not cancelled after search
2 parents 1963447 + 5cefdb4 commit 6274ad6

File tree

4 files changed

+34
-21
lines changed

4 files changed

+34
-21
lines changed

redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/hash-details-table/HashDetailsTable.tsx

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ import {
6161
} from 'uiSrc/utils'
6262
import { stringToBuffer } from 'uiSrc/utils/formatters/bufferFormatters'
6363
import { decompressingBuffer } from 'uiSrc/utils/decompressors'
64+
import PopoverDelete from 'uiSrc/pages/browser/components/popover-delete/PopoverDelete'
6465
import { AddFieldsToHashDto, GetHashFieldsResponse, HashFieldDto, } from 'apiSrc/modules/browser/hash/dto'
6566

66-
import PopoverDelete from '../../../../../components/popover-delete/PopoverDelete'
6767
import styles from './styles.module.scss'
6868

6969
const suffix = '_hash'
@@ -94,7 +94,7 @@ const HashDetailsTable = (props: Props) => {
9494
const { loading } = useSelector(hashSelector)
9595
const { viewType } = useSelector(keysSelector)
9696
const { id: instanceId, compressor = null } = useSelector(connectedInstanceSelector)
97-
const { viewFormat: viewFormatProp } = useSelector(selectedKeySelector)
97+
const { viewFormat: viewFormatProp, lastRefreshTime } = useSelector(selectedKeySelector)
9898
const { name: key, length } = useSelector(selectedKeyDataSelector) ?? { name: '' }
9999
const { loading: updateLoading } = useSelector(updateHashValueStateSelector)
100100
const { [KeyTypes.Hash]: hashSizes } = useSelector(appContextBrowserKeyDetails)
@@ -114,6 +114,10 @@ const HashDetailsTable = (props: Props) => {
114114

115115
const dispatch = useDispatch()
116116

117+
useEffect(() => {
118+
resetState()
119+
}, [lastRefreshTime])
120+
117121
useEffect(() => {
118122
setFields(loadedFields)
119123

@@ -122,15 +126,19 @@ const HashDetailsTable = (props: Props) => {
122126
}
123127

124128
if (viewFormat !== viewFormatProp) {
125-
setExpandedRows([])
126-
setViewFormat(viewFormatProp)
127-
setEditingIndex(null)
128-
dispatch(setSelectedKeyRefreshDisabled(false))
129-
130-
clearCache()
129+
resetState()
131130
}
132131
}, [loadedFields, viewFormatProp])
133132

133+
const resetState = () => {
134+
setExpandedRows([])
135+
setViewFormat(viewFormatProp)
136+
setEditingIndex(null)
137+
dispatch(setSelectedKeyRefreshDisabled(false))
138+
139+
clearCache()
140+
}
141+
134142
const clearCache = () => setTimeout(() => {
135143
cellCache.clearAll()
136144
forceUpdate({})

redisinsight/ui/src/pages/browser/modules/key-details/components/list-details/list-details-table/ListDetailsTable.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ const ListDetailsTable = (props: Props) => {
9494
const { name: key } = useSelector(selectedKeyDataSelector) ?? { name: '' }
9595
const { id: instanceId, compressor = null } = useSelector(connectedInstanceSelector)
9696
const { viewType } = useSelector(keysSelector)
97-
const { viewFormat: viewFormatProp } = useSelector(selectedKeySelector)
97+
const { viewFormat: viewFormatProp, lastRefreshTime } = useSelector(selectedKeySelector)
9898
const { [KeyTypes.List]: listSizes } = useSelector(appContextBrowserKeyDetails)
9999

100100
const [elements, setElements] = useState<IListElement[]>([])
@@ -110,6 +110,10 @@ const ListDetailsTable = (props: Props) => {
110110

111111
const dispatch = useDispatch()
112112

113+
useEffect(() => {
114+
resetState()
115+
}, [lastRefreshTime])
116+
113117
useEffect(() => {
114118
setElements(loadedElements)
115119

@@ -118,15 +122,19 @@ const ListDetailsTable = (props: Props) => {
118122
}
119123

120124
if (viewFormat !== viewFormatProp) {
121-
setExpandedRows([])
122-
setViewFormat(viewFormatProp)
123-
setEditingIndex(null)
124-
dispatch(setSelectedKeyRefreshDisabled(false))
125-
126-
clearCache()
125+
resetState()
127126
}
128127
}, [loadedElements, viewFormatProp])
129128

129+
const resetState = () => {
130+
setExpandedRows([])
131+
setViewFormat(viewFormatProp)
132+
setEditingIndex(null)
133+
dispatch(setSelectedKeyRefreshDisabled(false))
134+
135+
clearCache()
136+
}
137+
130138
const clearCache = () => setTimeout(() => {
131139
cellCache.clearAll()
132140
forceUpdate({})

redisinsight/ui/src/slices/browser/list.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,6 @@ const listSlice = createSlice({
5959
reducers: {
6060
setListInitialState: () => initialState,
6161

62-
setListElements: (state, { payload } : PayloadAction<RedisResponseBuffer[]>) => {
63-
state.data.elements = payload
64-
},
6562
// load List elements
6663
loadListElements: (state, { payload: resetData = true }: PayloadAction<Maybe<boolean>>) => {
6764
state.loading = true
@@ -195,7 +192,6 @@ const listSlice = createSlice({
195192
// Actions generated from the slice
196193
export const {
197194
setListInitialState,
198-
setListElements,
199195
loadListElements,
200196
loadListElementsSuccess,
201197
loadListElementsFailure,

redisinsight/ui/src/slices/interfaces/instances.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { RedisResponseBuffer } from 'uiSrc/slices/interfaces/app'
1+
import { RedisResponseBuffer, RedisString } from 'uiSrc/slices/interfaces/app'
22
import { Maybe, Nullable } from 'uiSrc/utils'
33
import { GetHashFieldsResponse } from 'apiSrc/modules/browser/hash/dto'
44
import { GetSetMembersResponse } from 'apiSrc/modules/browser/set/dto'
@@ -454,7 +454,8 @@ export interface ModifiedSentinelMaster extends CreateSentinelDatabaseDto {
454454
export interface ModifiedGetListElementsResponse
455455
extends GetListElementsDto,
456456
GetListElementsResponse {
457-
key?: string;
457+
elements: { index: number, element: RedisResponseBuffer }[]
458+
key?: RedisString;
458459
searchedIndex: Nullable<number>;
459460
}
460461

0 commit comments

Comments
 (0)