1- import DataTable from '@gravity-ui/react-data-table' ;
2-
31import {
42 getCpuColumn ,
53 getDataCenterColumn ,
@@ -16,85 +14,29 @@ import {
1614 getUptimeColumn ,
1715 getVersionColumn ,
1816} from '../../../components/nodesColumns/columns' ;
19- import {
20- NODES_COLUMNS_IDS ,
21- NODES_COLUMNS_TITLES ,
22- isSortableNodesColumn ,
23- } from '../../../components/nodesColumns/constants' ;
17+ import { isSortableNodesColumn } from '../../../components/nodesColumns/constants' ;
2418import type { GetNodesColumnsParams } from '../../../components/nodesColumns/types' ;
25- import type { NodesPreparedEntity } from '../../../store/reducers/nodes/types' ;
26- import type { TPDiskStateInfo } from '../../../types/api/pdisk' ;
27- import type { TVDiskStateInfo } from '../../../types/api/vdisk' ;
28- import { cn } from '../../../utils/cn' ;
29- import {
30- prepareWhiteboardPDiskData ,
31- prepareWhiteboardVDiskData ,
32- } from '../../../utils/disks/prepareDisks' ;
19+ import type { PreparedStorageNode } from '../../../store/reducers/storage/types' ;
3320import type { Column } from '../../../utils/tableUtils/types' ;
34- import { PDisk } from '../../Storage/PDisk/PDisk' ;
35-
36- const b = cn ( 'ydb-nodes-columns' ) ;
37-
38- // Extended type for nodes that may have disk information
39- type NodeWithDisks = NodesPreparedEntity & {
40- PDisks ?: TPDiskStateInfo [ ] ;
41- VDisks ?: TVDiskStateInfo [ ] ;
42- } ;
43-
44- function getPDisksColumn ( ) : Column < NodesPreparedEntity > {
45- return {
46- name : NODES_COLUMNS_IDS . PDisks ,
47- header : NODES_COLUMNS_TITLES . PDisks ,
48- className : b ( 'pdisks-column' ) ,
49- width : 500 ,
50- resizeMinWidth : 500 ,
51- render : ( { row} ) => {
52- const nodeWithDisks = row as NodeWithDisks ;
53- return (
54- < div className = { b ( 'pdisks-wrapper' ) } >
55- { nodeWithDisks . PDisks ?. map ( ( pDisk ) => {
56- const preparedPDisk = prepareWhiteboardPDiskData ( pDisk ) ;
57- const vDisks = nodeWithDisks . VDisks ?. filter (
58- ( vdisk ) => vdisk . PDiskId === pDisk . PDiskId ,
59- ) ;
60- const preparedVDisks = vDisks ?. map ( prepareWhiteboardVDiskData ) ;
61-
62- return (
63- < div className = { b ( 'pdisks-item' ) } key = { pDisk . PDiskId } >
64- < PDisk
65- data = { preparedPDisk }
66- vDisks = { preparedVDisks }
67- viewContext = { { } }
68- />
69- </ div >
70- ) ;
71- } ) }
72- </ div >
73- ) ;
74- } ,
75- align : DataTable . CENTER ,
76- sortable : false ,
77- resizeable : false ,
78- } ;
79- }
21+ import { getPDisksColumn } from '../../Storage/PaginatedStorageNodesTable/columns/columns' ;
8022
81- export function getNodesColumns ( params : GetNodesColumnsParams ) : Column < NodesPreparedEntity > [ ] {
23+ export function getNodesColumns ( params : GetNodesColumnsParams ) : Column < PreparedStorageNode > [ ] {
8224 const columns = [
83- getNodeIdColumn < NodesPreparedEntity > ( ) ,
84- getHostColumn < NodesPreparedEntity > ( params ) ,
85- getNodeNameColumn < NodesPreparedEntity > ( ) ,
86- getDataCenterColumn < NodesPreparedEntity > ( ) ,
87- getPileNameColumn < NodesPreparedEntity > ( ) ,
88- getRackColumn < NodesPreparedEntity > ( ) ,
89- getUptimeColumn < NodesPreparedEntity > ( ) ,
90- getCpuColumn < NodesPreparedEntity > ( ) ,
91- getPoolsColumn < NodesPreparedEntity > ( ) ,
92- getRAMColumn < NodesPreparedEntity > ( ) ,
93- getMemoryColumn < NodesPreparedEntity > ( ) ,
94- getLoadAverageColumn < NodesPreparedEntity > ( ) ,
95- getVersionColumn < NodesPreparedEntity > ( ) ,
96- getPDisksColumn ( ) ,
97- getTabletsColumn < NodesPreparedEntity > ( params ) ,
25+ getNodeIdColumn < PreparedStorageNode > ( ) ,
26+ getHostColumn < PreparedStorageNode > ( params ) ,
27+ getNodeNameColumn < PreparedStorageNode > ( ) ,
28+ getDataCenterColumn < PreparedStorageNode > ( ) ,
29+ getPileNameColumn < PreparedStorageNode > ( ) ,
30+ getRackColumn < PreparedStorageNode > ( ) ,
31+ getUptimeColumn < PreparedStorageNode > ( ) ,
32+ getCpuColumn < PreparedStorageNode > ( ) ,
33+ getPoolsColumn < PreparedStorageNode > ( ) ,
34+ getRAMColumn < PreparedStorageNode > ( ) ,
35+ getMemoryColumn < PreparedStorageNode > ( ) ,
36+ getLoadAverageColumn < PreparedStorageNode > ( ) ,
37+ getVersionColumn < PreparedStorageNode > ( ) ,
38+ getPDisksColumn ( { viewContext : { } , columnsSettings : undefined } ) ,
39+ getTabletsColumn < PreparedStorageNode > ( params ) ,
9840 ] ;
9941
10042 return columns . map ( ( column ) => {
0 commit comments