Skip to content

Commit 26fb04c

Browse files
committed
#RI-5371 - fix loading
1 parent f87c669 commit 26fb04c

File tree

4 files changed

+35
-23
lines changed

4 files changed

+35
-23
lines changed

redisinsight/ui/src/constants/texts.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,13 @@ export const NoResultsFoundText = (
99
No results found.
1010
</EuiText>
1111
)
12+
13+
export const LoadingText = (
14+
<EuiText size="m" data-testid="loading-keys" style={{ lineHeight: 1.4 }}>
15+
loading...
16+
</EuiText>
17+
)
18+
1219
export const NoSelectedIndexText = (
1320
<EuiText size="m" data-testid="no-result-select-index">
1421
Select an index and enter a query to search per values of keys.

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,14 @@ const KeyList = forwardRef((props: Props, ref) => {
108108
useEffect(() => {
109109
itemsRef.current = [...keysState.keys]
110110

111-
if (!isNotRendered.current && !loading) {
111+
if (!isNotRendered.current && !loading && keysState.lastRefreshTime) {
112112
setFirstDataLoaded(true)
113113
}
114114

115115
isNotRendered.current = false
116116
dispatch(setBrowserIsNotRendered(isNotRendered.current))
117117
if (itemsRef.current.length === 0) {
118118
cancelAllMetadataRequests()
119-
setFirstDataLoaded(true)
120119
rerender({})
121120
return
122121
}
@@ -135,6 +134,7 @@ const KeyList = forwardRef((props: Props, ref) => {
135134

136135
const NoItemsMessage = () => (
137136
<NoKeysMessage
137+
isLoading={loading || !firstDataLoaded}
138138
total={keysState.total}
139139
scanned={keysState.scanned}
140140
onAddKeyPanel={onAddKeyPanel}
@@ -146,10 +146,6 @@ const KeyList = forwardRef((props: Props, ref) => {
146146
return ''
147147
}
148148

149-
if (!keysState.lastRefreshTime || itemsRef.current.length < keysState.keys.length) {
150-
return 'loading...'
151-
}
152-
153149
return <NoItemsMessage />
154150
}
155151

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

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,12 @@ const KeyTree = forwardRef((props: Props, ref) => {
105105
}, [keysState.keys])
106106

107107
useEffect(() => {
108-
setFirstDataLoaded(true)
108+
if (keysState.lastRefreshTime) {
109+
setFirstDataLoaded(true)
110+
}
111+
109112
setItems(parseKeyNames(keysState.keys))
110-
}, [sorting, delimiter, keysState.lastRefreshTime])
113+
}, [keysState.lastRefreshTime])
111114

112115
useEffect(() => {
113116
openSelectedKey(selectedKeyName)
@@ -160,20 +163,15 @@ const KeyTree = forwardRef((props: Props, ref) => {
160163
})
161164
}
162165

163-
if (keysState.lastRefreshTime && keysState.keys.length === 0) {
164-
const NoItemsMessage = () => {
165-
if (loading || !firstDataLoaded || !keysState.lastRefreshTime) {
166-
return <span>loading...</span>
167-
}
168-
169-
return (
170-
<NoKeysMessage
171-
total={keysState.total}
172-
scanned={keysState.scanned}
173-
onAddKeyPanel={onAddKeyPanel}
174-
/>
175-
)
176-
}
166+
if (keysState.keys.length === 0) {
167+
const NoItemsMessage = () => (
168+
<NoKeysMessage
169+
isLoading={loading || !firstDataLoaded}
170+
total={keysState.total}
171+
scanned={keysState.scanned}
172+
onAddKeyPanel={onAddKeyPanel}
173+
/>
174+
)
177175

178176
return (
179177
<div className={cx(styles.content)}>
@@ -195,7 +193,7 @@ const KeyTree = forwardRef((props: Props, ref) => {
195193
deleting={deleting}
196194
statusSelected={selectedKeyName}
197195
statusOpen={statusOpen}
198-
loading={loading || constructingTree || !keysState.lastRefreshTime}
196+
loading={loading || constructingTree}
199197
commonFilterType={commonFilterType}
200198
setConstructingTree={setConstructingTree}
201199
webworkerFn={constructKeysToTree}

redisinsight/ui/src/pages/browser/components/no-keys-message/NoKeysMessage.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { SearchMode } from 'uiSrc/slices/interfaces/keys'
55

66
import {
77
FullScanNoResultsFoundText,
8+
LoadingText,
89
NoResultsFoundText,
910
NoSelectedIndexText,
1011
ScanNoResultsFoundText,
@@ -15,6 +16,7 @@ import { redisearchSelector } from 'uiSrc/slices/browser/redisearch'
1516
import NoKeysFound from '../no-keys-found'
1617

1718
export interface Props {
19+
isLoading: boolean
1820
total: number
1921
scanned: number
2022
onAddKeyPanel: (value: boolean) => void
@@ -25,6 +27,7 @@ const NoKeysMessage = (props: Props) => {
2527
total,
2628
scanned,
2729
onAddKeyPanel,
30+
isLoading,
2831
} = props
2932

3033
const { selectedIndex, isSearched: redisearchIsSearched } = useSelector(redisearchSelector)
@@ -35,6 +38,10 @@ const NoKeysMessage = (props: Props) => {
3538
return NoSelectedIndexText
3639
}
3740

41+
if (isLoading) {
42+
return LoadingText
43+
}
44+
3845
if (total === 0) {
3946
return NoResultsFoundText
4047
}
@@ -44,6 +51,10 @@ const NoKeysMessage = (props: Props) => {
4451
}
4552
}
4653

54+
if (isLoading) {
55+
return LoadingText
56+
}
57+
4758
if (total === 0) {
4859
return (<NoKeysFound onAddKeyPanel={onAddKeyPanel} />)
4960
}

0 commit comments

Comments
 (0)