ydb-embedded-ui 9.3.0 → 9.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Drawer/Drawer.js +7 -3
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Drawer/DrawerContext.d.ts +1 -0
- package/dist/components/Drawer/DrawerContext.js +5 -2
- package/dist/components/Drawer/DrawerContext.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTable.js +21 -21
- package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTableContext.d.ts +3 -1
- package/dist/components/PaginatedTable/PaginatedTableContext.js +3 -2
- package/dist/components/PaginatedTable/PaginatedTableContext.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.d.ts +5 -4
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.js +29 -2
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.js.map +1 -1
- package/dist/components/PaginatedTable/TableChunk.d.ts +3 -2
- package/dist/components/PaginatedTable/TableChunk.js +12 -18
- package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
- package/dist/components/PaginatedTable/TableChunksRenderer.d.ts +21 -0
- package/dist/components/PaginatedTable/TableChunksRenderer.js +96 -0
- package/dist/components/PaginatedTable/TableChunksRenderer.js.map +1 -0
- package/dist/components/PaginatedTable/TableRow.d.ts +2 -1
- package/dist/components/PaginatedTable/TableRow.js +4 -4
- package/dist/components/PaginatedTable/TableRow.js.map +1 -1
- package/dist/components/PaginatedTable/requestBatcher.d.ts +28 -0
- package/dist/components/PaginatedTable/requestBatcher.js +128 -0
- package/dist/components/PaginatedTable/requestBatcher.js.map +1 -0
- package/dist/components/PaginatedTable/useScrollBasedChunks.d.ts +8 -2
- package/dist/components/PaginatedTable/useScrollBasedChunks.js +35 -20
- package/dist/components/PaginatedTable/useScrollBasedChunks.js.map +1 -1
- package/dist/components/ResizeableDataTable/ResizeableDataTable.d.ts +3 -2
- package/dist/components/ResizeableDataTable/ResizeableDataTable.js +7 -2
- package/dist/components/ResizeableDataTable/ResizeableDataTable.js.map +1 -1
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.d.ts +4 -3
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +5 -3
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +2 -2
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +4 -2
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js +2 -2
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +4 -2
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +2 -2
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.js +3 -1
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
- package/dist/containers/Tenants/Tenants.js +8 -2
- package/dist/containers/Tenants/Tenants.js.map +1 -1
- package/dist/services/api/streaming.js +1 -0
- package/dist/services/api/streaming.js.map +1 -1
- package/dist/store/reducers/tableData.d.ts +1 -0
- package/dist/store/reducers/tableData.js +29 -10
- package/dist/store/reducers/tableData.js.map +1 -1
- package/package.json +1 -1
@@ -12,7 +12,7 @@ const TableRowCell = ({ children, className, height, width, align = DEFAULT_ALIG
|
|
12
12
|
}, children: children }));
|
13
13
|
};
|
14
14
|
export const LoadingTableRow = typedMemo(function ({ columns, height }) {
|
15
|
-
return (_jsx("tr", { className: b('row', { loading: true }), children: columns.map((column) => {
|
15
|
+
return (_jsx("tr", { className: b('row', { loading: true }), style: { height }, children: columns.map((column) => {
|
16
16
|
var _a;
|
17
17
|
const resizeable = (_a = column.resizeable) !== null && _a !== void 0 ? _a : DEFAULT_RESIZEABLE;
|
18
18
|
return (_jsx(TableRowCell, { height: height, width: column.width, align: column.align, className: column.className, resizeable: resizeable, children: _jsx(Skeleton, { className: b('row-skeleton'), style: { width: '80%', height: '50%' } }) }, column.name));
|
@@ -20,13 +20,13 @@ export const LoadingTableRow = typedMemo(function ({ columns, height }) {
|
|
20
20
|
});
|
21
21
|
export const TableRow = ({ row, columns, getRowClassName, height }) => {
|
22
22
|
const additionalClassName = getRowClassName === null || getRowClassName === void 0 ? void 0 : getRowClassName(row);
|
23
|
-
return (_jsx("tr", { className: b('row', additionalClassName), children: columns.map((column) => {
|
23
|
+
return (_jsx("tr", { className: b('row', additionalClassName), style: { height }, children: columns.map((column) => {
|
24
24
|
var _a;
|
25
25
|
const resizeable = (_a = column.resizeable) !== null && _a !== void 0 ? _a : DEFAULT_RESIZEABLE;
|
26
26
|
return (_jsx(TableRowCell, { height: height, width: column.width, align: column.align, className: column.className, resizeable: resizeable, children: column.render({ row }) }, column.name));
|
27
27
|
}) }));
|
28
28
|
};
|
29
|
-
export const EmptyTableRow = ({ columns, children }) => {
|
30
|
-
return (_jsx("tr", { className: b('row', { empty: true }), children: _jsx("td", { colSpan: columns.length, className: b('td'), children: children }) }));
|
29
|
+
export const EmptyTableRow = ({ columns, children, height }) => {
|
30
|
+
return (_jsx("tr", { className: b('row', { empty: true }), style: { height }, children: _jsx("td", { colSpan: columns.length, className: b('td'), children: children }) }));
|
31
31
|
};
|
32
32
|
//# sourceMappingURL=TableRow.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/TableRow.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAE3B,OAAO,EAAC,SAAS,EAAC,MAAM,SAAS,CAAC;AAWlC,MAAM,YAAY,GAAG,CAAC,EAClB,QAAQ,EACR,SAAS,EACT,MAAM,EACN,KAAK,EACL,KAAK,GAAG,aAAa,EACrB,UAAU,GACG,EAAE,EAAE;IACjB,OAAO,CACH,aACI,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,EAAE,SAAS,CAAC,EACnD,KAAK,EAAE;YACH,MAAM,EAAE,GAAG,MAAM,IAAI;YACrB,KAAK,EAAE,GAAG,KAAK,IAAI;YACnB,gFAAgF;YAChF,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS;SAClD,YAEA,QAAQ,GACR,CACR,CAAC;AACN,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC,UAAa,EAAC,OAAO,EAAE,MAAM,EAA0B;IAC5F,OAAO,CACH,aAAI,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,
|
1
|
+
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/TableRow.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import type { FetchData, PaginatedTableData, SortParams } from './types';
|
2
|
+
interface PaginatedTableParams<T, F> {
|
3
|
+
offset: number;
|
4
|
+
fetchData: FetchData<T, F>;
|
5
|
+
filters: F;
|
6
|
+
limit: number;
|
7
|
+
sortParams?: SortParams;
|
8
|
+
columnsIds: string[];
|
9
|
+
tableName: string;
|
10
|
+
}
|
11
|
+
declare class RequestBatcher {
|
12
|
+
private requestQueue;
|
13
|
+
private batchTimeout;
|
14
|
+
private readonly BATCH_DELAY;
|
15
|
+
queueRequest<T, F>(params: PaginatedTableParams<T, F>, signal?: AbortSignal): Promise<{
|
16
|
+
data: PaginatedTableData<T>;
|
17
|
+
} | {
|
18
|
+
error: unknown;
|
19
|
+
}>;
|
20
|
+
private createBatchKey;
|
21
|
+
private groupConsecutiveRequests;
|
22
|
+
private createBatchGroup;
|
23
|
+
private executeBatch;
|
24
|
+
private splitAndDistributeResponse;
|
25
|
+
private processBatch;
|
26
|
+
}
|
27
|
+
export declare const requestBatcher: RequestBatcher;
|
28
|
+
export {};
|
@@ -0,0 +1,128 @@
|
|
1
|
+
class RequestBatcher {
|
2
|
+
constructor() {
|
3
|
+
this.requestQueue = new Map();
|
4
|
+
this.batchTimeout = null;
|
5
|
+
this.BATCH_DELAY = 50; // ms
|
6
|
+
}
|
7
|
+
queueRequest(params, signal) {
|
8
|
+
return new Promise((resolve, reject) => {
|
9
|
+
const batchKey = this.createBatchKey(params);
|
10
|
+
if (!this.requestQueue.has(batchKey)) {
|
11
|
+
this.requestQueue.set(batchKey, []);
|
12
|
+
}
|
13
|
+
this.requestQueue.get(batchKey).push({
|
14
|
+
params,
|
15
|
+
resolve,
|
16
|
+
reject,
|
17
|
+
signal,
|
18
|
+
});
|
19
|
+
// Reset the batch timeout
|
20
|
+
if (this.batchTimeout) {
|
21
|
+
clearTimeout(this.batchTimeout);
|
22
|
+
}
|
23
|
+
this.batchTimeout = setTimeout(() => {
|
24
|
+
this.processBatch();
|
25
|
+
}, this.BATCH_DELAY);
|
26
|
+
});
|
27
|
+
}
|
28
|
+
createBatchKey(params) {
|
29
|
+
return JSON.stringify({
|
30
|
+
tableName: params.tableName,
|
31
|
+
filters: params.filters,
|
32
|
+
sortParams: params.sortParams,
|
33
|
+
columnsIds: params.columnsIds,
|
34
|
+
limit: params.limit,
|
35
|
+
});
|
36
|
+
}
|
37
|
+
groupConsecutiveRequests(requests) {
|
38
|
+
if (requests.length === 0) {
|
39
|
+
return [];
|
40
|
+
}
|
41
|
+
const sorted = requests.sort((a, b) => a.params.offset - b.params.offset);
|
42
|
+
const groups = [];
|
43
|
+
let currentGroup = [sorted[0]];
|
44
|
+
const limit = sorted[0].params.limit;
|
45
|
+
for (let i = 1; i < sorted.length; i++) {
|
46
|
+
const expectedOffset = currentGroup[currentGroup.length - 1].params.offset + limit;
|
47
|
+
if (sorted[i].params.offset === expectedOffset) {
|
48
|
+
// Consecutive request
|
49
|
+
currentGroup.push(sorted[i]);
|
50
|
+
}
|
51
|
+
else {
|
52
|
+
// Non-consecutive, create a new group
|
53
|
+
groups.push(this.createBatchGroup(currentGroup));
|
54
|
+
currentGroup = [sorted[i]];
|
55
|
+
}
|
56
|
+
}
|
57
|
+
// Add the last group
|
58
|
+
groups.push(this.createBatchGroup(currentGroup));
|
59
|
+
return groups;
|
60
|
+
}
|
61
|
+
createBatchGroup(requests) {
|
62
|
+
const minOffset = Math.min(...requests.map((r) => r.params.offset));
|
63
|
+
const maxOffset = Math.max(...requests.map((r) => r.params.offset));
|
64
|
+
const limit = requests[0].params.limit;
|
65
|
+
const totalLimit = requests.length * limit;
|
66
|
+
return {
|
67
|
+
requests,
|
68
|
+
batchKey: this.createBatchKey(requests[0].params),
|
69
|
+
minOffset,
|
70
|
+
maxOffset,
|
71
|
+
totalLimit,
|
72
|
+
};
|
73
|
+
}
|
74
|
+
async executeBatch(group) {
|
75
|
+
const firstRequest = group.requests[0];
|
76
|
+
const batchParams = {
|
77
|
+
...firstRequest.params,
|
78
|
+
offset: group.minOffset,
|
79
|
+
limit: group.totalLimit,
|
80
|
+
};
|
81
|
+
try {
|
82
|
+
const response = await firstRequest.params.fetchData({
|
83
|
+
limit: batchParams.limit,
|
84
|
+
offset: batchParams.offset,
|
85
|
+
filters: batchParams.filters,
|
86
|
+
sortParams: batchParams.sortParams,
|
87
|
+
columnsIds: batchParams.columnsIds,
|
88
|
+
signal: firstRequest.signal,
|
89
|
+
});
|
90
|
+
// Split the response data among individual requests
|
91
|
+
this.splitAndDistributeResponse(group, response);
|
92
|
+
}
|
93
|
+
catch (error) {
|
94
|
+
// If batch fails, reject all requests in the group
|
95
|
+
group.requests.forEach((request) => {
|
96
|
+
request.resolve({ error });
|
97
|
+
});
|
98
|
+
}
|
99
|
+
}
|
100
|
+
splitAndDistributeResponse(group, batchResponse) {
|
101
|
+
const limit = group.requests[0].params.limit;
|
102
|
+
group.requests.forEach((request, index) => {
|
103
|
+
const startIndex = index * limit;
|
104
|
+
const endIndex = startIndex + limit;
|
105
|
+
const chunkData = batchResponse.data.slice(startIndex, endIndex);
|
106
|
+
const chunkResponse = {
|
107
|
+
...batchResponse,
|
108
|
+
data: chunkData,
|
109
|
+
total: batchResponse.total,
|
110
|
+
found: batchResponse.found,
|
111
|
+
};
|
112
|
+
request.resolve({ data: chunkResponse });
|
113
|
+
});
|
114
|
+
}
|
115
|
+
async processBatch() {
|
116
|
+
const allQueues = Array.from(this.requestQueue.entries());
|
117
|
+
this.requestQueue.clear();
|
118
|
+
this.batchTimeout = null;
|
119
|
+
for (const [_batchKey, requests] of allQueues) {
|
120
|
+
const groups = this.groupConsecutiveRequests(requests);
|
121
|
+
// Execute each group (consecutive chunks) as a separate batch
|
122
|
+
await Promise.all(groups.map((group) => this.executeBatch(group)));
|
123
|
+
}
|
124
|
+
}
|
125
|
+
}
|
126
|
+
// Singleton instance
|
127
|
+
export const requestBatcher = new RequestBatcher();
|
128
|
+
//# sourceMappingURL=requestBatcher.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"requestBatcher.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/requestBatcher.ts"],"names":[],"mappings":"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"}
|
@@ -5,7 +5,13 @@ interface UseScrollBasedChunksProps {
|
|
5
5
|
totalItems: number;
|
6
6
|
rowHeight: number;
|
7
7
|
chunkSize: number;
|
8
|
-
|
8
|
+
renderOverscan?: number;
|
9
|
+
fetchOverscan?: number;
|
10
|
+
tableOffset: number;
|
9
11
|
}
|
10
|
-
|
12
|
+
interface ChunkState {
|
13
|
+
shouldRender: boolean;
|
14
|
+
shouldFetch: boolean;
|
15
|
+
}
|
16
|
+
export declare const useScrollBasedChunks: ({ scrollContainerRef, tableRef, totalItems, rowHeight, chunkSize, tableOffset, renderOverscan, fetchOverscan, }: UseScrollBasedChunksProps) => ChunkState[];
|
11
17
|
export {};
|
@@ -1,29 +1,33 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
2
|
+
import { throttle } from 'lodash';
|
3
|
+
import { rafThrottle } from './utils';
|
4
|
+
const isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
5
|
+
// Bad performance in Safari - reduce overscan counts
|
6
|
+
const DEFAULT_RENDER_OVERSCAN = isSafari ? 1 : 2;
|
7
|
+
const DEFAULT_FETCH_OVERSCAN = 4;
|
8
|
+
const THROTTLE_DELAY = 200;
|
9
|
+
export const useScrollBasedChunks = ({ scrollContainerRef, tableRef, totalItems, rowHeight, chunkSize, tableOffset, renderOverscan = DEFAULT_RENDER_OVERSCAN, fetchOverscan = DEFAULT_FETCH_OVERSCAN, }) => {
|
5
10
|
const chunksCount = React.useMemo(() => Math.ceil(totalItems / chunkSize), [chunkSize, totalItems]);
|
6
|
-
const [
|
7
|
-
const [
|
11
|
+
const [visibleStartChunk, setVisibleStartChunk] = React.useState(0);
|
12
|
+
const [visibleEndChunk, setVisibleEndChunk] = React.useState(0);
|
8
13
|
const calculateVisibleRange = React.useCallback(() => {
|
9
14
|
const container = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
|
10
15
|
const table = tableRef.current;
|
11
16
|
if (!container || !table) {
|
12
17
|
return null;
|
13
18
|
}
|
14
|
-
const tableOffset = calculateElementOffsetTop(table, container);
|
15
19
|
const containerScroll = container.scrollTop;
|
16
20
|
const visibleStart = Math.max(containerScroll - tableOffset, 0);
|
17
21
|
const visibleEnd = visibleStart + container.clientHeight;
|
18
|
-
const start = Math.max(Math.floor(visibleStart / rowHeight / chunkSize)
|
19
|
-
const end = Math.min(Math.floor(visibleEnd / rowHeight / chunkSize)
|
22
|
+
const start = Math.max(Math.floor(visibleStart / rowHeight / chunkSize), 0);
|
23
|
+
const end = Math.min(Math.floor(visibleEnd / rowHeight / chunkSize), Math.max(chunksCount - 1, 0));
|
20
24
|
return { start, end };
|
21
|
-
}, [scrollContainerRef, tableRef, rowHeight, chunkSize,
|
25
|
+
}, [scrollContainerRef, tableRef, tableOffset, rowHeight, chunkSize, chunksCount]);
|
22
26
|
const updateVisibleChunks = React.useCallback(() => {
|
23
27
|
const newRange = calculateVisibleRange();
|
24
28
|
if (newRange) {
|
25
|
-
|
26
|
-
|
29
|
+
setVisibleStartChunk(newRange.start);
|
30
|
+
setVisibleEndChunk(newRange.end);
|
27
31
|
}
|
28
32
|
}, [calculateVisibleRange]);
|
29
33
|
React.useEffect(() => {
|
@@ -46,19 +50,30 @@ export const useScrollBasedChunks = ({ scrollContainerRef, tableRef, totalItems,
|
|
46
50
|
if (!container) {
|
47
51
|
return undefined;
|
48
52
|
}
|
49
|
-
const throttledHandleScroll =
|
50
|
-
|
53
|
+
const throttledHandleScroll = throttle(handleScroll, THROTTLE_DELAY, {
|
54
|
+
trailing: true,
|
55
|
+
leading: true,
|
56
|
+
});
|
57
|
+
container.addEventListener('scroll', throttledHandleScroll, { passive: true });
|
51
58
|
return () => {
|
52
59
|
container.removeEventListener('scroll', throttledHandleScroll);
|
53
60
|
};
|
54
61
|
}, [handleScroll, scrollContainerRef]);
|
55
62
|
return React.useMemo(() => {
|
56
|
-
//
|
57
|
-
const
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
+
// Calculate render range (visible + render overscan)
|
64
|
+
const renderStartChunk = Math.max(visibleStartChunk - renderOverscan, 0);
|
65
|
+
const renderEndChunk = Math.min(visibleEndChunk + renderOverscan, Math.max(chunksCount - 1, 0));
|
66
|
+
// Calculate fetch range (visible + fetch overscan)
|
67
|
+
const fetchStartChunk = Math.max(visibleStartChunk - fetchOverscan, 0);
|
68
|
+
const fetchEndChunk = Math.min(visibleEndChunk + fetchOverscan, Math.max(chunksCount - 1, 0));
|
69
|
+
// Create chunk states array
|
70
|
+
const chunkStates = Array(chunksCount)
|
71
|
+
.fill(null)
|
72
|
+
.map((_, index) => ({
|
73
|
+
shouldRender: index >= renderStartChunk && index <= renderEndChunk,
|
74
|
+
shouldFetch: index >= fetchStartChunk && index <= fetchEndChunk,
|
75
|
+
}));
|
76
|
+
return chunkStates;
|
77
|
+
}, [chunksCount, visibleStartChunk, visibleEndChunk, renderOverscan, fetchOverscan]);
|
63
78
|
};
|
64
79
|
//# sourceMappingURL=useScrollBasedChunks.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useScrollBasedChunks.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/useScrollBasedChunks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"useScrollBasedChunks.js","sourceRoot":"","sources":["../../../src/components/PaginatedTable/useScrollBasedChunks.ts"],"names":[],"mappings":"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"}
|
@@ -1,8 +1,9 @@
|
|
1
|
-
import type { DataTableProps } from '@gravity-ui/react-data-table';
|
1
|
+
import type { DataTableProps, SortOrder } from '@gravity-ui/react-data-table';
|
2
2
|
import './ResizeableDataTable.scss';
|
3
3
|
export interface ResizeableDataTableProps<T> extends Omit<DataTableProps<T>, 'theme' | 'onResize'> {
|
4
4
|
columnsWidthLSKey?: string;
|
5
5
|
wrapperClassName?: string;
|
6
6
|
loading?: boolean;
|
7
|
+
onSortChange?: (params: SortOrder | SortOrder[] | undefined) => void;
|
7
8
|
}
|
8
|
-
export declare function ResizeableDataTable<T>({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, ...props }: ResizeableDataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
9
|
+
export declare function ResizeableDataTable<T>({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, onSort, onSortChange, ...props }: ResizeableDataTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
@@ -1,12 +1,17 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import React from 'react';
|
2
3
|
import DataTable, { updateColumnsWidth } from '@gravity-ui/react-data-table';
|
3
4
|
import { Skeleton } from '@gravity-ui/uikit';
|
4
5
|
import { cn } from '../../utils/cn';
|
5
6
|
import { useTableResize } from '../../utils/hooks/useTableResize';
|
6
7
|
import './ResizeableDataTable.scss';
|
7
8
|
const b = cn('ydb-resizeable-data-table');
|
8
|
-
export function ResizeableDataTable({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, ...props }) {
|
9
|
+
export function ResizeableDataTable({ columnsWidthLSKey, columns, settings, wrapperClassName, loading, onSort, onSortChange, ...props }) {
|
9
10
|
const [tableColumnsWidth, setTableColumnsWidth] = useTableResize(columnsWidthLSKey);
|
11
|
+
const handleSort = React.useCallback((params) => {
|
12
|
+
onSort === null || onSort === void 0 ? void 0 : onSort(params); // Original onSort if provided
|
13
|
+
onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange(params); // Expose sort params to parent
|
14
|
+
}, [onSort, onSortChange]);
|
10
15
|
// If loading is true, override the render method of each column to display a Skeleton
|
11
16
|
const processedColumns = loading
|
12
17
|
? columns.map((column) => ({
|
@@ -19,6 +24,6 @@ export function ResizeableDataTable({ columnsWidthLSKey, columns, settings, wrap
|
|
19
24
|
...settings,
|
20
25
|
defaultResizeable: true,
|
21
26
|
};
|
22
|
-
return (_jsx("div", { className: b(null, wrapperClassName), children: _jsx(DataTable, { theme: "yandex-cloud", columns: updatedColumns, onResize: setTableColumnsWidth, settings: newSettings, ...props }) }));
|
27
|
+
return (_jsx("div", { className: b(null, wrapperClassName), children: _jsx(DataTable, { theme: "yandex-cloud", columns: updatedColumns, onResize: setTableColumnsWidth, onSort: handleSort, settings: newSettings, ...props }) }));
|
23
28
|
}
|
24
29
|
//# sourceMappingURL=ResizeableDataTable.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ResizeableDataTable.js","sourceRoot":"","sources":["../../../src/components/ResizeableDataTable/ResizeableDataTable.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"ResizeableDataTable.js","sourceRoot":"","sources":["../../../src/components/ResizeableDataTable/ResizeableDataTable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,SAAS,EAAE,EAAC,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AAEhE,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAS1C,MAAM,UAAU,mBAAmB,CAAI,EACnC,iBAAiB,EACjB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,MAAM,EACN,YAAY,EACZ,GAAG,KAAK,EACkB;IAC1B,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEpF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAChC,CAAC,MAA2C,EAAE,EAAE;QAC5C,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAG,MAAM,CAAC,CAAC,CAAC,8BAA8B;QAChD,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAG,MAAM,CAAC,CAAC,CAAC,+BAA+B;IAC3D,CAAC,EACD,CAAC,MAAM,EAAE,YAAY,CAAC,CACzB,CAAC;IAEF,sFAAsF;IACtF,MAAM,gBAAgB,GAAG,OAAO;QAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAiB,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,MAAM;YACT,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,GAAI;SAC3D,CAAC,CAAC;QACL,CAAC,CAAC,OAAO,CAAC;IAEd,MAAM,cAAc,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAE/E,MAAM,WAAW,GAAa;QAC1B,GAAG,QAAQ;QACX,iBAAiB,EAAE,IAAI;KAC1B,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,gBAAgB,CAAC,YACrC,KAAC,SAAS,IACN,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,oBAAoB,EAC9B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,WAAW,KACjB,KAAK,GACX,GACA,CACT,CAAC;AACN,CAAC"}
|
@@ -1,19 +1,20 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import './TableWithControlsLayout.scss';
|
3
3
|
interface TableWithControlsLayoutItemProps {
|
4
|
-
children
|
4
|
+
children: React.ReactNode;
|
5
5
|
renderExtraControls?: () => React.ReactNode;
|
6
6
|
className?: string;
|
7
7
|
fullHeight?: boolean;
|
8
8
|
}
|
9
|
-
export interface
|
9
|
+
export interface TableWrapperProps extends Omit<TableWithControlsLayoutItemProps, 'children'> {
|
10
10
|
loading?: boolean;
|
11
11
|
scrollContainerRef?: React.RefObject<HTMLElement>;
|
12
12
|
scrollDependencies?: any[];
|
13
|
+
children: React.ReactNode;
|
13
14
|
}
|
14
15
|
export declare const TableWithControlsLayout: {
|
15
16
|
({ children, className, fullHeight, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
|
16
17
|
Controls({ children, renderExtraControls, className, }: TableWithControlsLayoutItemProps): import("react/jsx-runtime").JSX.Element;
|
17
|
-
Table({ children, loading, className, scrollContainerRef, scrollDependencies, }:
|
18
|
+
Table({ children, loading, className, scrollContainerRef, scrollDependencies, }: TableWrapperProps): import("react/jsx-runtime").JSX.Element;
|
18
19
|
};
|
19
20
|
export {};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TableWithControlsLayout.js","sourceRoot":"","sources":["../../../src/components/TableWithControlsLayout/TableWithControlsLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,gCAAgC,CAAC;AAExC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"TableWithControlsLayout.js","sourceRoot":"","sources":["../../../src/components/TableWithControlsLayout/TableWithControlsLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAE7D,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,OAAO,gCAAgC,CAAC;AAExC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAC;AAgB/C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EACpC,QAAQ,EACR,SAAS,EACT,UAAU,GACqB,EAAE,EAAE;IACnC,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,aAAa,EAAE,UAAU,EAAC,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;AACvF,CAAC,CAAC;AAEF,uBAAuB,CAAC,QAAQ,GAAG,SAAS,aAAa,CAAC,EACtD,QAAQ,EACR,mBAAmB,EACnB,SAAS,GACsB;IAC/B,OAAO,CACH,MAAC,IAAI,IACD,cAAc,EAAC,eAAe,EAC9B,UAAU,EAAC,QAAQ,EACnB,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,GAAG,EAAE,CAAC,aAEN,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,YAAG,QAAQ,GAAO,EACzD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,EAAI,IACrB,CACV,CAAC;AACN,CAAC,CAAC;AAEF,uBAAuB,CAAC,KAAK,GAAG,SAAS,KAAK,CAAC,EAC3C,QAAQ,EACR,OAAO,EACP,SAAS,EACT,kBAAkB,EAClB,kBAAkB,GAAG,EAAE,GACP;IAChB,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7D,qCAAqC;IACrC,cAAc,CAAC;QACX,iBAAiB;QACjB,kBAAkB;QAClB,YAAY,EAAE,kBAAkB;KACnC,CAAC,CAAC;IAEH,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,KAAC,aAAa,IAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAI,CAAC;IACrD,CAAC;IAED,OAAO,CACH,cAAK,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,YACxD,QAAQ,GACP,CACT,CAAC;AACN,CAAC,CAAC"}
|
@@ -15,7 +15,9 @@ import i18n from '../i18n';
|
|
15
15
|
import { b } from '../shared';
|
16
16
|
import { useNodesPageQueryParams } from '../useNodesPageQueryParams';
|
17
17
|
const NodeGroup = React.memo(function NodeGroup({ name, count, isExpanded, path, database, searchValue, peerRoleFilter, groupByParam, columns, scrollContainerRef, onIsExpandedChange, }) {
|
18
|
-
return (_jsx(TableGroup, { title: name, count: count, entityName: i18n('nodes'), expanded: isExpanded, onIsExpandedChange: onIsExpandedChange, children: _jsx(NodesTable, { path: path, database: database, searchValue: searchValue, problemFilter: 'All', uptimeFilter: NodesUptimeFilterValues.All, peerRoleFilter: peerRoleFilter, filterGroup: name, filterGroupBy: groupByParam, initialEntitiesCount: count, columns: columns, scrollContainerRef: scrollContainerRef })
|
18
|
+
return (_jsx(TableGroup, { title: name, count: count, entityName: i18n('nodes'), expanded: isExpanded, onIsExpandedChange: onIsExpandedChange, children: _jsx(PaginatedTableWithLayout, { initialState: { sortParams: undefined }, table: _jsx(NodesTable, { path: path, database: database, searchValue: searchValue, problemFilter: 'All', uptimeFilter: NodesUptimeFilterValues.All, peerRoleFilter: peerRoleFilter, filterGroup: name, filterGroupBy: groupByParam, initialEntitiesCount: count, columns: columns, scrollContainerRef: scrollContainerRef }), tableWrapperProps: {
|
19
|
+
scrollContainerRef: scrollContainerRef,
|
20
|
+
} }) }, name));
|
19
21
|
});
|
20
22
|
export function GroupedNodesComponent({ path, database, scrollContainerRef, withPeerRoleFilter, columns, defaultColumnsIds, requiredColumnsIds, selectedColumnsKey, groupByParams, }) {
|
21
23
|
const { searchValue, peerRoleFilter, groupByParam } = useNodesPageQueryParams(groupByParams);
|
@@ -50,11 +52,11 @@ export function GroupedNodesComponent({ path, database, scrollContainerRef, with
|
|
50
52
|
}
|
51
53
|
return i18n('no-nodes-groups');
|
52
54
|
};
|
53
|
-
return (_jsx(PaginatedTableWithLayout, { initialState: initialState, controls: _jsx(NodesControls, { groupByParams: groupByParams, withPeerRoleFilter: withPeerRoleFilter, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns, entitiesCountCurrent: found, entitiesCountTotal: total, entitiesLoading: isLoading, withGroupBySelect: true }), error: error ? _jsx(ResponseError, { error: error }) : null, table: renderGroups(),
|
55
|
+
return (_jsx(PaginatedTableWithLayout, { initialState: initialState, controls: _jsx(NodesControls, { groupByParams: groupByParams, withPeerRoleFilter: withPeerRoleFilter, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns, entitiesCountCurrent: found, entitiesCountTotal: total, entitiesLoading: isLoading, withGroupBySelect: true }), error: error ? _jsx(ResponseError, { error: error }) : null, table: renderGroups(), tableWrapperProps: {
|
54
56
|
scrollContainerRef,
|
55
57
|
scrollDependencies: [searchValue, groupByParam, tableGroups, peerRoleFilter],
|
56
58
|
loading: isLoading,
|
57
59
|
className: b('groups-wrapper'),
|
58
|
-
}
|
60
|
+
} }));
|
59
61
|
}
|
60
62
|
//# sourceMappingURL=GroupedNodesComponent.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GroupedNodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAC,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AAG7D,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,CAAC,EAAC,MAAM,WAAW,CAAC;AAC5B,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAgBnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,EAC5C,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,kBAAkB,GACL;IACb,OAAO,CACH,KAAC,UAAU,IAEP,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EACzB,QAAQ,EAAE,UAAU,EACpB,kBAAkB,EAAE,kBAAkB,YAEtC,KAAC,UAAU,IACP,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,KAAK,EACpB,YAAY,EAAE,uBAAuB,CAAC,GAAG,EACzC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,YAAY,EAC3B,oBAAoB,EAAE,KAAK,EAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,GACxC,
|
1
|
+
{"version":3,"file":"GroupedNodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx"],"names":[],"mappings":"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"}
|
@@ -12,9 +12,9 @@ export function NodesComponent({ path, database, scrollContainerRef, withPeerRol
|
|
12
12
|
const { problemFilter } = useProblemFilter();
|
13
13
|
const viewerNodesHandlerHasGrouping = useViewerNodesHandlerHasGrouping();
|
14
14
|
const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(columns, selectedColumnsKey, NODES_COLUMNS_TITLES, defaultColumnsIds, requiredColumnsIds);
|
15
|
-
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(NodesControlsWithTableState, { withGroupBySelect: viewerNodesHandlerHasGrouping, groupByParams: groupByParams, withPeerRoleFilter: withPeerRoleFilter, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), table: _jsx(NodesTable, { path: path, database: database, searchValue: searchValue, problemFilter: problemFilter, uptimeFilter: uptimeFilter, peerRoleFilter: peerRoleFilter, columns: columnsToShow, scrollContainerRef: scrollContainerRef }),
|
15
|
+
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(NodesControlsWithTableState, { withGroupBySelect: viewerNodesHandlerHasGrouping, groupByParams: groupByParams, withPeerRoleFilter: withPeerRoleFilter, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), table: _jsx(NodesTable, { path: path, database: database, searchValue: searchValue, problemFilter: problemFilter, uptimeFilter: uptimeFilter, peerRoleFilter: peerRoleFilter, columns: columnsToShow, scrollContainerRef: scrollContainerRef }), tableWrapperProps: {
|
16
16
|
scrollContainerRef,
|
17
17
|
scrollDependencies: [searchValue, problemFilter, uptimeFilter, peerRoleFilter],
|
18
|
-
}
|
18
|
+
} }));
|
19
19
|
}
|
20
20
|
//# sourceMappingURL=NodesComponent.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/NodesComponent.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAC,gCAAgC,EAAC,MAAM,4CAA4C,CAAC;AAE5F,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAc1E,MAAM,UAAU,cAAc,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACK;IAClB,MAAM,EAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAC,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC3F,MAAM,EAAC,aAAa,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAC3C,MAAM,6BAA6B,GAAG,gCAAgC,EAAE,CAAC;IAEzE,MAAM,EAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAC,GAAG,kBAAkB,CACnE,OAAO,EACP,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,CACrB,CAAC;IAEF,OAAO,CACH,KAAC,wBAAwB,IACrB,QAAQ,EACJ,KAAC,2BAA2B,IACxB,iBAAiB,EAAE,6BAA6B,EAChD,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,2BAA2B,EAAE,UAAU,GACzC,EAEN,KAAK,EACD,KAAC,UAAU,IACP,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,kBAAkB,GACxC,EAEN,
|
1
|
+
{"version":3,"file":"NodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/NodesComponent.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAEhF,OAAO,EAAC,gCAAgC,EAAC,MAAM,4CAA4C,CAAC;AAE5F,OAAO,EAAC,gBAAgB,EAAC,MAAM,wCAAwC,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAc1E,MAAM,UAAU,cAAc,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACK;IAClB,MAAM,EAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAC,GAAG,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC3F,MAAM,EAAC,aAAa,EAAC,GAAG,gBAAgB,EAAE,CAAC;IAC3C,MAAM,6BAA6B,GAAG,gCAAgC,EAAE,CAAC;IAEzE,MAAM,EAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAC,GAAG,kBAAkB,CACnE,OAAO,EACP,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,CACrB,CAAC;IAEF,OAAO,CACH,KAAC,wBAAwB,IACrB,QAAQ,EACJ,KAAC,2BAA2B,IACxB,iBAAiB,EAAE,6BAA6B,EAChD,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,2BAA2B,EAAE,UAAU,GACzC,EAEN,KAAK,EACD,KAAC,UAAU,IACP,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,kBAAkB,GACxC,EAEN,iBAAiB,EAAE;YACf,kBAAkB;YAClB,kBAAkB,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC;SACjF,GACH,CACL,CAAC;AACN,CAAC"}
|
@@ -14,7 +14,9 @@ import { b } from '../shared';
|
|
14
14
|
import { useStorageQueryParams } from '../useStorageQueryParams';
|
15
15
|
import { StorageGroupsControls } from './StorageGroupsControls';
|
16
16
|
export const StorageGroupGroup = React.memo(function StorageGroupGroup({ name, count, isExpanded, database, nodeId, groupId, pDiskId, searchValue, scrollContainerRef, filterGroupBy, columns, onIsExpandedChange, handleShowAllGroups, }) {
|
17
|
-
return (_jsx(TableGroup, { title: name, count: count, entityName: i18n('groups'), expanded: isExpanded, onIsExpandedChange: onIsExpandedChange, children: _jsx(PaginatedStorageGroupsTable, { database: database, scrollContainerRef: scrollContainerRef, nodeId: nodeId, groupId: groupId, pDiskId: pDiskId, filterGroup: name, filterGroupBy: filterGroupBy, searchValue: searchValue, visibleEntities: 'all', onShowAll: handleShowAllGroups, renderErrorMessage: renderPaginatedTableErrorMessage, columns: columns, initialEntitiesCount: count })
|
17
|
+
return (_jsx(TableGroup, { title: name, count: count, entityName: i18n('groups'), expanded: isExpanded, onIsExpandedChange: onIsExpandedChange, children: _jsx(PaginatedTableWithLayout, { initialState: { sortParams: undefined }, table: _jsx(PaginatedStorageGroupsTable, { database: database, scrollContainerRef: scrollContainerRef, nodeId: nodeId, groupId: groupId, pDiskId: pDiskId, filterGroup: name, filterGroupBy: filterGroupBy, searchValue: searchValue, visibleEntities: 'all', onShowAll: handleShowAllGroups, renderErrorMessage: renderPaginatedTableErrorMessage, columns: columns, initialEntitiesCount: count }), tableWrapperProps: {
|
18
|
+
scrollContainerRef: scrollContainerRef,
|
19
|
+
} }) }, name));
|
18
20
|
});
|
19
21
|
export function GroupedStorageGroupsComponent({ database, nodeId, groupId, pDiskId, scrollContainerRef, viewContext, }) {
|
20
22
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
@@ -54,7 +56,7 @@ export function GroupedStorageGroupsComponent({ database, nodeId, groupId, pDisk
|
|
54
56
|
}
|
55
57
|
return i18n('no-groups');
|
56
58
|
};
|
57
|
-
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(StorageGroupsControls, { withTypeSelector: true, withGroupBySelect: true, entitiesCountCurrent: found, entitiesCountTotal: total, entitiesLoading: isLoading, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), error: error ? _jsx(ResponseError, { error: error }) : null, table: renderGroups(), initialState: initialState,
|
59
|
+
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(StorageGroupsControls, { withTypeSelector: true, withGroupBySelect: true, entitiesCountCurrent: found, entitiesCountTotal: total, entitiesLoading: isLoading, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), error: error ? _jsx(ResponseError, { error: error }) : null, table: renderGroups(), initialState: initialState, tableWrapperProps: {
|
58
60
|
scrollContainerRef,
|
59
61
|
scrollDependencies: [searchValue, storageGroupsGroupByParam, tableGroups],
|
60
62
|
loading: isLoading,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"GroupedStorageGroupsComponent.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,aAAa,EAAC,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,UAAU,EAAC,MAAM,yCAAyC,CAAC;AAEnE,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,gCAAgC,EAAC,MAAM,iDAAiD,CAAC;AAEjG,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAC,+BAA+B,EAAC,MAAM,8CAA8C,CAAC;AAE7F,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sCAAsC,CAAC;AACvE,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,CAAC,EAAC,MAAM,WAAW,CAAC;AAC5B,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAmB9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,iBAAiB,CAAC,EACnE,IAAI,EACJ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,OAAO,EACP,kBAAkB,EAClB,mBAAmB,GACE;IACrB,OAAO,CACH,KAAC,UAAU,IAEP,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAC1B,QAAQ,EAAE,UAAU,EACpB,kBAAkB,EAAE,kBAAkB,YAEtC,KAAC,2BAA2B,IACxB,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,KAAK,EACtB,SAAS,EAAE,mBAAmB,EAC9B,kBAAkB,EAAE,gCAAgC,EACpD,OAAO,EAAE,OAAO,EAChB,oBAAoB,EAAE,KAAK,GAC7B,
|
1
|
+
{"version":3,"file":"GroupedStorageGroupsComponent.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.tsx"],"names":[],"mappings":"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"}
|
@@ -13,9 +13,9 @@ export function StorageGroupsComponent({ database, nodeId, groupId, pDiskId, vie
|
|
13
13
|
visibleEntities,
|
14
14
|
viewContext,
|
15
15
|
});
|
16
|
-
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(StorageGroupsControlsWithTableState, { withTypeSelector: true, withGroupBySelect: storageGroupsHandlerHasGrouping, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), table: _jsx(PaginatedStorageGroupsTable, { database: database, nodeId: nodeId, groupId: groupId, pDiskId: pDiskId, searchValue: searchValue, visibleEntities: visibleEntities, onShowAll: handleShowAllGroups, scrollContainerRef: scrollContainerRef, renderErrorMessage: renderPaginatedTableErrorMessage, columns: columnsToShow, initialEntitiesCount: initialEntitiesCount }),
|
16
|
+
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(StorageGroupsControlsWithTableState, { withTypeSelector: true, withGroupBySelect: storageGroupsHandlerHasGrouping, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), table: _jsx(PaginatedStorageGroupsTable, { database: database, nodeId: nodeId, groupId: groupId, pDiskId: pDiskId, searchValue: searchValue, visibleEntities: visibleEntities, onShowAll: handleShowAllGroups, scrollContainerRef: scrollContainerRef, renderErrorMessage: renderPaginatedTableErrorMessage, columns: columnsToShow, initialEntitiesCount: initialEntitiesCount }), tableWrapperProps: {
|
17
17
|
scrollContainerRef,
|
18
18
|
scrollDependencies: [searchValue, visibleEntities],
|
19
|
-
}
|
19
|
+
} }));
|
20
20
|
}
|
21
21
|
//# sourceMappingURL=StorageGroupsComponent.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"StorageGroupsComponent.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,kCAAkC,EAAC,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAC,gCAAgC,EAAC,MAAM,iDAAiD,CAAC;AAEjG,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAC,+BAA+B,EAAC,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAC,mCAAmC,EAAC,MAAM,yBAAyB,CAAC;AAE5E,MAAM,UAAU,sBAAsB,CAAC,EACnC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACA;IACpB,MAAM,EAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAC,GAAG,qBAAqB,EAAE,CAAC;IAEpF,MAAM,+BAA+B,GAAG,kCAAkC,EAAE,CAAC;IAE7E,MAAM,EAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAC,GAAG,+BAA+B,CAAC;QACjF,eAAe;QACf,WAAW;KACd,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,wBAAwB,IACrB,QAAQ,EACJ,KAAC,mCAAmC,IAChC,gBAAgB,QAChB,iBAAiB,EAAE,+BAA+B,EAClD,eAAe,EAAE,eAAe,EAChC,2BAA2B,EAAE,UAAU,GACzC,EAEN,KAAK,EACD,KAAC,2BAA2B,IACxB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,mBAAmB,EAC9B,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,gCAAgC,EACpD,OAAO,EAAE,aAAa,EACtB,oBAAoB,EAAE,oBAAoB,GAC5C,EAEN,
|
1
|
+
{"version":3,"file":"StorageGroupsComponent.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PaginatedStorageGroups/StorageGroupsComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,kCAAkC,EAAC,MAAM,4CAA4C,CAAC;AAC9F,OAAO,EAAC,gCAAgC,EAAC,MAAM,iDAAiD,CAAC;AAEjG,OAAO,EAAC,2BAA2B,EAAC,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAC,+BAA+B,EAAC,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAC,mCAAmC,EAAC,MAAM,yBAAyB,CAAC;AAE5E,MAAM,UAAU,sBAAsB,CAAC,EACnC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,EACX,kBAAkB,EAClB,oBAAoB,GACA;IACpB,MAAM,EAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,EAAC,GAAG,qBAAqB,EAAE,CAAC;IAEpF,MAAM,+BAA+B,GAAG,kCAAkC,EAAE,CAAC;IAE7E,MAAM,EAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAC,GAAG,+BAA+B,CAAC;QACjF,eAAe;QACf,WAAW;KACd,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,wBAAwB,IACrB,QAAQ,EACJ,KAAC,mCAAmC,IAChC,gBAAgB,QAChB,iBAAiB,EAAE,+BAA+B,EAClD,eAAe,EAAE,eAAe,EAChC,2BAA2B,EAAE,UAAU,GACzC,EAEN,KAAK,EACD,KAAC,2BAA2B,IACxB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,mBAAmB,EAC9B,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,gCAAgC,EACpD,OAAO,EAAE,aAAa,EACtB,oBAAoB,EAAE,oBAAoB,GAC5C,EAEN,iBAAiB,EAAE;YACf,kBAAkB;YAClB,kBAAkB,EAAE,CAAC,WAAW,EAAE,eAAe,CAAC;SACrD,GACH,CACL,CAAC;AACN,CAAC"}
|
@@ -16,7 +16,9 @@ import { useStorageColumnsSettings } from '../utils';
|
|
16
16
|
import { StorageNodesControls } from './StorageNodesControls';
|
17
17
|
import { useStorageNodesColumnsToSelect } from './useStorageNodesColumnsToSelect';
|
18
18
|
export const StorageNodeGroup = React.memo(function StorageNodeGroup({ name, count, isExpanded, database, nodeId, groupId, searchValue, scrollContainerRef, filterGroupBy, columns, onIsExpandedChange, handleShowAllNodes, onDataFetched, }) {
|
19
|
-
return (_jsx(TableGroup, { title: name, count: count, entityName: i18n('nodes'), expanded: isExpanded, onIsExpandedChange: onIsExpandedChange, children: _jsx(PaginatedStorageNodesTable, { database: database, scrollContainerRef: scrollContainerRef, nodeId: nodeId, groupId: groupId, filterGroup: name, filterGroupBy: filterGroupBy, searchValue: searchValue, visibleEntities: 'all', nodesUptimeFilter: NodesUptimeFilterValues.All, onShowAll: handleShowAllNodes, renderErrorMessage: renderPaginatedTableErrorMessage, columns: columns, initialEntitiesCount: count, onDataFetched: onDataFetched })
|
19
|
+
return (_jsx(TableGroup, { title: name, count: count, entityName: i18n('nodes'), expanded: isExpanded, onIsExpandedChange: onIsExpandedChange, children: _jsx(PaginatedTableWithLayout, { initialState: { sortParams: undefined }, table: _jsx(PaginatedStorageNodesTable, { database: database, scrollContainerRef: scrollContainerRef, nodeId: nodeId, groupId: groupId, filterGroup: name, filterGroupBy: filterGroupBy, searchValue: searchValue, visibleEntities: 'all', nodesUptimeFilter: NodesUptimeFilterValues.All, onShowAll: handleShowAllNodes, renderErrorMessage: renderPaginatedTableErrorMessage, columns: columns, initialEntitiesCount: count, onDataFetched: onDataFetched }), tableWrapperProps: {
|
20
|
+
scrollContainerRef: scrollContainerRef,
|
21
|
+
} }) }, name));
|
20
22
|
});
|
21
23
|
export function GroupedStorageNodesComponent({ database, groupId, nodeId, viewContext, scrollContainerRef, }) {
|
22
24
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
@@ -56,7 +58,7 @@ export function GroupedStorageNodesComponent({ database, groupId, nodeId, viewCo
|
|
56
58
|
}
|
57
59
|
return i18n('no-nodes');
|
58
60
|
};
|
59
|
-
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(StorageNodesControls, { withTypeSelector: true, withGroupBySelect: true, entitiesCountCurrent: found, entitiesCountTotal: total, entitiesLoading: isLoading, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), error: error ? _jsx(ResponseError, { error: error }) : null, table: renderGroups(), initialState: initialState,
|
61
|
+
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(StorageNodesControls, { withTypeSelector: true, withGroupBySelect: true, entitiesCountCurrent: found, entitiesCountTotal: total, entitiesLoading: isLoading, columnsToSelect: columnsToSelect, handleSelectedColumnsUpdate: setColumns }), error: error ? _jsx(ResponseError, { error: error }) : null, table: renderGroups(), initialState: initialState, tableWrapperProps: {
|
60
62
|
scrollContainerRef,
|
61
63
|
scrollDependencies: [searchValue, storageNodesGroupByParam, tableGroups],
|
62
64
|
loading: isLoading,
|