ydb-embedded-ui 19.0.0 → 20.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/README.md +15 -0
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +15 -2
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +77 -10
- package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
- package/dist/components/QueryExecutionLabel/i18n/index.d.ts +1 -1
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/containers/App/Content.js +2 -2
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/App/NavigationWrapper.js +2 -15
- package/dist/containers/App/NavigationWrapper.js.map +1 -1
- package/dist/containers/Authentication/Authentication.js +22 -5
- package/dist/containers/Authentication/Authentication.js.map +1 -1
- package/dist/containers/Authentication/Authentication.scss +4 -0
- package/dist/containers/Authentication/i18n/en.json +2 -1
- package/dist/containers/Authentication/i18n/index.d.ts +1 -1
- package/dist/containers/Authentication/utils.d.ts +8 -0
- package/dist/containers/Authentication/utils.js +32 -0
- package/dist/containers/Authentication/utils.js.map +1 -1
- package/dist/containers/Cluster/Cluster.js +3 -4
- package/dist/containers/Cluster/Cluster.js.map +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.d.ts +1 -1
- package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js +0 -6
- package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js.map +1 -1
- package/dist/containers/Configs/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/Disks/Disks.js +5 -3
- package/dist/containers/Storage/Disks/Disks.js.map +1 -1
- package/dist/containers/Storage/PDisk/PDisk.d.ts +3 -1
- package/dist/containers/Storage/PDisk/PDisk.js +7 -18
- package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
- package/dist/containers/Storage/PDisk/PDiskVDisks.d.ts +13 -0
- package/dist/containers/Storage/PDisk/PDiskVDisks.js +20 -0
- package/dist/containers/Storage/PDisk/PDiskVDisks.js.map +1 -0
- package/dist/containers/Storage/PaginatedStorage.js +2 -1
- package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +40 -4
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +8 -4
- package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.d.ts +2 -4
- package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js +3 -17
- package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.d.ts +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js +16 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.d.ts +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.js +7 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.d.ts +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js +17 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.d.ts +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js +23 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.d.ts +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.js +23 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.d.ts +3 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +4 -4
- package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js +3 -3
- package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.d.ts +6 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js +21 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +3 -2
- package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +13 -7
- package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/index.d.ts +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/index.js +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/index.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.d.ts +2 -6
- package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +10 -6
- package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +19 -0
- package/dist/containers/Storage/StorageExpertModePanel/constants.js +10 -0
- package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +23 -0
- package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/i18n/en.json +1 -1
- package/dist/containers/Storage/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.d.ts +2 -0
- package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js +142 -0
- package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js.map +1 -0
- package/dist/containers/Storage/useStorageQueryParams.d.ts +5 -1
- package/dist/containers/Storage/useStorageQueryParams.js +26 -2
- package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js +2 -3
- package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js +6 -2
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.js +9 -0
- package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js +1 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +1 -6
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +3 -4
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/utils.d.ts +2 -0
- package/dist/containers/Tenant/Query/QueryResult/utils.js +9 -0
- package/dist/containers/Tenant/Query/QueryResult/utils.js.map +1 -0
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +4 -15
- package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +0 -1
- package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +0 -1
- package/dist/containers/Tenants/TenantsTable.js +21 -26
- package/dist/containers/Tenants/TenantsTable.js.map +1 -1
- package/dist/containers/UserSettings/i18n/en.json +1 -4
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +3 -8
- package/dist/containers/UserSettings/settings.js +11 -58
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/lib.d.ts +1 -1
- package/dist/lib.js.map +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
- package/dist/store/reducers/capabilities/hooks.js +5 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/query/api.js +4 -0
- package/dist/store/reducers/query/api.js.map +1 -1
- package/dist/store/reducers/query/types.d.ts +2 -1
- package/dist/store/reducers/settings/constants.d.ts +2 -8
- package/dist/store/reducers/settings/constants.js +2 -8
- package/dist/store/reducers/settings/constants.js.map +1 -1
- package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +3 -1
- package/dist/store/reducers/storage/prepareGroupsDisks.js +3 -1
- package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
- package/dist/store/reducers/tenant/tenant.d.ts +1 -0
- package/dist/store/reducers/tenant/tenant.js +1 -0
- package/dist/store/reducers/tenant/tenant.js.map +1 -1
- package/dist/styles/mixins.scss +8 -8
- package/dist/styles/space-colors.scss +48 -4
- package/dist/types/api/capabilities.d.ts +1 -1
- package/dist/types/api/pdisk.d.ts +2 -0
- package/dist/types/api/storage.d.ts +2 -1
- package/dist/types/api/storage.js.map +1 -1
- package/dist/types/api/tenant.d.ts +2 -0
- package/dist/types/api/tenant.js.map +1 -1
- package/dist/uiFactory/types.d.ts +5 -0
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.js +1 -5
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/disks/displayState.d.ts +7 -1
- package/dist/utils/disks/displayState.js +11 -0
- package/dist/utils/disks/displayState.js.map +1 -1
- package/dist/utils/disks/helpers.d.ts +2 -2
- package/dist/utils/disks/iconCalculators.d.ts +2 -0
- package/dist/utils/disks/iconCalculators.js +24 -19
- package/dist/utils/disks/iconCalculators.js.map +1 -1
- package/dist/utils/disks/pdiskState.d.ts +8 -0
- package/dist/utils/disks/pdiskState.js +165 -0
- package/dist/utils/disks/pdiskState.js.map +1 -0
- package/dist/utils/disks/severityCalculators.d.ts +6 -5
- package/dist/utils/disks/severityCalculators.js +17 -32
- package/dist/utils/disks/severityCalculators.js.map +1 -1
- package/dist/utils/disks/types.d.ts +3 -1
- package/dist/utils/hooks/useChangedQuerySettings.d.ts +2 -2
- package/dist/utils/hooks/useQueryExecutionSettings.d.ts +11 -2
- package/dist/utils/hooks/useQueryExecutionSettings.js +2 -18
- package/dist/utils/hooks/useQueryExecutionSettings.js.map +1 -1
- package/dist/utils/hooks/useQueryStreamingSetting.js +1 -8
- package/dist/utils/hooks/useQueryStreamingSetting.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/NetworkTable/hooks.d.ts +0 -2
- package/dist/components/NetworkTable/hooks.js +0 -14
- package/dist/components/NetworkTable/hooks.js.map +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Ban, Wrench } from '@gravity-ui/icons';
|
|
3
|
+
import { Flex, Icon, Label, Text } from '@gravity-ui/uikit';
|
|
4
|
+
import { b } from '../constants';
|
|
5
|
+
import i18n from '../i18n';
|
|
6
|
+
const iconSize = 12;
|
|
7
|
+
const legendItems = [
|
|
8
|
+
{
|
|
9
|
+
text: i18n('value_maintenance-long-term-planned'),
|
|
10
|
+
theme: 'danger',
|
|
11
|
+
icon: Wrench,
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
text: i18n('value_maintenance-no-new-vdisks'),
|
|
15
|
+
theme: 'warning',
|
|
16
|
+
icon: Ban,
|
|
17
|
+
},
|
|
18
|
+
{ text: i18n('value_maintenance-no-request'), theme: 'success' },
|
|
19
|
+
];
|
|
20
|
+
export function PDiskMaintenanceLegend({ className }) {
|
|
21
|
+
return (_jsxs(Flex, { className: className, gap: 3, alignItems: "center", wrap: "wrap", children: [_jsx(Flex, { gap: 2, alignItems: "center", wrap: "wrap", children: legendItems.map(({ text, theme, icon }) => (_jsx(Label, { size: "xs", theme: theme, icon: icon ? _jsx(Icon, { data: icon, size: iconSize }) : undefined, children: text }, text))) }), _jsx(Text, { className: b('empty-statistics'), color: "secondary", children: i18n('context_no-statistics') })] }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=PDiskMaintenanceLegend.js.map
|
package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PDiskMaintenanceLegend.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAC,CAAC,EAAC,MAAM,cAAc,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;AAY3B,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,WAAW,GAAiC;IAC9C;QACI,IAAI,EAAE,IAAI,CAAC,qCAAqC,CAAC;QACjD,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,MAAM;KACf;IACD;QACI,IAAI,EAAE,IAAI,CAAC,iCAAiC,CAAC;QAC7C,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,GAAG;KACZ;IACD,EAAC,IAAI,EAAE,IAAI,CAAC,8BAA8B,CAAC,EAAE,KAAK,EAAE,SAAS,EAAC;CACjE,CAAC;AAEF,MAAM,UAAU,sBAAsB,CAAC,EAAC,SAAS,EAA8B;IAC3E,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,aAC/D,KAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,YACxC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CACtC,KAAC,KAAK,IAEF,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,SAAS,YAE5D,IAAI,IALA,IAAI,CAML,CACX,CAAC,GACC,EACP,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAC,WAAW,YACpD,IAAI,CAAC,uBAAuB,CAAC,GAC3B,IACJ,CACV,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CircleExclamationFill, CircleStopFill, CircleXmarkFill, ClockFill } from '@gravity-ui/icons';
|
|
3
|
+
import { Flex, Icon, Label, Text } from '@gravity-ui/uikit';
|
|
4
|
+
import { b } from '../constants';
|
|
5
|
+
import i18n from '../i18n';
|
|
6
|
+
const iconSize = 12;
|
|
7
|
+
const legendItems = [
|
|
8
|
+
{ text: i18n('value_ok'), theme: 'success' },
|
|
9
|
+
{ text: i18n('value_initial'), theme: 'warning', icon: ClockFill },
|
|
10
|
+
{ text: i18n('value_attention'), theme: 'danger', icon: CircleExclamationFill },
|
|
11
|
+
{ text: i18n('value_stopped'), theme: 'danger', icon: CircleStopFill },
|
|
12
|
+
{
|
|
13
|
+
text: i18n('value_error'),
|
|
14
|
+
theme: 'danger',
|
|
15
|
+
icon: CircleXmarkFill,
|
|
16
|
+
className: b('label-danger-heavy'),
|
|
17
|
+
},
|
|
18
|
+
{ text: i18n('value_no-data'), theme: 'unknown' },
|
|
19
|
+
];
|
|
20
|
+
export function PDiskStateLegend({ className }) {
|
|
21
|
+
return (_jsxs(Flex, { className: className, gap: 3, alignItems: "center", wrap: "wrap", children: [_jsx(Flex, { gap: 2, alignItems: "center", wrap: "wrap", children: legendItems.map(({ text, theme, icon, className: labelClassName }) => (_jsx(Label, { size: "xs", theme: theme, className: labelClassName, icon: icon ? _jsx(Icon, { data: icon, size: iconSize }) : undefined, children: text }, text))) }), _jsx(Text, { className: b('empty-statistics'), color: "secondary", children: i18n('context_no-statistics') })] }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=PDiskStateLegend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PDiskStateLegend.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,qBAAqB,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEpG,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAC,CAAC,EAAC,MAAM,cAAc,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;AAa3B,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,WAAW,GAA2B;IACxC,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAC;IAC1C,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC;IAChE,EAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAC;IAC7E,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAC;IACpE;QACI,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;QACzB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC;KACrC;IACD,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAC;CAClD,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,EAAC,SAAS,EAAwB;IAC/D,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,aAC/D,KAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,YACxC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC,EAAE,EAAE,CAAC,CACjE,KAAC,KAAK,IAEF,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,SAAS,YAE5D,IAAI,IANA,IAAI,CAOL,CACX,CAAC,GACC,EACP,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAC,WAAW,YACpD,IAAI,CAAC,uBAAuB,CAAC,GAC3B,IACJ,CACV,CAAC;AACN,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { SpaceLegendSelectionScope } from './getSpaceLegendSelection';
|
|
1
2
|
import './SpaceLegend.scss';
|
|
2
3
|
interface SpaceLegendProps {
|
|
3
4
|
className?: string;
|
|
5
|
+
selectionScope?: SpaceLegendSelectionScope;
|
|
4
6
|
}
|
|
5
|
-
export declare function SpaceLegend({ className }: SpaceLegendProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function SpaceLegend({ className, selectionScope }: SpaceLegendProps): import("react/jsx-runtime").JSX.Element;
|
|
6
8
|
export {};
|
|
@@ -38,9 +38,9 @@ const legendItems = [
|
|
|
38
38
|
{ id: ECapacityAlert.RED, text: i18n('space_red'), customClass: b('label', { red: true }) },
|
|
39
39
|
{ id: ECapacityAlert.BLACK, text: i18n('space_black'), customClass: b('label', { black: true }) },
|
|
40
40
|
];
|
|
41
|
-
export function SpaceLegend({ className }) {
|
|
41
|
+
export function SpaceLegend({ className, selectionScope = 'vdisks' }) {
|
|
42
42
|
// Load inactive ECapacityAlert values
|
|
43
|
-
const [inactiveAlerts, setInactiveAlerts] = React.useState(getSpaceLegendSelection);
|
|
43
|
+
const [inactiveAlerts, setInactiveAlerts] = React.useState(() => getSpaceLegendSelection(selectionScope));
|
|
44
44
|
const toggleItem = React.useCallback((id) => {
|
|
45
45
|
setInactiveAlerts((prev) => {
|
|
46
46
|
const next = new Set(prev);
|
|
@@ -50,10 +50,10 @@ export function SpaceLegend({ className }) {
|
|
|
50
50
|
else {
|
|
51
51
|
next.add(id);
|
|
52
52
|
}
|
|
53
|
-
saveSpaceLegendSelection(next);
|
|
53
|
+
saveSpaceLegendSelection(next, selectionScope);
|
|
54
54
|
return next;
|
|
55
55
|
});
|
|
56
|
-
}, []);
|
|
56
|
+
}, [selectionScope]);
|
|
57
57
|
return (_jsxs(Flex, { className: className, gap: 2, alignItems: "center", wrap: "wrap", children: [_jsx(Flex, { gap: 2, alignItems: "center", wrap: "wrap", children: legendItems.map(({ id, text, theme, customClass }) => {
|
|
58
58
|
const isActive = !inactiveAlerts.has(id);
|
|
59
59
|
return (_jsx(Label, { size: "xs", theme: theme, className: customClass, onClick: () => toggleItem(id), icon: _jsx("div", { className: b('label-icon', { selected: isActive }), children: isActive ? _jsx(Icon, { data: Check, size: 12 }) : null }), children: text }, id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpaceLegend.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAC,cAAc,EAAC,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAC,CAAC,EAAC,MAAM,cAAc,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"SpaceLegend.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
2
|
+
import { CircleExclamationFill, CircleXmarkFill, ClockFill } from '@gravity-ui/icons';
|
|
3
3
|
import { Flex, Icon, Label, Text } from '@gravity-ui/uikit';
|
|
4
4
|
import { b } from '../constants';
|
|
5
5
|
import i18n from '../i18n';
|
|
@@ -7,8 +7,8 @@ const iconSize = 12;
|
|
|
7
7
|
const legendItems = [
|
|
8
8
|
{ text: i18n('value_ok'), theme: 'success' },
|
|
9
9
|
{ text: i18n('value_replication'), theme: 'info' },
|
|
10
|
-
{ text: i18n('value_initial'), theme: 'warning', icon:
|
|
11
|
-
{ text: i18n('value_pdisk-error'), theme: 'danger', icon:
|
|
10
|
+
{ text: i18n('value_initial'), theme: 'warning', icon: ClockFill },
|
|
11
|
+
{ text: i18n('value_pdisk-error'), theme: 'danger', icon: CircleExclamationFill },
|
|
12
12
|
{
|
|
13
13
|
text: i18n('value_error'),
|
|
14
14
|
theme: 'danger',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateLegend.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/StateLegend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"StateLegend.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/StateLegend.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,qBAAqB,EAAE,eAAe,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEpF,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAC,CAAC,EAAC,MAAM,cAAc,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;AAa3B,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,WAAW,GAAsB;IACnC,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,SAAS,EAAC;IAC1C,EAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAC;IAChD,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC;IAChE,EAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAC;IAC/E;QACI,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC;QACzB,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC;KACrC;IACD,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAC;CAClD,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,EAAC,SAAS,EAAmB;IACrD,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,aAC/D,KAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,YACxC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC,EAAE,EAAE,CAAC,CACjE,KAAC,KAAK,IAEF,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAI,CAAC,CAAC,CAAC,SAAS,YAE5D,IAAI,IANA,IAAI,CAOL,CACX,CAAC,GACC,EACP,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAC,WAAW,YACpD,IAAI,CAAC,uBAAuB,CAAC,GAC3B,IACJ,CACV,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { CircleCheckFill, CircleExclamationFill, CircleXmarkFill, TriangleExclamationFill, } from '@gravity-ui/icons';
|
|
3
|
+
import { Flex, Icon, Label, Text } from '@gravity-ui/uikit';
|
|
4
|
+
import { b } from '../constants';
|
|
5
|
+
import i18n from '../i18n';
|
|
6
|
+
const iconSize = 12;
|
|
7
|
+
const legendItems = [
|
|
8
|
+
{ text: i18n('compaction_ok'), theme: 'success', icon: CircleCheckFill },
|
|
9
|
+
{ text: i18n('compaction_notice'), theme: 'warning', icon: TriangleExclamationFill },
|
|
10
|
+
{ text: i18n('compaction_warning'), theme: 'danger', icon: CircleExclamationFill },
|
|
11
|
+
{
|
|
12
|
+
text: i18n('compaction_impaired'),
|
|
13
|
+
theme: 'danger',
|
|
14
|
+
icon: CircleXmarkFill,
|
|
15
|
+
className: b('label-danger-heavy'),
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
export function StatusPairLegend({ className, label }) {
|
|
19
|
+
return (_jsxs(Flex, { className: className, gap: 3, alignItems: "center", wrap: "wrap", children: [_jsxs(Flex, { gap: 2, alignItems: "center", wrap: "wrap", children: [_jsx(Text, { color: "secondary", children: label }), legendItems.map(({ text, theme, icon, className: labelClassName }) => (_jsx(Label, { size: "xs", theme: theme, className: labelClassName, icon: _jsx(Icon, { data: icon, size: iconSize }), children: text }, text)))] }), _jsx(Text, { className: b('empty-statistics'), color: "secondary", children: i18n('context_no-statistics') })] }));
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=StatusPairLegend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusPairLegend.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.tsx"],"names":[],"mappings":";AAAA,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,uBAAuB,GAC1B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAC,CAAC,EAAC,MAAM,cAAc,CAAC;AAC/B,OAAO,IAAI,MAAM,SAAS,CAAC;AAc3B,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB,MAAM,WAAW,GAA2B;IACxC,EAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAC;IACtE,EAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAC;IAClF,EAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAC;IAChF;QACI,IAAI,EAAE,IAAI,CAAC,qBAAqB,CAAC;QACjC,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC;KACrC;CACJ,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,EAAC,SAAS,EAAE,KAAK,EAAwB;IACtE,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,aAC/D,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,aACzC,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAAE,KAAK,GAAQ,EACrC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAC,EAAE,EAAE,CAAC,CACjE,KAAC,KAAK,IAEF,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAI,YAEzC,IAAI,IANA,IAAI,CAOL,CACX,CAAC,IACC,EACP,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAC,WAAW,YACpD,IAAI,CAAC,uBAAuB,CAAC,GAC3B,IACJ,CACV,CAAC;AACN,CAAC"}
|
package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ECapacityAlert } from '../../../../types/api/enums';
|
|
2
2
|
export declare const SPACE_LEGEND_STORAGE_KEY = "ydb-space-legend-inactive";
|
|
3
3
|
export declare const SPACE_LEGEND_CHANGE_EVENT = "spaceLegendChange";
|
|
4
|
+
export type SpaceLegendSelectionScope = 'vdisks' | 'pdisks';
|
|
4
5
|
/**
|
|
5
6
|
* Get the set of inactive (deselected) capacityAlert values for Space mode legend
|
|
6
7
|
* Returns a Set of ECapacityAlert values that are currently deselected in the legend
|
|
7
8
|
*/
|
|
8
|
-
export declare function getSpaceLegendSelection(): Set<ECapacityAlert>;
|
|
9
|
-
export declare function saveSpaceLegendSelection(selection: Set<ECapacityAlert
|
|
9
|
+
export declare function getSpaceLegendSelection(scope?: SpaceLegendSelectionScope): Set<ECapacityAlert>;
|
|
10
|
+
export declare function saveSpaceLegendSelection(selection: Set<ECapacityAlert>, scope?: SpaceLegendSelectionScope): void;
|
package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js
CHANGED
|
@@ -4,8 +4,14 @@ export const SPACE_LEGEND_STORAGE_KEY = 'ydb-space-legend-inactive';
|
|
|
4
4
|
export const SPACE_LEGEND_CHANGE_EVENT = 'spaceLegendChange';
|
|
5
5
|
// By default, GREEN and CYAN are inactive (deselected)
|
|
6
6
|
const defaultInactive = new Set([ECapacityAlert.GREEN, ECapacityAlert.CYAN]);
|
|
7
|
-
function
|
|
8
|
-
|
|
7
|
+
function getStorageKey(scope) {
|
|
8
|
+
return scope === 'vdisks' ? SPACE_LEGEND_STORAGE_KEY : `${SPACE_LEGEND_STORAGE_KEY}-${scope}`;
|
|
9
|
+
}
|
|
10
|
+
function getChangeEvent(scope) {
|
|
11
|
+
return scope === 'vdisks' ? SPACE_LEGEND_CHANGE_EVENT : `${SPACE_LEGEND_CHANGE_EVENT}-${scope}`;
|
|
12
|
+
}
|
|
13
|
+
function loadInactiveItems(scope) {
|
|
14
|
+
const stored = loadFromSessionStorage(getStorageKey(scope));
|
|
9
15
|
if (Array.isArray(stored)) {
|
|
10
16
|
const normalizedStored = new Set();
|
|
11
17
|
stored.forEach((item) => {
|
|
@@ -21,11 +27,11 @@ function loadInactiveItems() {
|
|
|
21
27
|
* Get the set of inactive (deselected) capacityAlert values for Space mode legend
|
|
22
28
|
* Returns a Set of ECapacityAlert values that are currently deselected in the legend
|
|
23
29
|
*/
|
|
24
|
-
export function getSpaceLegendSelection() {
|
|
25
|
-
return loadInactiveItems();
|
|
30
|
+
export function getSpaceLegendSelection(scope = 'vdisks') {
|
|
31
|
+
return loadInactiveItems(scope);
|
|
26
32
|
}
|
|
27
|
-
export function saveSpaceLegendSelection(selection) {
|
|
28
|
-
saveToSessionStorage(
|
|
29
|
-
window.dispatchEvent(new CustomEvent(
|
|
33
|
+
export function saveSpaceLegendSelection(selection, scope = 'vdisks') {
|
|
34
|
+
saveToSessionStorage(getStorageKey(scope), Array.from(selection));
|
|
35
|
+
window.dispatchEvent(new CustomEvent(getChangeEvent(scope)));
|
|
30
36
|
}
|
|
31
37
|
//# sourceMappingURL=getSpaceLegendSelection.js.map
|
package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSpaceLegendSelection.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAC,sBAAsB,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"getSpaceLegendSelection.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAC,sBAAsB,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAE/E,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AACpE,MAAM,CAAC,MAAM,yBAAyB,GAAG,mBAAmB,CAAC;AAI7D,uDAAuD;AACvD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AAE7E,SAAS,aAAa,CAAC,KAAgC;IACnD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,IAAI,KAAK,EAAE,CAAC;AAClG,CAAC;AAED,SAAS,cAAc,CAAC,KAAgC;IACpD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,yBAAyB,IAAI,KAAK,EAAE,CAAC;AACpG,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAgC;IACvD,MAAM,MAAM,GAAG,sBAAsB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;IAE5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACpB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACnC,QAAmC,QAAQ;IAE3C,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,wBAAwB,CACpC,SAA8B,EAC9B,QAAmC,QAAQ;IAE3C,oBAAoB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { StateLegend } from './StateLegend';
|
|
2
|
+
export { PDiskStateLegend } from './PDiskStateLegend';
|
|
3
|
+
export { PDiskDriveLegend } from './PDiskDriveLegend';
|
|
4
|
+
export { PDiskDecommitLegend } from './PDiskDecommitLegend';
|
|
5
|
+
export { PDiskMaintenanceLegend } from './PDiskMaintenanceLegend';
|
|
6
|
+
export { PDiskDeviceLegend } from './PDiskDeviceLegend';
|
|
2
7
|
export { SpaceLegend } from './SpaceLegend';
|
|
3
8
|
export { FrontQueuesLegend } from './FrontQueuesLegend';
|
|
4
9
|
export { CompactionLegend } from './CompactionLegend';
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
export { StateLegend } from './StateLegend';
|
|
2
|
+
export { PDiskStateLegend } from './PDiskStateLegend';
|
|
3
|
+
export { PDiskDriveLegend } from './PDiskDriveLegend';
|
|
4
|
+
export { PDiskDecommitLegend } from './PDiskDecommitLegend';
|
|
5
|
+
export { PDiskMaintenanceLegend } from './PDiskMaintenanceLegend';
|
|
6
|
+
export { PDiskDeviceLegend } from './PDiskDeviceLegend';
|
|
2
7
|
export { SpaceLegend } from './SpaceLegend';
|
|
3
8
|
export { FrontQueuesLegend } from './FrontQueuesLegend';
|
|
4
9
|
export { CompactionLegend } from './CompactionLegend';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC"}
|
package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
1
|
import type { ECapacityAlert } from '../../../../types/api/enums';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Returns a Set of ECapacityAlert values that are currently deselected in the legend
|
|
5
|
-
* Automatically updates when legend selection changes
|
|
6
|
-
*/
|
|
7
|
-
export declare function useSpaceLegendSelection(): Set<ECapacityAlert>;
|
|
2
|
+
import type { SpaceLegendSelectionScope } from './getSpaceLegendSelection';
|
|
3
|
+
export declare function useSpaceLegendSelection(scope?: SpaceLegendSelectionScope): Set<ECapacityAlert>;
|
package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js
CHANGED
|
@@ -5,17 +5,21 @@ import { SPACE_LEGEND_CHANGE_EVENT, getSpaceLegendSelection } from './getSpaceLe
|
|
|
5
5
|
* Returns a Set of ECapacityAlert values that are currently deselected in the legend
|
|
6
6
|
* Automatically updates when legend selection changes
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
function getChangeEvent(scope) {
|
|
9
|
+
return scope === 'vdisks' ? SPACE_LEGEND_CHANGE_EVENT : `${SPACE_LEGEND_CHANGE_EVENT}-${scope}`;
|
|
10
|
+
}
|
|
11
|
+
export function useSpaceLegendSelection(scope = 'vdisks') {
|
|
12
|
+
const [selection, setSelection] = React.useState(() => getSpaceLegendSelection(scope));
|
|
10
13
|
React.useEffect(() => {
|
|
11
14
|
const handleLegendChange = () => {
|
|
12
|
-
setSelection(getSpaceLegendSelection());
|
|
15
|
+
setSelection(getSpaceLegendSelection(scope));
|
|
13
16
|
};
|
|
14
|
-
|
|
17
|
+
const changeEvent = getChangeEvent(scope);
|
|
18
|
+
window.addEventListener(changeEvent, handleLegendChange);
|
|
15
19
|
return () => {
|
|
16
|
-
window.removeEventListener(
|
|
20
|
+
window.removeEventListener(changeEvent, handleLegendChange);
|
|
17
21
|
};
|
|
18
|
-
}, []);
|
|
22
|
+
}, [scope]);
|
|
19
23
|
return selection;
|
|
20
24
|
}
|
|
21
25
|
//# sourceMappingURL=useSpaceLegendSelection.js.map
|
package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSpaceLegendSelection.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,yBAAyB,EAAE,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useSpaceLegendSelection.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,yBAAyB,EAAE,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAG7F;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAgC;IACpD,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,yBAAyB,IAAI,KAAK,EAAE,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,uBAAuB,CACnC,QAAmC,QAAQ;IAE3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAsB,GAAG,EAAE,CACvE,uBAAuB,CAAC,KAAK,CAAC,CACjC,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC5B,YAAY,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QACzD,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAChE,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -3,6 +3,16 @@ import { VDisksGroupBy } from '../../../utils/disks/groupBy';
|
|
|
3
3
|
import type { VDisksGroupByValue } from '../../../utils/disks/groupBy';
|
|
4
4
|
export { VDisksGroupBy };
|
|
5
5
|
export type { VDisksGroupByValue };
|
|
6
|
+
export declare const PDisksGroupBy: {
|
|
7
|
+
readonly State: "State";
|
|
8
|
+
readonly Space: "Space";
|
|
9
|
+
readonly Drive: "Drive";
|
|
10
|
+
readonly Decommit: "Decommit";
|
|
11
|
+
readonly Maintenance: "Maintenance";
|
|
12
|
+
readonly Device: "Device";
|
|
13
|
+
readonly All: "All";
|
|
14
|
+
};
|
|
15
|
+
export type PDisksGroupByValue = (typeof PDisksGroupBy)[keyof typeof PDisksGroupBy];
|
|
6
16
|
export declare const vdisksGroupBySchema: z.ZodCatch<z.ZodEnum<{
|
|
7
17
|
readonly State: "State";
|
|
8
18
|
readonly Space: "Space";
|
|
@@ -10,4 +20,13 @@ export declare const vdisksGroupBySchema: z.ZodCatch<z.ZodEnum<{
|
|
|
10
20
|
readonly Compaction: "Compaction";
|
|
11
21
|
readonly All: "All";
|
|
12
22
|
}>>;
|
|
23
|
+
export declare const pdisksGroupBySchema: z.ZodCatch<z.ZodEnum<{
|
|
24
|
+
readonly State: "State";
|
|
25
|
+
readonly Space: "Space";
|
|
26
|
+
readonly Drive: "Drive";
|
|
27
|
+
readonly Decommit: "Decommit";
|
|
28
|
+
readonly Maintenance: "Maintenance";
|
|
29
|
+
readonly Device: "Device";
|
|
30
|
+
readonly All: "All";
|
|
31
|
+
}>>;
|
|
13
32
|
export declare const b: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -2,6 +2,16 @@ import { z } from 'zod';
|
|
|
2
2
|
import { cn } from '../../../utils/cn';
|
|
3
3
|
import { VDisksGroupBy } from '../../../utils/disks/groupBy';
|
|
4
4
|
export { VDisksGroupBy };
|
|
5
|
+
export const PDisksGroupBy = {
|
|
6
|
+
State: 'State',
|
|
7
|
+
Space: 'Space',
|
|
8
|
+
Drive: 'Drive',
|
|
9
|
+
Decommit: 'Decommit',
|
|
10
|
+
Maintenance: 'Maintenance',
|
|
11
|
+
Device: 'Device',
|
|
12
|
+
All: 'All',
|
|
13
|
+
};
|
|
5
14
|
export const vdisksGroupBySchema = z.nativeEnum(VDisksGroupBy).catch(VDisksGroupBy.State);
|
|
15
|
+
export const pdisksGroupBySchema = z.nativeEnum(PDisksGroupBy).catch(PDisksGroupBy.State);
|
|
6
16
|
export const b = cn('ydb-storage-expert-mode-panel');
|
|
7
17
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/containers/Storage/StorageExpertModePanel/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAC,aAAa,EAAC,CAAC;AAGvB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/containers/Storage/StorageExpertModePanel/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAG3D,OAAO,EAAC,aAAa,EAAC,CAAC;AAGvB,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,KAAK;CACJ,CAAC;AAIX,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC"}
|
|
@@ -1,16 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"label_vdisks": "VDisks:",
|
|
3
|
+
"label_pdisks": "PDisks:",
|
|
3
4
|
"value_state": "State",
|
|
4
5
|
"value_space": "Space",
|
|
5
6
|
"value_front-queues": "Front queues",
|
|
6
7
|
"value_compaction": "Compaction",
|
|
7
8
|
"value_all": "All",
|
|
9
|
+
"value_pdisks-state": "State",
|
|
10
|
+
"value_pdisks-space": "Space",
|
|
11
|
+
"value_pdisks-drive": "Drive",
|
|
12
|
+
"value_pdisks-decommit": "Decommit",
|
|
13
|
+
"value_pdisks-maintenance": "Maintenance",
|
|
14
|
+
"value_pdisks-device": "Device",
|
|
15
|
+
"value_pdisks-all": "All",
|
|
8
16
|
"value_ok": "Ok",
|
|
9
17
|
"value_replication": "Replication",
|
|
10
18
|
"value_initial": "Initial",
|
|
11
19
|
"value_pdisk-error": "PDisk Error",
|
|
12
20
|
"value_error": "Error",
|
|
21
|
+
"value_attention": "Attention",
|
|
22
|
+
"value_stopped": "Stopped",
|
|
13
23
|
"value_no-data": "N/D",
|
|
24
|
+
"drive_active": "Active",
|
|
25
|
+
"drive_inactive": "Inactive",
|
|
26
|
+
"drive_to-be-removed": "To be removed",
|
|
27
|
+
"drive_faulty": "Faulty",
|
|
28
|
+
"drive_broken": "Broken",
|
|
29
|
+
"value_decommit-imminent": "Imminent",
|
|
30
|
+
"value_decommit-rejected": "Rejected",
|
|
31
|
+
"value_decommit-pending": "Pending",
|
|
32
|
+
"value_decommit-none": "No decommission",
|
|
33
|
+
"value_maintenance-long-term-planned": "Long term planned",
|
|
34
|
+
"value_maintenance-no-new-vdisks": "No new VDisks",
|
|
35
|
+
"value_maintenance-no-request": "No request",
|
|
14
36
|
"context_no-statistics": "No statistics available",
|
|
15
37
|
"label_capacity-alerts": "Capacity alerts:",
|
|
16
38
|
"capacity-alerts_all": "All",
|
|
@@ -39,6 +61,7 @@
|
|
|
39
61
|
"front-queues_warning": "Warning",
|
|
40
62
|
"front-queues_impaired": "Impaired",
|
|
41
63
|
"compaction_key": "Fresh / Level Rank Satisfaction:",
|
|
64
|
+
"device_key": "Device / Realtime:",
|
|
42
65
|
"compaction_ok": "OK",
|
|
43
66
|
"compaction_notice": "Notice",
|
|
44
67
|
"compaction_warning": "Warning",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "value_all" | "label_vdisks" | "value_state" | "value_space" | "value_front-queues" | "value_compaction" | "value_ok" | "value_replication" | "value_initial" | "value_pdisk-error" | "value_error" | "value_no-data" | "context_no-statistics" | "label_capacity-alerts" | "capacity-alerts_all" | "capacity-alerts_none" | "capacity-alerts_except" | "capacity-alert_green" | "capacity-alert_cyan" | "capacity-alert_light-yellow" | "capacity-alert_yellow" | "capacity-alert_light-orange" | "capacity-alert_pre-orange" | "capacity-alert_orange" | "capacity-alert_red" | "capacity-alert_black" | "space_green" | "space_cyan" | "space_light-yellow" | "space_yellow" | "space_light-orange" | "space_pre-orange" | "space_orange" | "space_red" | "space_black" | "front-queues_ok" | "front-queues_notice" | "front-queues_warning" | "front-queues_impaired" | "compaction_key" | "compaction_ok" | "compaction_notice" | "compaction_warning" | "compaction_impaired", params?: import("@gravity-ui/i18n").Params) => string;
|
|
1
|
+
declare const _default: (key: "value_all" | "label_vdisks" | "label_pdisks" | "value_state" | "value_space" | "value_front-queues" | "value_compaction" | "value_pdisks-state" | "value_pdisks-space" | "value_pdisks-drive" | "value_pdisks-decommit" | "value_pdisks-maintenance" | "value_pdisks-device" | "value_pdisks-all" | "value_ok" | "value_replication" | "value_initial" | "value_pdisk-error" | "value_error" | "value_attention" | "value_stopped" | "value_no-data" | "drive_active" | "drive_inactive" | "drive_to-be-removed" | "drive_faulty" | "drive_broken" | "value_decommit-imminent" | "value_decommit-rejected" | "value_decommit-pending" | "value_decommit-none" | "value_maintenance-long-term-planned" | "value_maintenance-no-new-vdisks" | "value_maintenance-no-request" | "context_no-statistics" | "label_capacity-alerts" | "capacity-alerts_all" | "capacity-alerts_none" | "capacity-alerts_except" | "capacity-alert_green" | "capacity-alert_cyan" | "capacity-alert_light-yellow" | "capacity-alert_yellow" | "capacity-alert_light-orange" | "capacity-alert_pre-orange" | "capacity-alert_orange" | "capacity-alert_red" | "capacity-alert_black" | "space_green" | "space_cyan" | "space_light-yellow" | "space_yellow" | "space_light-orange" | "space_pre-orange" | "space_orange" | "space_red" | "space_black" | "front-queues_ok" | "front-queues_notice" | "front-queues_warning" | "front-queues_impaired" | "compaction_key" | "device_key" | "compaction_ok" | "compaction_notice" | "compaction_warning" | "compaction_impaired", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "nodes" | "
|
|
1
|
+
declare const _default: (key: "nodes" | "no-data" | "groups" | "controls_group-by-placeholder" | "controls_groups-search-placeholder" | "controls_nodes-search-placeholder" | "controls_expert-mode" | "no-nodes" | "no-groups", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CircleQuestionFill } from '@gravity-ui/icons';
|
|
3
|
+
import { isCapacityAlert } from '../../types/api/enums';
|
|
4
|
+
import { NOT_AVAILABLE_SEVERITY } from '../../utils/disks/constants';
|
|
5
|
+
import { getDefaultPDiskDisplayState } from '../../utils/disks/displayState';
|
|
6
|
+
import { calculateFlagPairIcon, calculateSpaceIcon } from '../../utils/disks/iconCalculators';
|
|
7
|
+
import { getPDiskDecommitDisplayState, getPDiskDriveDisplayState, getPDiskMaintenanceDisplayState, getPDiskStateDisplayState, } from '../../utils/disks/pdiskState';
|
|
8
|
+
import { calculateFlagPairSeverity, calculateSpaceSeverity, } from '../../utils/disks/severityCalculators';
|
|
9
|
+
import { useSpaceLegendSelection } from './StorageExpertModePanel/components/useSpaceLegendSelection';
|
|
10
|
+
import { PDisksGroupBy } from './StorageExpertModePanel/constants';
|
|
11
|
+
import { useIsStorageExpertMode, usePDisksGroupByParam } from './useStorageQueryParams';
|
|
12
|
+
const EXPERT_MODE_PDISK_WIDTH = 55;
|
|
13
|
+
function getModeModifier(groupBy) {
|
|
14
|
+
switch (groupBy) {
|
|
15
|
+
case PDisksGroupBy.State:
|
|
16
|
+
return 'mode-state';
|
|
17
|
+
case PDisksGroupBy.Space:
|
|
18
|
+
return 'mode-space';
|
|
19
|
+
case PDisksGroupBy.Drive:
|
|
20
|
+
return 'mode-drive';
|
|
21
|
+
case PDisksGroupBy.Decommit:
|
|
22
|
+
return 'mode-decommit';
|
|
23
|
+
case PDisksGroupBy.Maintenance:
|
|
24
|
+
return 'mode-maintenance';
|
|
25
|
+
case PDisksGroupBy.Device:
|
|
26
|
+
return 'mode-device';
|
|
27
|
+
default:
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function requiresWhiteboardData(groupBy) {
|
|
32
|
+
return groupBy === PDisksGroupBy.State || groupBy === PDisksGroupBy.Device;
|
|
33
|
+
}
|
|
34
|
+
export function useStoragePDiskDisplayStateGetter() {
|
|
35
|
+
const isExpertMode = useIsStorageExpertMode();
|
|
36
|
+
const pdisksGroupBy = usePDisksGroupByParam();
|
|
37
|
+
const inactiveAlerts = useSpaceLegendSelection('pdisks');
|
|
38
|
+
return React.useCallback((pDisk) => {
|
|
39
|
+
var _a;
|
|
40
|
+
if (!isExpertMode) {
|
|
41
|
+
return getDefaultPDiskDisplayState(pDisk);
|
|
42
|
+
}
|
|
43
|
+
const modeModifier = getModeModifier(pdisksGroupBy);
|
|
44
|
+
if (pDisk.WhiteboardSize === undefined && requiresWhiteboardData(pdisksGroupBy)) {
|
|
45
|
+
return {
|
|
46
|
+
severity: NOT_AVAILABLE_SEVERITY,
|
|
47
|
+
icon: undefined,
|
|
48
|
+
modeModifier,
|
|
49
|
+
isLegendInactive: false,
|
|
50
|
+
showNoDataPlaceholder: true,
|
|
51
|
+
allocatedPercent: undefined,
|
|
52
|
+
width: modeModifier ? EXPERT_MODE_PDISK_WIDTH : undefined,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
if (pdisksGroupBy === PDisksGroupBy.Space) {
|
|
56
|
+
const capacityAlert = pDisk.PDiskCapacityAlert;
|
|
57
|
+
const whiteboardAllocatedPercent = (_a = pDisk.WhiteboardSize) === null || _a === void 0 ? void 0 : _a.AllocatedPercent;
|
|
58
|
+
const allocatedPercent = typeof whiteboardAllocatedPercent === 'number' &&
|
|
59
|
+
Number.isFinite(whiteboardAllocatedPercent)
|
|
60
|
+
? whiteboardAllocatedPercent
|
|
61
|
+
: pDisk.AllocatedPercent;
|
|
62
|
+
return {
|
|
63
|
+
severity: calculateSpaceSeverity({ CapacityAlert: capacityAlert }),
|
|
64
|
+
icon: calculateSpaceIcon({ CapacityAlert: capacityAlert }),
|
|
65
|
+
modeModifier,
|
|
66
|
+
isLegendInactive: isCapacityAlert(capacityAlert) && inactiveAlerts.has(capacityAlert),
|
|
67
|
+
showNoDataPlaceholder: false,
|
|
68
|
+
allocatedPercent,
|
|
69
|
+
width: EXPERT_MODE_PDISK_WIDTH,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
if (pdisksGroupBy === PDisksGroupBy.Drive) {
|
|
73
|
+
const driveDisplayState = getPDiskDriveDisplayState(pDisk.DriveStatus);
|
|
74
|
+
return {
|
|
75
|
+
...driveDisplayState,
|
|
76
|
+
icon: pDisk.DriveStatus === undefined
|
|
77
|
+
? CircleQuestionFill
|
|
78
|
+
: driveDisplayState.icon,
|
|
79
|
+
modeModifier,
|
|
80
|
+
isLegendInactive: false,
|
|
81
|
+
showNoDataPlaceholder: false,
|
|
82
|
+
allocatedPercent: undefined,
|
|
83
|
+
width: EXPERT_MODE_PDISK_WIDTH,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (pdisksGroupBy === PDisksGroupBy.Decommit) {
|
|
87
|
+
const decommitDisplayState = getPDiskDecommitDisplayState(pDisk.DecommitStatus);
|
|
88
|
+
return {
|
|
89
|
+
...decommitDisplayState,
|
|
90
|
+
icon: pDisk.DecommitStatus === undefined
|
|
91
|
+
? CircleQuestionFill
|
|
92
|
+
: decommitDisplayState.icon,
|
|
93
|
+
modeModifier,
|
|
94
|
+
isLegendInactive: false,
|
|
95
|
+
showNoDataPlaceholder: false,
|
|
96
|
+
allocatedPercent: undefined,
|
|
97
|
+
width: EXPERT_MODE_PDISK_WIDTH,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
if (pdisksGroupBy === PDisksGroupBy.Maintenance) {
|
|
101
|
+
const maintenanceDisplayState = getPDiskMaintenanceDisplayState(pDisk.MaintenanceStatus);
|
|
102
|
+
return {
|
|
103
|
+
...maintenanceDisplayState,
|
|
104
|
+
icon: pDisk.MaintenanceStatus === undefined
|
|
105
|
+
? CircleQuestionFill
|
|
106
|
+
: maintenanceDisplayState.icon,
|
|
107
|
+
modeModifier,
|
|
108
|
+
isLegendInactive: false,
|
|
109
|
+
showNoDataPlaceholder: false,
|
|
110
|
+
allocatedPercent: undefined,
|
|
111
|
+
width: EXPERT_MODE_PDISK_WIDTH,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
if (pdisksGroupBy === PDisksGroupBy.Device) {
|
|
115
|
+
return {
|
|
116
|
+
severity: calculateFlagPairSeverity(pDisk.Device, pDisk.Realtime),
|
|
117
|
+
icon: calculateFlagPairIcon(pDisk.Device, pDisk.Realtime),
|
|
118
|
+
modeModifier,
|
|
119
|
+
isLegendInactive: false,
|
|
120
|
+
showNoDataPlaceholder: false,
|
|
121
|
+
allocatedPercent: undefined,
|
|
122
|
+
width: EXPERT_MODE_PDISK_WIDTH,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (pdisksGroupBy !== PDisksGroupBy.State) {
|
|
126
|
+
return getDefaultPDiskDisplayState(pDisk);
|
|
127
|
+
}
|
|
128
|
+
const stateDisplayState = getPDiskStateDisplayState(pDisk.State);
|
|
129
|
+
return {
|
|
130
|
+
...stateDisplayState,
|
|
131
|
+
icon: stateDisplayState.severity === NOT_AVAILABLE_SEVERITY
|
|
132
|
+
? CircleQuestionFill
|
|
133
|
+
: stateDisplayState.icon,
|
|
134
|
+
modeModifier,
|
|
135
|
+
isLegendInactive: false,
|
|
136
|
+
showNoDataPlaceholder: false,
|
|
137
|
+
allocatedPercent: undefined,
|
|
138
|
+
width: EXPERT_MODE_PDISK_WIDTH,
|
|
139
|
+
};
|
|
140
|
+
}, [inactiveAlerts, isExpertMode, pdisksGroupBy]);
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=useStoragePDiskDisplayStateGetter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStoragePDiskDisplayStateGetter.js","sourceRoot":"","sources":["../../../src/containers/Storage/useStoragePDiskDisplayStateGetter.ts"],"names":[],"mappings":"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"}
|