Skip to content

Commit de83881

Browse files
fix(Network): correctly pass database in peer role (#2831)
1 parent 6c94aaf commit de83881

File tree

6 files changed

+28
-9
lines changed

6 files changed

+28
-9
lines changed

src/containers/Nodes/NodesControls/NodesControls.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ export function NodesControls({
5757
handleUptimeFilterChange,
5858
handlePeerRoleFilterChange,
5959
handleGroupByParamChange,
60-
} = useNodesPageQueryParams(groupByParams);
60+
} = useNodesPageQueryParams(groupByParams, withPeerRoleFilter);
6161
const {problemFilter, handleProblemFilterChange} = useProblemFilter();
6262
const isViewerUser = useIsViewerUser();
6363

src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,10 @@ export function GroupedNodesComponent({
103103
selectedColumnsKey,
104104
groupByParams,
105105
}: GroupedNodesComponentProps) {
106-
const {searchValue, peerRoleFilter, groupByParam} = useNodesPageQueryParams(groupByParams);
106+
const {searchValue, peerRoleFilter, groupByParam} = useNodesPageQueryParams(
107+
groupByParams,
108+
withPeerRoleFilter,
109+
);
107110
const [autoRefreshInterval] = useAutoRefreshInterval();
108111

109112
const {columnsToShow, columnsToSelect, setColumns} = useSelectedColumns(

src/containers/Nodes/PaginatedNodes/NodesComponent.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,10 @@ export function NodesComponent({
3737
selectedColumnsKey,
3838
groupByParams,
3939
}: NodesComponentProps) {
40-
const {searchValue, uptimeFilter, peerRoleFilter} = useNodesPageQueryParams(groupByParams);
40+
const {searchValue, uptimeFilter, peerRoleFilter} = useNodesPageQueryParams(
41+
groupByParams,
42+
withPeerRoleFilter,
43+
);
4144
const {problemFilter} = useProblemFilter();
4245
const viewerNodesHandlerHasGrouping = useViewerNodesHandlerHasGrouping();
4346

src/containers/Nodes/PaginatedNodes/PaginatedNodes.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ export interface PaginatedNodesProps {
3333
export function PaginatedNodes(props: PaginatedNodesProps) {
3434
const {uptimeFilter, groupByParam, handleUptimeFilterChange} = useNodesPageQueryParams(
3535
props.groupByParams,
36+
props.withPeerRoleFilter,
3637
);
3738

3839
const {problemFilter, handleProblemFilterChange} = useProblemFilter();

src/containers/Nodes/PeerRoleFilter/utils.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ export const NODES_PEER_ROLES_TITLES: Record<NodesPeerRole, string> = {
1818
},
1919
};
2020

21-
export function parseNodesPeerRoleFilter(paramToParse: unknown): NodesPeerRole | undefined {
22-
return NODES_PEER_ROLES.find((peerRoleParam) => peerRoleParam === paramToParse);
21+
export function parseNodesPeerRoleFilter(
22+
paramToParse: unknown,
23+
defaultValue?: NodesPeerRole,
24+
): NodesPeerRole | undefined {
25+
return NODES_PEER_ROLES.find((peerRoleParam) => peerRoleParam === paramToParse) ?? defaultValue;
2326
}

src/containers/Nodes/useNodesPageQueryParams.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import {nodesUptimeFilterValuesSchema} from '../../utils/nodes';
99
import {parseNodesPeerRoleFilter} from './PeerRoleFilter/utils';
1010
import {parseNodesGroupByParam} from './columns/constants';
1111

12-
export function useNodesPageQueryParams(groupByParams: NodesGroupByField[] | undefined) {
12+
export function useNodesPageQueryParams(
13+
groupByParams: NodesGroupByField[] | undefined,
14+
withPeerRoleFilter: boolean | undefined,
15+
) {
1316
const [queryParams, setQueryParams] = useQueryParams({
1417
uptimeFilter: StringParam,
1518
peerRole: StringParam,
@@ -21,9 +24,15 @@ export function useNodesPageQueryParams(groupByParams: NodesGroupByField[] | und
2124

2225
const uptimeFilter = nodesUptimeFilterValuesSchema.parse(queryParams.uptimeFilter);
2326
const searchValue = queryParams.search ?? '';
24-
const peerRoleFilter = isViewerUser
25-
? parseNodesPeerRoleFilter(queryParams.peerRole)
26-
: 'database';
27+
28+
let peerRoleFilter: NodesPeerRole | undefined;
29+
30+
// Do not add peerRoleFilter on Cluster page Network tab
31+
if (withPeerRoleFilter) {
32+
peerRoleFilter = isViewerUser
33+
? parseNodesPeerRoleFilter(queryParams.peerRole, 'database')
34+
: 'database';
35+
}
2736

2837
const systemStateGroupingAvailable = useViewerNodesHandlerHasGroupingBySystemState();
2938
const groupByParam = parseNodesGroupByParam(

0 commit comments

Comments
 (0)