Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export const analyticsViewTabs: AnalyticsTabs[] = [
},
{
id: AnalyticsViewTab.DatabaseAnalysis,
label: 'Redis Database Analysis',
label: 'Database Analysis',
},
{
id: AnalyticsViewTab.SlowLog,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ import {
} from 'uiSrc/slices/browser/keys'
import {
appContextBrowser,
setBrowserKeyListScrollPosition
setBrowserKeyListScrollPosition,
setBrowserIsNotRendered,
} from 'uiSrc/slices/app/context'
import { GroupBadge } from 'uiSrc/components'
import { SCAN_COUNT_DEFAULT } from 'uiSrc/constants/api'
Expand Down Expand Up @@ -72,13 +73,13 @@ const KeyList = forwardRef((props: Props, ref) => {
const selectedKey = useSelector(selectedKeySelector)
const { total, nextCursor, previousResultCount } = useSelector(keysDataSelector)
const { isSearched, isFiltered, viewType } = useSelector(keysSelector)
const { keyList: { scrollTopPosition } } = useSelector(appContextBrowser)
const { keyList: { scrollTopPosition, isNotRendered: isNotRenderedContext } } = useSelector(appContextBrowser)

const [, rerender] = useState({})
const [firstDataLoaded, setFirstDataLoaded] = useState(!!keysState.keys.length)

const itemsRef = useRef(keysState.keys)
const isNotRendered = useRef(true)
const isNotRendered = useRef(isNotRenderedContext)
const renderedRowsIndexesRef = useRef({ startIndex: 0, lastIndex: 0 })

const dispatch = useDispatch()
Expand Down Expand Up @@ -107,6 +108,7 @@ const KeyList = forwardRef((props: Props, ref) => {
}

isNotRendered.current = false
dispatch(setBrowserIsNotRendered(isNotRendered.current))
if (itemsRef.current.length === 0) {
rerender({})
return
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ describe('STANDALONE db', () => {
})
await waitForEuiToolTipVisible()

expect(screen.getByTestId('db-new-reports-tooltip')).toHaveTextContent('Redis Database AnalysisAnalyze up to 10 000 keys per Redis database to get an overview of your data.')
expect(screen.getByTestId('db-new-reports-tooltip')).toHaveTextContent('Database AnalysisAnalyze up to 10 000 keys per Redis database to get an overview of your data.')
})
})

Expand All @@ -182,6 +182,6 @@ describe('SENTINEL db', () => {
})
await waitForEuiToolTipVisible()

expect(screen.getByTestId('db-new-reports-tooltip')).toHaveTextContent('Redis Database AnalysisAnalyze up to 10 000 keys per Redis database to get an overview of your data.')
expect(screen.getByTestId('db-new-reports-tooltip')).toHaveTextContent('Database AnalysisAnalyze up to 10 000 keys per Redis database to get an overview of your data.')
})
})
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@ const Header = (props: Props) => {
position="bottom"
anchorClassName={styles.tooltipAnchor}
className={styles.tooltip}
title="Redis Database Analysis"
title="Database Analysis"
content={connectionType === ConnectionType.Cluster ? clusterTooltipMessage : commonTooltipMessage}
data-testid="db-new-reports-tooltip"
>
Expand Down
7 changes: 6 additions & 1 deletion redisinsight/ui/src/slices/app/context.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ export const initialState: StateAppContext = {
keyList: {
isDataLoaded: false,
scrollTopPosition: 0,
selectedKey: null
isNotRendered: true,
selectedKey: null,
},
panelSizes: {},
tree: {
Expand Down Expand Up @@ -67,6 +68,9 @@ const appContextSlice = createSlice({
setBrowserKeyListScrollPosition: (state, { payload }: { payload: number }) => {
state.browser.keyList.scrollTopPosition = payload
},
setBrowserIsNotRendered: (state, { payload }: { payload: boolean }) => {
state.browser.keyList.isNotRendered = payload
},
setBrowserPanelSizes: (state, { payload }: { payload: any }) => {
state.browser.panelSizes = payload
},
Expand Down Expand Up @@ -153,6 +157,7 @@ export const {
setBrowserKeyListDataLoaded,
setBrowserSelectedKey,
setBrowserKeyListScrollPosition,
setBrowserIsNotRendered,
setBrowserPanelSizes,
setBrowserTreeSelectedLeaf,
setBrowserTreeNodesOpen,
Expand Down
1 change: 1 addition & 0 deletions redisinsight/ui/src/slices/interfaces/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ export interface StateAppContext {
keyList: {
isDataLoaded: boolean
scrollTopPosition: number
isNotRendered: boolean
selectedKey: Nullable<RedisResponseBuffer>
},
panelSizes: {
Expand Down
27 changes: 26 additions & 1 deletion redisinsight/ui/src/slices/tests/app/context.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ import reducer, {
appContextBrowserTree,
setBrowserTreeSelectedLeaf,
updateBrowserTreeSelectedLeaf,
setBrowserTreeDelimiter
setBrowserTreeDelimiter,
setBrowserIsNotRendered,
} from '../../app/context'

jest.mock('uiSrc/services', () => ({
Expand Down Expand Up @@ -472,6 +473,30 @@ describe('slices', () => {
})
})

describe('setBrowserIsNotRendered', () => {
it('should properly set browser is not rendered value', () => {
// Arrange
const isNotRendered = false
const state = {
...initialState.browser,
keyList: {
...initialState.browser.keyList,
isNotRendered
}
}

// Act
const nextState = reducer(initialState, setBrowserIsNotRendered(isNotRendered))

// Assert
const rootState = Object.assign(initialStateDefault, {
app: { context: nextState },
})

expect(appContextBrowser(rootState)).toEqual(state)
})
})

describe('setBrowserTreeDelimiter', () => {
it('should properly set browser tree delimiter', () => {
// Arrange
Expand Down