ydb-embedded-ui 11.5.0 → 11.7.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/ErrorBoundary/utils.js +1 -1
- package/dist/components/ErrorBoundary/utils.js.map +1 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +1 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js +2 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js.map +1 -1
- package/dist/components/NodeId/NodeId.d.ts +5 -0
- package/dist/components/NodeId/NodeId.js +9 -0
- package/dist/components/NodeId/NodeId.js.map +1 -0
- package/dist/components/PDiskPopup/PDiskPopup.js +3 -1
- package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTable.scss +6 -0
- package/dist/components/ProgressWrapper/SingleProgress.js +3 -3
- package/dist/components/ProgressWrapper/SingleProgress.js.map +1 -1
- package/dist/components/ProgressWrapper/StackProgress.js +3 -3
- package/dist/components/ProgressWrapper/StackProgress.js.map +1 -1
- package/dist/components/QueriesActivityBar/QueriesActivityCharts.js +5 -5
- package/dist/components/QueriesActivityBar/QueriesActivityCharts.js.map +1 -1
- package/dist/components/ShardsTable/columns.js +4 -5
- package/dist/components/ShardsTable/columns.js.map +1 -1
- package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js +6 -6
- package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js.map +1 -1
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDisk/VDisk.js +5 -1
- package/dist/components/VDisk/VDisk.js.map +1 -1
- package/dist/components/VDisk/utils.d.ts +3 -1
- package/dist/components/VDisk/utils.js +7 -20
- package/dist/components/VDisk/utils.js.map +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.js +52 -45
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/components/VDiskInfo/i18n/en.json +1 -0
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js +43 -31
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/components/VDiskPopup/i18n/en.json +21 -0
- package/dist/components/VDiskPopup/i18n/index.d.ts +1 -0
- package/dist/components/VDiskPopup/i18n/index.js +5 -0
- package/dist/components/VDiskPopup/i18n/index.js.map +1 -0
- package/dist/components/VersionsBar/VersionsBar.d.ts +4 -1
- package/dist/components/VersionsBar/VersionsBar.js +17 -9
- package/dist/components/VersionsBar/VersionsBar.js.map +1 -1
- package/dist/components/VersionsBar/VersionsBar.scss +52 -2
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js +1 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
- package/dist/components/nodesColumns/columns.d.ts +3 -0
- package/dist/components/nodesColumns/columns.js +9 -0
- package/dist/components/nodesColumns/columns.js.map +1 -1
- package/dist/components/nodesColumns/constants.d.ts +3 -0
- package/dist/components/nodesColumns/constants.js +14 -0
- package/dist/components/nodesColumns/constants.js.map +1 -1
- package/dist/components/nodesColumns/i18n/en.json +1 -0
- package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
- package/dist/containers/App/Content.js +13 -4
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.d.ts +3 -2
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +3 -2
- package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js +12 -2
- package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.d.ts +8 -0
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js +54 -0
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js.map +1 -0
- package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +27 -0
- package/dist/containers/Cluster/i18n/en.json +8 -0
- package/dist/containers/Cluster/i18n/index.d.ts +1 -1
- package/dist/containers/Clusters/Clusters.scss +0 -4
- package/dist/containers/Clusters/columns.js +3 -2
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Header/Header.js +56 -8
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/breadcrumbs.d.ts +1 -0
- package/dist/containers/Header/breadcrumbs.js +27 -15
- package/dist/containers/Header/breadcrumbs.js.map +1 -1
- package/dist/containers/Header/i18n/en.json +5 -2
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/Heatmap/Heatmap.js +2 -1
- package/dist/containers/Heatmap/Heatmap.js.map +1 -1
- package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +3 -1
- package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js.map +1 -1
- package/dist/containers/Node/Node.js +14 -9
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Nodes/Nodes.js +34 -6
- package/dist/containers/Nodes/Nodes.js.map +1 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js +3 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
- package/dist/containers/Nodes/columns/columns.js +2 -1
- package/dist/containers/Nodes/columns/columns.js.map +1 -1
- package/dist/containers/Nodes/useNodesPageQueryParams.js +5 -1
- package/dist/containers/Nodes/useNodesPageQueryParams.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +6 -5
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +9 -1
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +15 -2
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +3 -0
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +15 -0
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +24 -6
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js +2 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +14 -3
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/utils/index.js +3 -1
- package/dist/containers/Storage/utils/index.js.map +1 -1
- package/dist/containers/StorageGroupPage/StorageGroupPage.js +6 -4
- package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
- package/dist/containers/Tablet/Tablet.js +3 -1
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +5 -3
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
- package/dist/containers/Tablet/components/TabletInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tablet/components/TabletTable/TabletTable.js +4 -3
- package/dist/containers/Tablet/components/TabletTable/TabletTable.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.js +7 -5
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Consumers/columns/columns.js +2 -1
- package/dist/containers/Tenant/Diagnostics/Consumers/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +6 -3
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +9 -3
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js +4 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.js +21 -5
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -2
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +5 -4
- package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +3 -2
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +3 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +0 -4
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +13 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
- package/dist/containers/Tenant/TenantPages.d.ts +2 -5
- package/dist/containers/Tenant/TenantPages.js +0 -4
- package/dist/containers/Tenant/TenantPages.js.map +1 -1
- package/dist/containers/Tenant/useTenantQueryParams.js +2 -2
- package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -1
- package/dist/containers/Tenant/utils/constants.js +1 -1
- package/dist/containers/Tenant/utils/constants.js.map +1 -1
- package/dist/containers/Tenants/Tenants.js +7 -7
- package/dist/containers/Tenants/Tenants.js.map +1 -1
- package/dist/containers/Tenants/Tenants.scss +0 -4
- package/dist/containers/VDiskPage/VDiskPage.js +40 -25
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.d.ts +3 -1
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js +10 -11
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskTablets/columns.js +6 -1
- package/dist/containers/VDiskPage/VDiskTablets/columns.js.map +1 -1
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.d.ts +4 -4
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js +21 -10
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js.map +1 -1
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.scss +2 -40
- package/dist/containers/Versions/NodesTable/NodesTable.js +9 -2
- package/dist/containers/Versions/NodesTable/NodesTable.js.map +1 -1
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.d.ts +6 -3
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js +23 -15
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js.map +1 -1
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.scss +9 -43
- package/dist/containers/Versions/Versions.js +90 -19
- package/dist/containers/Versions/Versions.js.map +1 -1
- package/dist/containers/Versions/Versions.scss +6 -39
- package/dist/containers/Versions/VersionsBlock/VersionsBlock.d.ts +9 -0
- package/dist/containers/Versions/VersionsBlock/VersionsBlock.js +9 -0
- package/dist/containers/Versions/VersionsBlock/VersionsBlock.js.map +1 -0
- package/dist/containers/Versions/VersionsBlock/VersionsBlock.scss +7 -0
- package/dist/containers/Versions/constants.d.ts +12 -0
- package/dist/containers/Versions/constants.js +12 -0
- package/dist/containers/Versions/constants.js.map +1 -0
- package/dist/containers/Versions/groupNodes.js +5 -3
- package/dist/containers/Versions/groupNodes.js.map +1 -1
- package/dist/containers/Versions/i18n/en.json +12 -3
- package/dist/containers/Versions/i18n/index.d.ts +1 -1
- package/dist/containers/Versions/types.d.ts +3 -2
- package/dist/containers/Versions/types.js.map +1 -1
- package/dist/containers/Versions/utils.d.ts +1 -1
- package/dist/containers/Versions/utils.js +8 -8
- package/dist/containers/Versions/utils.js.map +1 -1
- package/dist/routes.d.ts +5 -7
- package/dist/routes.js +1 -1
- package/dist/routes.js.map +1 -1
- package/dist/services/api/viewer.d.ts +12 -11
- package/dist/services/api/viewer.js +11 -12
- package/dist/services/api/viewer.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +5 -0
- package/dist/store/reducers/authentication/authentication.js +4 -2
- package/dist/store/reducers/authentication/authentication.js.map +1 -1
- package/dist/store/reducers/authentication/types.d.ts +1 -0
- package/dist/store/reducers/capabilities/capabilities.d.ts +125 -0
- package/dist/store/reducers/capabilities/capabilities.js +1 -0
- package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +76 -1
- package/dist/store/reducers/capabilities/hooks.js +7 -2
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.js +5 -1
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/header/types.d.ts +3 -1
- package/dist/store/reducers/node/node.d.ts +1 -0
- package/dist/store/reducers/node/node.js +2 -2
- package/dist/store/reducers/node/node.js.map +1 -1
- package/dist/store/reducers/nodes/types.d.ts +1 -0
- package/dist/store/reducers/nodesList.d.ts +268 -4
- package/dist/store/reducers/nodesList.js +4 -4
- package/dist/store/reducers/nodesList.js.map +1 -1
- package/dist/store/reducers/pdisk/pdisk.js +1 -1
- package/dist/store/reducers/pdisk/pdisk.js.map +1 -1
- package/dist/store/reducers/query/query.d.ts +48 -4
- package/dist/store/reducers/query/query.js +10 -9
- package/dist/store/reducers/query/query.js.map +1 -1
- package/dist/store/reducers/storage/types.d.ts +2 -0
- package/dist/store/reducers/storage/utils.js +1 -0
- package/dist/store/reducers/storage/utils.js.map +1 -1
- package/dist/store/reducers/tablet.d.ts +1 -0
- package/dist/store/reducers/tablet.js +3 -3
- package/dist/store/reducers/tablet.js.map +1 -1
- package/dist/store/reducers/tablets.d.ts +1 -1
- package/dist/store/reducers/tablets.js +1 -1
- package/dist/store/reducers/tablets.js.map +1 -1
- package/dist/store/reducers/tenant/constants.d.ts +0 -1
- package/dist/store/reducers/tenant/constants.js +0 -1
- package/dist/store/reducers/tenant/constants.js.map +1 -1
- package/dist/store/reducers/tenant/tenant.d.ts +4 -1
- package/dist/store/reducers/tenant/tenant.js +14 -1
- package/dist/store/reducers/tenant/tenant.js.map +1 -1
- package/dist/store/reducers/tenants/utils.js +2 -2
- package/dist/store/reducers/tenants/utils.js.map +1 -1
- package/dist/store/reducers/vdisk/utils.d.ts +5 -7
- package/dist/store/reducers/vdisk/utils.js +9 -9
- package/dist/store/reducers/vdisk/utils.js.map +1 -1
- package/dist/store/reducers/vdisk/vdisk.d.ts +11 -6
- package/dist/store/reducers/vdisk/vdisk.js +19 -10
- package/dist/store/reducers/vdisk/vdisk.js.map +1 -1
- package/dist/types/api/capabilities.d.ts +3 -0
- package/dist/types/api/cluster.d.ts +23 -0
- package/dist/types/api/cluster.js +10 -0
- package/dist/types/api/cluster.js.map +1 -1
- package/dist/types/api/nodes.d.ts +3 -2
- package/dist/types/api/nodes.js.map +1 -1
- package/dist/types/api/storage.d.ts +3 -2
- package/dist/types/api/systemState.d.ts +0 -3
- package/dist/types/api/vdisk.d.ts +0 -8
- package/dist/types/api/vdisk.js.map +1 -1
- package/dist/types/api/whoami.d.ts +3 -1
- package/dist/uiFactory/types.d.ts +2 -0
- package/dist/uiFactory/uiFactory.js +1 -0
- package/dist/uiFactory/uiFactory.js.map +1 -1
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.d.ts +1 -0
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js +4 -1
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js.map +1 -1
- package/dist/utils/versions/parseNodesToVersionsValues.d.ts +3 -3
- package/dist/utils/versions/parseNodesToVersionsValues.js +18 -32
- package/dist/utils/versions/parseNodesToVersionsValues.js.map +1 -1
- package/dist/utils/versions/parseVersion.js +0 -4
- package/dist/utils/versions/parseVersion.js.map +1 -1
- package/dist/utils/versions/types.d.ts +0 -6
- package/dist/utils/yaMetrica.d.ts +22 -0
- package/dist/utils/yaMetrica.js +49 -0
- package/dist/utils/yaMetrica.js.map +1 -0
- package/package.json +1 -1
- package/dist/containers/Cluster/VersionsBar/VersionsBar.d.ts +0 -10
- package/dist/containers/Cluster/VersionsBar/VersionsBar.js +0 -9
- package/dist/containers/Cluster/VersionsBar/VersionsBar.js.map +0 -1
- package/dist/containers/Cluster/VersionsBar/VersionsBar.scss +0 -27
- package/dist/containers/Tenant/Acl/Acl.d.ts +0 -1
- package/dist/containers/Tenant/Acl/Acl.js +0 -15
- package/dist/containers/Tenant/Acl/Acl.js.map +0 -1
- package/dist/containers/Tenant/Acl/i18n/en.json +0 -4
- package/dist/containers/Tenant/Acl/i18n/index.d.ts +0 -2
- package/dist/containers/Tenant/Acl/i18n/index.js +0 -5
- package/dist/containers/Tenant/Acl/i18n/index.js.map +0 -1
@@ -1,13 +1,16 @@
|
|
1
1
|
import type { PreparedNodeSystemState } from '../../../utils/nodes';
|
2
|
-
import type {
|
2
|
+
import type { PreparedVersion } from '../../../utils/versions/types';
|
3
3
|
import type { GroupedNodesItem } from '../types';
|
4
4
|
import './NodesTreeTitle.scss';
|
5
5
|
interface NodesTreeTitleProps {
|
6
6
|
title?: string;
|
7
|
+
isDatabase?: boolean;
|
8
|
+
expanded?: boolean;
|
7
9
|
nodes?: PreparedNodeSystemState[];
|
8
10
|
items?: GroupedNodesItem[];
|
9
11
|
versionColor?: string;
|
10
|
-
|
12
|
+
preparedVersions?: PreparedVersion[];
|
13
|
+
onClick?: () => void;
|
11
14
|
}
|
12
|
-
export declare const NodesTreeTitle: ({ title, nodes, items, versionColor,
|
15
|
+
export declare const NodesTreeTitle: ({ title, isDatabase, expanded, nodes, items, versionColor, preparedVersions, onClick, }: NodesTreeTitleProps) => import("react/jsx-runtime").JSX.Element;
|
13
16
|
export {};
|
@@ -1,21 +1,29 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import
|
2
|
+
import React from 'react';
|
3
|
+
import { ChevronDown, ChevronUp, Database } from '@gravity-ui/icons';
|
4
|
+
import { ClipboardButton, Flex, Icon, Text } from '@gravity-ui/uikit';
|
5
|
+
import { VersionsBar } from '../../../components/VersionsBar/VersionsBar';
|
3
6
|
import { cn } from '../../../utils/cn';
|
7
|
+
import i18n from '../i18n';
|
4
8
|
import './NodesTreeTitle.scss';
|
5
9
|
const b = cn('ydb-versions-nodes-tree-title');
|
6
|
-
export const NodesTreeTitle = ({ title, nodes, items, versionColor,
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
10
|
+
export const NodesTreeTitle = ({ title, isDatabase, expanded, nodes, items, versionColor, preparedVersions, onClick, }) => {
|
11
|
+
const nodesAmount = React.useMemo(() => {
|
12
|
+
if (items) {
|
13
|
+
return items.reduce((acc, curr) => {
|
14
|
+
if (!curr.nodes) {
|
15
|
+
return acc;
|
16
|
+
}
|
17
|
+
return acc + curr.nodes.length;
|
18
|
+
}, 0);
|
19
|
+
}
|
20
|
+
else {
|
21
|
+
return nodes ? nodes.length : 0;
|
22
|
+
}
|
23
|
+
}, [items, nodes]);
|
24
|
+
return (_jsxs("div", { className: b('overview'), onClick: onClick, children: [_jsxs(Flex, { gap: 2, alignItems: 'center', children: [versionColor && !isDatabase ? (_jsx("div", { className: b('version-color'), style: { background: versionColor } })) : null, isDatabase ? _jsx(Icon, { data: Database }) : null, title ? (_jsxs(React.Fragment, { children: [title, _jsx(ClipboardButton, { text: title, size: "s", className: b('clipboard-button'), view: "flat", onClickCapture: (e) => {
|
25
|
+
e.preventDefault();
|
26
|
+
e.stopPropagation();
|
27
|
+
} })] })) : null, _jsx(Text, { variant: "body-2", color: "hint", children: i18n('nodes-count', { count: nodesAmount }) })] }), _jsxs(Flex, { alignItems: 'center', gap: 4, children: [preparedVersions ? (_jsx("div", { className: b('version-progress'), children: _jsx(VersionsBar, { preparedVersions: preparedVersions, withTitles: false }) })) : null, _jsx(Icon, { className: b('icon'), data: expanded ? ChevronUp : ChevronDown })] })] }));
|
20
28
|
};
|
21
29
|
//# sourceMappingURL=NodesTreeTitle.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NodesTreeTitle.js","sourceRoot":"","sources":["../../../../src/containers/Versions/NodesTreeTitle/NodesTreeTitle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"NodesTreeTitle.js","sourceRoot":"","sources":["../../../../src/containers/Versions/NodesTreeTitle/NodesTreeTitle.tsx"],"names":[],"mappings":"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"}
|
@@ -5,54 +5,26 @@
|
|
5
5
|
align-items: center;
|
6
6
|
|
7
7
|
width: 100%;
|
8
|
-
|
9
|
-
|
10
|
-
&__overview-info {
|
11
|
-
display: flex;
|
12
|
-
align-items: center;
|
13
|
-
|
14
|
-
margin-left: 25px;
|
15
|
-
|
16
|
-
& > *:not(:first-child) {
|
17
|
-
margin-left: 30px;
|
18
|
-
}
|
19
|
-
}
|
20
|
-
|
21
|
-
&__overview-container {
|
22
|
-
display: flex;
|
23
|
-
align-items: center;
|
24
|
-
}
|
8
|
+
padding: var(--g-spacing-4);
|
25
9
|
|
26
|
-
|
27
|
-
font-weight: 200;
|
10
|
+
cursor: pointer;
|
28
11
|
|
29
|
-
|
12
|
+
border-radius: var(--g-border-radius-m);
|
30
13
|
|
31
|
-
|
32
|
-
|
33
|
-
}
|
34
|
-
&_margin_right {
|
35
|
-
margin-right: 5px;
|
14
|
+
&:hover {
|
15
|
+
background-color: var(--g-color-base-generic-hover);
|
36
16
|
}
|
37
17
|
}
|
38
18
|
|
39
19
|
&__version-color {
|
40
|
-
width:
|
41
|
-
height:
|
42
|
-
margin-right: 10px;
|
20
|
+
width: 12px;
|
21
|
+
height: 12px;
|
43
22
|
|
44
23
|
border-radius: 100%;
|
45
24
|
}
|
46
25
|
|
47
26
|
&__version-progress {
|
48
|
-
display: flex;
|
49
|
-
align-items: center;
|
50
|
-
|
51
27
|
width: 250px;
|
52
|
-
|
53
|
-
& .g-progress {
|
54
|
-
width: 200px;
|
55
|
-
}
|
56
28
|
}
|
57
29
|
|
58
30
|
&__overview-title {
|
@@ -60,14 +32,8 @@
|
|
60
32
|
align-items: center;
|
61
33
|
}
|
62
34
|
|
63
|
-
&__clipboard-button
|
64
|
-
|
65
|
-
|
66
|
-
opacity: 0;
|
35
|
+
&__clipboard-button,
|
36
|
+
&__icon {
|
67
37
|
color: var(--g-color-text-secondary);
|
68
|
-
.ydb-tree-view__item:hover &,
|
69
|
-
&:focus-visible {
|
70
|
-
opacity: 1;
|
71
|
-
}
|
72
38
|
}
|
73
39
|
}
|
@@ -1,44 +1,115 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import {
|
3
|
+
import { ChevronsCollapseVertical, ChevronsExpandVertical } from '@gravity-ui/icons';
|
4
|
+
import { Button, Flex, Icon, SegmentedRadioGroup, Select, Text } from '@gravity-ui/uikit';
|
5
|
+
import { StringParam, useQueryParams } from 'use-query-params';
|
6
|
+
import { z } from 'zod';
|
4
7
|
import { LoaderWrapper } from '../../components/LoaderWrapper/LoaderWrapper';
|
8
|
+
import { VersionsBar } from '../../components/VersionsBar/VersionsBar';
|
5
9
|
import { nodesApi } from '../../store/reducers/nodes/nodes';
|
6
10
|
import { cn } from '../../utils/cn';
|
7
11
|
import { useAutoRefreshInterval } from '../../utils/hooks';
|
8
|
-
import { VersionsBar } from '../Cluster/VersionsBar/VersionsBar';
|
9
12
|
import { GroupedNodesTree } from './GroupedNodesTree/GroupedNodesTree';
|
13
|
+
import { NODE_TYPES, NODE_TYPES_TITLE } from './constants';
|
10
14
|
import { getGroupedStorageNodes, getGroupedTenantNodes, getOtherNodes } from './groupNodes';
|
11
15
|
import i18n from './i18n';
|
12
16
|
import { GroupByValue } from './types';
|
13
|
-
import {
|
17
|
+
import { useGetPreparedVersions, useVersionsDataMap } from './utils';
|
14
18
|
import './Versions.scss';
|
15
19
|
const b = cn('ydb-versions');
|
16
20
|
export function VersionsContainer({ cluster, loading }) {
|
17
21
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
18
22
|
const { currentData, isLoading: isNodesLoading } = nodesApi.useGetNodesQuery({ tablets: false, fieldsRequired: ['SystemState', 'SubDomainKey'] }, { pollingInterval: autoRefreshInterval });
|
19
23
|
const versionsDataMap = useVersionsDataMap(cluster);
|
20
|
-
const
|
21
|
-
|
24
|
+
const preparedVersions = useGetPreparedVersions({
|
25
|
+
cluster,
|
26
|
+
versionsDataMap,
|
27
|
+
clusterLoading: loading,
|
28
|
+
});
|
29
|
+
return (_jsx(LoaderWrapper, { loading: loading || isNodesLoading, children: _jsx(Versions, { preparedVersions: preparedVersions, nodes: currentData === null || currentData === void 0 ? void 0 : currentData.Nodes, versionsDataMap: versionsDataMap }) }));
|
22
30
|
}
|
23
|
-
|
24
|
-
|
31
|
+
const nodeTypeSchema = z.nativeEnum(NODE_TYPES).catch(NODE_TYPES.storage);
|
32
|
+
const groupByValueSchema = z.nativeEnum(GroupByValue).catch(GroupByValue.VERSION);
|
33
|
+
function Versions({ preparedVersions, nodes, versionsDataMap }) {
|
34
|
+
const [{ nodeType: rawNodeType, groupBy: rawGroupByValue }, setQueryParams] = useQueryParams({
|
35
|
+
nodeType: StringParam,
|
36
|
+
groupBy: StringParam,
|
37
|
+
});
|
38
|
+
const nodeType = nodeTypeSchema.parse(rawNodeType);
|
39
|
+
const groupByValue = groupByValueSchema.parse(rawGroupByValue);
|
25
40
|
const [expanded, setExpanded] = React.useState(false);
|
41
|
+
const tenantNodes = React.useMemo(() => {
|
42
|
+
return getGroupedTenantNodes(nodes, versionsDataMap, groupByValue);
|
43
|
+
}, [groupByValue, nodes, versionsDataMap]);
|
44
|
+
const storageNodes = React.useMemo(() => {
|
45
|
+
return getGroupedStorageNodes(nodes, versionsDataMap);
|
46
|
+
}, [nodes, versionsDataMap]);
|
47
|
+
const otherNodes = React.useMemo(() => {
|
48
|
+
return getOtherNodes(nodes, versionsDataMap);
|
49
|
+
}, [nodes, versionsDataMap]);
|
26
50
|
const handleGroupByValueChange = (value) => {
|
27
|
-
|
51
|
+
setQueryParams({ groupBy: value }, 'replaceIn');
|
52
|
+
};
|
53
|
+
const handleNodeTypeChange = (value) => {
|
54
|
+
setQueryParams({ nodeType: value }, 'replaceIn');
|
55
|
+
};
|
56
|
+
const renderExpandButton = () => {
|
57
|
+
return (_jsxs(Button, { onClick: () => setExpanded((value) => !value), children: [_jsx(Icon, { data: expanded ? ChevronsCollapseVertical : ChevronsExpandVertical }), expanded ? i18n('action_collapse') : i18n('action_expand')] }));
|
58
|
+
};
|
59
|
+
const renderNodeTypeRadio = () => {
|
60
|
+
const options = [
|
61
|
+
_jsx(SegmentedRadioGroup.Option, { value: NODE_TYPES.storage, children: NODE_TYPES_TITLE.storage }),
|
62
|
+
_jsx(SegmentedRadioGroup.Option, { value: NODE_TYPES.database, children: NODE_TYPES_TITLE.database }),
|
63
|
+
];
|
64
|
+
if (otherNodes === null || otherNodes === void 0 ? void 0 : otherNodes.length) {
|
65
|
+
options.push(_jsx(SegmentedRadioGroup.Option, { value: NODE_TYPES.other, children: NODE_TYPES_TITLE.other }));
|
66
|
+
}
|
67
|
+
return (_jsx(SegmentedRadioGroup, { value: nodeType, onUpdate: handleNodeTypeChange, children: options }));
|
28
68
|
};
|
29
69
|
const renderGroupControl = () => {
|
30
|
-
|
70
|
+
if (nodeType === NODE_TYPES.database) {
|
71
|
+
const options = [
|
72
|
+
{ value: GroupByValue.TENANT, content: i18n('title_database') },
|
73
|
+
{ value: GroupByValue.VERSION, content: i18n('title_version') },
|
74
|
+
];
|
75
|
+
return (_jsx(Select, { label: i18n('group-by'), value: [groupByValue], options: options, onUpdate: (values) => handleGroupByValueChange(values[0]), width: 200, size: "m" }));
|
76
|
+
}
|
77
|
+
return null;
|
31
78
|
};
|
32
79
|
const renderControls = () => {
|
33
|
-
return (_jsxs(
|
34
|
-
};
|
35
|
-
const
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
const
|
42
|
-
|
80
|
+
return (_jsxs(Flex, { gap: 3, className: b('controls'), children: [renderNodeTypeRadio(), renderGroupControl(), renderExpandButton()] }));
|
81
|
+
};
|
82
|
+
const renderStorageNodes = () => {
|
83
|
+
if (storageNodes === null || storageNodes === void 0 ? void 0 : storageNodes.length) {
|
84
|
+
return storageNodes.map(({ title, nodes: itemNodes, items, versionColor }) => (_jsx(GroupedNodesTree, { title: title, nodes: itemNodes, items: items, expanded: expanded, versionColor: versionColor }, `storage-nodes-${title}`)));
|
85
|
+
}
|
86
|
+
return null;
|
87
|
+
};
|
88
|
+
const renderDatabaseNodes = () => {
|
89
|
+
if (tenantNodes === null || tenantNodes === void 0 ? void 0 : tenantNodes.length) {
|
90
|
+
return tenantNodes.map(({ title, isDatabase, nodes: itemNodes, items, versionColor, preparedVersions: nodesVersions, }) => (_jsx(GroupedNodesTree, { title: title, isDatabase: isDatabase, nodes: itemNodes, items: items, expanded: expanded, versionColor: versionColor, preparedVersions: nodesVersions }, `tenant-nodes-${title}`)));
|
91
|
+
}
|
92
|
+
return null;
|
93
|
+
};
|
94
|
+
const renderOtherNodes = () => {
|
95
|
+
if (otherNodes === null || otherNodes === void 0 ? void 0 : otherNodes.length) {
|
96
|
+
return otherNodes.map(({ title, nodes: itemNodes, items, versionColor, preparedVersions: nodesVersions, }) => (_jsx(GroupedNodesTree, { title: title, nodes: itemNodes, items: items, versionColor: versionColor, expanded: expanded, preparedVersions: nodesVersions }, `other-nodes-${title}`)));
|
97
|
+
}
|
98
|
+
return null;
|
99
|
+
};
|
100
|
+
const renderContent = () => {
|
101
|
+
switch (nodeType) {
|
102
|
+
case NODE_TYPES.storage:
|
103
|
+
return renderStorageNodes();
|
104
|
+
case NODE_TYPES.database:
|
105
|
+
return renderDatabaseNodes();
|
106
|
+
case NODE_TYPES.other:
|
107
|
+
return renderOtherNodes();
|
108
|
+
default:
|
109
|
+
return null;
|
110
|
+
}
|
111
|
+
};
|
112
|
+
const overallContent = (_jsxs(Flex, { gap: 3, direction: 'column', className: b('overall'), children: [_jsx(Text, { variant: "subheader-3", children: i18n('title_overall') }), _jsx(VersionsBar, { preparedVersions: preparedVersions, size: "m" })] }));
|
113
|
+
return (_jsxs("div", { className: b(), children: [overallContent, renderControls(), _jsx(Flex, { direction: 'column', gap: 3, children: renderContent() })] }));
|
43
114
|
}
|
44
115
|
//# sourceMappingURL=Versions.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Versions.js","sourceRoot":"","sources":["../../../src/containers/Versions/Versions.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"Versions.js","sourceRoot":"","sources":["../../../src/containers/Versions/Versions.tsx"],"names":[],"mappings":"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"}
|
@@ -4,49 +4,16 @@
|
|
4
4
|
--ydb-info-viewer-font-size: var(--g-text-body-2-font-size);
|
5
5
|
--ydb-info-viewer-line-height: var(--g-text-body-2-line-height);
|
6
6
|
|
7
|
+
padding-right: var(--g-spacing-5);
|
8
|
+
|
7
9
|
font-size: var(--ydb-info-viewer-font-size);
|
8
10
|
line-height: var(--ydb-info-viewer-line-height);
|
9
11
|
|
10
12
|
&__controls {
|
11
|
-
|
12
|
-
align-items: center;
|
13
|
-
|
14
|
-
padding: 0 0 20px;
|
15
|
-
|
16
|
-
#{$_} {
|
17
|
-
&__label {
|
18
|
-
margin-right: 10px;
|
19
|
-
|
20
|
-
font-weight: 500;
|
21
|
-
}
|
22
|
-
|
23
|
-
&__checkbox {
|
24
|
-
margin: 0;
|
25
|
-
}
|
26
|
-
}
|
27
|
-
|
28
|
-
& > * {
|
29
|
-
margin-right: 25px;
|
30
|
-
}
|
13
|
+
margin-bottom: var(--g-spacing-3);
|
31
14
|
}
|
32
|
-
&__overall
|
33
|
-
margin-top:
|
34
|
-
margin-bottom:
|
35
|
-
padding: 20px;
|
36
|
-
|
37
|
-
border: 1px solid var(--g-color-line-generic);
|
38
|
-
border-radius: 10px;
|
39
|
-
}
|
40
|
-
&__overall-progress {
|
41
|
-
height: 20px;
|
42
|
-
|
43
|
-
line-height: 20px;
|
44
|
-
|
45
|
-
border-radius: 5px;
|
46
|
-
.g-progress__stack {
|
47
|
-
height: 20px;
|
48
|
-
|
49
|
-
line-height: 20px;
|
50
|
-
}
|
15
|
+
&__overall {
|
16
|
+
margin-top: var(--g-spacing-4);
|
17
|
+
margin-bottom: var(--g-spacing-6);
|
51
18
|
}
|
52
19
|
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import './VersionsBlock.scss';
|
3
|
+
interface VersionsBlockProps {
|
4
|
+
expanded: boolean;
|
5
|
+
renderHeader: () => React.ReactNode;
|
6
|
+
renderContent: () => React.ReactNode;
|
7
|
+
}
|
8
|
+
export declare const VersionsBlock: ({ expanded, renderHeader, renderContent }: VersionsBlockProps) => import("react/jsx-runtime").JSX.Element;
|
9
|
+
export {};
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { Flex } from '@gravity-ui/uikit';
|
3
|
+
import { cn } from '../../../utils/cn';
|
4
|
+
import './VersionsBlock.scss';
|
5
|
+
const b = cn('ydb-versions-block');
|
6
|
+
export const VersionsBlock = ({ expanded, renderHeader, renderContent }) => {
|
7
|
+
return (_jsxs("div", { className: b(null), children: [renderHeader(), expanded ? (_jsx(Flex, { direction: 'column', className: b('content'), children: renderContent() })) : null] }));
|
8
|
+
};
|
9
|
+
//# sourceMappingURL=VersionsBlock.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VersionsBlock.js","sourceRoot":"","sources":["../../../../src/containers/Versions/VersionsBlock/VersionsBlock.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AAErC,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;AAQnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAqB,EAAE,EAAE;IACzF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,aAClB,YAAY,EAAE,EACd,QAAQ,CAAC,CAAC,CAAC,CACR,KAAC,IAAI,IAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAC7C,aAAa,EAAE,GACb,CACV,CAAC,CAAC,CAAC,IAAI,IACN,CACT,CAAC;AACN,CAAC,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import type { ValueOf } from '../../types/common';
|
2
|
+
export declare const NODE_TYPES: {
|
3
|
+
storage: string;
|
4
|
+
database: string;
|
5
|
+
other: string;
|
6
|
+
};
|
7
|
+
export type NodeType = ValueOf<typeof NODE_TYPES>;
|
8
|
+
export declare const NODE_TYPES_TITLE: {
|
9
|
+
[NODE_TYPES.storage]: string;
|
10
|
+
[NODE_TYPES.database]: string;
|
11
|
+
[NODE_TYPES.other]: string;
|
12
|
+
};
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import i18n from './i18n';
|
2
|
+
export const NODE_TYPES = {
|
3
|
+
storage: 'storage',
|
4
|
+
database: 'database',
|
5
|
+
other: 'other',
|
6
|
+
};
|
7
|
+
export const NODE_TYPES_TITLE = {
|
8
|
+
[NODE_TYPES.storage]: i18n('title_storage-nodes'),
|
9
|
+
[NODE_TYPES.database]: i18n('title_database-nodes'),
|
10
|
+
[NODE_TYPES.other]: i18n('title_other-nodes'),
|
11
|
+
};
|
12
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/containers/Versions/constants.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACjB,CAAC;AAIF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACjD,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC;IACnD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;CAChD,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import groupBy from 'lodash/groupBy';
|
2
|
-
import { getColorFromVersionsData,
|
2
|
+
import { getColorFromVersionsData, parseNodesToPreparedVersions } from '../../utils/versions';
|
3
3
|
import { GroupByValue } from './types';
|
4
4
|
const sortByTitle = (a, b) => { var _a; return ((_a = a.title) === null || _a === void 0 ? void 0 : _a.localeCompare(b.title || '')) || -1; };
|
5
5
|
export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
|
@@ -16,6 +16,7 @@ export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
|
|
16
16
|
.map((tenant) => {
|
17
17
|
return {
|
18
18
|
title: tenant,
|
19
|
+
isDatabase: true,
|
19
20
|
nodes: dividedByTenant[tenant],
|
20
21
|
};
|
21
22
|
})
|
@@ -36,7 +37,7 @@ export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
|
|
36
37
|
const dividedByTenant = groupBy(filteredNodes, 'Tenants');
|
37
38
|
return Object.keys(dividedByTenant)
|
38
39
|
.map((tenant) => {
|
39
|
-
const
|
40
|
+
const preparedVersions = parseNodesToPreparedVersions(dividedByTenant[tenant], versionsDataMap);
|
40
41
|
const dividedByVersion = groupBy(dividedByTenant[tenant], 'Version');
|
41
42
|
const preparedItems = Object.keys(dividedByVersion).map((version) => {
|
42
43
|
return {
|
@@ -50,8 +51,9 @@ export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
|
|
50
51
|
}
|
51
52
|
return {
|
52
53
|
title: tenant,
|
54
|
+
isDatabase: true,
|
53
55
|
items: preparedItems,
|
54
|
-
|
56
|
+
preparedVersions,
|
55
57
|
};
|
56
58
|
})
|
57
59
|
.filter((item) => Boolean(item))
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"groupNodes.js","sourceRoot":"","sources":["../../../src/containers/Versions/groupNodes.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAC,wBAAwB,EAAE,
|
1
|
+
{"version":3,"file":"groupNodes.js","sourceRoot":"","sources":["../../../src/containers/Versions/groupNodes.ts"],"names":[],"mappings":"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"}
|
@@ -1,6 +1,15 @@
|
|
1
1
|
{
|
2
2
|
"title_overall": "Overall",
|
3
|
-
"title_storage": "Storage
|
4
|
-
"title_database": "Database
|
5
|
-
"title_other": "Other
|
3
|
+
"title_storage-nodes": "Storage Nodes",
|
4
|
+
"title_database-nodes": "Database Nodes",
|
5
|
+
"title_other-nodes": "Other Nodes",
|
6
|
+
"title_database": "Database",
|
7
|
+
"title_version": "Version",
|
8
|
+
"nodes-count": {
|
9
|
+
"one": "{{count}} node",
|
10
|
+
"other": "{{count}} nodes"
|
11
|
+
},
|
12
|
+
"group-by": "Group by:",
|
13
|
+
"action_expand": "Expand all",
|
14
|
+
"action_collapse": "Collapse all"
|
6
15
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
declare const _default: (key: "title_overall" | "title_storage" | "title_database" | "title_other", params?: import("@gravity-ui/i18n").Params) => string;
|
1
|
+
declare const _default: (key: "title_overall" | "title_storage-nodes" | "title_database-nodes" | "title_other-nodes" | "title_database" | "title_version" | "nodes-count" | "group-by" | "action_expand" | "action_collapse", params?: import("@gravity-ui/i18n").Params) => string;
|
2
2
|
export default _default;
|
@@ -1,11 +1,12 @@
|
|
1
1
|
import type { NodesPreparedEntity } from '../../store/reducers/nodes/types';
|
2
|
-
import type {
|
2
|
+
import type { PreparedVersion } from '../../utils/versions/types';
|
3
3
|
export interface GroupedNodesItem {
|
4
4
|
title?: string;
|
5
|
+
isDatabase?: boolean;
|
5
6
|
nodes?: NodesPreparedEntity[];
|
6
7
|
items?: GroupedNodesItem[];
|
7
8
|
versionColor?: string;
|
8
|
-
|
9
|
+
preparedVersions?: PreparedVersion[];
|
9
10
|
}
|
10
11
|
export declare enum GroupByValue {
|
11
12
|
VERSION = "Version",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/containers/Versions/types.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/containers/Versions/types.ts"],"names":[],"mappings":"AAYA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
|
@@ -5,6 +5,6 @@ interface UseGetVersionValuesProps {
|
|
5
5
|
versionsDataMap?: VersionsDataMap;
|
6
6
|
clusterLoading?: boolean;
|
7
7
|
}
|
8
|
-
export declare
|
8
|
+
export declare function useGetPreparedVersions({ cluster, versionsDataMap, clusterLoading, }: UseGetVersionValuesProps): import("../../utils/versions/types").PreparedVersion[];
|
9
9
|
export declare function useVersionsDataMap(cluster?: TClusterInfo): VersionsDataMap;
|
10
10
|
export {};
|
@@ -5,9 +5,9 @@ import { clustersApi } from '../../store/reducers/clusters/clusters';
|
|
5
5
|
import { nodesApi } from '../../store/reducers/nodes/nodes';
|
6
6
|
import { isClusterInfoV2 } from '../../types/api/cluster';
|
7
7
|
import { useTypedSelector } from '../../utils/hooks';
|
8
|
-
import {
|
8
|
+
import { parseNodeGroupsToPreparedVersions, parseNodesToPreparedVersions, parseVersionsToVersionsDataMap, } from '../../utils/versions';
|
9
9
|
import { getVersionMap, getVersionsData } from '../../utils/versions/clusterVersionColors';
|
10
|
-
export
|
10
|
+
export function useGetPreparedVersions({ cluster, versionsDataMap, clusterLoading, }) {
|
11
11
|
const { currentData } = nodesApi.useGetNodesQuery(isClusterInfoV2(cluster) || clusterLoading
|
12
12
|
? skipToken
|
13
13
|
: {
|
@@ -15,24 +15,24 @@ export const useGetVersionValues = ({ cluster, versionsDataMap, clusterLoading,
|
|
15
15
|
fieldsRequired: ['SystemState', 'SubDomainKey'],
|
16
16
|
group: 'Version',
|
17
17
|
});
|
18
|
-
const
|
18
|
+
const preparedVersions = React.useMemo(() => {
|
19
19
|
if (isClusterInfoV2(cluster) && cluster.MapVersions) {
|
20
20
|
const groups = Object.entries(cluster.MapVersions).map(([version, count]) => ({
|
21
21
|
name: version,
|
22
22
|
count,
|
23
23
|
}));
|
24
|
-
return
|
24
|
+
return parseNodeGroupsToPreparedVersions(groups, versionsDataMap);
|
25
25
|
}
|
26
26
|
if (!currentData) {
|
27
27
|
return [];
|
28
28
|
}
|
29
29
|
if (Array.isArray(currentData.NodeGroups)) {
|
30
|
-
return
|
30
|
+
return parseNodeGroupsToPreparedVersions(currentData.NodeGroups, versionsDataMap);
|
31
31
|
}
|
32
|
-
return
|
32
|
+
return parseNodesToPreparedVersions(currentData.Nodes, versionsDataMap);
|
33
33
|
}, [currentData, versionsDataMap, cluster]);
|
34
|
-
return
|
35
|
-
}
|
34
|
+
return preparedVersions;
|
35
|
+
}
|
36
36
|
export function useVersionsDataMap(cluster) {
|
37
37
|
const getVersionsDataMap = useGetClusterVersionsDataMap();
|
38
38
|
return React.useMemo(() => {
|