ydb-embedded-ui 16.0.0 → 16.1.0
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/MetricChart/reducer.d.ts +2 -2
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js +148 -29
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +106 -10
- package/dist/containers/Cluster/i18n/en.json +23 -0
- package/dist/containers/Cluster/i18n/index.d.ts +1 -1
- package/dist/containers/Operations/Operations.js +2 -2
- package/dist/containers/Operations/Operations.js.map +1 -1
- package/dist/containers/Operations/columns.d.ts +1 -2
- package/dist/containers/Operations/columns.js +3 -5
- package/dist/containers/Operations/columns.js.map +1 -1
- package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +0 -5
- package/dist/containers/Operations/useOperationsInfiniteQuery.js +14 -11
- package/dist/containers/Operations/useOperationsInfiniteQuery.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.d.ts +15 -3
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +41 -22
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +36 -45
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.d.ts +17 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js +19 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.d.ts +16 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js +33 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.d.ts +14 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js +39 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +6 -3
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.d.ts +27 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js +64 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.d.ts +6 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js +38 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.d.ts +32 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js +94 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.d.ts +11 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js +45 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.d.ts +10 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js +53 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.d.ts +10 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js +19 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.d.ts +18 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js +41 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.d.ts +5 -5
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +39 -1
- package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
- package/dist/containers/Tenant/i18n/en.json +1 -0
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/schema.d.ts +1 -0
- package/dist/containers/Tenant/utils/schema.js +3 -0
- package/dist/containers/Tenant/utils/schema.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.d.ts +3 -0
- package/dist/containers/Tenant/utils/schemaActions.js +23 -6
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/store/configureStore.d.ts +4 -4
- package/dist/store/defaultStore.d.ts +2 -2
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/api.js +1 -1
- package/dist/store/reducers/api.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +4 -4
- package/dist/store/reducers/cancelQuery.d.ts +2 -2
- package/dist/store/reducers/capabilities/capabilities.d.ts +39 -39
- package/dist/store/reducers/capabilities/hooks.d.ts +5 -5
- package/dist/store/reducers/cluster/cluster.d.ts +5 -5
- package/dist/store/reducers/cluster/cluster.js +3 -2
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/cluster/utils.d.ts +2 -1
- package/dist/store/reducers/cluster/utils.js +28 -0
- package/dist/store/reducers/cluster/utils.js.map +1 -1
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
- package/dist/store/reducers/configs.d.ts +3 -3
- package/dist/store/reducers/environments/environments.d.ts +2 -2
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +4 -4
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +111 -111
- package/dist/store/reducers/heatmap.d.ts +2 -2
- package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
- package/dist/store/reducers/index.d.ts +3 -3
- package/dist/store/reducers/network/network.d.ts +2 -2
- package/dist/store/reducers/node/node.d.ts +3 -3
- package/dist/store/reducers/node/selectors.d.ts +1 -1
- package/dist/store/reducers/nodes/nodes.d.ts +2 -2
- package/dist/store/reducers/nodesList.d.ts +12 -12
- package/dist/store/reducers/operations.d.ts +6 -9
- package/dist/store/reducers/operations.js +5 -24
- package/dist/store/reducers/operations.js.map +1 -1
- package/dist/store/reducers/overview/overview.d.ts +2 -2
- package/dist/store/reducers/partitions/partitions.d.ts +3 -3
- package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
- package/dist/store/reducers/planToSvg.d.ts +2 -2
- package/dist/store/reducers/preview.d.ts +2 -2
- package/dist/store/reducers/query/api.d.ts +4 -4
- package/dist/store/reducers/replication.d.ts +2 -2
- package/dist/store/reducers/schema/schema.d.ts +16 -16
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +39 -39
- package/dist/store/reducers/settings/api.d.ts +4 -4
- package/dist/store/reducers/settings/settings.d.ts +1 -1
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
- package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
- package/dist/store/reducers/storage/storage.d.ts +3 -3
- package/dist/store/reducers/storageUsage/StorageUsage.d.ts +2 -2
- package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
- package/dist/store/reducers/tableData.d.ts +1 -1
- package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
- package/dist/store/reducers/tableSchemaData.d.ts +2 -2
- package/dist/store/reducers/tablet.d.ts +7 -7
- package/dist/store/reducers/tablets.d.ts +3 -3
- package/dist/store/reducers/tenant/tenant.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
- package/dist/store/reducers/tenants/tenants.d.ts +2 -2
- package/dist/store/reducers/topic.d.ts +45 -45
- package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
- package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
- package/dist/types/api/cluster.d.ts +10 -1
- package/dist/types/api/cluster.js +8 -0
- package/dist/types/api/cluster.js.map +1 -1
- package/dist/utils/clusterLinks/resolveClusterLinks.d.ts +6 -4
- package/dist/utils/clusterLinks/resolveClusterLinks.js +14 -6
- package/dist/utils/clusterLinks/resolveClusterLinks.js.map +1 -1
- package/dist/utils/hooks/index.d.ts +1 -0
- package/dist/utils/hooks/index.js +1 -0
- package/dist/utils/hooks/index.js.map +1 -1
- package/dist/utils/hooks/useCompactionFeature.d.ts +13 -0
- package/dist/utils/hooks/useCompactionFeature.js +20 -0
- package/dist/utils/hooks/useCompactionFeature.js.map +1 -0
- package/dist/utils/hooks/useStartCompaction.d.ts +7 -0
- package/dist/utils/hooks/useStartCompaction.js +22 -0
- package/dist/utils/hooks/useStartCompaction.js.map +1 -0
- package/package.json +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +0 -42
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +0 -252
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { GetChartDataParams } from './getChartData';
|
|
2
2
|
export declare const chartApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, {
|
|
3
|
-
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "
|
|
4
|
-
}, "api", "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "
|
|
3
|
+
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList", import("./types").PreparedMetricsData | undefined, "api", any>;
|
|
4
|
+
}, "api", "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
|
@@ -1,54 +1,173 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ArrowChevronRight, Ban, CircleCheck, CirclePause, LinkSlash } from '@gravity-ui/icons';
|
|
4
|
+
import { Flex, HelpMark, Icon, Label, Text } from '@gravity-ui/uikit';
|
|
5
|
+
import { BridgePileGroupStatus, BridgePileState } from '../../../../types/api/cluster';
|
|
5
6
|
import { cn } from '../../../../utils/cn';
|
|
6
7
|
import { EMPTY_DATA_PLACEHOLDER } from '../../../../utils/constants';
|
|
7
8
|
import { formatNumber } from '../../../../utils/dataFormatters/dataFormatters';
|
|
8
9
|
import i18n from '../../i18n';
|
|
9
10
|
import './BridgeInfoTable.scss';
|
|
10
|
-
const b = cn('bridge-info-table');
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
switch (state.toUpperCase()) {
|
|
11
|
+
const b = cn('ydb-bridge-info-table');
|
|
12
|
+
const progressB = cn('ydb-bridge-info-table-progress');
|
|
13
|
+
const legendB = cn('ydb-bridge-info-table-legend');
|
|
14
|
+
function getBridgePileStateInfo(state) {
|
|
15
|
+
switch (state) {
|
|
16
16
|
case BridgePileState.PRIMARY:
|
|
17
|
+
return {
|
|
18
|
+
label: i18n('value_bridge-state-primary'),
|
|
19
|
+
theme: 'normal',
|
|
20
|
+
};
|
|
17
21
|
case BridgePileState.PROMOTED:
|
|
22
|
+
return {
|
|
23
|
+
label: i18n('value_bridge-state-promoted'),
|
|
24
|
+
theme: 'normal',
|
|
25
|
+
icon: _jsx(Icon, { data: ArrowChevronRight, size: 12 }),
|
|
26
|
+
help: i18n('context_bridge-pile-state-promoted'),
|
|
27
|
+
};
|
|
18
28
|
case BridgePileState.SYNCHRONIZED:
|
|
19
|
-
return
|
|
29
|
+
return {
|
|
30
|
+
label: i18n('value_bridge-state-synchronised'),
|
|
31
|
+
theme: 'success',
|
|
32
|
+
icon: _jsx(Icon, { data: CircleCheck, size: 12 }),
|
|
33
|
+
help: i18n('context_bridge-pile-state-synchronised'),
|
|
34
|
+
};
|
|
20
35
|
case BridgePileState.NOT_SYNCHRONIZED:
|
|
21
|
-
return
|
|
36
|
+
return {
|
|
37
|
+
label: i18n('value_bridge-state-not-synchronised'),
|
|
38
|
+
theme: 'normal',
|
|
39
|
+
icon: _jsx(Icon, { data: Ban, size: 12 }),
|
|
40
|
+
help: i18n('context_bridge-pile-state-not-synchronised'),
|
|
41
|
+
};
|
|
22
42
|
case BridgePileState.SUSPENDED:
|
|
43
|
+
return {
|
|
44
|
+
label: i18n('value_bridge-state-suspended'),
|
|
45
|
+
theme: 'warning',
|
|
46
|
+
icon: _jsx(Icon, { data: CirclePause, size: 12 }),
|
|
47
|
+
help: i18n('context_bridge-pile-state-suspended'),
|
|
48
|
+
};
|
|
23
49
|
case BridgePileState.DISCONNECTED:
|
|
24
|
-
return
|
|
50
|
+
return {
|
|
51
|
+
label: i18n('value_bridge-state-disconnected'),
|
|
52
|
+
theme: 'unknown',
|
|
53
|
+
icon: _jsx(Icon, { data: LinkSlash, size: 12 }),
|
|
54
|
+
help: i18n('context_bridge-pile-state-disconnected'),
|
|
55
|
+
};
|
|
25
56
|
case BridgePileState.UNSPECIFIED:
|
|
57
|
+
return {
|
|
58
|
+
label: i18n('value_bridge-state-unspecified'),
|
|
59
|
+
theme: 'unknown',
|
|
60
|
+
};
|
|
26
61
|
default:
|
|
27
|
-
return
|
|
62
|
+
return {
|
|
63
|
+
label: state,
|
|
64
|
+
theme: 'unknown',
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function getNodesLabel(nodes) {
|
|
69
|
+
if (nodes === undefined) {
|
|
70
|
+
return EMPTY_DATA_PLACEHOLDER;
|
|
71
|
+
}
|
|
72
|
+
return i18n('value_nodes', {
|
|
73
|
+
count: nodes,
|
|
74
|
+
formattedCount: formatNumber(nodes),
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function getBridgePileGroupStatusInfo(status) {
|
|
78
|
+
switch (status) {
|
|
79
|
+
case BridgePileGroupStatus.UNKNOWN:
|
|
80
|
+
return {
|
|
81
|
+
label: i18n('value_bridge-group-status-unknown'),
|
|
82
|
+
theme: 'secondary',
|
|
83
|
+
};
|
|
84
|
+
case BridgePileGroupStatus.FULL:
|
|
85
|
+
return {
|
|
86
|
+
label: i18n('value_bridge-group-status-full'),
|
|
87
|
+
theme: 'positive',
|
|
88
|
+
};
|
|
89
|
+
case BridgePileGroupStatus.PARTIAL:
|
|
90
|
+
return {
|
|
91
|
+
label: i18n('value_bridge-group-status-partial'),
|
|
92
|
+
theme: 'warning',
|
|
93
|
+
};
|
|
94
|
+
case BridgePileGroupStatus.DEGRADED:
|
|
95
|
+
return {
|
|
96
|
+
label: i18n('value_bridge-group-status-degraded'),
|
|
97
|
+
theme: 'danger',
|
|
98
|
+
};
|
|
99
|
+
case BridgePileGroupStatus.DISINTEGRATED:
|
|
100
|
+
return {
|
|
101
|
+
label: i18n('value_bridge-group-status-disintegrated'),
|
|
102
|
+
theme: 'dark-complementary',
|
|
103
|
+
};
|
|
104
|
+
default:
|
|
105
|
+
return {
|
|
106
|
+
label: EMPTY_DATA_PLACEHOLDER,
|
|
107
|
+
theme: 'secondary',
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
function getBridgePileGroupStatus(status) {
|
|
112
|
+
if (Object.values(BridgePileGroupStatus).includes(status)) {
|
|
113
|
+
return status;
|
|
114
|
+
}
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
function prepareGroupStatuses(groupStatuses) {
|
|
118
|
+
return Object.entries(groupStatuses !== null && groupStatuses !== void 0 ? groupStatuses : {})
|
|
119
|
+
.map(([status, value]) => {
|
|
120
|
+
const groupStatus = getBridgePileGroupStatus(status);
|
|
121
|
+
const { label, theme } = groupStatus
|
|
122
|
+
? getBridgePileGroupStatusInfo(groupStatus)
|
|
123
|
+
: { label: status, theme: 'secondary' };
|
|
124
|
+
const numericValue = Number(value);
|
|
125
|
+
if (!Number.isFinite(numericValue) || numericValue <= 0) {
|
|
126
|
+
return undefined;
|
|
127
|
+
}
|
|
128
|
+
return {
|
|
129
|
+
label,
|
|
130
|
+
theme,
|
|
131
|
+
value: numericValue,
|
|
132
|
+
};
|
|
133
|
+
})
|
|
134
|
+
.filter((status) => status !== undefined);
|
|
135
|
+
}
|
|
136
|
+
function SegmentedProgressBar({ statuses, describedBy }) {
|
|
137
|
+
const total = statuses.reduce((sum, { value }) => sum + value, 0);
|
|
138
|
+
if (!Number.isFinite(total) || total <= 0) {
|
|
139
|
+
return (_jsx("div", { className: progressB({ empty: true }), role: "img", "aria-label": i18n('context_group-statuses-empty') }));
|
|
140
|
+
}
|
|
141
|
+
return (_jsx("div", { className: progressB(), role: "img", "aria-label": i18n('context_group-statuses'), "aria-describedby": describedBy, children: statuses.map(({ label, theme, value }) => (_jsx("div", { className: progressB('item', { theme }), "aria-hidden": "true", style: {
|
|
142
|
+
width: `${(value / total) * 100}%`,
|
|
143
|
+
} }, `${label}-${value}`))) }));
|
|
144
|
+
}
|
|
145
|
+
function GroupStatusesLegend({ statuses, id }) {
|
|
146
|
+
if (!statuses.length) {
|
|
147
|
+
return (_jsx(Text, { variant: "caption-2", color: "secondary", children: EMPTY_DATA_PLACEHOLDER }));
|
|
28
148
|
}
|
|
149
|
+
return (_jsx("ul", { id: id, className: legendB(), "aria-label": i18n('context_group-statuses'), children: statuses.map(({ label, theme, value }) => (_jsxs("li", { className: legendB('item'), children: [_jsx("span", { "aria-hidden": "true", className: legendB('dot', { theme }) }), _jsx(Text, { variant: "caption-2", className: legendB('label'), children: label }), _jsx(Text, { variant: "caption-2", color: "secondary", children: formatNumber(value) })] }, `${label}-${value}`))) }));
|
|
29
150
|
}
|
|
30
151
|
const BridgePileCard = React.memo(function BridgePileCard({ pile }) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
152
|
+
var _a;
|
|
153
|
+
const groupStatusesLegendId = React.useId();
|
|
154
|
+
const stateStatus = React.useMemo(() => {
|
|
155
|
+
const { label, theme, icon, help } = getBridgePileStateInfo(pile.State);
|
|
156
|
+
if (!label) {
|
|
157
|
+
return null;
|
|
34
158
|
}
|
|
35
|
-
const
|
|
36
|
-
return _jsx(Label, { theme: theme,
|
|
159
|
+
const showStateHelp = Boolean(help);
|
|
160
|
+
return (_jsx(Label, { theme: theme, size: "xs", icon: icon, className: b('state-label', { 'with-help': showStateHelp }), children: _jsxs(Flex, { alignItems: "center", gap: 2, wrap: "nowrap", children: [label, showStateHelp ? (_jsx(HelpMark, { iconSize: "s", className: b('state-help'), popoverProps: {
|
|
161
|
+
placement: ['top', 'bottom'],
|
|
162
|
+
className: b('state-help-popover'),
|
|
163
|
+
}, children: help })) : null] }) }));
|
|
37
164
|
}, [pile.State]);
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
content: renderStateStatus(),
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
name: i18n('field_nodes'),
|
|
45
|
-
content: pile.Nodes === undefined ? EMPTY_DATA_PLACEHOLDER : formatNumber(pile.Nodes),
|
|
46
|
-
},
|
|
47
|
-
], [renderStateStatus, pile.Nodes]);
|
|
48
|
-
return (_jsxs(Flex, { direction: "column", gap: 3, className: b('pile-card'), children: [_jsx(Text, { variant: "body-2", children: pile.Name || EMPTY_DATA_PLACEHOLDER }), _jsx(DefinitionList, { nameMaxWidth: 160, children: info.map(({ name, content }) => (_jsx(DefinitionList.Item, { name: name, children: content }, name))) })] }));
|
|
165
|
+
const groupStatuses = React.useMemo(() => prepareGroupStatuses(pile.GroupStatuses), [pile.GroupStatuses]);
|
|
166
|
+
const groupStatusesDescriptionId = groupStatuses.length ? groupStatusesLegendId : undefined;
|
|
167
|
+
return (_jsxs(Flex, { direction: "column", gap: 2, className: b('pile'), children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "flex-start", gap: 3, children: [_jsxs(Flex, { direction: "column", className: b('pile-title'), children: [_jsx(Text, { variant: "subheader-1", ellipsis: true, children: ((_a = pile.Name) === null || _a === void 0 ? void 0 : _a.trim()) || EMPTY_DATA_PLACEHOLDER }), _jsx(Text, { variant: "caption-2", color: "secondary", children: getNodesLabel(pile.Nodes) })] }), stateStatus] }), _jsxs(Flex, { direction: "column", gap: 1, className: b('statuses'), children: [_jsx(SegmentedProgressBar, { statuses: groupStatuses, describedBy: groupStatusesDescriptionId }), _jsx(GroupStatusesLegend, { statuses: groupStatuses, id: groupStatusesDescriptionId })] })] }));
|
|
49
168
|
});
|
|
50
169
|
export const BridgeInfoTable = React.memo(function BridgeInfoTable({ piles }) {
|
|
51
170
|
const renderedPiles = React.useMemo(() => piles.map((pile, index) => { var _a; return _jsx(BridgePileCard, { pile: pile }, (_a = pile.PileId) !== null && _a !== void 0 ? _a : index); }), [piles]);
|
|
52
|
-
return (_jsx(Flex, { gap: 2, className: b(), children: renderedPiles }));
|
|
171
|
+
return (_jsx(Flex, { gap: 2, wrap: true, className: b(), children: renderedPiles }));
|
|
53
172
|
});
|
|
54
173
|
//# sourceMappingURL=BridgeInfoTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BridgeInfoTable.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"BridgeInfoTable.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
@use '../../../../styles/mixins.scss';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
@mixin bridge-group-status-background {
|
|
4
|
+
&_theme_positive {
|
|
5
|
+
background-color: var(--g-color-text-positive);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
&_theme_warning {
|
|
9
|
+
background-color: var(--g-color-text-warning);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
&_theme_danger {
|
|
13
|
+
background-color: var(--g-color-text-danger);
|
|
14
|
+
}
|
|
5
15
|
|
|
6
|
-
&
|
|
7
|
-
|
|
16
|
+
&_theme_dark-complementary {
|
|
17
|
+
background-color: var(--g-color-text-dark-complementary);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&_theme_secondary {
|
|
21
|
+
background-color: var(--g-color-text-secondary);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.ydb-bridge-info-table {
|
|
26
|
+
height: 100%;
|
|
8
27
|
|
|
28
|
+
&__pile {
|
|
9
29
|
width: 321px;
|
|
10
30
|
padding: var(--g-spacing-3) var(--g-spacing-4);
|
|
11
31
|
|
|
@@ -15,13 +35,89 @@
|
|
|
15
35
|
@include mixins.body-2-typography();
|
|
16
36
|
}
|
|
17
37
|
|
|
18
|
-
&
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
38
|
+
&__pile-title {
|
|
39
|
+
min-width: 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&__state-label {
|
|
43
|
+
flex-shrink: 0;
|
|
22
44
|
|
|
23
|
-
|
|
24
|
-
|
|
45
|
+
&_with-help .g-label__text {
|
|
46
|
+
margin-inline: var(--g-spacing-1) var(--g-spacing-1);
|
|
25
47
|
}
|
|
26
48
|
}
|
|
49
|
+
|
|
50
|
+
&__state-help {
|
|
51
|
+
color: inherit;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&__state-help-popover {
|
|
55
|
+
white-space: pre-line;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&__statuses {
|
|
59
|
+
width: 100%;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.ydb-bridge-info-table-progress {
|
|
64
|
+
display: flex;
|
|
65
|
+
overflow: hidden;
|
|
66
|
+
align-items: center;
|
|
67
|
+
gap: var(--g-spacing-half);
|
|
68
|
+
|
|
69
|
+
height: 10px;
|
|
70
|
+
|
|
71
|
+
border-radius: var(--g-border-radius-xs);
|
|
72
|
+
|
|
73
|
+
&_empty {
|
|
74
|
+
background-color: var(--g-color-sfx-shadow);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
&__item {
|
|
78
|
+
min-width: 8px;
|
|
79
|
+
height: 4px;
|
|
80
|
+
|
|
81
|
+
border-radius: var(--g-border-radius-xs);
|
|
82
|
+
|
|
83
|
+
@include bridge-group-status-background();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.ydb-bridge-info-table-legend {
|
|
88
|
+
display: flex;
|
|
89
|
+
flex-wrap: wrap;
|
|
90
|
+
gap: var(--g-spacing-2);
|
|
91
|
+
|
|
92
|
+
min-width: 0;
|
|
93
|
+
margin: 0;
|
|
94
|
+
padding: 0;
|
|
95
|
+
|
|
96
|
+
list-style: none;
|
|
97
|
+
|
|
98
|
+
&__item {
|
|
99
|
+
display: inline-flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
gap: var(--g-spacing-1);
|
|
102
|
+
|
|
103
|
+
min-width: 0;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&__dot {
|
|
107
|
+
flex: 0 0 6px;
|
|
108
|
+
|
|
109
|
+
width: 6px;
|
|
110
|
+
height: 6px;
|
|
111
|
+
|
|
112
|
+
border-radius: 50%;
|
|
113
|
+
|
|
114
|
+
@include bridge-group-status-background();
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&__label {
|
|
118
|
+
overflow: hidden;
|
|
119
|
+
|
|
120
|
+
white-space: nowrap;
|
|
121
|
+
text-overflow: ellipsis;
|
|
122
|
+
}
|
|
27
123
|
}
|
|
@@ -13,6 +13,29 @@
|
|
|
13
13
|
"label_overview": "Overview",
|
|
14
14
|
"field_state": "State",
|
|
15
15
|
"field_nodes": "Nodes",
|
|
16
|
+
"value_nodes": {
|
|
17
|
+
"one": "{{formattedCount}} node",
|
|
18
|
+
"other": "{{formattedCount}} nodes"
|
|
19
|
+
},
|
|
20
|
+
"value_bridge-state-primary": "Primary",
|
|
21
|
+
"value_bridge-state-promoted": "Promoted",
|
|
22
|
+
"value_bridge-state-synchronised": "Synchronised",
|
|
23
|
+
"value_bridge-state-not-synchronised": "Not synchronised",
|
|
24
|
+
"value_bridge-state-suspended": "Suspended",
|
|
25
|
+
"value_bridge-state-disconnected": "Disconnected",
|
|
26
|
+
"value_bridge-state-unspecified": "Unspecified",
|
|
27
|
+
"value_bridge-group-status-unknown": "Unknown",
|
|
28
|
+
"value_bridge-group-status-full": "Full",
|
|
29
|
+
"value_bridge-group-status-partial": "Partial",
|
|
30
|
+
"value_bridge-group-status-degraded": "Degraded",
|
|
31
|
+
"value_bridge-group-status-disintegrated": "Disintegrated",
|
|
32
|
+
"context_bridge-pile-state-promoted": "Pile that is being promoted from SYNCHRONIZED\nto PRIMARY. It stays in this state during the graceful\nswitchover. After completion, YDB will automatically\nset it to PRIMARY.",
|
|
33
|
+
"context_bridge-pile-state-synchronised": "Secondary pile where all storage groups are fully\nsynchronized with PRIMARY. In normal operation,\nthe pair works as PRIMARY + SYNCHRONISED.",
|
|
34
|
+
"context_bridge-pile-state-not-synchronised": "Storage groups of this pile are not yet fully synchronized\nwith PRIMARY. After synchronization is complete, YDB\nwill automatically transition the pile to SYNCHRONIZED.",
|
|
35
|
+
"context_bridge-pile-state-suspended": "Pile is being gracefully transitioned to DISCONNECTED\nstate. It remains in this state during the graceful shutdown.\nAfter completion, YDB will automatically move it\nto DISCONNECTED.",
|
|
36
|
+
"context_bridge-pile-state-disconnected": "Pile is disconnected from PRIMARY and does\nnot participate in operation execution.",
|
|
37
|
+
"context_group-statuses": "Storage group statuses",
|
|
38
|
+
"context_group-statuses-empty": "No storage group status data",
|
|
16
39
|
"context_cpu": "CPU load",
|
|
17
40
|
"context_memory": "Memory used",
|
|
18
41
|
"title_storage-by-type": "Storage {{type}}",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "title_allocated" | "title_available-one" | "title_available-other" | "context_storage-group-allocation-progress" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs" | "title_healthcheck-dashboard" | "action_download-healthcheck", params?: import("@gravity-ui/i18n").Params) => string;
|
|
1
|
+
declare const _default: (key: "title_allocated" | "title_available-one" | "title_available-other" | "context_storage-group-allocation-progress" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "value_nodes" | "value_bridge-state-primary" | "value_bridge-state-promoted" | "value_bridge-state-synchronised" | "value_bridge-state-not-synchronised" | "value_bridge-state-suspended" | "value_bridge-state-disconnected" | "value_bridge-state-unspecified" | "value_bridge-group-status-unknown" | "value_bridge-group-status-full" | "value_bridge-group-status-partial" | "value_bridge-group-status-degraded" | "value_bridge-group-status-disintegrated" | "context_bridge-pile-state-promoted" | "context_bridge-pile-state-synchronised" | "context_bridge-pile-state-not-synchronised" | "context_bridge-pile-state-suspended" | "context_bridge-pile-state-disconnected" | "context_group-statuses" | "context_group-statuses-empty" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs" | "title_healthcheck-dashboard" | "action_download-healthcheck", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -17,7 +17,7 @@ import { useOperationsInfiniteQuery } from './useOperationsInfiniteQuery';
|
|
|
17
17
|
import { useOperationsQueryParams } from './useOperationsQueryParams';
|
|
18
18
|
export function Operations({ database, scrollContainerRef }) {
|
|
19
19
|
const { kind, searchValue, pageSize, handleKindChange, handleSearchChange } = useOperationsQueryParams();
|
|
20
|
-
const { operations, isLoading, isLoadingMore, error
|
|
20
|
+
const { operations, isLoading, isLoadingMore, error } = useOperationsInfiniteQuery({
|
|
21
21
|
database,
|
|
22
22
|
kind,
|
|
23
23
|
pageSize,
|
|
@@ -40,6 +40,6 @@ export function Operations({ database, scrollContainerRef }) {
|
|
|
40
40
|
return _jsx(AccessDenied, {});
|
|
41
41
|
}
|
|
42
42
|
const hasNoData = operations.length === 0;
|
|
43
|
-
return (_jsxs(React.Fragment, { children: [error ? _jsx(ResponseError, { error: error }) : null, error && hasNoData && !isLoading ? null : (_jsxs(TableWithControlsLayout, { children: [_jsx(TableWithControlsLayout.Controls, { children: _jsx(OperationsControls, { kind: kind, searchValue: searchValue, handleKindChange: handleKindChange, handleSearchChange: handleSearchChange }) }), _jsxs(TableWithControlsLayout.Table, { loading: isLoading, className: b('table'), children: [!hasNoData || isLoading ? (_jsx(ResizeableDataTable, { columns: getColumns({ database,
|
|
43
|
+
return (_jsxs(React.Fragment, { children: [error ? _jsx(ResponseError, { error: error }) : null, error && hasNoData && !isLoading ? null : (_jsxs(TableWithControlsLayout, { children: [_jsx(TableWithControlsLayout.Controls, { children: _jsx(OperationsControls, { kind: kind, searchValue: searchValue, handleKindChange: handleKindChange, handleSearchChange: handleSearchChange }) }), _jsxs(TableWithControlsLayout.Table, { loading: isLoading, className: b('table'), children: [!hasNoData || isLoading ? (_jsx(ResizeableDataTable, { columns: getColumns({ database, kind }), columnsWidthLSKey: OPERATIONS_SELECTED_COLUMNS_KEY, data: operations, settings: settings, emptyDataMessage: i18n('title_empty') })) : (_jsx("div", { children: i18n('title_empty') })), isLoadingMore && (_jsx(TableSkeleton, { showHeader: false, rows: 3, delay: 0, className: b('loading-more') }))] })] }))] }));
|
|
44
44
|
}
|
|
45
45
|
//# sourceMappingURL=Operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAC,MAAM,0DAA0D,CAAC;AAC7F,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAE,gBAAgB,EAAE,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAEhG,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AACrC,OAAO,EAAC,+BAA+B,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AAOpE,MAAM,UAAU,UAAU,CAAC,EAAC,QAAQ,EAAE,kBAAkB,EAAkB;IACtE,MAAM,EAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAC,GACrE,wBAAwB,EAAE,CAAC;IAE/B,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"Operations.js","sourceRoot":"","sources":["../../../src/containers/Operations/Operations.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Column as DataTableColumn } from '@gravity-ui/react-data-table';
|
|
2
2
|
import type { OperationKind, TOperation } from '../../types/api/operations';
|
|
3
3
|
import './Operations.scss';
|
|
4
|
-
export declare function getColumns({ database,
|
|
4
|
+
export declare function getColumns({ database, kind, }: {
|
|
5
5
|
database: string;
|
|
6
|
-
refreshTable: VoidFunction;
|
|
7
6
|
kind: OperationKind;
|
|
8
7
|
}): DataTableColumn<TOperation>[];
|
|
@@ -29,7 +29,7 @@ function renderStatusCell(row) {
|
|
|
29
29
|
}
|
|
30
30
|
return i18n('label_in-progress');
|
|
31
31
|
}
|
|
32
|
-
export function getColumns({ database,
|
|
32
|
+
export function getColumns({ database, kind, }) {
|
|
33
33
|
const isBuildIndex = kind === 'buildindex';
|
|
34
34
|
const isCompaction = kind === 'compaction';
|
|
35
35
|
// Helper function to get description tooltip content (buildindex-only)
|
|
@@ -133,12 +133,12 @@ export function getColumns({ database, refreshTable, kind, }) {
|
|
|
133
133
|
resizeable: false,
|
|
134
134
|
header: '',
|
|
135
135
|
render: ({ row }) => {
|
|
136
|
-
return
|
|
136
|
+
return _jsx(OperationsActions, { operation: row, database: database });
|
|
137
137
|
},
|
|
138
138
|
});
|
|
139
139
|
return columns;
|
|
140
140
|
}
|
|
141
|
-
function OperationsActions({ operation, database
|
|
141
|
+
function OperationsActions({ operation, database }) {
|
|
142
142
|
const [cancelOperation, { isLoading: isCancelLoading }] = operationsApi.useCancelOperationMutation();
|
|
143
143
|
const [forgetOperation, { isLoading: isForgetLoading }] = operationsApi.useForgetOperationMutation();
|
|
144
144
|
const id = operation.id;
|
|
@@ -155,7 +155,6 @@ function OperationsActions({ operation, database, refreshTable }) {
|
|
|
155
155
|
title: i18n('text_forgotten', { id }),
|
|
156
156
|
theme: 'success',
|
|
157
157
|
});
|
|
158
|
-
refreshTable();
|
|
159
158
|
}), buttonDisabled: isForgetButtonDisabled, children: _jsx(Icon, { data: Ban }) }) }) }), _jsx(ActionTooltip, { title: i18n('header_cancel'), placement: ['right', 'bottom'], disabled: isCancelButtonDisabled, children: _jsx("div", { children: _jsx(ButtonWithConfirmDialog, { popoverDisabled: isCancelButtonDisabled, buttonView: "outlined", dialogHeader: i18n('header_cancel'), dialogText: i18n('text_cancel'), onConfirmAction: () => cancelOperation({ id, database })
|
|
160
159
|
.unwrap()
|
|
161
160
|
.then(() => {
|
|
@@ -164,7 +163,6 @@ function OperationsActions({ operation, database, refreshTable }) {
|
|
|
164
163
|
title: i18n('text_cancelled', { id }),
|
|
165
164
|
theme: 'success',
|
|
166
165
|
});
|
|
167
|
-
refreshTable();
|
|
168
166
|
}), buttonDisabled: isCancelButtonDisabled, children: _jsx(Icon, { data: CircleStop }) }) }) })] }));
|
|
169
167
|
}
|
|
170
168
|
//# sourceMappingURL=columns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/containers/Operations/columns.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAC,uBAAuB,EAAC,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAO9D,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAC,0BAA0B,EAAC,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,SAAS,CAAC;AAEnE,OAAO,mBAAmB,CAAC;AAE3B,SAAS,gBAAgB,CAAC,GAAe;IACrC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,sBAAsB,CAAC;QAClC,CAAC;QAED,OAAO,CACH,KAAC,IAAI,IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,YAClE,GAAG,CAAC,MAAM,GACR,CACV,CAAC;IACN,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,GAAG,CAAC,MAAM,GAAQ,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACvB,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/containers/Operations/columns.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAC,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAElE,OAAO,EAAC,uBAAuB,EAAC,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAO9D,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAAC,0BAA0B,EAAC,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,EAAC,oBAAoB,EAAE,oBAAoB,EAAC,MAAM,SAAS,CAAC;AAEnE,OAAO,mBAAmB,CAAC;AAE3B,SAAS,gBAAgB,CAAC,GAAe;IACrC,MAAM,QAAQ,GAAG,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAEjD,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACd,OAAO,sBAAsB,CAAC;QAClC,CAAC;QAED,OAAO,CACH,KAAC,IAAI,IAAC,KAAK,EAAE,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,YAClE,GAAG,CAAC,MAAM,GACR,CACV,CAAC;IACN,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,KAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,YAAE,GAAG,CAAC,MAAM,GAAQ,CAAC;IACpD,CAAC;IAED,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACvB,QAAQ,EACR,IAAI,GAIP;IACG,MAAM,YAAY,GAAG,IAAI,KAAK,YAAY,CAAC;IAC3C,MAAM,YAAY,GAAG,IAAI,KAAK,YAAY,CAAC;IAE3C,uEAAuE;IACvE,MAAM,qBAAqB,GAAG,CAAC,SAAqB,EAAU,EAAE;QAC5D,MAAM,EAAC,QAAQ,EAAC,GAAG,SAAS,CAAC;QAE7B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC;IAEF,MAAM,OAAO,GAAkC;QAC3C;YACI,IAAI,EAAE,aAAa,CAAC,EAAE;YACtB,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;gBACd,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACV,OAAO,sBAAsB,CAAC;gBAClC,CAAC;gBAED,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAEpF,OAAO,CACH,KAAC,eAAe,IAAC,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,cAAc,YACjE,GAAG,CAAC,EAAE,GACO,CACrB,CAAC;YACN,CAAC;SACJ;QACD;YACI,IAAI,EAAE,aAAa,CAAC,MAAM;YAC1B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,MAAM,CAAC;YAC5C,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;gBACd,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;SACJ;KACJ,CAAC;IAEF,0EAA0E;IAC1E,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,aAAa,CAAC,KAAK;YACzB,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC;YAC3C,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;gBACd,MAAM,QAAQ,GAAG,GAAG,CAAC,QAA4D,CAAC;gBAClF,IAAI,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,CAAA,EAAE,CAAC;oBACnB,OAAO,sBAAsB,CAAC;gBAClC,CAAC;gBACD,OAAO,QAAQ,CAAC,KAAK,CAAC;YAC1B,CAAC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,uBAAuB;IACvB,OAAO,CAAC,IAAI,CACR;QACI,IAAI,EAAE,aAAa,CAAC,UAAU;QAC9B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;QAChD,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO,sBAAsB,CAAC;YAClC,CAAC;YACD,OAAO,GAAG,CAAC,UAAU,CAAC;QAC1B,CAAC;KACJ,EACD;QACI,IAAI,EAAE,aAAa,CAAC,WAAW;QAC/B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC;QACjD,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO,sBAAsB,CAAC;YAClC,CAAC;YACD,OAAO,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,CAAC;KACJ,EACD;QACI,IAAI,EAAE,aAAa,CAAC,QAAQ;QAC5B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC9C,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;YACd,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO,sBAAsB,CAAC;YAClC,CAAC;YACD,OAAO,cAAc,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,CAAC;KACJ,EACD;QACI,IAAI,EAAE,aAAa,CAAC,QAAQ;QAC5B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC9C,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;YACd,IAAI,aAAa,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO,sBAAsB,CAAC;YAClC,CAAC;YACD,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC/D,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACzD,aAAa,GAAG,OAAO,GAAG,UAAU,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACJ,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC;YAC5C,CAAC;YAED,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC7D,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAE3D,OAAO,GAAG,CAAC,QAAQ;gBACf,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAC,KAAK,EAAE,iBAAiB,EAAC,CAAC,CAAC;QACrE,CAAC;KACJ,CACJ,CAAC;IAEF,qBAAqB;IACrB,OAAO,CAAC,IAAI,CAAC;QACT,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;YACd,OAAO,KAAC,iBAAiB,IAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAAC;QACrE,CAAC;KACJ,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACnB,CAAC;AAOD,SAAS,iBAAiB,CAAC,EAAC,SAAS,EAAE,QAAQ,EAAyB;IACpE,MAAM,CAAC,eAAe,EAAE,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC,GACjD,aAAa,CAAC,0BAA0B,EAAE,CAAC;IAC/C,MAAM,CAAC,eAAe,EAAE,EAAC,SAAS,EAAE,eAAe,EAAC,CAAC,GACjD,aAAa,CAAC,0BAA0B,EAAE,CAAC;IAE/C,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;IACxB,IAAI,CAAC,EAAE,EAAE,CAAC;QACN,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,sBAAsB,GAAG,eAAe,CAAC;IAC/C,MAAM,sBAAsB,GAAG,eAAe,IAAI,SAAS,CAAC,KAAK,KAAK,IAAI,CAAC;IAE3E,OAAO,CACH,MAAC,IAAI,IAAC,GAAG,EAAC,GAAG,aACT,KAAC,aAAa,IACV,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAC7B,QAAQ,EAAE,sBAAsB,YAEhC,wBACI,KAAC,uBAAuB,IACpB,UAAU,EAAC,UAAU,EACrB,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAC/B,eAAe,EAAE,GAAG,EAAE,CAClB,eAAe,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAC,CAAC;6BAC1B,MAAM,EAAE;6BACR,IAAI,CAAC,GAAG,EAAE;4BACP,WAAW,CAAC;gCACR,IAAI,EAAE,WAAW;gCACjB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAC,EAAE,EAAC,CAAC;gCACnC,KAAK,EAAE,SAAS;6BACnB,CAAC,CAAC;wBACP,CAAC,CAAC,EAEV,cAAc,EAAE,sBAAsB,YAEtC,KAAC,IAAI,IAAC,IAAI,EAAE,GAAG,GAAI,GACG,GACxB,GACM,EAChB,KAAC,aAAa,IACV,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC9B,QAAQ,EAAE,sBAAsB,YAEhC,wBACI,KAAC,uBAAuB,IACpB,eAAe,EAAE,sBAAsB,EACvC,UAAU,EAAC,UAAU,EACrB,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,EACnC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,EAC/B,eAAe,EAAE,GAAG,EAAE,CAClB,eAAe,CAAC,EAAC,EAAE,EAAE,QAAQ,EAAC,CAAC;6BAC1B,MAAM,EAAE;6BACR,IAAI,CAAC,GAAG,EAAE;4BACP,WAAW,CAAC;gCACR,IAAI,EAAE,WAAW;gCACjB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAC,EAAE,EAAC,CAAC;gCACnC,KAAK,EAAE,SAAS;6BACnB,CAAC,CAAC;wBACP,CAAC,CAAC,EAEV,cAAc,EAAE,sBAAsB,YAEtC,KAAC,IAAI,IAAC,IAAI,EAAE,UAAU,GAAI,GACJ,GACxB,GACM,IACb,CACV,CAAC;AACN,CAAC"}
|
|
@@ -12,10 +12,5 @@ export declare function useOperationsInfiniteQuery({ database, kind, pageSize, s
|
|
|
12
12
|
isLoading: boolean;
|
|
13
13
|
isLoadingMore: false;
|
|
14
14
|
error: import("@reduxjs/toolkit").SerializedError | undefined;
|
|
15
|
-
refreshTable: () => import("@reduxjs/toolkit/query").InfiniteQueryActionCreatorResult<import("@reduxjs/toolkit/query").InfiniteQueryDefinition<{
|
|
16
|
-
database: string;
|
|
17
|
-
kind: OperationKind;
|
|
18
|
-
page_size?: number;
|
|
19
|
-
}, string | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "CompactionList", import("../../types/api/operations").TOperationList, "api", typeof import("../../store/reducers/api")._NEVER>>;
|
|
20
15
|
};
|
|
21
16
|
export {};
|
|
@@ -3,7 +3,7 @@ import { throttle } from 'lodash';
|
|
|
3
3
|
import { DEFAULT_PAGE_SIZE, operationsApi } from '../../store/reducers/operations';
|
|
4
4
|
const DEFAULT_SCROLL_MARGIN = 100;
|
|
5
5
|
export function useOperationsInfiniteQuery({ database, kind, pageSize = DEFAULT_PAGE_SIZE, searchValue, scrollContainerRef, }) {
|
|
6
|
-
const { data, error, isLoading, isFetchingNextPage, hasNextPage, fetchNextPage
|
|
6
|
+
const { data, error, isLoading, isFetchingNextPage, hasNextPage, fetchNextPage } = operationsApi.useGetOperationListInfiniteQuery({
|
|
7
7
|
database,
|
|
8
8
|
kind,
|
|
9
9
|
page_size: pageSize,
|
|
@@ -46,22 +46,26 @@ export function useOperationsInfiniteQuery({ database, kind, pageSize = DEFAULT_
|
|
|
46
46
|
return undefined;
|
|
47
47
|
}, [data, isFetchingNextPage, checkAndLoadMorePages]);
|
|
48
48
|
// Scroll handler for infinite scrolling
|
|
49
|
+
const handleScroll = React.useCallback(() => {
|
|
50
|
+
const scrollContainer = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
|
|
51
|
+
if (!scrollContainer) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
const { scrollTop, scrollHeight, clientHeight } = scrollContainer;
|
|
55
|
+
if (scrollHeight - scrollTop - clientHeight < DEFAULT_SCROLL_MARGIN &&
|
|
56
|
+
hasNextPage &&
|
|
57
|
+
!isFetchingNextPage) {
|
|
58
|
+
fetchNextPage();
|
|
59
|
+
}
|
|
60
|
+
}, [scrollContainerRef, hasNextPage, isFetchingNextPage, fetchNextPage]);
|
|
49
61
|
React.useEffect(() => {
|
|
50
62
|
const scrollContainer = scrollContainerRef === null || scrollContainerRef === void 0 ? void 0 : scrollContainerRef.current;
|
|
51
63
|
if (!scrollContainer) {
|
|
52
64
|
return undefined;
|
|
53
65
|
}
|
|
54
|
-
const handleScroll = () => {
|
|
55
|
-
const { scrollTop, scrollHeight, clientHeight } = scrollContainer;
|
|
56
|
-
if (scrollHeight - scrollTop - clientHeight < DEFAULT_SCROLL_MARGIN &&
|
|
57
|
-
hasNextPage &&
|
|
58
|
-
!isFetchingNextPage) {
|
|
59
|
-
fetchNextPage();
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
66
|
scrollContainer.addEventListener('scroll', handleScroll);
|
|
63
67
|
return () => scrollContainer.removeEventListener('scroll', handleScroll);
|
|
64
|
-
}, [scrollContainerRef,
|
|
68
|
+
}, [scrollContainerRef, handleScroll]);
|
|
65
69
|
// Resize handler to check if more content is needed when viewport changes
|
|
66
70
|
React.useEffect(() => {
|
|
67
71
|
const throttledHandleResize = throttle(checkAndLoadMorePages, 200, {
|
|
@@ -79,7 +83,6 @@ export function useOperationsInfiniteQuery({ database, kind, pageSize = DEFAULT_
|
|
|
79
83
|
isLoading,
|
|
80
84
|
isLoadingMore: isFetchingNextPage,
|
|
81
85
|
error,
|
|
82
|
-
refreshTable: refetch,
|
|
83
86
|
};
|
|
84
87
|
}
|
|
85
88
|
//# sourceMappingURL=useOperationsInfiniteQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOperationsInfiniteQuery.js","sourceRoot":"","sources":["../../../src/containers/Operations/useOperationsInfiniteQuery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAC,iBAAiB,EAAE,aAAa,EAAC,MAAM,iCAAiC,CAAC;AAWjF,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,0BAA0B,CAAC,EACvC,QAAQ,EACR,IAAI,EACJ,QAAQ,GAAG,iBAAiB,EAC5B,WAAW,EACX,kBAAkB,GACY;IAC9B,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"useOperationsInfiniteQuery.js","sourceRoot":"","sources":["../../../src/containers/Operations/useOperationsInfiniteQuery.ts"],"names":[],"mappings":"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"}
|