ydb-embedded-ui 6.1.0 → 6.2.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/DateRange/DateRange.scss +7 -0
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js +1 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.scss +0 -6
- package/dist/components/QueryResultTable/QueryResultTable.d.ts +2 -2
- package/dist/components/QueryResultTable/QueryResultTable.js +2 -1
- package/dist/components/QueryResultTable/QueryResultTable.scss +1 -0
- package/dist/components/ResizeableDataTable/ResizeableDataTable.d.ts +7 -0
- package/dist/components/ResizeableDataTable/ResizeableDataTable.js +14 -0
- package/dist/components/ResizeableDataTable/ResizeableDataTable.scss +8 -0
- package/dist/components/VirtualTable/ResizeHandler.d.ts +8 -0
- package/dist/components/VirtualTable/ResizeHandler.js +62 -0
- package/dist/components/VirtualTable/ResizeableVirtualTable.d.ts +6 -0
- package/dist/components/VirtualTable/ResizeableVirtualTable.js +16 -0
- package/dist/components/VirtualTable/TableHead.d.ts +3 -3
- package/dist/components/VirtualTable/TableHead.js +16 -31
- package/dist/components/VirtualTable/VirtualTable.d.ts +2 -4
- package/dist/components/VirtualTable/VirtualTable.scss +24 -4
- package/dist/components/VirtualTable/types.d.ts +3 -0
- package/dist/components/VirtualTable/utils.d.ts +2 -0
- package/dist/components/VirtualTable/utils.js +21 -0
- package/dist/containers/ClusterModeGuard/ClusterModeGuard.js +1 -1
- package/dist/containers/Clusters/Clusters.js +3 -2
- package/dist/containers/Clusters/Clusters.scss +5 -0
- package/dist/containers/Clusters/columns.d.ts +1 -0
- package/dist/containers/Clusters/columns.js +4 -3
- package/dist/containers/Nodes/Nodes.js +4 -4
- package/dist/containers/Nodes/Nodes.scss +0 -5
- package/dist/containers/Nodes/VirtualNodes.js +4 -6
- package/dist/containers/Nodes/getNodesColumns.d.ts +1 -0
- package/dist/containers/Nodes/getNodesColumns.js +9 -1
- package/dist/containers/PDiskPage/PDiskGroups.js +3 -3
- package/dist/containers/Storage/Storage.scss +0 -4
- package/dist/containers/Storage/StorageGroups/StorageGroups.js +3 -3
- package/dist/containers/Storage/StorageGroups/VirtualStorageGroups.js +3 -3
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +3 -0
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +7 -3
- package/dist/containers/Storage/StorageNodes/StorageNodes.js +3 -3
- package/dist/containers/Storage/StorageNodes/VirtualStorageNodes.js +3 -3
- package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.d.ts +3 -0
- package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js +2 -0
- package/dist/containers/Tablet/Tablet.scss +0 -4
- package/dist/containers/Tablet/TabletTable/TabletTable.js +5 -3
- package/dist/containers/Tenant/Acl/Acl.js +3 -2
- package/dist/containers/Tenant/Acl/Acl.scss +0 -6
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +3 -3
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.scss +2 -0
- package/dist/containers/Tenant/Diagnostics/Consumers/columns/columns.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/Consumers/columns/columns.js +2 -0
- package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +5 -4
- package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.scss +1 -5
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +8 -4
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.scss +2 -0
- package/dist/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/columns/Columns.scss +0 -8
- package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +11 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +3 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +3 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.d.ts +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +4 -2
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +8 -11
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.scss +2 -24
- package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.js +7 -0
- package/dist/containers/Tenant/Diagnostics/TopShards/Filters/Filters.d.ts +1 -2
- package/dist/containers/Tenant/Diagnostics/TopShards/Filters/Filters.js +3 -4
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.d.ts +0 -1
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +8 -10
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.scss +4 -15
- package/dist/containers/Tenant/Diagnostics/TopShards/getTopShardsColumns.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/TopShards/getTopShardsColumns.js +5 -0
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +0 -6
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.scss +1 -21
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +4 -4
- package/dist/containers/Tenant/Query/ExplainResult/utils.d.ts +0 -3
- package/dist/containers/Tenant/Query/ExplainResult/utils.js +0 -34
- package/dist/containers/Tenant/Query/Preview/Preview.scss +6 -3
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +4 -2
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.scss +0 -1
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js +2 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +4 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.scss +0 -1
- package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.d.ts +1 -2
- package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js +4 -3
- package/dist/containers/Tenant/Schema/SchemaViewer/helpers.d.ts +1 -0
- package/dist/containers/Tenant/Schema/SchemaViewer/helpers.js +4 -2
- package/dist/containers/Tenants/Tenants.js +8 -3
- package/dist/containers/Tenants/Tenants.scss +13 -5
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.scss +0 -2
- package/dist/containers/Versions/NodesTable/NodesTable.js +14 -9
- package/dist/styles/mixins.scss +0 -47
- package/dist/utils/constants.d.ts +25 -10
- package/dist/utils/hooks/useTableResize.d.ts +2 -7
- package/dist/utils/hooks/useTableResize.js +12 -24
- package/package.json +10 -10
- package/dist/containers/Tenant/Diagnostics/TopShards/Filters/Filters.scss +0 -8
@@ -9,6 +9,7 @@ import { UsageLabel } from '../../components/UsageLabel/UsageLabel';
|
|
9
9
|
import { getLoadSeverityForNode } from '../../store/reducers/nodes/utils';
|
10
10
|
import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
|
11
11
|
import { formatBytesToGigabyte, formatStorageValuesToGb, } from '../../utils/dataFormatters/dataFormatters';
|
12
|
+
export const NODES_COLUMNS_WIDTH_LS_KEY = 'nodesTableColumnsWidth';
|
12
13
|
const NODES_COLUMNS_IDS = {
|
13
14
|
NodeId: 'NodeId',
|
14
15
|
Host: 'Host',
|
@@ -102,6 +103,7 @@ const cpuColumn = {
|
|
102
103
|
render: ({ row }) => (row.PoolStats ? _jsx(PoolsGraph, { pools: row.PoolStats }) : '—'),
|
103
104
|
align: DataTable.LEFT,
|
104
105
|
width: 80,
|
106
|
+
resizeMinWidth: 60,
|
105
107
|
sortable: false,
|
106
108
|
};
|
107
109
|
const loadAverageColumn = {
|
@@ -112,11 +114,13 @@ const loadAverageColumn = {
|
|
112
114
|
render: ({ row }) => row.LoadAverage && row.LoadAverage.length > 0 ? (_jsx(ProgressViewer, { value: row.LoadAverage[0], percents: true, colorizeProgress: true, capacity: 100 })) : ('—'),
|
113
115
|
align: DataTable.LEFT,
|
114
116
|
width: 140,
|
117
|
+
resizeMinWidth: 140,
|
115
118
|
sortable: false,
|
116
119
|
};
|
117
120
|
const getTabletsColumn = (tabletsPath) => ({
|
118
121
|
name: NODES_COLUMNS_IDS.Tablets,
|
119
|
-
width:
|
122
|
+
width: 500,
|
123
|
+
resizeMinWidth: 500,
|
120
124
|
render: ({ row }) => {
|
121
125
|
return row.Tablets ? (_jsx(TabletsStatistic, { path: tabletsPath !== null && tabletsPath !== void 0 ? tabletsPath : row.TenantName, nodeIds: [row.NodeId], tablets: row.Tablets })) : ('—');
|
122
126
|
},
|
@@ -129,6 +133,7 @@ const topNodesLoadAverageColumn = {
|
|
129
133
|
render: ({ row }) => row.LoadAverage && row.LoadAverage.length > 0 ? (_jsx(UsageLabel, { value: row.LoadAverage[0].toFixed(), theme: getLoadSeverityForNode(row.LoadAverage[0]) })) : ('—'),
|
130
134
|
align: DataTable.LEFT,
|
131
135
|
width: 80,
|
136
|
+
resizeMinWidth: 70,
|
132
137
|
sortable: false,
|
133
138
|
};
|
134
139
|
const topNodesMemoryColumn = {
|
@@ -137,6 +142,7 @@ const topNodesMemoryColumn = {
|
|
137
142
|
render: ({ row }) => (_jsx(ProgressViewer, { value: row.MemoryUsed, capacity: row.MemoryLimit, formatValues: formatStorageValuesToGb, colorizeProgress: true })),
|
138
143
|
align: DataTable.LEFT,
|
139
144
|
width: 140,
|
145
|
+
resizeMinWidth: 140,
|
140
146
|
sortable: false,
|
141
147
|
};
|
142
148
|
const sharedCacheUsageColumn = {
|
@@ -145,6 +151,7 @@ const sharedCacheUsageColumn = {
|
|
145
151
|
render: ({ row }) => (_jsx(ProgressViewer, { value: row.SharedCacheUsed, capacity: row.SharedCacheLimit, formatValues: formatStorageValuesToGb, colorizeProgress: true })),
|
146
152
|
align: DataTable.LEFT,
|
147
153
|
width: 140,
|
154
|
+
resizeMinWidth: 140,
|
148
155
|
sortable: false,
|
149
156
|
};
|
150
157
|
const memoryUsedInAllocColumn = {
|
@@ -153,6 +160,7 @@ const memoryUsedInAllocColumn = {
|
|
153
160
|
render: ({ row }) => (_jsx(ProgressViewer, { value: row.MemoryUsedInAlloc, capacity: row.MemoryLimit, formatValues: formatStorageValuesToGb, colorizeProgress: true })),
|
154
161
|
align: DataTable.LEFT,
|
155
162
|
width: 140,
|
163
|
+
resizeMinWidth: 140,
|
156
164
|
sortable: false,
|
157
165
|
};
|
158
166
|
const sessionsColumn = {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import
|
3
|
+
import { ResizeableDataTable } from '../../components/ResizeableDataTable/ResizeableDataTable';
|
4
4
|
import { TableSkeleton } from '../../components/TableSkeleton/TableSkeleton';
|
5
5
|
import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
|
6
|
-
import { getPDiskStorageColumns } from '../Storage/StorageGroups/getStorageGroupsColumns';
|
6
|
+
import { STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, getPDiskStorageColumns, } from '../Storage/StorageGroups/getStorageGroupsColumns';
|
7
7
|
import { pDiskPageKeyset } from './i18n';
|
8
8
|
import { pdiskPageCn } from './shared';
|
9
9
|
export function PDiskGroups({ data, nodesMap, loading }) {
|
@@ -14,7 +14,7 @@ export function PDiskGroups({ data, nodesMap, loading }) {
|
|
14
14
|
if (loading) {
|
15
15
|
return _jsx(TableSkeleton, {});
|
16
16
|
}
|
17
|
-
return (_jsx(
|
17
|
+
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, data: data, columns: pDiskStorageColumns, settings: DEFAULT_TABLE_SETTINGS }));
|
18
18
|
};
|
19
19
|
return (_jsxs(React.Fragment, { children: [_jsx("div", { className: pdiskPageCn('groups-title'), children: pDiskPageKeyset('groups') }), _jsx("div", { children: renderContent() })] }));
|
20
20
|
}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import
|
3
|
+
import { ResizeableDataTable } from '../../../components/ResizeableDataTable/ResizeableDataTable';
|
4
4
|
import { VISIBLE_ENTITIES } from '../../../store/reducers/storage/constants';
|
5
5
|
import { StorageGroupsEmptyDataMessage } from './StorageGroupsEmptyDataMessage';
|
6
|
-
import { getPreparedStorageGroupsColumns } from './getStorageGroupsColumns';
|
6
|
+
import { STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, getPreparedStorageGroupsColumns, } from './getStorageGroupsColumns';
|
7
7
|
import i18n from './i18n';
|
8
8
|
import './StorageGroups.scss';
|
9
9
|
export function StorageGroups({ data, tableSettings, visibleEntities, nodes, onShowAll, sort, handleSort, }) {
|
@@ -13,5 +13,5 @@ export function StorageGroups({ data, tableSettings, visibleEntities, nodes, onS
|
|
13
13
|
if (!data.length && visibleEntities !== VISIBLE_ENTITIES.all) {
|
14
14
|
return (_jsx(StorageGroupsEmptyDataMessage, { onShowAll: onShowAll, visibleEntities: visibleEntities }));
|
15
15
|
}
|
16
|
-
return (_jsx(
|
16
|
+
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, data: data, columns: columns, settings: tableSettings, emptyDataMessage: i18n('empty.default'), sortOrder: sort, onSort: handleSort }, visibleEntities));
|
17
17
|
}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import {
|
3
|
+
import { ResizeableVirtualTable } from '../../../components/VirtualTable/ResizeableVirtualTable';
|
4
4
|
import { VISIBLE_ENTITIES } from '../../../store/reducers/storage/constants';
|
5
5
|
import { StorageGroupsEmptyDataMessage } from './StorageGroupsEmptyDataMessage';
|
6
6
|
import { getStorageGroups } from './getGroups';
|
7
|
-
import { getPreparedStorageGroupsColumns } from './getStorageGroupsColumns';
|
7
|
+
import { STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, getPreparedStorageGroupsColumns, } from './getStorageGroupsColumns';
|
8
8
|
import i18n from './i18n';
|
9
9
|
export const VirtualStorageGroups = ({ searchValue, visibleEntities, tenant, nodeId, nodesMap, onShowAll, parentContainer, renderControls, renderErrorMessage, }) => {
|
10
10
|
const filters = React.useMemo(() => {
|
@@ -31,5 +31,5 @@ export const VirtualStorageGroups = ({ searchValue, visibleEntities, tenant, nod
|
|
31
31
|
}
|
32
32
|
return i18n('empty.default');
|
33
33
|
};
|
34
|
-
return (_jsx(
|
34
|
+
return (_jsx(ResizeableVirtualTable, { columnsWidthLSKey: STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, parentContainer: parentContainer, columns: columns, fetchData: fetchData, limit: 50, renderControls: renderControls, renderErrorMessage: renderErrorMessage, renderEmptyDataMessage: renderEmptyDataMessage, dependencyArray: filters }));
|
35
35
|
};
|
@@ -4,6 +4,7 @@ import type { Column as VirtualTableColumn } from '../../../components/VirtualTa
|
|
4
4
|
import type { PreparedStorageGroup, VisibleEntities } from '../../../store/reducers/storage/types';
|
5
5
|
import type { NodesMap } from '../../../types/store/nodesList';
|
6
6
|
import './StorageGroups.scss';
|
7
|
+
export declare const STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY = "storageGroupsColumnsWidth";
|
7
8
|
type StorageGroupsColumn = VirtualTableColumn<PreparedStorageGroup> & DataTableColumn<PreparedStorageGroup>;
|
8
9
|
export declare const GROUPS_COLUMNS_IDS: {
|
9
10
|
readonly PoolName: "PoolName";
|
@@ -38,6 +39,8 @@ export declare const getPreparedStorageGroupsColumns: (nodesMap: NodesMap | unde
|
|
38
39
|
headerData?: boolean | undefined;
|
39
40
|
}) => React.ReactNode);
|
40
41
|
width: number;
|
42
|
+
resizeMaxWidth?: number | undefined;
|
43
|
+
resizeMinWidth?: number | undefined;
|
41
44
|
align: "center" | "left" | "right";
|
42
45
|
headerTitle?: string | undefined;
|
43
46
|
accessor?: string | ((row: PreparedStorageGroup) => any) | undefined;
|
@@ -17,6 +17,7 @@ import i18n from './i18n';
|
|
17
17
|
import shieldIcon from '../../../assets/icons/shield.svg';
|
18
18
|
import './StorageGroups.scss';
|
19
19
|
const b = cn('global-storage-groups');
|
20
|
+
export const STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY = 'storageGroupsColumnsWidth';
|
20
21
|
export const GROUPS_COLUMNS_IDS = {
|
21
22
|
PoolName: 'PoolName',
|
22
23
|
MediaType: 'MediaType',
|
@@ -46,6 +47,7 @@ const typeColumn = {
|
|
46
47
|
name: GROUPS_COLUMNS_IDS.MediaType,
|
47
48
|
header: 'Type',
|
48
49
|
width: 100,
|
50
|
+
resizeMinWidth: 100,
|
49
51
|
align: DataTable.LEFT,
|
50
52
|
render: ({ row }) => (_jsxs(React.Fragment, { children: [_jsx(Label, { children: row.MediaType || '—' }), '\u00a0', row.Encryption && (_jsx(Popover, { content: i18n('encrypted'), placement: "right", behavior: PopoverBehavior.Immediate, children: _jsx(Label, { children: _jsx(Icon, { data: shieldIcon }) }) }))] })),
|
51
53
|
sortable: false,
|
@@ -70,6 +72,7 @@ const usageColumn = {
|
|
70
72
|
name: GROUPS_COLUMNS_IDS.Usage,
|
71
73
|
header: 'Usage',
|
72
74
|
width: 100,
|
75
|
+
resizeMinWidth: 70,
|
73
76
|
render: ({ row }) => {
|
74
77
|
// without a limit the usage can be evaluated as 0,
|
75
78
|
// but the absence of a value is more clear
|
@@ -149,7 +152,7 @@ const writeColumn = {
|
|
149
152
|
},
|
150
153
|
align: DataTable.RIGHT,
|
151
154
|
};
|
152
|
-
const
|
155
|
+
const getVDisksColumn = (nodes) => ({
|
153
156
|
name: GROUPS_COLUMNS_IDS.VDisks,
|
154
157
|
className: b('vdisks-column'),
|
155
158
|
header: 'VDisks',
|
@@ -161,6 +164,7 @@ const getVdiscksColumn = (nodes) => ({
|
|
161
164
|
},
|
162
165
|
align: DataTable.CENTER,
|
163
166
|
width: 900,
|
167
|
+
resizeable: false,
|
164
168
|
});
|
165
169
|
export const getStorageTopGroupsColumns = () => {
|
166
170
|
return [groupIdColumn, typeColumn, erasureColumn, usageColumn, usedColumn, limitColumn];
|
@@ -174,7 +178,7 @@ export const getPDiskStorageColumns = (nodes) => {
|
|
174
178
|
groupIdColumn,
|
175
179
|
usageColumn,
|
176
180
|
usedColumn,
|
177
|
-
|
181
|
+
getVDisksColumn(nodes),
|
178
182
|
];
|
179
183
|
};
|
180
184
|
const getStorageGroupsColumns = (nodes) => {
|
@@ -190,7 +194,7 @@ const getStorageGroupsColumns = (nodes) => {
|
|
190
194
|
usedSpaceFlagColumn,
|
191
195
|
readColumn,
|
192
196
|
writeColumn,
|
193
|
-
|
197
|
+
getVDisksColumn(nodes),
|
194
198
|
];
|
195
199
|
};
|
196
200
|
const filterStorageGroupsColumns = (columns, visibleEntities) => {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
-
import
|
2
|
+
import { ResizeableDataTable } from '../../../components/ResizeableDataTable/ResizeableDataTable';
|
3
3
|
import { VISIBLE_ENTITIES } from '../../../store/reducers/storage/constants';
|
4
4
|
import { NodesUptimeFilterValues } from '../../../utils/nodes';
|
5
5
|
import { StorageNodesEmptyDataMessage } from './StorageNodesEmptyDataMessage';
|
6
|
-
import { getPreparedStorageNodesColumns } from './getStorageNodesColumns';
|
6
|
+
import { STORAGE_NODES_COLUMNS_WIDTH_LS_KEY, getPreparedStorageNodesColumns, } from './getStorageNodesColumns';
|
7
7
|
import i18n from './i18n';
|
8
8
|
import { getRowUnavailableClassName } from './shared';
|
9
9
|
import './StorageNodes.scss';
|
@@ -14,5 +14,5 @@ export function StorageNodes({ data, tableSettings, visibleEntities, onShowAll,
|
|
14
14
|
nodesUptimeFilter !== NodesUptimeFilterValues.All)) {
|
15
15
|
return (_jsx(StorageNodesEmptyDataMessage, { visibleEntities: visibleEntities, nodesUptimeFilter: nodesUptimeFilter, onShowAll: onShowAll }));
|
16
16
|
}
|
17
|
-
return (_jsx(
|
17
|
+
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: STORAGE_NODES_COLUMNS_WIDTH_LS_KEY, data: data, columns: columns, settings: Object.assign(Object.assign({}, tableSettings), { dynamicRenderType: 'variable' }), emptyDataMessage: i18n('empty.default'), rowClassName: getRowUnavailableClassName, sortOrder: sort, onSort: handleSort }, visibleEntities));
|
18
18
|
}
|
@@ -1,11 +1,11 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import {
|
3
|
+
import { ResizeableVirtualTable } from '../../../components/VirtualTable/ResizeableVirtualTable';
|
4
4
|
import { VISIBLE_ENTITIES } from '../../../store/reducers/storage/constants';
|
5
5
|
import { NodesUptimeFilterValues, getUptimeParamValue } from '../../../utils/nodes';
|
6
6
|
import { StorageNodesEmptyDataMessage } from './StorageNodesEmptyDataMessage';
|
7
7
|
import { getStorageNodes } from './getNodes';
|
8
|
-
import { getPreparedStorageNodesColumns } from './getStorageNodesColumns';
|
8
|
+
import { STORAGE_NODES_COLUMNS_WIDTH_LS_KEY, getPreparedStorageNodesColumns, } from './getStorageNodesColumns';
|
9
9
|
import i18n from './i18n';
|
10
10
|
import { getRowUnavailableClassName } from './shared';
|
11
11
|
export const VirtualStorageNodes = ({ searchValue, visibleEntities, nodesUptimeFilter, tenant, additionalNodesProps, onShowAll, parentContainer, renderControls, renderErrorMessage, }) => {
|
@@ -34,5 +34,5 @@ export const VirtualStorageNodes = ({ searchValue, visibleEntities, nodesUptimeF
|
|
34
34
|
}
|
35
35
|
return i18n('empty.default');
|
36
36
|
};
|
37
|
-
return (_jsx(
|
37
|
+
return (_jsx(ResizeableVirtualTable, { columnsWidthLSKey: STORAGE_NODES_COLUMNS_WIDTH_LS_KEY, parentContainer: parentContainer, columns: columns, fetchData: fetchData, rowHeight: 50, limit: 50, renderControls: renderControls, renderErrorMessage: renderErrorMessage, renderEmptyDataMessage: renderEmptyDataMessage, getRowClassName: getRowUnavailableClassName, dependencyArray: filters }));
|
38
38
|
};
|
@@ -2,6 +2,7 @@
|
|
2
2
|
import type { Column as DataTableColumn } from '@gravity-ui/react-data-table';
|
3
3
|
import type { PreparedStorageNode, VisibleEntities } from '../../../store/reducers/storage/types';
|
4
4
|
import type { AdditionalNodesProps } from '../../../types/additionalProps';
|
5
|
+
export declare const STORAGE_NODES_COLUMNS_WIDTH_LS_KEY = "storageNodesColumnsWidth";
|
5
6
|
export declare const STORAGE_NODES_COLUMNS_IDS: {
|
6
7
|
readonly NodeId: "NodeId";
|
7
8
|
readonly Host: "Host";
|
@@ -28,6 +29,8 @@ export declare const getPreparedStorageNodesColumns: (additionalNodesProps: Addi
|
|
28
29
|
headerData?: boolean | undefined;
|
29
30
|
}) => import("react").ReactNode);
|
30
31
|
width: number;
|
32
|
+
resizeMaxWidth?: number | undefined;
|
33
|
+
resizeMinWidth?: number | undefined;
|
31
34
|
align: "center" | "left" | "right";
|
32
35
|
headerTitle?: string | undefined;
|
33
36
|
accessor?: string | ((row: PreparedStorageNode) => any) | undefined;
|
@@ -6,6 +6,7 @@ import { EMPTY_DATA_PLACEHOLDER } from '../../../utils/constants';
|
|
6
6
|
import { isSortableNodesProperty } from '../../../utils/nodes';
|
7
7
|
import { PDisk } from '../PDisk/PDisk';
|
8
8
|
import { b } from './shared';
|
9
|
+
export const STORAGE_NODES_COLUMNS_WIDTH_LS_KEY = 'storageNodesColumnsWidth';
|
9
10
|
export const STORAGE_NODES_COLUMNS_IDS = {
|
10
11
|
NodeId: 'NodeId',
|
11
12
|
Host: 'Host',
|
@@ -79,6 +80,7 @@ const getStorageNodesColumns = (additionalNodesProps) => {
|
|
79
80
|
align: DataTable.CENTER,
|
80
81
|
sortable: false,
|
81
82
|
width: 900,
|
83
|
+
resizeable: false,
|
82
84
|
},
|
83
85
|
];
|
84
86
|
return columns;
|
@@ -2,9 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import DataTable from '@gravity-ui/react-data-table';
|
3
3
|
import { EntityStatus } from '../../../components/EntityStatus/EntityStatus';
|
4
4
|
import { InternalLink } from '../../../components/InternalLink/InternalLink';
|
5
|
+
import { ResizeableDataTable } from '../../../components/ResizeableDataTable/ResizeableDataTable';
|
5
6
|
import { calcUptime } from '../../../utils/dataFormatters/dataFormatters';
|
6
7
|
import { getDefaultNodePath } from '../../Node/NodePages';
|
7
|
-
|
8
|
+
const TABLET_COLUMNS_WIDTH_LS_KEY = 'tabletTableColumnsWidth';
|
8
9
|
const columns = [
|
9
10
|
{
|
10
11
|
name: 'Generation',
|
@@ -40,11 +41,12 @@ const columns = [
|
|
40
41
|
{
|
41
42
|
name: 'Node FQDN',
|
42
43
|
sortable: false,
|
44
|
+
width: 300,
|
43
45
|
render: ({ row }) => {
|
44
46
|
if (!row.fqdn) {
|
45
47
|
return _jsx("span", { children: "\u2014" });
|
46
48
|
}
|
47
|
-
return
|
49
|
+
return _jsx(EntityStatus, { name: row.fqdn, showStatus: false, hasClipboardButton: true });
|
48
50
|
},
|
49
51
|
},
|
50
52
|
];
|
@@ -52,7 +54,7 @@ const TABLE_SETTINGS = {
|
|
52
54
|
displayIndices: false,
|
53
55
|
};
|
54
56
|
export const TabletTable = ({ history }) => {
|
55
|
-
return (_jsx(
|
57
|
+
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: TABLET_COLUMNS_WIDTH_LS_KEY, data: history, columns: columns, settings: TABLE_SETTINGS, initialSortOrder: {
|
56
58
|
columnId: 'Generation',
|
57
59
|
order: DataTable.DESCENDING,
|
58
60
|
} }));
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import DataTable from '@gravity-ui/react-data-table';
|
4
3
|
import { ResponseError } from '../../../components/Errors/ResponseError';
|
5
4
|
import { Loader } from '../../../components/Loader';
|
5
|
+
import { ResizeableDataTable } from '../../../components/ResizeableDataTable/ResizeableDataTable';
|
6
6
|
import { getSchemaAcl, setAclWasNotLoaded } from '../../../store/reducers/schemaAcl/schemaAcl';
|
7
7
|
import { cn } from '../../../utils/cn';
|
8
8
|
import { DEFAULT_TABLE_SETTINGS } from '../../../utils/constants';
|
@@ -10,6 +10,7 @@ import { useTypedDispatch, useTypedSelector } from '../../../utils/hooks';
|
|
10
10
|
import i18n from '../i18n';
|
11
11
|
import './Acl.scss';
|
12
12
|
const b = cn('ydb-acl');
|
13
|
+
const ACL_COLUMNS_WIDTH_LS_KEY = 'aclTableColumnsWidth';
|
13
14
|
const TABLE_SETTINGS = Object.assign(Object.assign({}, DEFAULT_TABLE_SETTINGS), { dynamicRender: false, stickyTop: 36 });
|
14
15
|
const prepareLogin = (value) => {
|
15
16
|
if (value && value.endsWith('@staff') && !value.startsWith('svc_')) {
|
@@ -73,7 +74,7 @@ export const Acl = () => {
|
|
73
74
|
if (!acl || !acl.length) {
|
74
75
|
return null;
|
75
76
|
}
|
76
|
-
return (_jsx(
|
77
|
+
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: ACL_COLUMNS_WIDTH_LS_KEY, columns: columns, data: acl, settings: TABLE_SETTINGS }));
|
77
78
|
};
|
78
79
|
const renderOwner = () => {
|
79
80
|
if (!owner) {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import DataTable from '@gravity-ui/react-data-table';
|
4
3
|
import escapeRegExp from 'lodash/escapeRegExp';
|
5
4
|
import { ResponseError } from '../../../../components/Errors/ResponseError';
|
6
5
|
import { Loader } from '../../../../components/Loader';
|
6
|
+
import { ResizeableDataTable } from '../../../../components/ResizeableDataTable/ResizeableDataTable';
|
7
7
|
import { Search } from '../../../../components/Search';
|
8
8
|
import { selectPreparedConsumersData, selectPreparedTopicStats, topicApi, } from '../../../../store/reducers/topic';
|
9
9
|
import { cn } from '../../../../utils/cn';
|
@@ -11,7 +11,7 @@ import { DEFAULT_TABLE_SETTINGS } from '../../../../utils/constants';
|
|
11
11
|
import { useTypedSelector } from '../../../../utils/hooks';
|
12
12
|
import { isCdcStreamEntityType } from '../../utils/schema';
|
13
13
|
import { ConsumersTopicStats } from './TopicStats';
|
14
|
-
import { columns } from './columns';
|
14
|
+
import { CONSUMERS_COLUMNS_WIDTH_LS_KEY, columns } from './columns';
|
15
15
|
import i18n from './i18n';
|
16
16
|
import './Consumers.scss';
|
17
17
|
const b = cn('ydb-diagnostics-consumers');
|
@@ -44,5 +44,5 @@ export const Consumers = ({ path, type }) => {
|
|
44
44
|
if (!consumers || !consumers.length) {
|
45
45
|
return _jsx("div", { children: i18n(`noConsumersMessage.${isCdcStream ? 'stream' : 'topic'}`) });
|
46
46
|
}
|
47
|
-
return (_jsxs("div", { className: b(), children: [_jsxs("div", { className: b('controls'), children: [_jsx(Search, { onChange: handleSearchChange, placeholder: i18n('controls.search'), className: b('search'), value: searchValue }), topic && _jsx(ConsumersTopicStats, { data: topic })] }), _jsx("div", { className: b('table-wrapper'), children: _jsx("div", { className: b('table-content'), children: _jsx(
|
47
|
+
return (_jsxs("div", { className: b(), children: [_jsxs("div", { className: b('controls'), children: [_jsx(Search, { onChange: handleSearchChange, placeholder: i18n('controls.search'), className: b('search'), value: searchValue }), topic && _jsx(ConsumersTopicStats, { data: topic })] }), _jsx("div", { className: b('table-wrapper'), children: _jsx("div", { className: b('table-content'), children: _jsx(ResizeableDataTable, { columnsWidthLSKey: CONSUMERS_COLUMNS_WIDTH_LS_KEY, wrapperClassName: b('table'), data: dataToRender, columns: columns, settings: DEFAULT_TABLE_SETTINGS, emptyDataMessage: i18n('table.emptyDataMessage') }) }) })] }));
|
48
48
|
};
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import type { Column } from '@gravity-ui/react-data-table';
|
2
2
|
import type { IPreparedConsumerData } from '../../../../../types/store/topic';
|
3
3
|
import './Columns.scss';
|
4
|
+
export declare const CONSUMERS_COLUMNS_WIDTH_LS_KEY = "consumersColumnsWidth";
|
4
5
|
export declare const columns: Column<IPreparedConsumerData>[];
|
@@ -12,6 +12,7 @@ import { ReadLagsHeader } from '../Headers';
|
|
12
12
|
import { CONSUMERS_COLUMNS_IDS, CONSUMERS_COLUMNS_TITILES, CONSUMERS_READ_LAGS_SUB_COLUMNS_IDS, CONSUMERS_READ_LAGS_SUB_COLUMNS_TITLES, } from '../utils/constants';
|
13
13
|
import './Columns.scss';
|
14
14
|
const b = cn('ydb-diagnostics-consumers-columns');
|
15
|
+
export const CONSUMERS_COLUMNS_WIDTH_LS_KEY = 'consumersColumnsWidth';
|
15
16
|
export const columns = [
|
16
17
|
{
|
17
18
|
name: CONSUMERS_COLUMNS_IDS.CONSUMER,
|
@@ -31,6 +32,7 @@ export const columns = [
|
|
31
32
|
name: CONSUMERS_COLUMNS_IDS.READ_SPEED,
|
32
33
|
header: CONSUMERS_COLUMNS_TITILES[CONSUMERS_COLUMNS_IDS.READ_SPEED],
|
33
34
|
align: DataTable.RIGHT,
|
35
|
+
resizeMinWidth: 140,
|
34
36
|
sortAccessor: (row) => row.readSpeed.perMinute,
|
35
37
|
render: ({ row }) => _jsx(SpeedMultiMeter, { data: row.readSpeed }),
|
36
38
|
},
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
3
3
|
import DataTable from '@gravity-ui/react-data-table';
|
4
4
|
import { ResponseError } from '../../../../components/Errors/ResponseError';
|
5
5
|
import { Icon } from '../../../../components/Icon';
|
6
|
+
import { ResizeableDataTable } from '../../../../components/ResizeableDataTable/ResizeableDataTable';
|
6
7
|
import { setHotKeysData, setHotKeysDataWasNotLoaded, setHotKeysError, setHotKeysLoading, } from '../../../../store/reducers/hotKeys/hotKeys';
|
7
8
|
import { cn } from '../../../../utils/cn';
|
8
9
|
import { DEFAULT_TABLE_SETTINGS } from '../../../../utils/constants';
|
@@ -93,8 +94,8 @@ export function HotKeys({ path }) {
|
|
93
94
|
if (!data) {
|
94
95
|
return _jsx("div", { children: i18n('no-data') });
|
95
96
|
}
|
96
|
-
return (_jsx(
|
97
|
-
|
98
|
-
|
99
|
-
|
97
|
+
return (_jsx(ResizeableDataTable, { wrapperClassName: b('table'), columns: tableColumns, data: data, settings: DEFAULT_TABLE_SETTINGS, initialSortOrder: {
|
98
|
+
columnId: tableColumnsIds.accessSample,
|
99
|
+
order: DataTable.DESCENDING,
|
100
|
+
} }));
|
100
101
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import DataTable from '@gravity-ui/react-data-table';
|
4
3
|
import { skipToken } from '@reduxjs/toolkit/query';
|
5
4
|
import { ResponseError } from '../../../../components/Errors/ResponseError';
|
5
|
+
import { ResizeableDataTable } from '../../../../components/ResizeableDataTable/ResizeableDataTable';
|
6
6
|
import { TableSkeleton } from '../../../../components/TableSkeleton/TableSkeleton';
|
7
7
|
import { nodesListApi, selectNodesMap } from '../../../../store/reducers/nodesList';
|
8
8
|
import { partitionsApi, setSelectedConsumer } from '../../../../store/reducers/partitions/partitions';
|
@@ -11,6 +11,7 @@ import { cn } from '../../../../utils/cn';
|
|
11
11
|
import { DEFAULT_TABLE_SETTINGS, PARTITIONS_HIDDEN_COLUMNS_KEY } from '../../../../utils/constants';
|
12
12
|
import { useSetting, useTypedDispatch, useTypedSelector } from '../../../../utils/hooks';
|
13
13
|
import { PartitionsControls } from './PartitionsControls/PartitionsControls';
|
14
|
+
import { PARTITIONS_COLUMNS_WIDTH_LS_KEY } from './columns';
|
14
15
|
import i18n from './i18n';
|
15
16
|
import { addHostToPartitions } from './utils';
|
16
17
|
import { useGetPartitionsColumns } from './utils/useGetPartitionsColumns';
|
@@ -64,14 +65,17 @@ export const Partitions = ({ path }) => {
|
|
64
65
|
};
|
65
66
|
const loading = topicLoading || nodesLoading || partitionsLoading;
|
66
67
|
const error = nodesError || topicError || partitionsError;
|
67
|
-
const
|
68
|
+
const renderControls = () => {
|
69
|
+
return (_jsx(PartitionsControls, { consumers: consumers, selectedConsumer: selectedConsumer, onSelectedConsumerChange: handleSelectedConsumerChange, selectDisabled: Boolean(error) || loading, partitions: partitionsWithHosts, onSearchChange: setPartitionsToRender, hiddenColumns: hiddenColumns, onHiddenColumnsChange: hadleTableColumnsSetupChange, initialColumnsIds: columnsIdsForSelector }));
|
70
|
+
};
|
71
|
+
const renderContent = () => {
|
68
72
|
if (loading) {
|
69
73
|
return _jsx(TableSkeleton, { className: b('loader') });
|
70
74
|
}
|
71
75
|
if (error) {
|
72
76
|
return _jsx(ResponseError, { error: error });
|
73
77
|
}
|
74
|
-
return (_jsx(
|
78
|
+
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: PARTITIONS_COLUMNS_WIDTH_LS_KEY, wrapperClassName: b('table'), data: partitionsToRender, columns: columnsToShow, settings: DEFAULT_TABLE_SETTINGS, emptyDataMessage: i18n('table.emptyDataMessage') }));
|
75
79
|
};
|
76
|
-
return (_jsxs("div", { className: b(), children: [_jsx(
|
80
|
+
return (_jsxs("div", { className: b(), children: [_jsx("div", { className: b('controls'), children: renderControls() }), _jsx("div", { className: b('table-wrapper'), children: _jsx("div", { className: b('table-content'), children: renderContent() }) })] }));
|
77
81
|
};
|
package/dist/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.js
CHANGED
@@ -89,5 +89,5 @@ export const PartitionsControls = ({ consumers, selectedConsumer, onSelectedCons
|
|
89
89
|
const renderOption = (option) => {
|
90
90
|
return (_jsx("div", { className: b('select-option', { empty: option.value === '' }), children: option.content }));
|
91
91
|
};
|
92
|
-
return (_jsxs(
|
92
|
+
return (_jsxs(React.Fragment, { children: [_jsx(Select, { className: b('consumer-select'), label: i18n('controls.consumerSelector'), options: consumersToSelect, value: [selectedConsumer], onUpdate: handleConsumerSelectChange, filterable: consumers && consumers.length > 5, disabled: selectDisabled || !consumers || !consumers.length, renderOption: renderOption, renderSelectedOption: renderOption }), _jsx(Search, { onChange: handlePartitionIdSearchChange, placeholder: i18n('controls.partitionSearch'), className: b('search', { partition: true }), value: partitionIdSearchValue }), _jsx(Search, { onChange: handleGeneralSearchChange, placeholder: i18n('controls.generalSearch'), className: b('search', { general: true }), value: generalSearchValue }), _jsx(TableColumnSetup, { popupWidth: 242, items: columnsToSelect, showStatus: true, onUpdate: handleTableColumnsSetupChange, sortable: false }, "TableColumnSetup")] }));
|
93
93
|
};
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import type { Column } from '@gravity-ui/react-data-table';
|
2
2
|
import type { PreparedPartitionDataWithHosts } from '../utils/types';
|
3
3
|
import './Columns.scss';
|
4
|
+
export declare const PARTITIONS_COLUMNS_WIDTH_LS_KEY = "partitionsColumnsWidth";
|
4
5
|
export declare const allColumns: Column<PreparedPartitionDataWithHosts>[];
|
5
6
|
export declare const generalColumns: Column<PreparedPartitionDataWithHosts>[];
|
@@ -10,6 +10,7 @@ import { MultilineHeader, ReadLagsHeader, ReadSessionHeader, UncommitedMessagesH
|
|
10
10
|
import { PARTITIONS_COLUMNS_IDS, PARTITIONS_COLUMNS_TITLES, PARTITIONS_READ_LAGS_SUB_COLUMNS_IDS, PARTITIONS_READ_LAGS_SUB_COLUMNS_TITLES, PARTITIONS_WRITE_LAGS_SUB_COLUMNS_IDS, PARTITIONS_WRITE_LAGS_SUB_COLUMNS_TITLES, generalPartitionColumnsIds, } from '../utils/constants';
|
11
11
|
import './Columns.scss';
|
12
12
|
const b = cn('ydb-diagnostics-partitions-columns');
|
13
|
+
export const PARTITIONS_COLUMNS_WIDTH_LS_KEY = 'partitionsColumnsWidth';
|
13
14
|
export const allColumns = [
|
14
15
|
{
|
15
16
|
name: PARTITIONS_COLUMNS_IDS.PARTITION_ID,
|
@@ -28,6 +29,7 @@ export const allColumns = [
|
|
28
29
|
name: PARTITIONS_COLUMNS_IDS.WRITE_SPEED,
|
29
30
|
header: PARTITIONS_COLUMNS_TITLES[PARTITIONS_COLUMNS_IDS.WRITE_SPEED],
|
30
31
|
align: DataTable.LEFT,
|
32
|
+
resizeMinWidth: 140,
|
31
33
|
sortAccessor: (row) => row.writeSpeed.perMinute,
|
32
34
|
render: ({ row }) => _jsx(SpeedMultiMeter, { data: row.writeSpeed }),
|
33
35
|
},
|
@@ -35,6 +37,7 @@ export const allColumns = [
|
|
35
37
|
name: PARTITIONS_COLUMNS_IDS.READ_SPEED,
|
36
38
|
header: PARTITIONS_COLUMNS_TITLES[PARTITIONS_COLUMNS_IDS.READ_SPEED],
|
37
39
|
align: DataTable.LEFT,
|
40
|
+
resizeMinWidth: 140,
|
38
41
|
sortAccessor: (row) => { var _a; return (_a = row.readSpeed) === null || _a === void 0 ? void 0 : _a.perMinute; },
|
39
42
|
render: ({ row }) => _jsx(SpeedMultiMeter, { data: row.readSpeed }),
|
40
43
|
},
|
@@ -119,25 +122,29 @@ export const allColumns = [
|
|
119
122
|
name: PARTITIONS_COLUMNS_IDS.READ_SESSION_ID,
|
120
123
|
header: _jsx(ReadSessionHeader, {}),
|
121
124
|
align: DataTable.LEFT,
|
122
|
-
|
125
|
+
width: 150,
|
126
|
+
render: ({ row }) => row.readSessionId ? (_jsx(EntityStatus, { name: row.readSessionId, showStatus: false, hasClipboardButton: true })) : ('–'),
|
123
127
|
},
|
124
128
|
{
|
125
129
|
name: PARTITIONS_COLUMNS_IDS.READER_NAME,
|
126
130
|
header: (_jsx(MultilineHeader, { title: PARTITIONS_COLUMNS_TITLES[PARTITIONS_COLUMNS_IDS.READER_NAME] })),
|
127
131
|
align: DataTable.LEFT,
|
128
|
-
|
132
|
+
width: 150,
|
133
|
+
render: ({ row }) => row.readerName ? (_jsx(EntityStatus, { name: row.readerName, showStatus: false, hasClipboardButton: true })) : ('–'),
|
129
134
|
},
|
130
135
|
{
|
131
136
|
name: PARTITIONS_COLUMNS_IDS.PARTITION_HOST,
|
132
137
|
header: (_jsx(MultilineHeader, { title: PARTITIONS_COLUMNS_TITLES[PARTITIONS_COLUMNS_IDS.PARTITION_HOST] })),
|
133
138
|
align: DataTable.LEFT,
|
134
|
-
|
139
|
+
width: 200,
|
140
|
+
render: ({ row }) => row.partitionNodeId && row.partitionHost ? (_jsx(EntityStatus, { name: row.partitionHost, path: getDefaultNodePath(row.partitionNodeId), showStatus: false, hasClipboardButton: true })) : ('–'),
|
135
141
|
},
|
136
142
|
{
|
137
143
|
name: PARTITIONS_COLUMNS_IDS.CONNECTION_HOST,
|
138
144
|
header: (_jsx(MultilineHeader, { title: PARTITIONS_COLUMNS_TITLES[PARTITIONS_COLUMNS_IDS.CONNECTION_HOST] })),
|
139
145
|
align: DataTable.LEFT,
|
140
|
-
|
146
|
+
width: 200,
|
147
|
+
render: ({ row }) => row.connectionNodeId && row.connectionHost ? (_jsx(EntityStatus, { name: row.connectionHost, path: getDefaultNodePath(row.connectionNodeId), showStatus: false, hasClipboardButton: true })) : ('–'),
|
141
148
|
},
|
142
149
|
];
|
143
150
|
// Topics without consumers have partitions data with no data corresponding to consumers
|