@@ -3,11 +3,13 @@ import React from 'react';
33import { ResponseError } from '../../../components/Errors/ResponseError' ;
44import { PaginatedTableWithLayout } from '../../../components/PaginatedTable/PaginatedTableWithLayout' ;
55import { TableColumnSetup } from '../../../components/TableColumnSetup/TableColumnSetup' ;
6+ import { NODES_COLUMNS_TO_DATA_FIELDS } from '../../../components/nodesColumns/constants' ;
67import { storageApi } from '../../../store/reducers/storage/storage' ;
7- import type { NodesGroupByField } from '../../../types/api/nodes' ;
8+ import type { NodesGroupByField , NodesRequiredField } from '../../../types/api/nodes' ;
89import { useAutoRefreshInterval } from '../../../utils/hooks' ;
910import { NodesUptimeFilterValues } from '../../../utils/nodes' ;
1011import { renderPaginatedTableErrorMessage } from '../../../utils/renderPaginatedTableErrorMessage' ;
12+ import { getRequiredDataFields } from '../../../utils/tableUtils/getRequiredDataFields' ;
1113import type { PaginatedStorageProps } from '../PaginatedStorage' ;
1214import { PaginatedStorageNodesTable } from '../PaginatedStorageNodesTable/PaginatedStorageNodesTable' ;
1315import { TableGroup } from '../TableGroup/TableGroup' ;
@@ -20,6 +22,8 @@ import {useStorageColumnsSettings} from '../utils';
2022import { StorageNodesControls } from './StorageNodesControls' ;
2123import { useStorageNodesColumnsToSelect } from './useStorageNodesColumnsToSelect' ;
2224
25+ const NODE_SEARCH_FIELDS_REQUIRED = new Set < NodesRequiredField > ( [ 'Host' , 'NodeName' ] ) ;
26+
2327interface StorageNodeGroupProps {
2428 name : string ;
2529 count : number ;
@@ -108,6 +112,15 @@ export function GroupedStorageNodesComponent({
108112 columnsSettings,
109113 } ) ;
110114
115+ const searchFieldsRequired = React . useMemo ( ( ) => {
116+ const activeFieldsRequired = getRequiredDataFields (
117+ columnsToShow . map ( ( { name} ) => name ) ,
118+ NODES_COLUMNS_TO_DATA_FIELDS ,
119+ ) ;
120+
121+ return activeFieldsRequired . filter ( ( field ) => NODE_SEARCH_FIELDS_REQUIRED . has ( field ) ) ;
122+ } , [ columnsToShow ] ) ;
123+
111124 const { currentData, isFetching, error} = storageApi . useGetStorageNodesInfoQuery (
112125 {
113126 database,
@@ -116,6 +129,7 @@ export function GroupedStorageNodesComponent({
116129 node_id : nodeId ,
117130 group_id : groupId ,
118131 group : storageNodesGroupByParam ,
132+ fieldsRequired : nodesSearchValue . trim ( ) ? searchFieldsRequired : undefined ,
119133 } ,
120134 {
121135 pollingInterval : autoRefreshInterval ,
0 commit comments