ydb-embedded-ui 16.0.0 → 16.2.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/components/VDisk/VDisk.d.ts +2 -1
- package/dist/components/VDisk/VDisk.js +5 -2
- package/dist/components/VDisk/VDisk.js.map +1 -1
- package/dist/components/VDisk/VDisk.scss +5 -1
- package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +1 -1
- package/dist/components/VDisk/VDiskWithDonorsStack.js +2 -1
- package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js +1 -1
- package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js.map +1 -1
- 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/Clusters/Clusters.js +40 -3
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/columns.js +9 -0
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Clusters/constants.d.ts +2 -0
- package/dist/containers/Clusters/constants.js +4 -0
- package/dist/containers/Clusters/constants.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +1 -0
- package/dist/containers/Clusters/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/Storage/PaginatedStorageGroupsTable/columns/hooks.d.ts +1 -0
- package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.d.ts +1 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.d.ts +1 -0
- 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/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js +1 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.js +8 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +8 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/i18n/en.json +1 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js +3 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js +1 -0
- package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js.map +1 -1
- 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/Query/NewSQL/NewSQL.js +4 -0
- package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
- package/dist/containers/Tenant/Query/NewSQL/i18n/en.json +1 -0
- package/dist/containers/Tenant/Query/NewSQL/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/i18n/en.json +2 -0
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/newSQLQueryActions.d.ts +1 -0
- package/dist/containers/Tenant/utils/newSQLQueryActions.js +2 -1
- package/dist/containers/Tenant/utils/newSQLQueryActions.js.map +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 +26 -7
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaQueryTemplates.d.ts +1 -0
- package/dist/containers/Tenant/utils/schemaQueryTemplates.js +9 -0
- package/dist/containers/Tenant/utils/schemaQueryTemplates.js.map +1 -1
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js +9 -17
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.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/types/api/topic.d.ts +1 -0
- package/dist/utils/balancer.d.ts +1 -0
- package/dist/utils/balancer.js +5 -0
- package/dist/utils/balancer.js.map +1 -0
- package/dist/utils/clusterLinks/resolveClusterLinks.d.ts +6 -4
- package/dist/utils/clusterLinks/resolveClusterLinks.js +22 -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/useSelectedColumns.d.ts +1 -0
- package/dist/utils/hooks/useSelectedColumns.js +5 -0
- package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
- 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/dist/utils/parseBalancer.d.ts +0 -1
- package/dist/utils/parseBalancer.js +3 -6
- package/dist/utils/parseBalancer.js.map +1 -1
- 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>;
|
|
@@ -15,5 +15,6 @@ export interface VDiskProps {
|
|
|
15
15
|
highlighted?: boolean;
|
|
16
16
|
placement?: PopupPlacement;
|
|
17
17
|
popupOffset?: PopupProps['offset'];
|
|
18
|
+
withOpaqueBackground?: boolean;
|
|
18
19
|
}
|
|
19
|
-
export declare const VDisk: ({ data, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement, popupOffset, }: VDiskProps) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export declare const VDisk: ({ data, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement, popupOffset, withOpaqueBackground, }: VDiskProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,7 +10,7 @@ import { i18n } from './i18n';
|
|
|
10
10
|
import './VDisk.scss';
|
|
11
11
|
const b = cn('ydb-vdisk-component');
|
|
12
12
|
const DEFAULT_POPUP_OFFSET = { mainAxis: 2, crossAxis: 0 };
|
|
13
|
-
export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement = ['top', 'bottom', 'left', 'right'], popupOffset = DEFAULT_POPUP_OFFSET, }) => {
|
|
13
|
+
export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement = ['top', 'bottom', 'left', 'right'], popupOffset = DEFAULT_POPUP_OFFSET, withOpaqueBackground, }) => {
|
|
14
14
|
const getVDiskLink = useVDiskPagePath();
|
|
15
15
|
const vDiskPath = getVDiskLink({ nodeId: data.NodeId, vDiskId: data.StringifiedId });
|
|
16
16
|
const severity = data.Severity;
|
|
@@ -18,6 +18,9 @@ export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, on
|
|
|
18
18
|
const isDonor = data.DonorMode;
|
|
19
19
|
return (_jsx(HoverPopup, { showPopup: showPopup, onShowPopup: onShowPopup, onHidePopup: onHidePopup, renderPopupContent: () => _jsx(VDiskPopup, { data: data }), offset: popupOffset, delayClose: delayClose, delayOpen: delayOpen,
|
|
20
20
|
// Allow all placement options, component should choose first available
|
|
21
|
-
placement: placement, children: _jsx("div", { className: b(), children: _jsx(InternalLink, { to: vDiskPath, className: b('content', {
|
|
21
|
+
placement: placement, children: _jsx("div", { className: b(), children: _jsx(InternalLink, { to: vDiskPath, className: b('content', {
|
|
22
|
+
compact,
|
|
23
|
+
'with-opaque-background': withOpaqueBackground,
|
|
24
|
+
}), children: _jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: severity, compact: compact, inactive: inactive, striped: isReplicatingColor || isDonor, isDonor: isDonor, className: progressBarClassName, withIcon: withIcon, highlighted: highlighted, noDataPlaceholder: i18n('context_no-data') }) }) }) }));
|
|
22
25
|
};
|
|
23
26
|
//# sourceMappingURL=VDisk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDisk.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDisk.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,oCAAoC,EAAC,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAyB,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"VDisk.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDisk.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,oCAAoC,EAAC,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAyB,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;AAmB/E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAC9C,WAAW,GAAG,oBAAoB,EAClC,oBAAoB,GACX,EAAE,EAAE;IACb,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,YAAY,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC,CAAC;IAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,kBAAkB,GAAG,QAAQ,KAAK,oCAAoC,CAAC,IAAI,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IAE/B,OAAO,CACH,KAAC,UAAU,IACP,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,EACpD,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS;QACpB,uEAAuE;QACvE,SAAS,EAAE,SAAS,YAEpB,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,YAAY,IACT,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE;oBACpB,OAAO;oBACP,wBAAwB,EAAE,oBAAoB;iBACjD,CAAC,YAEF,KAAC,oBAAoB,IACjB,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,kBAAkB,IAAI,OAAO,EACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAC5C,GACS,GACb,GACG,CAChB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -6,7 +6,11 @@
|
|
|
6
6
|
display: block;
|
|
7
7
|
|
|
8
8
|
border-radius: var(--disk-border-radius); // to match interactive area with disk shape
|
|
9
|
-
background:
|
|
9
|
+
background: transparent;
|
|
10
|
+
|
|
11
|
+
&_with-opaque-background {
|
|
12
|
+
background: var(--g-color-base-background);
|
|
13
|
+
}
|
|
10
14
|
}
|
|
11
15
|
&__content_compact {
|
|
12
16
|
border-radius: var(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { PreparedVDisk } from '../../utils/disks/types';
|
|
2
2
|
import type { VDiskProps } from './VDisk';
|
|
3
|
-
interface VDiskWithDonorsStackProps extends VDiskProps {
|
|
3
|
+
interface VDiskWithDonorsStackProps extends Omit<VDiskProps, 'withOpaqueBackground'> {
|
|
4
4
|
data?: PreparedVDisk;
|
|
5
5
|
className?: string;
|
|
6
6
|
stackClassName?: string;
|
|
@@ -41,9 +41,10 @@ export function VDiskWithDonorsStack({ data, className, stackClassName, withIcon
|
|
|
41
41
|
compact,
|
|
42
42
|
withIcon,
|
|
43
43
|
popupOffset: diskInStackPopupOffset,
|
|
44
|
+
withOpaqueBackground: true,
|
|
44
45
|
};
|
|
45
46
|
const mainDiskPlacement = (donors === null || donors === void 0 ? void 0 : donors.length) ? diskInStackPlacement : undefined;
|
|
46
|
-
const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, compact: compact, expanded: highlightedVDiskInStack, children: [_jsx(VDisk, { placement: mainDiskPlacement, data: data, popupOffset: highlightedVDiskInStack ? diskInStackPopupOffset : undefined, ...mainVDiskProps }), donors.map((donor, index) => (_jsx(VDisk, { data: donor, placement: diskInStackPlacement, highlighted: donor.StringifiedId === internalHighlightedVDisk, onShowPopup: () => {
|
|
47
|
+
const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, compact: compact, expanded: highlightedVDiskInStack, children: [_jsx(VDisk, { placement: mainDiskPlacement, data: data, popupOffset: highlightedVDiskInStack ? diskInStackPopupOffset : undefined, ...mainVDiskProps, withOpaqueBackground: true }), donors.map((donor, index) => (_jsx(VDisk, { data: donor, placement: diskInStackPlacement, highlighted: donor.StringifiedId === internalHighlightedVDisk, onShowPopup: () => {
|
|
47
48
|
if (donor.StringifiedId) {
|
|
48
49
|
setInternalHighlightedVDisk === null || setInternalHighlightedVDisk === void 0 ? void 0 : setInternalHighlightedVDisk(donor.StringifiedId);
|
|
49
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAW9B,MAAM,oBAAoB,GAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/D,MAAM,sBAAsB,GAAG,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;AAE3D,MAAM,UAAU,oBAAoB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,EACzB,GAAG,SAAS,EACY;IACxB,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;IACpC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,KAAK,OAAO,CAAC,CAAC;IAEvE,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAEzF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAC1B,GAAG,EAAE,WAAC,OAAA,IAAI,GAAG,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,EAChE,CAAC,MAAM,CAAC,CACX,CAAC;IAEF,MAAM,uBAAuB,GAAG,OAAO,CACnC,wBAAwB;QACpB,CAAC,wBAAwB,KAAK,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CACvF,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,OAAO,EAAE,CAAC;YACV,2BAA2B,CAAC,OAAO,CAAC,CAAC;YACrC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,SAAS,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,cAAc,GAAwB;QACxC,GAAG,SAAS;QACZ,OAAO;QACP,QAAQ;QACR,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,aAAa;QAC1B,WAAW;QACX,WAAW;KACd,CAAC;IAEF,6EAA6E;IAC7E,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,eAAe,GAAwB;QACzC,GAAG,SAAS;QACZ,OAAO;QACP,QAAQ;QACR,WAAW,EAAE,sBAAsB;
|
|
1
|
+
{"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ function ClusterDoughnuts({ cluster, loading, collapsed }) {
|
|
|
60
60
|
valueIsDefined(cluster.MapStorageUsed) &&
|
|
61
61
|
valueIsDefined(cluster.MapStorageTotal)) {
|
|
62
62
|
const { MapStorageUsed, MapStorageTotal } = cluster;
|
|
63
|
-
const storageTypes = Array.from(new Set(Object.keys(MapStorageUsed).concat(Object.keys(MapStorageTotal))));
|
|
63
|
+
const storageTypes = Array.from(new Set(Object.keys(MapStorageUsed).concat(Object.keys(MapStorageTotal)))).sort();
|
|
64
64
|
storageTypes.forEach((storageType) => {
|
|
65
65
|
const used = MapStorageUsed[storageType];
|
|
66
66
|
const total = MapStorageTotal[storageType];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterOverview.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterOverview/ClusterOverview.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ClusterOverview.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterOverview/ClusterOverview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
@@ -67,8 +67,45 @@ export function Clusters({ scrollContainerRef }) {
|
|
|
67
67
|
onStatusClick: handleStatusClick,
|
|
68
68
|
});
|
|
69
69
|
}, [isDeleteClusterAvailable, isEditClusterAvailable, handleStatusClick]);
|
|
70
|
-
const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(rawColumns, CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_TITLES, DEFAULT_COLUMNS, [COLUMNS_NAMES.TITLE]);
|
|
71
70
|
const clusters = query.data;
|
|
71
|
+
// Check which columns have data across all clusters
|
|
72
|
+
const { hasAnyStatus, hasAnyService, hasAnyGalaxy } = React.useMemo(() => {
|
|
73
|
+
if (!clusters || clusters.length === 0) {
|
|
74
|
+
return { hasAnyStatus: true, hasAnyService: true, hasAnyGalaxy: true };
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
hasAnyStatus: clusters.some((cluster) => cluster.status),
|
|
78
|
+
hasAnyService: clusters.some((cluster) => cluster.service),
|
|
79
|
+
hasAnyGalaxy: clusters.some((cluster) => cluster.galaxy),
|
|
80
|
+
};
|
|
81
|
+
}, [clusters]);
|
|
82
|
+
const { columnsToShow, columnsToSelect, setColumns, selectedColumnIds } = useSelectedColumns(rawColumns, CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_TITLES, DEFAULT_COLUMNS, [COLUMNS_NAMES.TITLE]);
|
|
83
|
+
// Filter out empty columns that user has NOT explicitly selected
|
|
84
|
+
// This hides them from both the table and the column selector
|
|
85
|
+
const filteredColumnsToSelect = React.useMemo(() => {
|
|
86
|
+
return columnsToSelect.filter((column) => {
|
|
87
|
+
// If user explicitly selected this column, always show it
|
|
88
|
+
if (selectedColumnIds.has(column.id)) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
// Otherwise, hide empty columns
|
|
92
|
+
if (column.id === COLUMNS_NAMES.STATUS && !hasAnyStatus) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (column.id === COLUMNS_NAMES.SERVICE && !hasAnyService) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
if (column.id === COLUMNS_NAMES.GALAXY && !hasAnyGalaxy) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
});
|
|
103
|
+
}, [columnsToSelect, selectedColumnIds, hasAnyStatus, hasAnyService, hasAnyGalaxy]);
|
|
104
|
+
// Filter columns to show based on filtered selector
|
|
105
|
+
const filteredColumnsToShow = React.useMemo(() => {
|
|
106
|
+
const allowedColumnIds = new Set(filteredColumnsToSelect.map((col) => col.id));
|
|
107
|
+
return columnsToShow.filter((column) => allowedColumnIds.has(column.name));
|
|
108
|
+
}, [columnsToShow, filteredColumnsToSelect]);
|
|
72
109
|
const { servicesToSelect, versions, galaxiesToSelect } = React.useMemo(() => {
|
|
73
110
|
const clustersServices = new Set();
|
|
74
111
|
const uniqVersions = new Set();
|
|
@@ -110,7 +147,7 @@ export function Clusters({ scrollContainerRef }) {
|
|
|
110
147
|
return (_jsxs(React.Fragment, { children: [_jsx(Search, { placeholder: i18n('controls_search-placeholder'), endContent: _jsx(Icon, { data: Magnifier, className: b('search-icon') }), onChange: changeClusterName, value: clusterName, width: 320 }), galaxiesToSelect.length > 0 || galaxy.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_galaxy-select-label'), value: galaxy, options: galaxiesToSelect, onUpdate: changeGalaxy, width: 200 })) : null, statuses.length > 0 || status.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_status-select-label'), value: status, options: statuses, onUpdate: changeStatus, width: 200 })) : null, servicesToSelect.length > 0 || service.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_service-select-label'), value: service, options: servicesToSelect, onUpdate: changeService, width: 200 })) : null, versions.length > 0 || version.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_version-select-label'), value: version, options: versions, onUpdate: changeVersion, width: 200 })) : null] }));
|
|
111
148
|
};
|
|
112
149
|
const renderColumnSetup = () => {
|
|
113
|
-
return (_jsx(TableColumnSetup, { popupWidth: 242, items:
|
|
150
|
+
return (_jsx(TableColumnSetup, { popupWidth: 242, items: filteredColumnsToSelect, showStatus: true, onUpdate: setColumns }));
|
|
114
151
|
};
|
|
115
152
|
const renderClustersCount = () => {
|
|
116
153
|
if (query.isLoading) {
|
|
@@ -119,7 +156,7 @@ export function Clusters({ scrollContainerRef }) {
|
|
|
119
156
|
return (_jsx(Text, { variant: "body-1", color: "hint", className: b('clusters-count'), children: i18n('clusters-count', { count: filteredClusters.length }) }));
|
|
120
157
|
};
|
|
121
158
|
const renderContent = () => {
|
|
122
|
-
return (_jsx(ResizeableDataTable, { isLoading: query.isLoading, columnsWidthLSKey: CLUSTERS_COLUMNS_WIDTH_LS_KEY, wrapperClassName: b('table'), data: filteredClusters, columns:
|
|
159
|
+
return (_jsx(ResizeableDataTable, { isLoading: query.isLoading, columnsWidthLSKey: CLUSTERS_COLUMNS_WIDTH_LS_KEY, wrapperClassName: b('table'), data: filteredClusters, columns: filteredColumnsToShow, settings: { ...DEFAULT_TABLE_SETTINGS, dynamicRender: false }, initialSortOrder: {
|
|
123
160
|
columnId: COLUMNS_NAMES.TITLE,
|
|
124
161
|
order: DataTable.ASCENDING,
|
|
125
162
|
} }));
|