ydb-embedded-ui 15.7.0 → 16.0.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/EvictVDiskButton/i18n/en.json +2 -2
- package/dist/components/MetricChart/reducer.d.ts +2 -2
- package/dist/components/PDiskInfo/PDiskInfo.js +4 -1
- package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/en.json +1 -0
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js +6 -2
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
- package/dist/components/StorageGroupInfo/i18n/en.json +1 -0
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.js +2 -2
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +2 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
- package/dist/containers/App/NavigationWrapper.js +4 -2
- package/dist/containers/App/NavigationWrapper.js.map +1 -1
- package/dist/containers/Clusters/Clusters.js +17 -5
- package/dist/containers/Clusters/Clusters.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/Header/hooks/useClusterData.d.ts +1 -0
- package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +37 -3
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.d.ts +16 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +131 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.scss +79 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +22 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +20 -0
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +11 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +7 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +3 -8
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +6 -11
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +4 -12
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +16 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.d.ts +4 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js +36 -9
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.scss +6 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.d.ts +4 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.js +23 -15
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.scss +6 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.d.ts +9 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.js +15 -10
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.js +4 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/displayFormatters.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +2 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.d.ts +5 -5
- package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +3 -8
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js +10 -10
- package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +1 -14
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.d.ts +2 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +11 -27
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/shared.d.ts +9 -4
- package/dist/containers/Tenant/Healthcheck/shared.js +15 -26
- package/dist/containers/Tenant/Healthcheck/shared.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/utils.d.ts +3 -0
- package/dist/containers/Tenant/Healthcheck/utils.js +16 -0
- package/dist/containers/Tenant/Healthcheck/utils.js.map +1 -0
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +3 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/constants.d.ts +6 -0
- package/dist/containers/Tenant/constants.js +8 -0
- package/dist/containers/Tenant/constants.js.map +1 -1
- package/dist/containers/Tenant/i18n/en.json +1 -0
- package/dist/containers/Tenant/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/Setting.d.ts +7 -1
- package/dist/containers/UserSettings/Setting.js +4 -3
- package/dist/containers/UserSettings/Setting.js.map +1 -1
- package/dist/containers/UserSettings/UserSettings.js +3 -1
- package/dist/containers/UserSettings/UserSettings.js.map +1 -1
- package/dist/containers/UserSettings/settings.d.ts +1 -0
- package/dist/containers/UserSettings/settings.js +17 -6
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/store/configureStore.d.ts +5 -4
- package/dist/store/configureStore.js +3 -1
- package/dist/store/configureStore.js.map +1 -1
- package/dist/store/defaultStore.d.ts +2 -2
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/api.js +1 -0
- 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 +7 -6
- package/dist/store/reducers/capabilities/hooks.js +8 -1
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.d.ts +6 -5
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/clusters/clusters.js +1 -0
- package/dist/store/reducers/clusters/clusters.js.map +1 -1
- package/dist/store/reducers/clusters/selectors.d.ts +1 -0
- package/dist/store/reducers/clusters/selectors.js +7 -1
- package/dist/store/reducers/clusters/selectors.js.map +1 -1
- package/dist/store/reducers/clusters/types.d.ts +1 -0
- 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 +119 -119
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js.map +1 -1
- package/dist/store/reducers/healthcheckInfo/types.d.ts +1 -1
- package/dist/store/reducers/healthcheckInfo/utils.js +18 -12
- package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
- 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 +10 -5
- package/dist/store/reducers/operations.js +50 -1
- 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 +4 -2
- package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.js +28 -5
- package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.js.map +1 -1
- 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/meta.d.ts +1 -0
- package/dist/types/api/storage.d.ts +4 -0
- package/dist/types/api/storage.js +4 -1
- package/dist/types/api/storage.js.map +1 -1
- package/dist/uiFactory/types.d.ts +10 -4
- package/dist/uiFactory/uiFactory.d.ts +6 -2
- package/dist/uiFactory/uiFactory.js +17 -3
- package/dist/uiFactory/uiFactory.js.map +1 -1
- package/dist/utils/featureFlags.d.ts +2 -0
- package/dist/utils/featureFlags.js +6 -0
- package/dist/utils/featureFlags.js.map +1 -0
- package/dist/utils/storageMetrics.d.ts +2 -2
- package/dist/utils/storageMetrics.js +10 -1
- package/dist/utils/storageMetrics.js.map +1 -1
- package/dist/utils/tableCompaction.d.ts +22 -0
- package/dist/utils/tableCompaction.js +50 -0
- package/dist/utils/tableCompaction.js.map +1 -0
- package/package.json +2 -2
|
@@ -3,11 +3,9 @@ import { Flex } from '@gravity-ui/uikit';
|
|
|
3
3
|
import { InfoViewer } from '../../../../../components/InfoViewer/InfoViewer';
|
|
4
4
|
import { LabelWithPopover } from '../../../../../components/LabelWithPopover';
|
|
5
5
|
import { ProgressWrapper } from '../../../../../components/ProgressWrapper';
|
|
6
|
-
import { getTenantPath } from '../../../../../routes';
|
|
7
6
|
import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
|
|
8
7
|
import { formatStorageValues } from '../../../../../utils/dataFormatters/dataFormatters';
|
|
9
|
-
import {
|
|
10
|
-
import { TenantTabsGroups } from '../../../TenantPages';
|
|
8
|
+
import { useDiagnosticsPageLinkGetter } from '../../DiagnosticsPages';
|
|
11
9
|
import { StatsWrapper } from '../StatsWrapper/StatsWrapper';
|
|
12
10
|
import { TenantDashboard } from '../TenantDashboard/TenantDashboard';
|
|
13
11
|
import { TopGroups } from './TopGroups';
|
|
@@ -16,7 +14,7 @@ import i18n from './i18n';
|
|
|
16
14
|
import { storageDashboardConfig } from './storageDashboardConfig';
|
|
17
15
|
export function TenantStorage({ database, metrics, databaseType }) {
|
|
18
16
|
const { blobStorageUsed, tabletStorageUsed, blobStorageLimit, tabletStorageLimit } = metrics;
|
|
19
|
-
const
|
|
17
|
+
const getDiagnosticsPageLink = useDiagnosticsPageLinkGetter();
|
|
20
18
|
const info = [
|
|
21
19
|
{
|
|
22
20
|
label: (_jsx(LabelWithPopover, { text: i18n('title_tablet-storage'), popoverContent: i18n('context_tablet-storage-description') })),
|
|
@@ -28,14 +26,8 @@ export function TenantStorage({ database, metrics, databaseType }) {
|
|
|
28
26
|
},
|
|
29
27
|
];
|
|
30
28
|
if (databaseType === 'Serverless') {
|
|
31
|
-
return (_jsx(Flex, { direction: "column", gap: 4, children: _jsx(StatsWrapper, { title: i18n('title_top-tables-by-size'), allEntitiesLink:
|
|
32
|
-
...query,
|
|
33
|
-
[TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS.storage,
|
|
34
|
-
}), children: _jsx(TopTables, { database: database }) }) }));
|
|
29
|
+
return (_jsx(Flex, { direction: "column", gap: 4, children: _jsx(StatsWrapper, { title: i18n('title_top-tables-by-size'), allEntitiesLink: getDiagnosticsPageLink(TENANT_DIAGNOSTICS_TABS_IDS.storage), children: _jsx(TopTables, { database: database }) }) }));
|
|
35
30
|
}
|
|
36
|
-
return (_jsxs(Flex, { direction: "column", gap: 4, children: [_jsx(TenantDashboard, { database: database, charts: storageDashboardConfig }), _jsx(InfoViewer, { variant: "small", title: i18n('title_storage-details'), info: info }), _jsx(StatsWrapper, { title: i18n('title_top-tables-by-size'), children: _jsx(TopTables, { database: database }) }), _jsx(StatsWrapper, { title: i18n('title_top-groups-by-usage'), allEntitiesLink:
|
|
37
|
-
...query,
|
|
38
|
-
[TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS.storage,
|
|
39
|
-
}), children: _jsx(TopGroups, { tenant: database }) })] }));
|
|
31
|
+
return (_jsxs(Flex, { direction: "column", gap: 4, children: [_jsx(TenantDashboard, { database: database, charts: storageDashboardConfig }), _jsx(InfoViewer, { variant: "small", title: i18n('title_storage-details'), info: info }), _jsx(StatsWrapper, { title: i18n('title_top-tables-by-size'), children: _jsx(TopTables, { database: database }) }), _jsx(StatsWrapper, { title: i18n('title_top-groups-by-usage'), allEntitiesLink: getDiagnosticsPageLink(TENANT_DIAGNOSTICS_TABS_IDS.storage), children: _jsx(TopGroups, { tenant: database }) })] }));
|
|
40
32
|
}
|
|
41
33
|
//# sourceMappingURL=TenantStorage.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantStorage.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,UAAU,EAAC,MAAM,iDAAiD,CAAC;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAC,eAAe,EAAC,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"TenantStorage.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { Flex } from '@gravity-ui/uikit';
|
|
3
|
+
import { Alert, Flex } from '@gravity-ui/uikit';
|
|
4
4
|
import { ResponseError } from '../../../../../components/Errors/ResponseError';
|
|
5
5
|
import { Skeleton } from '../../../../../components/Skeleton/Skeleton';
|
|
6
|
+
import { EStorageStatsProblem } from '../../../../../types/api/storage';
|
|
6
7
|
import { cn } from '../../../../../utils/cn';
|
|
8
|
+
import { useIsViewerUser } from '../../../../../utils/hooks/useIsUserAllowedToMakeChanges';
|
|
7
9
|
import { TenantStorageGroupedMediaSectionsView, TenantStorageMediaSectionView, } from './TenantStorageSummarySections';
|
|
8
10
|
import { TenantStorageTopUsageTable } from './TenantStorageTopUsageTable';
|
|
11
|
+
import i18n from './i18n';
|
|
9
12
|
import { useTenantStorageNewData } from './useTenantStorageNewData';
|
|
10
13
|
import { buildTenantStorageMediaSections } from './utils';
|
|
11
14
|
import './TenantStorageNew.scss';
|
|
12
15
|
const b = cn('ydb-tenant-storage-new');
|
|
13
|
-
function TenantStorageSummarySkeleton() {
|
|
14
|
-
|
|
16
|
+
function TenantStorageSummarySkeleton({ showPhysicalDiskUsage }) {
|
|
17
|
+
const skeletonCards = React.useMemo(() => {
|
|
18
|
+
return Array.from({ length: showPhysicalDiskUsage ? 2 : 1 }, (_, index) => index);
|
|
19
|
+
}, [showPhysicalDiskUsage]);
|
|
20
|
+
return (_jsx(Flex, { direction: "column", className: b('sections-group'), children: _jsx(Flex, { direction: "column", gap: 3, className: b('sections-inner'), children: skeletonCards.map((cardIndex) => (_jsxs(Flex, { direction: "column", gap: 3, className: b('summary-skeleton-card'), children: [_jsx(Skeleton, { className: b('summary-skeleton-title'), delay: 0 }), _jsx(Skeleton, { className: b('summary-skeleton-description'), delay: 0 }), _jsx(Flex, { direction: "column", gap: 3, className: b('summary-skeleton-rows'), children: _jsxs(Flex, { direction: "column", gap: 3, className: b('summary-skeleton-row'), children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "flex-start", gap: 4, className: b('summary-skeleton-header'), children: [_jsx("div", {}), _jsx(Flex, { wrap: true, justifyContent: "flex-end", gap: 3, className: b('summary-skeleton-metrics'), children: [0, 1, 2].map((metricIndex) => (_jsx(Skeleton, { className: b('summary-skeleton-metric'), delay: 0 }, metricIndex))) })] }), _jsx(Skeleton, { className: b('summary-skeleton-progress'), delay: 0 }), _jsx(Flex, { justifyContent: "flex-end", className: b('summary-skeleton-footer'), children: _jsx(Skeleton, { className: b('summary-skeleton-percent'), delay: 0 }) })] }) })] }, cardIndex))) }) }));
|
|
15
21
|
}
|
|
16
22
|
export function TenantStorageNew({ database, databaseFullPath, metrics, blobStorageStats, tabletStorageStats, }) {
|
|
17
23
|
var _a;
|
|
@@ -21,6 +27,7 @@ export function TenantStorageNew({ database, databaseFullPath, metrics, blobStor
|
|
|
21
27
|
metrics,
|
|
22
28
|
});
|
|
23
29
|
const loading = isFetching && currentData === undefined;
|
|
30
|
+
const isViewerUser = useIsViewerUser();
|
|
24
31
|
const mediaSections = React.useMemo(() => {
|
|
25
32
|
return buildTenantStorageMediaSections({
|
|
26
33
|
blobStorageStats,
|
|
@@ -28,14 +35,18 @@ export function TenantStorageNew({ database, databaseFullPath, metrics, blobStor
|
|
|
28
35
|
tabletStorageStats,
|
|
29
36
|
});
|
|
30
37
|
}, [blobStorageStats, metrics, tabletStorageStats]);
|
|
38
|
+
const showDataIncompleteAlert = React.useMemo(() => {
|
|
39
|
+
var _a;
|
|
40
|
+
return ((_a = currentData === null || currentData === void 0 ? void 0 : currentData.problems) !== null && _a !== void 0 ? _a : []).includes(EStorageStatsProblem.DataIncomplete);
|
|
41
|
+
}, [currentData === null || currentData === void 0 ? void 0 : currentData.problems]);
|
|
31
42
|
if (error && !currentData) {
|
|
32
43
|
return _jsx(ResponseError, { error: error });
|
|
33
44
|
}
|
|
34
45
|
const topRowsError = (_a = data.topRowsError) !== null && _a !== void 0 ? _a : error;
|
|
35
46
|
const grouped = mediaSections.length > 1;
|
|
36
47
|
if (loading) {
|
|
37
|
-
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [_jsx(TenantStorageSummarySkeleton, {}), _jsx(TenantStorageTopUsageTable, { loading: true, error: undefined, rows: [], withData: false })] }));
|
|
48
|
+
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [_jsx(TenantStorageSummarySkeleton, { showPhysicalDiskUsage: isViewerUser }), _jsx(TenantStorageTopUsageTable, { loading: true, error: undefined, rows: [], withData: false })] }));
|
|
38
49
|
}
|
|
39
|
-
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [_jsx("div", { className: b('sections-group'), children: _jsx("div", { className: b('sections-inner'), children: grouped ? (_jsx(TenantStorageGroupedMediaSectionsView, { sections: mediaSections, data: data })) : (mediaSections.map((section, index) => (_jsx(TenantStorageMediaSectionView, { section: section, showMediaTypeLabel: false, data: data }, `${section.mediaType}-${index}`)))) }) }), _jsx(TenantStorageTopUsageTable, { loading: false, error: topRowsError, rows: data.topRows, withData: Boolean(currentData) })] }));
|
|
50
|
+
return (_jsxs(Flex, { direction: "column", gap: 4, className: b(), children: [showDataIncompleteAlert ? (_jsx(Alert, { theme: "warning", view: "filled", message: i18n('alert_data-incomplete') })) : null, _jsx("div", { className: b('sections-group'), children: _jsx("div", { className: b('sections-inner'), children: grouped ? (_jsx(TenantStorageGroupedMediaSectionsView, { sections: mediaSections, data: data, showPhysicalDiskUsage: isViewerUser })) : (mediaSections.map((section, index) => (_jsx(TenantStorageMediaSectionView, { section: section, showMediaTypeLabel: false, data: data, showPhysicalDiskUsage: isViewerUser }, `${section.mediaType}-${index}`)))) }) }), _jsx(TenantStorageTopUsageTable, { loading: false, error: topRowsError, rows: data.topRows, withData: Boolean(currentData) })] }));
|
|
40
51
|
}
|
|
41
52
|
//# sourceMappingURL=TenantStorageNew.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantStorageNew.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TenantStorageNew.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.tsx"],"names":[],"mappings":"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"}
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { TenantStorageSegment, TenantStorageSegmentKey, TenantStorageSystemDetail } from './utils';
|
|
2
2
|
import './TenantStorageSegments.scss';
|
|
3
|
+
export type TenantStorageSegmentOpenSource = 'progress' | 'legend' | 'system-details';
|
|
4
|
+
export type TenantStorageSegmentOpenChange = (segmentKey: TenantStorageSegmentKey, open: boolean, source: TenantStorageSegmentOpenSource) => void;
|
|
3
5
|
export declare function SegmentTooltipContent({ formatValue, segment, total, totalLabel, }: {
|
|
4
6
|
formatValue: (value: number) => string;
|
|
5
7
|
segment: TenantStorageSegment;
|
|
@@ -10,7 +12,7 @@ export declare function SegmentedProgressBar({ activeSegmentKey, formatValue, fo
|
|
|
10
12
|
activeSegmentKey?: TenantStorageSegmentKey;
|
|
11
13
|
formatValue: (value: number) => string;
|
|
12
14
|
formatTooltipValue: (value: number) => string;
|
|
13
|
-
onSegmentOpenChange:
|
|
15
|
+
onSegmentOpenChange: TenantStorageSegmentOpenChange;
|
|
14
16
|
segments: TenantStorageSegment[];
|
|
15
17
|
tooltipTotal: number;
|
|
16
18
|
tooltipTotalLabel: string;
|
|
@@ -22,7 +24,7 @@ export declare function LegendItems({ activeSegmentKey, segments, formatValue, f
|
|
|
22
24
|
formatValue: (value: number) => string;
|
|
23
25
|
formatTooltipValue: (value: number) => string;
|
|
24
26
|
formatSystemDetailValue?: (value: number) => string;
|
|
25
|
-
onSegmentOpenChange:
|
|
27
|
+
onSegmentOpenChange: TenantStorageSegmentOpenChange;
|
|
26
28
|
systemDetails?: TenantStorageSystemDetail[];
|
|
27
29
|
tooltipTotal: number;
|
|
28
30
|
tooltipTotalLabel: string;
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
2
3
|
import { Flex, HelpMark, Progress, Text, Tooltip } from '@gravity-ui/uikit';
|
|
3
4
|
import { cn } from '../../../../../utils/cn';
|
|
4
5
|
import { formatPercent } from '../../../../../utils/dataFormatters/dataFormatters';
|
|
@@ -8,7 +9,9 @@ import './TenantStorageSegments.scss';
|
|
|
8
9
|
const b = cn('ydb-tenant-storage-segments');
|
|
9
10
|
const SEGMENT_TOOLTIP_OPEN_DELAY = 100;
|
|
10
11
|
const SEGMENT_TOOLTIP_CLOSE_DELAY = 100;
|
|
11
|
-
const
|
|
12
|
+
const SEGMENT_TOOLTIP_WITH_HELP_MARK_CLOSE_DELAY = 250;
|
|
13
|
+
const PROGRESS_TOOLTIP_PLACEMENT = ['top', 'bottom'];
|
|
14
|
+
const LEGEND_TOOLTIP_PLACEMENT = ['bottom', 'top'];
|
|
12
15
|
const SEGMENT_COLORS = {
|
|
13
16
|
[TENANT_STORAGE_SEGMENT_KEYS.rowTables]: 'var(--ydb-storage-segment-row-tables)',
|
|
14
17
|
[TENANT_STORAGE_SEGMENT_KEYS.columnTables]: 'var(--ydb-storage-segment-column-tables)',
|
|
@@ -64,8 +67,8 @@ export function SegmentTooltipContent({ formatValue, segment, total, totalLabel,
|
|
|
64
67
|
const percent = formatSegmentPercent(getSegmentProgressValue(segment), total);
|
|
65
68
|
return (_jsxs("ul", { className: b('tooltip'), children: [_jsx("li", { children: formatValue(getTenantStorageSegmentDisplayValue(segment)) }), percent ? (_jsx("li", { children: i18n('context_segment-share', { value: percent, totalLabel }) })) : null] }));
|
|
66
69
|
}
|
|
67
|
-
function SegmentTooltip({ children, formatValue, onOpenChange, segment, total, totalLabel, }) {
|
|
68
|
-
return (_jsx(Tooltip, { placement:
|
|
70
|
+
function SegmentTooltip({ children, closeDelay = SEGMENT_TOOLTIP_CLOSE_DELAY, formatValue, onOpenChange, placement, segment, source, total, totalLabel, }) {
|
|
71
|
+
return (_jsx(Tooltip, { placement: placement, openDelay: SEGMENT_TOOLTIP_OPEN_DELAY, closeDelay: closeDelay, content: _jsx(SegmentTooltipContent, { formatValue: formatValue, segment: segment, total: total, totalLabel: totalLabel }), onOpenChange: (open) => onOpenChange(segment.key, open, source), children: children }));
|
|
69
72
|
}
|
|
70
73
|
export function SegmentedProgressBar({ activeSegmentKey, formatValue, formatTooltipValue, onSegmentOpenChange, segments, tooltipTotal, tooltipTotalLabel, total, }) {
|
|
71
74
|
const activeSegments = getActiveDisplaySegments(segments);
|
|
@@ -77,12 +80,40 @@ export function SegmentedProgressBar({ activeSegmentKey, formatValue, formatTool
|
|
|
77
80
|
const cappedTotal = Math.max(effectiveTotal, segmentSum);
|
|
78
81
|
return (_jsxs("div", { className: b('progress'), children: [activeSegments.map((segment) => {
|
|
79
82
|
const inactive = activeSegmentKey !== undefined && activeSegmentKey !== segment.key;
|
|
80
|
-
return (_jsx(SegmentTooltip, { formatValue: formatTooltipValue, onOpenChange: onSegmentOpenChange, segment: segment, total: tooltipTotal, totalLabel: tooltipTotalLabel, children: _jsx("div", { "aria-label": `${SEGMENT_LABELS[segment.key]}: ${formatValue(getTenantStorageSegmentDisplayValue(segment))}`, className: b('item', { inactive }), onMouseDown: (event) => event.preventDefault(), style: {
|
|
83
|
+
return (_jsx(SegmentTooltip, { formatValue: formatTooltipValue, onOpenChange: onSegmentOpenChange, placement: PROGRESS_TOOLTIP_PLACEMENT, segment: segment, source: "progress", total: tooltipTotal, totalLabel: tooltipTotalLabel, children: _jsx("div", { "aria-label": `${SEGMENT_LABELS[segment.key]}: ${formatValue(getTenantStorageSegmentDisplayValue(segment))}`, className: b('item', { inactive }), onMouseDown: (event) => event.preventDefault(), style: {
|
|
81
84
|
width: `${(getSegmentProgressValue(segment) / cappedTotal) * 100}%`,
|
|
82
85
|
background: SEGMENT_COLORS[segment.key],
|
|
83
86
|
}, tabIndex: 0 }) }, segment.key));
|
|
84
87
|
}), _jsx("div", { className: b('empty', { inactive: activeSegmentKey !== undefined }) })] }));
|
|
85
88
|
}
|
|
89
|
+
const LegendItemContent = React.forwardRef(({ className, formatValue, onMouseDown, segment, ...props }, ref) => {
|
|
90
|
+
const formattedValue = formatValue(getTenantStorageSegmentDisplayValue(segment));
|
|
91
|
+
const handleMouseDown = React.useCallback((event) => {
|
|
92
|
+
onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown(event);
|
|
93
|
+
event.preventDefault();
|
|
94
|
+
}, [onMouseDown]);
|
|
95
|
+
return (_jsxs("div", { ...props, ref: ref, className: b('legend-content', className), onMouseDown: handleMouseDown, tabIndex: 0, children: [_jsx("div", { "aria-hidden": "true", className: b('legend-dot'), style: { background: SEGMENT_COLORS[segment.key] } }), _jsx("div", { className: b('legend-label'), children: _jsx(Text, { children: SEGMENT_LABELS[segment.key] }) }), _jsx(Text, { color: "secondary", children: formattedValue })] }));
|
|
96
|
+
});
|
|
97
|
+
LegendItemContent.displayName = 'LegendItemContent';
|
|
98
|
+
function SystemDetailsHelpMark({ describedBy, details, formatSystemDetailValue, formatValue, onOpenChange, segmentKey, }) {
|
|
99
|
+
const handleOpenChange = React.useCallback((open) => {
|
|
100
|
+
onOpenChange(segmentKey, open, 'system-details');
|
|
101
|
+
}, [onOpenChange, segmentKey]);
|
|
102
|
+
return (_jsx(HelpMark, { "aria-describedby": describedBy, iconSize: "s", popoverProps: {
|
|
103
|
+
placement: LEGEND_TOOLTIP_PLACEMENT,
|
|
104
|
+
openDelay: SEGMENT_TOOLTIP_OPEN_DELAY,
|
|
105
|
+
onOpenChange: handleOpenChange,
|
|
106
|
+
}, children: _jsx(Flex, { direction: "column", gap: "1", className: b('system-tooltip'), children: details.map((detail) => {
|
|
107
|
+
var _a;
|
|
108
|
+
return (_jsxs(Flex, { justifyContent: "space-between", gap: "4", className: b('system-tooltip-row'), children: [_jsx(Text, { children: SYSTEM_DETAIL_LABELS[detail.key] }), _jsx(Text, { color: "secondary", children: (_a = formatSystemDetailValue === null || formatSystemDetailValue === void 0 ? void 0 : formatSystemDetailValue(detail.value)) !== null && _a !== void 0 ? _a : formatValue(detail.value) })] }, detail.key));
|
|
109
|
+
}) }) }));
|
|
110
|
+
}
|
|
111
|
+
function LegendItem({ activeSegmentKey, formatSystemDetailValue, formatTooltipValue, formatValue, onSegmentOpenChange, segment, showSystemDetails, systemDetails, tooltipTotal, tooltipTotalLabel, }) {
|
|
112
|
+
const contentId = React.useId();
|
|
113
|
+
const inactive = activeSegmentKey !== undefined && activeSegmentKey !== segment.key;
|
|
114
|
+
const closeDelay = showSystemDetails ? SEGMENT_TOOLTIP_WITH_HELP_MARK_CLOSE_DELAY : undefined;
|
|
115
|
+
return (_jsxs("div", { "aria-labelledby": contentId, className: b('legend-item', { inactive }), role: "group", children: [_jsx(SegmentTooltip, { closeDelay: closeDelay, formatValue: formatTooltipValue, onOpenChange: onSegmentOpenChange, placement: LEGEND_TOOLTIP_PLACEMENT, segment: segment, source: "legend", total: tooltipTotal, totalLabel: tooltipTotalLabel, children: _jsx(LegendItemContent, { id: contentId, formatValue: formatValue, segment: segment }) }), showSystemDetails ? (_jsx(SystemDetailsHelpMark, { describedBy: contentId, details: systemDetails, formatSystemDetailValue: formatSystemDetailValue, formatValue: formatValue, onOpenChange: onSegmentOpenChange, segmentKey: segment.key })) : null] }));
|
|
116
|
+
}
|
|
86
117
|
export function LegendItems({ activeSegmentKey, segments, formatValue, formatTooltipValue, formatSystemDetailValue, onSegmentOpenChange, systemDetails, tooltipTotal, tooltipTotalLabel, }) {
|
|
87
118
|
const activeSegments = getActiveDisplaySegments(segments);
|
|
88
119
|
const visibleSystemDetails = (systemDetails !== null && systemDetails !== void 0 ? systemDetails : []).filter((detail) => detail.value > 0);
|
|
@@ -92,11 +123,7 @@ export function LegendItems({ activeSegmentKey, segments, formatValue, formatToo
|
|
|
92
123
|
return (_jsx("div", { className: b('legend-items'), children: activeSegments.map((segment) => {
|
|
93
124
|
const isSystemSegment = segment.key === TENANT_STORAGE_SEGMENT_KEYS.system;
|
|
94
125
|
const showSystemDetails = isSystemSegment && visibleSystemDetails.length > 0;
|
|
95
|
-
|
|
96
|
-
return (_jsx(SegmentTooltip, { formatValue: formatTooltipValue, onOpenChange: onSegmentOpenChange, segment: segment, total: tooltipTotal, totalLabel: tooltipTotalLabel, children: _jsxs("div", { "aria-label": `${SEGMENT_LABELS[segment.key]}: ${formatValue(getTenantStorageSegmentDisplayValue(segment))}`, className: b('legend-item', { inactive }), onMouseDown: (event) => event.preventDefault(), tabIndex: 0, children: [_jsx("div", { className: b('legend-dot'), style: { background: SEGMENT_COLORS[segment.key] } }), _jsx("div", { className: b('legend-label'), children: _jsx(Text, { children: SEGMENT_LABELS[segment.key] }) }), _jsx(Text, { color: "secondary", children: formatValue(getTenantStorageSegmentDisplayValue(segment)) }), showSystemDetails ? (_jsx(HelpMark, { iconSize: "s", children: _jsx(Flex, { direction: "column", gap: "1", className: b('system-tooltip'), children: visibleSystemDetails.map((detail) => {
|
|
97
|
-
var _a;
|
|
98
|
-
return (_jsxs(Flex, { justifyContent: "space-between", gap: "4", className: b('system-tooltip-row'), children: [_jsx(Text, { children: SYSTEM_DETAIL_LABELS[detail.key] }), _jsx(Text, { color: "secondary", children: (_a = formatSystemDetailValue === null || formatSystemDetailValue === void 0 ? void 0 : formatSystemDetailValue(detail.value)) !== null && _a !== void 0 ? _a : formatValue(detail.value) })] }, detail.key));
|
|
99
|
-
}) }) })) : null] }) }, segment.key));
|
|
126
|
+
return (_jsx(LegendItem, { activeSegmentKey: activeSegmentKey, formatSystemDetailValue: formatSystemDetailValue, formatTooltipValue: formatTooltipValue, formatValue: formatValue, onSegmentOpenChange: onSegmentOpenChange, segment: segment, showSystemDetails: showSystemDetails, systemDetails: visibleSystemDetails, tooltipTotal: tooltipTotal, tooltipTotalLabel: tooltipTotalLabel }, segment.key));
|
|
100
127
|
}) }));
|
|
101
128
|
}
|
|
102
129
|
//# sourceMappingURL=TenantStorageSegments.js.map
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantStorageSegments.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"TenantStorageSegments.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.tsx"],"names":[],"mappings":"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"}
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.scss
CHANGED
|
@@ -81,17 +81,22 @@
|
|
|
81
81
|
min-width: 0;
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
&__legend-item
|
|
84
|
+
&__legend-item,
|
|
85
|
+
&__legend-content {
|
|
85
86
|
display: flex;
|
|
86
87
|
align-items: center;
|
|
87
88
|
gap: var(--g-spacing-2);
|
|
88
89
|
|
|
89
90
|
white-space: nowrap;
|
|
91
|
+
}
|
|
90
92
|
|
|
93
|
+
&__legend-item {
|
|
91
94
|
&_inactive {
|
|
92
95
|
opacity: 0.5;
|
|
93
96
|
}
|
|
97
|
+
}
|
|
94
98
|
|
|
99
|
+
&__legend-content {
|
|
95
100
|
&:focus-visible {
|
|
96
101
|
outline: 2px solid var(--g-color-line-focus);
|
|
97
102
|
outline-offset: 2px;
|
|
@@ -5,6 +5,7 @@ export interface SummaryMetricProps {
|
|
|
5
5
|
note?: string;
|
|
6
6
|
notePlacement?: 'label' | 'value';
|
|
7
7
|
noteTitle?: string;
|
|
8
|
+
noData?: boolean;
|
|
8
9
|
value: string;
|
|
9
10
|
emphasize?: boolean;
|
|
10
11
|
hideDivider?: boolean;
|
|
@@ -25,6 +26,7 @@ interface SummaryCardProps {
|
|
|
25
26
|
description: string;
|
|
26
27
|
descriptionHelpText?: string;
|
|
27
28
|
position?: 'first' | 'last';
|
|
29
|
+
qa?: string;
|
|
28
30
|
}
|
|
29
31
|
type SummaryCardPropsWithRow = SummaryCardProps & SummaryCardRowBaseProps;
|
|
30
32
|
export interface GroupedSummaryCardRow extends SummaryCardRowBaseProps {
|
|
@@ -34,6 +36,6 @@ export interface GroupedSummaryCardRow extends SummaryCardRowBaseProps {
|
|
|
34
36
|
interface GroupedSummaryCardProps extends SummaryCardProps {
|
|
35
37
|
rows: GroupedSummaryCardRow[];
|
|
36
38
|
}
|
|
37
|
-
export declare function SummaryCard({ title, description, descriptionHelpText, position, ...rowProps }: SummaryCardPropsWithRow): import("react/jsx-runtime").JSX.Element;
|
|
38
|
-
export declare function GroupedSummaryCard({ title, description, descriptionHelpText, position, rows, }: GroupedSummaryCardProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare function SummaryCard({ title, description, descriptionHelpText, position, qa, ...rowProps }: SummaryCardPropsWithRow): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export declare function GroupedSummaryCard({ title, description, descriptionHelpText, position, qa, rows, }: GroupedSummaryCardProps): import("react/jsx-runtime").JSX.Element;
|
|
39
41
|
export {};
|
package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
3
|
+
import { CloudSlash } from '@gravity-ui/icons';
|
|
4
|
+
import { Flex, HelpMark, Icon, Label, Progress, Text } from '@gravity-ui/uikit';
|
|
4
5
|
import { cn } from '../../../../../utils/cn';
|
|
5
6
|
import { formatNumber } from '../../../../../utils/dataFormatters/dataFormatters';
|
|
6
7
|
import { LegendItems, SegmentedProgressBar } from './TenantStorageSegments';
|
|
@@ -15,16 +16,20 @@ function SummaryMetricNote({ note, noteTitle }) {
|
|
|
15
16
|
const content = noteTitle ? (_jsxs("div", { className: b('metric-note'), children: [_jsx(Text, { variant: "subheader-2", children: noteTitle }), note ? _jsx(Text, { children: note }) : null] })) : (note);
|
|
16
17
|
return _jsx(HelpMark, { iconSize: "s", children: content });
|
|
17
18
|
}
|
|
18
|
-
function
|
|
19
|
+
function NoDataLabel({ label }) {
|
|
20
|
+
const content = label ? `${label}: ${i18n('value_no-data')}` : i18n('value_no-data');
|
|
21
|
+
return (_jsx(Label, { theme: "unknown", size: "xs", icon: _jsx(Icon, { data: CloudSlash }), children: content }));
|
|
22
|
+
}
|
|
23
|
+
function SummaryMetric({ label, note, notePlacement = 'label', noteTitle, noData, value, emphasize, hideDivider, }) {
|
|
19
24
|
const noteElement = _jsx(SummaryMetricNote, { note: note, noteTitle: noteTitle });
|
|
20
|
-
return (_jsxs("div", { className: b('metric', { emphasize, 'hide-divider': hideDivider }), children: [_jsxs(Flex, { alignItems: "center", gap: "1", children: [_jsx(Text, { variant: "subheader-2", className: b('metric-value'), children: value }), notePlacement === 'value' ? noteElement : null] }), _jsxs(Flex, { alignItems: "center", gap: "1", className: b('metric-label'), children: [_jsx(Text, { color: "secondary", children: label }), notePlacement === 'label' ? noteElement : null] })] }));
|
|
25
|
+
return (_jsxs("div", { className: b('metric', { emphasize, 'hide-divider': hideDivider, 'no-data': noData }), children: [_jsxs(Flex, { alignItems: "center", gap: "1", children: [noData ? (_jsx(NoDataLabel, {})) : (_jsx(Text, { variant: "subheader-2", className: b('metric-value'), children: value })), notePlacement === 'value' ? noteElement : null] }), _jsxs(Flex, { alignItems: "center", gap: "1", className: b('metric-label'), children: [_jsx(Text, { color: "secondary", children: label }), notePlacement === 'label' ? noteElement : null] })] }));
|
|
21
26
|
}
|
|
22
|
-
function GroupedSummaryMetric({ label, note, notePlacement = 'label', noteTitle, value, emphasize, hideDivider, }) {
|
|
27
|
+
function GroupedSummaryMetric({ label, note, notePlacement = 'label', noteTitle, noData, value, emphasize, hideDivider, }) {
|
|
23
28
|
const noteElement = _jsx(SummaryMetricNote, { note: note, noteTitle: noteTitle });
|
|
24
29
|
if (emphasize) {
|
|
25
|
-
return (_jsxs("div", { className: b('metric', { emphasize, grouped: true, 'hide-divider': hideDivider }), children: [_jsx(Label, { theme: "normal", size: "xs", value: value, children: label }), noteElement] }));
|
|
30
|
+
return (_jsxs("div", { className: b('metric', { emphasize, grouped: true, 'hide-divider': hideDivider }), children: [noData ? (_jsx(NoDataLabel, { label: label })) : (_jsx(Label, { theme: "normal", size: "xs", value: value, children: label })), noteElement] }));
|
|
26
31
|
}
|
|
27
|
-
return (_jsxs("div", { className: b('metric', { grouped: true, 'hide-divider': hideDivider }), children: [_jsxs(Flex, { alignItems: "center", gap: "1", className: b('metric-label'), children: [_jsx(Text, { color: "secondary", children: label }), notePlacement === 'label' ? noteElement : null] }), _jsxs(Flex, { alignItems: "center", gap: "1", children: [_jsx(Text, { variant: "subheader-1", className: b('metric-value'), children: value }), notePlacement === 'value' ? noteElement : null] })] }));
|
|
32
|
+
return (_jsxs("div", { className: b('metric', { grouped: true, 'hide-divider': hideDivider }), children: [_jsxs(Flex, { alignItems: "center", gap: "1", className: b('metric-label'), children: [_jsx(Text, { color: "secondary", children: label }), notePlacement === 'label' ? noteElement : null] }), _jsxs(Flex, { alignItems: "center", gap: "1", children: [noData ? (_jsx(NoDataLabel, {})) : (_jsx(Text, { variant: "subheader-1", className: b('metric-value'), children: value })), notePlacement === 'value' ? noteElement : null] })] }));
|
|
28
33
|
}
|
|
29
34
|
function SummaryCardCopy({ description, descriptionHelpText, title, }) {
|
|
30
35
|
return (_jsxs("div", { className: b('copy'), children: [_jsx(Text, { variant: "subheader-3", children: title }), _jsxs(Flex, { alignItems: "center", gap: "1", children: [_jsx(Text, { color: "secondary", children: description }), descriptionHelpText ? (_jsx(HelpMark, { iconSize: "s", children: descriptionHelpText })) : null] })] }));
|
|
@@ -34,13 +39,16 @@ function SummaryCardRow({ displayNoLimit, formatLegendValue, formatSystemDetailV
|
|
|
34
39
|
const total = (_a = summary.quota) !== null && _a !== void 0 ? _a : summary.total;
|
|
35
40
|
const activeSegments = (segments !== null && segments !== void 0 ? segments : []).filter((s) => s.value > 0);
|
|
36
41
|
const hasSegments = activeSegments.length > 0;
|
|
37
|
-
const [
|
|
38
|
-
const
|
|
39
|
-
|
|
42
|
+
const [activeSegment, setActiveSegment] = React.useState();
|
|
43
|
+
const activeSegmentKey = activeSegment === null || activeSegment === void 0 ? void 0 : activeSegment.key;
|
|
44
|
+
const handleSegmentOpenChange = React.useCallback((segmentKey, open, source) => {
|
|
45
|
+
setActiveSegment((currentSegment) => {
|
|
40
46
|
if (open) {
|
|
41
|
-
return segmentKey;
|
|
47
|
+
return { key: segmentKey, source };
|
|
42
48
|
}
|
|
43
|
-
return
|
|
49
|
+
return (currentSegment === null || currentSegment === void 0 ? void 0 : currentSegment.key) === segmentKey && currentSegment.source === source
|
|
50
|
+
? undefined
|
|
51
|
+
: currentSegment;
|
|
44
52
|
});
|
|
45
53
|
}, []);
|
|
46
54
|
let percent = 0;
|
|
@@ -54,10 +62,10 @@ function SummaryCardRow({ displayNoLimit, formatLegendValue, formatSystemDetailV
|
|
|
54
62
|
? i18n('value_no-limit')
|
|
55
63
|
: formatSummaryPercent(summary.usedPercent) })] })] }));
|
|
56
64
|
}
|
|
57
|
-
export function SummaryCard({ title, description, descriptionHelpText, position, ...rowProps }) {
|
|
58
|
-
return (_jsx("div", { className: b({ first: position === 'first', last: position === 'last' }), children: _jsx(SummaryCardRow, { ...rowProps, header: _jsx(SummaryCardCopy, { title: title, description: description, descriptionHelpText: descriptionHelpText }) }) }));
|
|
65
|
+
export function SummaryCard({ title, description, descriptionHelpText, position, qa, ...rowProps }) {
|
|
66
|
+
return (_jsx("div", { className: b({ first: position === 'first', last: position === 'last' }), "data-qa": qa, children: _jsx(SummaryCardRow, { ...rowProps, header: _jsx(SummaryCardCopy, { title: title, description: description, descriptionHelpText: descriptionHelpText }) }) }));
|
|
59
67
|
}
|
|
60
|
-
export function GroupedSummaryCard({ title, description, descriptionHelpText, position, rows, }) {
|
|
61
|
-
return (_jsxs("div", { className: b({ first: position === 'first', grouped: true, last: position === 'last' }), children: [_jsx(SummaryCardCopy, { title: title, description: description, descriptionHelpText: descriptionHelpText }), _jsx("div", { className: b('rows'), children: rows.map(({ id, mediaLabel, ...rowProps }) => (_jsx(SummaryCardRow, { ...rowProps, grouped: true, header: _jsx(Text, { variant: "subheader-2", className: b('row-label'), children: mediaLabel }) }, id))) })] }));
|
|
68
|
+
export function GroupedSummaryCard({ title, description, descriptionHelpText, position, qa, rows, }) {
|
|
69
|
+
return (_jsxs("div", { className: b({ first: position === 'first', grouped: true, last: position === 'last' }), "data-qa": qa, children: [_jsx(SummaryCardCopy, { title: title, description: description, descriptionHelpText: descriptionHelpText }), _jsx("div", { className: b('rows'), children: rows.map(({ id, mediaLabel, ...rowProps }) => (_jsx(SummaryCardRow, { ...rowProps, grouped: true, header: _jsx(Text, { variant: "subheader-2", className: b('row-label'), children: mediaLabel }) }, id))) })] }));
|
|
62
70
|
}
|
|
63
71
|
//# sourceMappingURL=TenantStorageSummaryCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TenantStorageSummaryCard.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TenantStorageSummaryCard.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -77,8 +77,7 @@
|
|
|
77
77
|
flex-direction: column;
|
|
78
78
|
justify-content: center;
|
|
79
79
|
|
|
80
|
-
width: 101px;
|
|
81
|
-
min-width: 0;
|
|
80
|
+
min-width: 101px;
|
|
82
81
|
padding-left: var(--g-spacing-10);
|
|
83
82
|
|
|
84
83
|
border-left: 1px solid var(--g-color-line-generic);
|
|
@@ -94,8 +93,12 @@
|
|
|
94
93
|
background: var(--g-color-base-generic-accent);
|
|
95
94
|
}
|
|
96
95
|
|
|
96
|
+
&_no-data {
|
|
97
|
+
background: transparent;
|
|
98
|
+
}
|
|
99
|
+
|
|
97
100
|
&_hide-divider {
|
|
98
|
-
width: 70px;
|
|
101
|
+
min-width: 70px;
|
|
99
102
|
padding-left: 0;
|
|
100
103
|
|
|
101
104
|
border-left: 0;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import type { TenantStorageData, TenantStorageMediaSection } from './utils';
|
|
2
2
|
import './TenantStorageSummarySections.scss';
|
|
3
|
-
|
|
3
|
+
interface TenantStorageMediaSectionViewProps {
|
|
4
4
|
section: TenantStorageMediaSection;
|
|
5
5
|
showMediaTypeLabel: boolean;
|
|
6
6
|
data: TenantStorageData;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
showPhysicalDiskUsage?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function TenantStorageMediaSectionView({ section, showMediaTypeLabel, data, showPhysicalDiskUsage, }: TenantStorageMediaSectionViewProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
interface TenantStorageGroupedMediaSectionsViewProps {
|
|
9
11
|
data: TenantStorageData;
|
|
10
12
|
sections: TenantStorageMediaSection[];
|
|
11
|
-
|
|
13
|
+
showPhysicalDiskUsage?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function TenantStorageGroupedMediaSectionsView({ data, sections, showPhysicalDiskUsage, }: TenantStorageGroupedMediaSectionsViewProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export {};
|