@@ -4,7 +4,10 @@ import {ResponseError} from '../../components/Errors/ResponseError';
4
4
import { LoaderWrapper } from '../../components/LoaderWrapper/LoaderWrapper' ;
5
5
import type { Column , RenderControls } from '../../components/PaginatedTable' ;
6
6
import { TableWithControlsLayout } from '../../components/TableWithControlsLayout/TableWithControlsLayout' ;
7
- import { NODES_COLUMNS_TITLES } from '../../components/nodesColumns/constants' ;
7
+ import {
8
+ NODES_COLUMNS_TITLES ,
9
+ isMonitoringUserNodesColumn ,
10
+ } from '../../components/nodesColumns/constants' ;
8
11
import type { NodesColumnId } from '../../components/nodesColumns/constants' ;
9
12
import {
10
13
useCapabilitiesLoaded ,
@@ -16,6 +19,7 @@ import {useProblemFilter} from '../../store/reducers/settings/hooks';
16
19
import type { AdditionalNodesProps } from '../../types/additionalProps' ;
17
20
import type { NodesGroupByField } from '../../types/api/nodes' ;
18
21
import { useAutoRefreshInterval } from '../../utils/hooks' ;
22
+ import { useIsUserAllowedToMakeChanges } from '../../utils/hooks/useIsUserAllowedToMakeChanges' ;
19
23
import { useSelectedColumns } from '../../utils/hooks/useSelectedColumns' ;
20
24
import { NodesUptimeFilterValues } from '../../utils/nodes' ;
21
25
import { TableGroup } from '../Storage/TableGroup/TableGroup' ;
@@ -69,6 +73,14 @@ export function Nodes({
69
73
70
74
const capabilitiesLoaded = useCapabilitiesLoaded ( ) ;
71
75
const viewerNodesHandlerHasGrouping = useViewerNodesHandlerHasGrouping ( ) ;
76
+ const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges ( ) ;
77
+
78
+ const preparedColumns = React . useMemo ( ( ) => {
79
+ if ( isUserAllowedToMakeChanges ) {
80
+ return columns ;
81
+ }
82
+ return columns . filter ( ( column ) => ! isMonitoringUserNodesColumn ( column . name ) ) ;
83
+ } , [ columns , isUserAllowedToMakeChanges ] ) ;
72
84
73
85
// Other filters do not fit with grouping
74
86
// Reset them if grouping available
@@ -96,7 +108,7 @@ export function Nodes({
96
108
database = { database }
97
109
parentRef = { parentRef }
98
110
withPeerRoleFilter = { withPeerRoleFilter }
99
- columns = { columns }
111
+ columns = { preparedColumns }
100
112
defaultColumnsIds = { defaultColumnsIds }
101
113
requiredColumnsIds = { requiredColumnsIds }
102
114
selectedColumnsKey = { selectedColumnsKey }
@@ -111,7 +123,7 @@ export function Nodes({
111
123
database = { database }
112
124
parentRef = { parentRef }
113
125
withPeerRoleFilter = { withPeerRoleFilter }
114
- columns = { columns }
126
+ columns = { preparedColumns }
115
127
defaultColumnsIds = { defaultColumnsIds }
116
128
requiredColumnsIds = { requiredColumnsIds }
117
129
selectedColumnsKey = { selectedColumnsKey }
0 commit comments