diff --git a/src/components/nodesColumns/columns.tsx b/src/components/nodesColumns/columns.tsx index 7f654a437f..1b1175a58f 100644 --- a/src/components/nodesColumns/columns.tsx +++ b/src/components/nodesColumns/columns.tsx @@ -3,8 +3,10 @@ import DataTable from '@gravity-ui/react-data-table'; import {getLoadSeverityForNode} from '../../store/reducers/nodes/utils'; import type {TPoolStats} from '../../types/api/nodes'; import type {TTabletStateInfo} from '../../types/api/tablet'; +import {valueIsDefined} from '../../utils'; import {EMPTY_DATA_PLACEHOLDER} from '../../utils/constants'; import {formatStorageValuesToGb} from '../../utils/dataFormatters/dataFormatters'; +import {getSpaceUsageSeverity} from '../../utils/storage'; import {CellWithPopover} from '../CellWithPopover/CellWithPopover'; import {NodeHostWrapper} from '../NodeHostWrapper/NodeHostWrapper'; import type {NodeHostData} from '../NodeHostWrapper/NodeHostWrapper'; @@ -184,6 +186,25 @@ export function getLoadColumn(): Col resizeMinWidth: 70, }; } +export function getDiskSpaceUsageColumn(): Column { + return { + name: NODES_COLUMNS_IDS.DiskSpaceUsage, + header: NODES_COLUMNS_TITLES.DiskSpaceUsage, + render: ({row}) => { + return valueIsDefined(row.DiskSpaceUsage) ? ( + + ) : ( + EMPTY_DATA_PLACEHOLDER + ); + }, + align: DataTable.LEFT, + width: 115, + resizeMinWidth: 75, + }; +} export function getSessionsColumn(): Column { return { name: NODES_COLUMNS_IDS.TotalSessions, diff --git a/src/components/nodesColumns/constants.ts b/src/components/nodesColumns/constants.ts index 587de24513..e66c24212f 100644 --- a/src/components/nodesColumns/constants.ts +++ b/src/components/nodesColumns/constants.ts @@ -16,6 +16,7 @@ export const NODES_COLUMNS_IDS = { CPU: 'CPU', LoadAverage: 'LoadAverage', Load: 'Load', + DiskSpaceUsage: 'DiskSpaceUsage', SharedCacheUsage: 'SharedCacheUsage', TotalSessions: 'TotalSessions', Missing: 'Missing', @@ -60,6 +61,9 @@ export const NODES_COLUMNS_TITLES = { get Load() { return i18n('load'); }, + get DiskSpaceUsage() { + return i18n('disk-usage'); + }, get SharedCacheUsage() { return i18n('caches'); }, diff --git a/src/components/nodesColumns/i18n/en.json b/src/components/nodesColumns/i18n/en.json index b9e9cd0734..5b6f99f95b 100644 --- a/src/components/nodesColumns/i18n/en.json +++ b/src/components/nodesColumns/i18n/en.json @@ -8,6 +8,7 @@ "uptime": "Uptime", "memory": "Memory", "cpu": "CPU", + "disk-usage": "Disk usage", "tablets": "Tablets", "load-average": "Load Average", "load": "Load", diff --git a/src/containers/Storage/StorageControls/StorageControls.tsx b/src/containers/Storage/StorageControls/StorageControls.tsx index 1f7980bfee..0ccc1215c1 100644 --- a/src/containers/Storage/StorageControls/StorageControls.tsx +++ b/src/containers/Storage/StorageControls/StorageControls.tsx @@ -88,7 +88,7 @@ export function StorageGroupsControls({