ydb-embedded-ui 6.17.2 → 6.19.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/icons/decommission.svg +6 -0
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +3 -2
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +10 -16
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js.map +1 -1
- package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +2 -2
- package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +4 -2
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js +7 -4
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
- package/dist/components/CriticalActionDialog/CriticalActionDialog.scss +23 -1
- package/dist/components/CriticalActionDialog/utils.d.ts +5 -0
- package/dist/components/CriticalActionDialog/utils.js +4 -0
- package/dist/components/CriticalActionDialog/utils.js.map +1 -0
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +5 -3
- package/dist/components/EntityPageTitle/EntityPageTitle.d.ts +1 -2
- package/dist/components/EntityPageTitle/EntityPageTitle.js +2 -2
- package/dist/components/EntityPageTitle/EntityPageTitle.js.map +1 -1
- package/dist/components/GroupInfo/GroupInfo.js +3 -3
- package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.js +1 -1
- package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.js.map +1 -1
- package/dist/components/LinkWithIcon/LinkWithIcon.d.ts +2 -1
- package/dist/components/LinkWithIcon/LinkWithIcon.js +3 -3
- package/dist/components/LinkWithIcon/LinkWithIcon.js.map +1 -1
- package/dist/components/Loader/Loader.js +1 -1
- package/dist/components/Loader/Loader.js.map +1 -1
- package/dist/components/MetricChart/reducer.d.ts +2 -2
- package/dist/components/PDiskInfo/PDiskInfo.js +1 -7
- package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/en.json +0 -1
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PDiskPopup/PDiskPopup.js +3 -5
- package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTable.d.ts +2 -1
- package/dist/components/PaginatedTable/PaginatedTable.js +2 -2
- package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTable.scss +16 -14
- package/dist/components/PaginatedTable/ResizeablePaginatedTable.js +2 -1
- package/dist/components/PaginatedTable/ResizeablePaginatedTable.js.map +1 -1
- package/dist/components/PaginatedTable/TableChunk.js +12 -4
- package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
- package/dist/components/PaginatedTable/TableHead.js +14 -10
- package/dist/components/PaginatedTable/TableHead.js.map +1 -1
- package/dist/components/PaginatedTable/TableRow.js +14 -6
- package/dist/components/PaginatedTable/TableRow.js.map +1 -1
- package/dist/components/PaginatedTable/types.d.ts +1 -1
- package/dist/components/Skeleton/Skeleton.js +1 -1
- package/dist/components/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +5 -0
- package/dist/components/VDisk/VDisk.d.ts +6 -3
- package/dist/components/VDisk/VDisk.js +6 -4
- package/dist/components/VDisk/VDisk.js.map +1 -1
- package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +3 -5
- package/dist/components/VDisk/VDiskWithDonorsStack.js +4 -4
- package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/containers/AppWithClusters/ExtendedNode/ExtendedNode.js +4 -2
- package/dist/containers/AppWithClusters/ExtendedNode/ExtendedNode.js.map +1 -1
- package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.js +4 -3
- package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.js.map +1 -1
- package/dist/containers/AppWithClusters/useClusterData.d.ts +7 -1
- package/dist/containers/AppWithClusters/useClusterData.js +8 -8
- package/dist/containers/AppWithClusters/useClusterData.js.map +1 -1
- package/dist/containers/AsideNavigation/AsideNavigation.d.ts +3 -0
- package/dist/containers/AsideNavigation/AsideNavigation.js +6 -10
- package/dist/containers/AsideNavigation/AsideNavigation.js.map +1 -1
- package/dist/containers/AsideNavigation/Navigation.js +4 -1
- package/dist/containers/AsideNavigation/Navigation.js.map +1 -1
- package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.d.ts +3 -1
- package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +2 -4
- package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js.map +1 -1
- package/dist/containers/Cluster/Cluster.js +5 -13
- package/dist/containers/Cluster/Cluster.js.map +1 -1
- package/dist/containers/Cluster/Cluster.scss +1 -0
- package/dist/containers/Header/Header.js +3 -7
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Node/Node.js +1 -5
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Node/NodePages.js +5 -4
- package/dist/containers/Node/NodePages.js.map +1 -1
- package/dist/containers/Node/NodeStructure/NodeStructure.js +9 -3
- package/dist/containers/Node/NodeStructure/NodeStructure.js.map +1 -1
- package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.d.ts +11 -0
- package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.js +91 -0
- package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.js.map +1 -0
- package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.scss +6 -0
- package/dist/containers/PDiskPage/DecommissionLabel/DecommissionLabel.d.ts +6 -0
- package/dist/containers/PDiskPage/DecommissionLabel/DecommissionLabel.js +20 -0
- package/dist/containers/PDiskPage/DecommissionLabel/DecommissionLabel.js.map +1 -0
- package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js +19 -14
- package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskGroups/utils.d.ts +2 -0
- package/dist/containers/PDiskPage/PDiskGroups/utils.js +14 -0
- package/dist/containers/PDiskPage/PDiskGroups/utils.js.map +1 -0
- package/dist/containers/PDiskPage/PDiskPage.js +33 -15
- package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskPage.scss +7 -0
- package/dist/containers/PDiskPage/i18n/en.json +16 -2
- package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/Disks/Disks.d.ts +9 -0
- package/dist/containers/Storage/Disks/Disks.js +37 -0
- package/dist/containers/Storage/Disks/Disks.js.map +1 -0
- package/dist/containers/Storage/Disks/Disks.scss +46 -0
- package/dist/containers/Storage/PDisk/PDisk.d.ts +6 -2
- package/dist/containers/Storage/PDisk/PDisk.js +14 -7
- package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
- package/dist/containers/Storage/PDisk/PDisk.scss +4 -2
- package/dist/containers/Storage/PaginatedStorage.js +1 -4
- package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
- package/dist/containers/Storage/Storage.js +11 -13
- package/dist/containers/Storage/Storage.js.map +1 -1
- package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.d.ts +1 -3
- package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.js +11 -7
- package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.js.map +1 -1
- package/dist/containers/Storage/StorageGroups/StorageGroups.d.ts +1 -4
- package/dist/containers/Storage/StorageGroups/StorageGroups.js +4 -7
- package/dist/containers/Storage/StorageGroups/StorageGroups.js.map +1 -1
- package/dist/containers/Storage/StorageGroups/{StorageGroups.scss → columns/StorageGroupsColumns.scss} +3 -2
- package/dist/containers/Storage/StorageGroups/columns/getStorageGroupsColumns.d.ts +21 -0
- package/dist/containers/Storage/StorageGroups/{getStorageGroupsColumns.js → columns/getStorageGroupsColumns.js} +47 -40
- package/dist/containers/Storage/StorageGroups/columns/getStorageGroupsColumns.js.map +1 -0
- package/dist/containers/Storage/StorageGroups/columns/hooks.d.ts +3 -0
- package/dist/containers/Storage/StorageGroups/columns/hooks.js +19 -0
- package/dist/containers/Storage/StorageGroups/columns/hooks.js.map +1 -0
- package/dist/containers/Storage/StorageGroups/columns/types.d.ts +14 -0
- package/dist/containers/Storage/StorageGroups/columns/types.js.map +1 -0
- package/dist/containers/Storage/StorageGroups/getGroups.d.ts +3 -1
- package/dist/containers/Storage/StorageGroups/getGroups.js +27 -24
- package/dist/containers/Storage/StorageGroups/getGroups.js.map +1 -1
- package/dist/containers/Storage/StorageNodes/PaginatedStorageNodes.js +1 -1
- package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.d.ts +1 -1
- package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js +1 -1
- package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js.map +1 -1
- package/dist/containers/Storage/utils/index.js +3 -4
- package/dist/containers/Storage/utils/index.js.map +1 -1
- package/dist/containers/Tablet/Tablet.js +13 -11
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tablet/components/TabletControls/TabletControls.js +1 -1
- package/dist/containers/Tablet/components/TabletControls/TabletControls.js.map +1 -1
- package/dist/containers/Tablet/i18n/en.json +6 -3
- package/dist/containers/Tablet/i18n/index.d.ts +1 -1
- package/dist/containers/Tablets/Tablets.js +1 -1
- package/dist/containers/Tablets/Tablets.js.map +1 -1
- package/dist/containers/Tablets/i18n/en.json +2 -1
- package/dist/containers/Tablets/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Configs/Configs.d.ts +6 -0
- package/dist/containers/Tenant/Diagnostics/Configs/Configs.js +79 -0
- package/dist/containers/Tenant/Diagnostics/Configs/Configs.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Configs/Configs.scss +8 -0
- package/dist/containers/Tenant/Diagnostics/Configs/i18n/en.json +11 -0
- package/dist/containers/Tenant/Diagnostics/Configs/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/Configs/i18n/index.js +5 -0
- package/dist/containers/Tenant/Diagnostics/Configs/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +4 -0
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +3 -0
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +5 -0
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +22 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/utils.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/utils.js +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/utils.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js.map +1 -1
- package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +8 -3
- package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js.map +1 -1
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.d.ts +7 -0
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js +17 -0
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js.map +1 -0
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.scss +9 -0
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.d.ts +5 -9
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +8 -6
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js.map +1 -1
- package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.scss +0 -6
- package/dist/containers/Tenant/Query/ExecuteResult/TraceButton.d.ts +5 -0
- package/dist/containers/Tenant/Query/ExecuteResult/TraceButton.js +28 -0
- package/dist/containers/Tenant/Query/ExecuteResult/TraceButton.js.map +1 -0
- package/dist/containers/Tenant/Query/ExecuteResult/i18n/en.json +2 -2
- package/dist/containers/Tenant/Query/ExecuteResult/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.d.ts +4 -12
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +7 -5
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js.map +1 -1
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.scss +0 -6
- package/dist/containers/Tenant/Query/ExplainResult/i18n/en.json +1 -2
- package/dist/containers/Tenant/Query/ExplainResult/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/Query.js +14 -2
- package/dist/containers/Tenant/Query/Query.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +3 -2
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +18 -36
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/i18n/en.json +1 -0
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/utils/__test__/replaceParams.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/utils/__test__/replaceParams.test.js +50 -0
- package/dist/containers/Tenant/Query/utils/__test__/replaceParams.test.js.map +1 -0
- package/dist/containers/Tenant/Query/utils/replaceParams.d.ts +1 -0
- package/dist/containers/Tenant/Query/utils/replaceParams.js +6 -0
- package/dist/containers/Tenant/Query/utils/replaceParams.js.map +1 -0
- package/dist/containers/Tenant/utils/queryTemplates.js +1 -1
- package/dist/containers/Tenant/utils/queryTemplates.js.map +1 -1
- package/dist/containers/UserSettings/i18n/en.json +2 -0
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +1 -0
- package/dist/containers/UserSettings/settings.js +12 -2
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.d.ts +3 -4
- package/dist/containers/VDiskPage/VDiskPage.js +37 -17
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/VDiskPage/i18n/en.json +2 -1
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
- package/dist/containers/VDiskPage/utils.d.ts +2 -0
- package/dist/containers/VDiskPage/utils.js +7 -0
- package/dist/containers/VDiskPage/utils.js.map +1 -0
- package/dist/lib.d.ts +1 -0
- package/dist/lib.js +1 -0
- package/dist/lib.js.map +1 -1
- package/dist/services/api.d.ts +27 -11
- package/dist/services/api.js +110 -21
- package/dist/services/api.js.map +1 -1
- package/dist/services/parsers/parseMetaCluster.d.ts +14 -0
- package/dist/services/parsers/parseMetaCluster.js +20 -1
- package/dist/services/parsers/parseMetaCluster.js.map +1 -1
- package/dist/services/settings.d.ts +1 -0
- package/dist/services/settings.js +2 -1
- package/dist/services/settings.js.map +1 -1
- package/dist/store/configureStore.d.ts +4 -4
- package/dist/store/defaultStore.d.ts +2 -2
- package/dist/store/getUrlData.js +9 -6
- package/dist/store/getUrlData.js.map +1 -1
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/api.js +1 -1
- package/dist/store/reducers/api.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +4 -4
- package/dist/store/reducers/cancelQuery.d.ts +2 -2
- package/dist/store/reducers/cancelQuery.js.map +1 -1
- package/dist/store/reducers/capabilities/capabilities.d.ts +6 -6
- package/dist/store/reducers/capabilities/hooks.d.ts +2 -0
- 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 +230 -2
- package/dist/store/reducers/cluster/cluster.js +36 -3
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/cluster/utils.d.ts +1 -0
- package/dist/store/reducers/cluster/utils.js +7 -0
- package/dist/store/reducers/cluster/utils.js.map +1 -1
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/describe.d.ts +2 -2
- package/dist/store/reducers/executeQuery.d.ts +8 -4
- package/dist/store/reducers/executeQuery.js +36 -1
- package/dist/store/reducers/executeQuery.js.map +1 -1
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +2 -2
- package/dist/store/reducers/explainQuery/explainQuery.d.ts +2 -3
- package/dist/store/reducers/explainQuery/explainQuery.js +23 -2
- package/dist/store/reducers/explainQuery/explainQuery.js.map +1 -1
- package/dist/store/reducers/explainQuery/types.d.ts +1 -0
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +58 -58
- 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 +3 -3
- package/dist/store/reducers/nodes/nodes.js +1 -2
- package/dist/store/reducers/nodes/nodes.js.map +1 -1
- package/dist/store/reducers/nodesList.d.ts +3 -3
- package/dist/store/reducers/overview/overview.d.ts +2 -2
- package/dist/store/reducers/partitions/partitions.d.ts +2 -2
- package/dist/store/reducers/pdisk/pdisk.d.ts +2 -3
- package/dist/store/reducers/pdisk/pdisk.js +1 -21
- package/dist/store/reducers/pdisk/pdisk.js.map +1 -1
- package/dist/store/reducers/pdisk/utils.d.ts +0 -3
- package/dist/store/reducers/pdisk/utils.js +0 -22
- package/dist/store/reducers/pdisk/utils.js.map +1 -1
- package/dist/store/reducers/preview.d.ts +2 -2
- package/dist/store/reducers/schema/schema.d.ts +3 -3
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +2 -2
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
- package/dist/store/reducers/storage/requestStorageData.d.ts +5 -0
- package/dist/store/reducers/storage/requestStorageData.js +12 -0
- package/dist/store/reducers/storage/requestStorageData.js.map +1 -0
- package/dist/store/reducers/storage/selectors.js +1 -1
- package/dist/store/reducers/storage/storage.d.ts +6 -4
- package/dist/store/reducers/storage/storage.js +6 -6
- package/dist/store/reducers/storage/storage.js.map +1 -1
- package/dist/store/reducers/storage/types.d.ts +11 -23
- package/dist/store/reducers/storage/utils.d.ts +3 -2
- package/dist/store/reducers/storage/utils.js +52 -26
- package/dist/store/reducers/storage/utils.js.map +1 -1
- package/dist/store/reducers/tableData.d.ts +1 -1
- package/dist/store/reducers/tablet.d.ts +7 -7
- package/dist/store/reducers/tablets.d.ts +13 -13
- package/dist/store/reducers/tenant/constants.d.ts +1 -0
- package/dist/store/reducers/tenant/constants.js +1 -0
- package/dist/store/reducers/tenant/constants.js.map +1 -1
- package/dist/store/reducers/tenant/tenant.d.ts +5 -2
- package/dist/store/reducers/tenant/tenant.js +12 -0
- package/dist/store/reducers/tenant/tenant.js.map +1 -1
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topNodes/topNodes.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
- package/dist/store/reducers/tenants/selectors.d.ts +27 -27
- package/dist/store/reducers/tenants/tenants.d.ts +2 -2
- package/dist/store/reducers/topic.d.ts +44 -44
- package/dist/store/reducers/trace.d.ts +7 -0
- package/dist/store/reducers/trace.js +18 -0
- package/dist/store/reducers/trace.js.map +1 -0
- package/dist/store/reducers/vdisk/utils.d.ts +0 -2
- package/dist/store/reducers/vdisk/utils.js +0 -10
- package/dist/store/reducers/vdisk/utils.js.map +1 -1
- package/dist/store/reducers/vdisk/vdisk.d.ts +8 -5
- package/dist/store/reducers/vdisk/vdisk.js +17 -32
- package/dist/store/reducers/vdisk/vdisk.js.map +1 -1
- package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
- package/dist/types/api/capabilities.d.ts +1 -1
- package/dist/types/api/cluster.d.ts +3 -0
- package/dist/types/api/compute.d.ts +1 -4
- package/dist/types/api/compute.js +1 -5
- package/dist/types/api/compute.js.map +1 -1
- package/dist/types/api/featureFlags.d.ts +13 -0
- package/dist/types/api/featureFlags.js +2 -0
- package/dist/types/api/featureFlags.js.map +1 -0
- package/dist/types/api/meta.d.ts +5 -1
- package/dist/types/api/modifyDisk.d.ts +1 -0
- package/dist/types/api/pdisk.d.ts +2 -2
- package/dist/types/api/query.d.ts +7 -1
- package/dist/types/api/storage.d.ts +132 -6
- package/dist/types/api/storage.js +1 -5
- package/dist/types/api/storage.js.map +1 -1
- package/dist/types/api/trace.d.ts +17 -0
- package/dist/types/api/trace.js +8 -0
- package/dist/types/api/trace.js.map +1 -0
- package/dist/types/api/vdisk.d.ts +1 -1
- package/dist/types/store/executeQuery.d.ts +25 -3
- package/dist/types/store/executeQuery.js +5 -1
- package/dist/types/store/executeQuery.js.map +1 -1
- package/dist/types/store/query.d.ts +1 -0
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +1 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/disks/helpers.d.ts +5 -2
- package/dist/utils/disks/helpers.js +12 -2
- package/dist/utils/disks/helpers.js.map +1 -1
- package/dist/utils/disks/prepareDisks.js +10 -5
- package/dist/utils/disks/prepareDisks.js.map +1 -1
- package/dist/utils/hooks/useDelayed.d.ts +1 -1
- package/dist/utils/hooks/useDelayed.js +6 -1
- package/dist/utils/hooks/useDelayed.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/monaco/yql/generateSuggestions.js +8 -3
- package/dist/utils/monaco/yql/generateSuggestions.js.map +1 -1
- package/dist/utils/query.js.map +1 -1
- package/dist/utils/storage.d.ts +2 -21
- package/dist/utils/storage.js +14 -19
- package/dist/utils/storage.js.map +1 -1
- package/package.json +1 -6
- package/dist/components/CriticalActionDialog/index.d.ts +0 -1
- package/dist/components/CriticalActionDialog/index.js +0 -2
- package/dist/components/CriticalActionDialog/index.js.map +0 -1
- package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.d.ts +0 -9
- package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.js +0 -9
- package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.js.map +0 -1
- package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.scss +0 -3
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +0 -62
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js.map +0 -1
- package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +0 -4
- package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.js +0 -29
- package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.js.map +0 -1
- package/dist/store/reducers/tenantOverview/topStorageGroups/types.d.ts +0 -4
- package/dist/store/reducers/tenantOverview/topStorageGroups/types.js.map +0 -1
- package/dist/store/reducers/tenantOverview/topStorageGroups/utils.d.ts +0 -3
- package/dist/store/reducers/tenantOverview/topStorageGroups/utils.js +0 -13
- package/dist/store/reducers/tenantOverview/topStorageGroups/utils.js.map +0 -1
- /package/dist/{store/reducers/tenantOverview/topStorageGroups → containers/Storage/StorageGroups/columns}/types.js +0 -0
@@ -2,24 +2,29 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
3
3
|
import { ResizeableDataTable } from '../../../components/ResizeableDataTable/ResizeableDataTable';
|
4
4
|
import { TableSkeleton } from '../../../components/TableSkeleton/TableSkeleton';
|
5
|
-
import {
|
6
|
-
import {
|
5
|
+
import { useCapabilitiesLoaded, useStorageGroupsHandlerAvailable, } from '../../../store/reducers/capabilities/hooks';
|
6
|
+
import { storageApi } from '../../../store/reducers/storage/storage';
|
7
7
|
import { DEFAULT_TABLE_SETTINGS } from '../../../utils/constants';
|
8
|
-
import { useAutoRefreshInterval
|
9
|
-
import { STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY
|
8
|
+
import { useAutoRefreshInterval } from '../../../utils/hooks';
|
9
|
+
import { STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY } from '../../Storage/StorageGroups/columns/getStorageGroupsColumns';
|
10
|
+
import { useGetDiskStorageColumns } from '../../Storage/StorageGroups/columns/hooks';
|
11
|
+
import { preparePDiskStorageResponse } from './utils';
|
10
12
|
export function PDiskGroups({ pDiskId, nodeId }) {
|
11
|
-
|
12
|
-
const
|
13
|
+
const capabilitiesLoaded = useCapabilitiesLoaded();
|
14
|
+
const groupsHandlerAvailable = useStorageGroupsHandlerAvailable();
|
13
15
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
14
|
-
const
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
16
|
+
const { currentData, isFetching } = storageApi.useGetStorageGroupsInfoQuery({ pDiskId, nodeId, shouldUseGroupsHandler: groupsHandlerAvailable }, {
|
17
|
+
pollingInterval: autoRefreshInterval,
|
18
|
+
skip: !capabilitiesLoaded,
|
19
|
+
});
|
20
|
+
const loading = isFetching && currentData === undefined;
|
21
|
+
const preparedGroups = React.useMemo(() => {
|
22
|
+
return preparePDiskStorageResponse(currentData, pDiskId, nodeId) || [];
|
23
|
+
}, [currentData, pDiskId, nodeId]);
|
24
|
+
const pDiskStorageColumns = useGetDiskStorageColumns();
|
25
|
+
if (loading || !capabilitiesLoaded) {
|
21
26
|
return _jsx(TableSkeleton, {});
|
22
27
|
}
|
23
|
-
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, data:
|
28
|
+
return (_jsx(ResizeableDataTable, { columnsWidthLSKey: STORAGE_GROUPS_COLUMNS_WIDTH_LS_KEY, data: preparedGroups, columns: pDiskStorageColumns, settings: DEFAULT_TABLE_SETTINGS }));
|
24
29
|
}
|
25
30
|
//# sourceMappingURL=PDiskGroups.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PDiskGroups.js","sourceRoot":"","sources":["../../../../src/containers/PDiskPage/PDiskGroups/PDiskGroups.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,6DAA6D,CAAC;AAChG,OAAO,EAAC,aAAa,EAAC,MAAM,iDAAiD,CAAC;AAC9E,OAAO,
|
1
|
+
{"version":3,"file":"PDiskGroups.js","sourceRoot":"","sources":["../../../../src/containers/PDiskPage/PDiskGroups/PDiskGroups.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,6DAA6D,CAAC;AAChG,OAAO,EAAC,aAAa,EAAC,MAAM,iDAAiD,CAAC;AAC9E,OAAO,EACH,qBAAqB,EACrB,gCAAgC,GACnC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,mCAAmC,EAAC,MAAM,6DAA6D,CAAC;AAChH,OAAO,EAAC,wBAAwB,EAAC,MAAM,2CAA2C,CAAC;AAEnF,OAAO,EAAC,2BAA2B,EAAC,MAAM,SAAS,CAAC;AAOpD,MAAM,UAAU,WAAW,CAAC,EAAC,OAAO,EAAE,MAAM,EAAmB;IAC3D,MAAM,kBAAkB,GAAG,qBAAqB,EAAE,CAAC;IACnD,MAAM,sBAAsB,GAAG,gCAAgC,EAAE,CAAC;IAClE,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IAEvD,MAAM,EAAC,WAAW,EAAE,UAAU,EAAC,GAAG,UAAU,CAAC,4BAA4B,CACrE,EAAC,OAAO,EAAE,MAAM,EAAE,sBAAsB,EAAE,sBAAsB,EAAC,EACjE;QACI,eAAe,EAAE,mBAAmB;QACpC,IAAI,EAAE,CAAC,kBAAkB;KAC5B,CACJ,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC;IAExD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,OAAO,2BAA2B,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3E,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnC,MAAM,mBAAmB,GAAG,wBAAwB,EAAE,CAAC;IAEvD,IAAI,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjC,OAAO,KAAC,aAAa,KAAG,CAAC;IAC7B,CAAC;IAED,OAAO,CACH,KAAC,mBAAmB,IAChB,iBAAiB,EAAE,mCAAmC,EACtD,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,sBAAsB,GAClC,CACL,CAAC;AACN,CAAC"}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import type { PreparedStorageResponse } from '../../../store/reducers/storage/types';
|
2
|
+
export declare function preparePDiskStorageResponse(data?: PreparedStorageResponse, pDiskId?: number | string, nodeId?: number | string): import("../../../store/reducers/storage/types").PreparedStorageGroup[] | undefined;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
export function preparePDiskStorageResponse(data, pDiskId, nodeId) {
|
2
|
+
var _a;
|
3
|
+
return (_a = data === null || data === void 0 ? void 0 : data.groups) === null || _a === void 0 ? void 0 : _a.filter((group) => {
|
4
|
+
var _a;
|
5
|
+
return (_a = group.VDisks) === null || _a === void 0 ? void 0 : _a.some((vdisk) => {
|
6
|
+
var _a, _b, _c, _d;
|
7
|
+
// If VDisk has PDisk inside, PDiskId and NodeId fields could be only inside PDisk and vice versa
|
8
|
+
const groupPDiskId = (_a = vdisk.PDiskId) !== null && _a !== void 0 ? _a : (_b = vdisk.PDisk) === null || _b === void 0 ? void 0 : _b.PDiskId;
|
9
|
+
const groupNodeId = (_c = vdisk.NodeId) !== null && _c !== void 0 ? _c : (_d = vdisk.PDisk) === null || _d === void 0 ? void 0 : _d.NodeId;
|
10
|
+
return (Number(groupPDiskId) === Number(pDiskId) && Number(groupNodeId) === Number(nodeId));
|
11
|
+
});
|
12
|
+
});
|
13
|
+
}
|
14
|
+
//# sourceMappingURL=utils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/containers/PDiskPage/PDiskGroups/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,2BAA2B,CACvC,IAA8B,EAC9B,OAAyB,EACzB,MAAwB;;IAExB,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;;QAClC,OAAO,MAAA,KAAK,CAAC,MAAM,0CAAE,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;;YAChC,iGAAiG;YACjG,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,OAAO,mCAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,OAAO,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,MAAM,CAAC;YAExD,OAAO,CACH,MAAM,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CACrF,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|
@@ -19,13 +19,16 @@ import { selectIsUserAllowedToMakeChanges } from '../../store/reducers/authentic
|
|
19
19
|
import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
|
20
20
|
import { pDiskApi } from '../../store/reducers/pdisk/pdisk';
|
21
21
|
import { valueIsDefined } from '../../utils';
|
22
|
+
import { cn } from '../../utils/cn';
|
22
23
|
import { getPDiskId, getSeverityColor } from '../../utils/disks/helpers';
|
23
24
|
import { useAutoRefreshInterval, useTypedDispatch, useTypedSelector } from '../../utils/hooks';
|
25
|
+
import { DecommissionButton } from './DecommissionButton/DecommissionButton';
|
26
|
+
import { DecommissionLabel } from './DecommissionLabel/DecommissionLabel';
|
24
27
|
import { PDiskGroups } from './PDiskGroups/PDiskGroups';
|
25
28
|
import { PDiskSpaceDistribution } from './PDiskSpaceDistribution/PDiskSpaceDistribution';
|
26
29
|
import { pDiskPageKeyset } from './i18n';
|
27
|
-
import { pdiskPageCn } from './shared';
|
28
30
|
import './PDiskPage.scss';
|
31
|
+
const pdiskPageCn = cn('ydb-pdisk-page');
|
29
32
|
const PDISK_TABS_IDS = {
|
30
33
|
diskDistribution: 'diskDistribution',
|
31
34
|
groups: 'groups',
|
@@ -65,24 +68,39 @@ export function PDiskPage() {
|
|
65
68
|
});
|
66
69
|
const pDiskLoading = pdiskDataQuery.isFetching && pdiskDataQuery.currentData === undefined;
|
67
70
|
const pDiskData = pdiskDataQuery.currentData;
|
68
|
-
const { NodeHost, NodeId, NodeType, NodeDC, Severity } = pDiskData || {};
|
71
|
+
const { NodeHost, NodeId, NodeType, NodeDC, Severity, DecommitStatus } = pDiskData || {};
|
69
72
|
const handleRestart = async (isRetry) => {
|
70
73
|
if (pDiskParamsDefined) {
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
74
|
+
const response = await window.api.restartPDisk({ nodeId, pDiskId, force: isRetry });
|
75
|
+
if ((response === null || response === void 0 ? void 0 : response.result) === false) {
|
76
|
+
const err = {
|
77
|
+
statusText: response.error,
|
78
|
+
retryPossible: response.forceRetryPossible,
|
79
|
+
};
|
80
|
+
throw err;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
};
|
84
|
+
const handleDecommissionChange = async (newDecommissionStatus, isRetry) => {
|
85
|
+
if (pDiskParamsDefined) {
|
86
|
+
const response = await window.api.changePDiskStatus({
|
87
|
+
nodeId,
|
88
|
+
pDiskId,
|
89
|
+
force: isRetry,
|
90
|
+
decommissionStatus: newDecommissionStatus,
|
79
91
|
});
|
92
|
+
if ((response === null || response === void 0 ? void 0 : response.result) === false) {
|
93
|
+
const err = {
|
94
|
+
statusText: response.error,
|
95
|
+
retryPossible: response.forceRetryPossible,
|
96
|
+
};
|
97
|
+
throw err;
|
98
|
+
}
|
80
99
|
}
|
81
|
-
return undefined;
|
82
100
|
};
|
83
|
-
const
|
101
|
+
const handleAfterAction = () => {
|
84
102
|
if (pDiskParamsDefined) {
|
85
|
-
dispatch(api.util.invalidateTags([{ type: 'PDiskData', id: getPDiskId(nodeId, pDiskId) }]));
|
103
|
+
dispatch(api.util.invalidateTags([{ type: 'PDiskData', id: getPDiskId(nodeId, pDiskId) }]), 'StorageData');
|
86
104
|
}
|
87
105
|
};
|
88
106
|
const renderHelmet = () => {
|
@@ -98,10 +116,10 @@ export function PDiskPage() {
|
|
98
116
|
return (_jsx(PageMetaWithAutorefresh, { loading: pDiskLoading, items: [hostItem, nodeIdItem, NodeType, NodeDC], className: pdiskPageCn('meta') }));
|
99
117
|
};
|
100
118
|
const renderPageTitle = () => {
|
101
|
-
return (_jsx(EntityPageTitle, { entityName: pDiskPageKeyset('pdisk'), status: getSeverityColor(Severity), id:
|
119
|
+
return (_jsxs("div", { className: pdiskPageCn('title'), children: [_jsx(EntityPageTitle, { entityName: pDiskPageKeyset('pdisk'), status: getSeverityColor(Severity), id: getPDiskId(nodeId, pDiskId) }), _jsx(DecommissionLabel, { decommission: DecommitStatus })] }));
|
102
120
|
};
|
103
121
|
const renderControls = () => {
|
104
|
-
return (
|
122
|
+
return (_jsxs("div", { className: pdiskPageCn('controls'), children: [_jsxs(ButtonWithConfirmDialog, { onConfirmAction: handleRestart, onConfirmActionSuccess: handleAfterAction, buttonDisabled: !pDiskParamsDefined || !isUserAllowedToMakeChanges, buttonView: "normal", dialogHeader: pDiskPageKeyset('restart-pdisk-dialog-header'), dialogText: pDiskPageKeyset('restart-pdisk-dialog-text'), retryButtonText: pDiskPageKeyset('force-restart-pdisk-button'), withPopover: true, popoverContent: pDiskPageKeyset('restart-pdisk-not-allowed'), popoverDisabled: isUserAllowedToMakeChanges, children: [_jsx(Icon, { data: ArrowRotateLeft }), pDiskPageKeyset('restart-pdisk-button')] }), _jsx(DecommissionButton, { decommission: DecommitStatus, onConfirmAction: handleDecommissionChange, onConfirmActionSuccess: handleAfterAction, buttonDisabled: !pDiskParamsDefined || !isUserAllowedToMakeChanges, popoverDisabled: isUserAllowedToMakeChanges })] }));
|
105
123
|
};
|
106
124
|
const renderInfo = () => {
|
107
125
|
if (pDiskLoading) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PDiskPage.js","sourceRoot":"","sources":["../../../src/containers/PDiskPage/PDiskPage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAC,uBAAuB,EAAC,MAAM,kEAAkE,CAAC;AACzG,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAC,YAAY,EAAC,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAC,SAAS,EAAC,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EAAC,uBAAuB,EAAC,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,GAAG,EAAC,MAAM,0BAA0B,CAAC;AAC7C,OAAO,EAAC,gCAAgC,EAAC,MAAM,oDAAoD,CAAC;AACpG,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAC;
|
1
|
+
{"version":3,"file":"PDiskPage.js","sourceRoot":"","sources":["../../../src/containers/PDiskPage/PDiskPage.tsx"],"names":[],"mappings":"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"}
|
@@ -12,6 +12,20 @@
|
|
12
12
|
"no-slots-data": "No slots data",
|
13
13
|
"restart-pdisk-button": "Restart PDisk",
|
14
14
|
"force-restart-pdisk-button": "Restart anyway",
|
15
|
-
"restart-pdisk-
|
16
|
-
"restart-pdisk-
|
15
|
+
"restart-pdisk-not-allowed": "You don't have enough rights to restart PDisk",
|
16
|
+
"restart-pdisk-dialog-header": "Restart PDisk",
|
17
|
+
"restart-pdisk-dialog-text": "PDisk will be restarted. Do you want to proceed?",
|
18
|
+
"decommission-none": "None",
|
19
|
+
"decommission-imminent": "Imminent",
|
20
|
+
"decommission-pending": "Pending",
|
21
|
+
"decommission-rejected": "Rejected",
|
22
|
+
"decommission-label": "{{decommission}} decommission",
|
23
|
+
"decommission-button": "Decommission",
|
24
|
+
"decommission-change-not-allowed": "You don't have enough rights to change PDisk decommission",
|
25
|
+
"decommission-dialog-title": "Change decommission status",
|
26
|
+
"decommission-dialog-force-change": "Change anyway",
|
27
|
+
"decommission-dialog-imminent-warning": "This will start imminent decommission. Existing slots will be moved from the disk",
|
28
|
+
"decommission-dialog-pending-warning": "This will start pending decommission. Decommission will be planned for this disk, but will not start immediatelly. Existing slots will not be moved from the disk, but no new slots will be allocated on it",
|
29
|
+
"decommission-dialog-rejected-warning": "This will start rejected decommission. No slots from other disks are placed on this disk in the process of decommission",
|
30
|
+
"decommission-dialog-none-warning": "This will reset decommission mode, allowing the disk to be used by the storage"
|
17
31
|
}
|
@@ -1 +1 @@
|
|
1
|
-
export declare const pDiskPageKeyset: (key: "node" | "groups" | "log" | "fqdn" | "pdisk" | "disk-distribution" | "empty-slot" | "label.log-size" | "label.system-size" | "label.slot-size" | "no-slots-data" | "restart-pdisk-button" | "force-restart-pdisk-button" | "restart-pdisk-dialog" | "restart-pdisk-not-allowed", params?: import("@gravity-ui/i18n").Params) => string;
|
1
|
+
export declare const pDiskPageKeyset: (key: "node" | "groups" | "log" | "fqdn" | "pdisk" | "disk-distribution" | "empty-slot" | "label.log-size" | "label.system-size" | "label.slot-size" | "no-slots-data" | "restart-pdisk-button" | "force-restart-pdisk-button" | "restart-pdisk-not-allowed" | "restart-pdisk-dialog-header" | "restart-pdisk-dialog-text" | "decommission-none" | "decommission-imminent" | "decommission-pending" | "decommission-rejected" | "decommission-label" | "decommission-button" | "decommission-change-not-allowed" | "decommission-dialog-title" | "decommission-dialog-force-change" | "decommission-dialog-imminent-warning" | "decommission-dialog-pending-warning" | "decommission-dialog-rejected-warning" | "decommission-dialog-none-warning", params?: import("@gravity-ui/i18n").Params) => string;
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import type { NodesMap } from '../../../types/store/nodesList';
|
2
|
+
import type { PreparedVDisk } from '../../../utils/disks/types';
|
3
|
+
import './Disks.scss';
|
4
|
+
interface DisksProps {
|
5
|
+
vDisks?: PreparedVDisk[];
|
6
|
+
nodes?: NodesMap;
|
7
|
+
}
|
8
|
+
export declare function Disks({ vDisks, nodes }: DisksProps): import("react/jsx-runtime").JSX.Element | null;
|
9
|
+
export {};
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import React from 'react';
|
3
|
+
import { VDiskWithDonorsStack } from '../../../components/VDisk/VDiskWithDonorsStack';
|
4
|
+
import { cn } from '../../../utils/cn';
|
5
|
+
import { stringifyVdiskId } from '../../../utils/dataFormatters/dataFormatters';
|
6
|
+
import { getPDiskId } from '../../../utils/disks/helpers';
|
7
|
+
import { PDisk } from '../PDisk';
|
8
|
+
import './Disks.scss';
|
9
|
+
const b = cn('ydb-storage-disks');
|
10
|
+
export function Disks({ vDisks = [], nodes }) {
|
11
|
+
const [highlightedVDisk, setHighlightedVDisk] = React.useState();
|
12
|
+
if (!vDisks.length) {
|
13
|
+
return null;
|
14
|
+
}
|
15
|
+
return (_jsxs("div", { className: b(null), children: [_jsx("div", { className: b('vdisks-wrapper'), children: vDisks === null || vDisks === void 0 ? void 0 : vDisks.map((vDisk) => {
|
16
|
+
return (_jsx(VDiskItem, { vDisk: vDisk, nodes: nodes, highlightedVDisk: highlightedVDisk, setHighlightedVDisk: setHighlightedVDisk }, stringifyVdiskId(vDisk.VDiskId)));
|
17
|
+
}) }), _jsx("div", { className: b('pdisks-wrapper'), children: vDisks === null || vDisks === void 0 ? void 0 : vDisks.map((vDisk) => {
|
18
|
+
var _a;
|
19
|
+
return (_jsx(PDiskItem, { vDisk: vDisk, nodes: nodes, highlightedVDisk: highlightedVDisk, setHighlightedVDisk: setHighlightedVDisk }, getPDiskId(vDisk.NodeId, (_a = vDisk === null || vDisk === void 0 ? void 0 : vDisk.PDisk) === null || _a === void 0 ? void 0 : _a.PDiskId)));
|
20
|
+
}) })] }));
|
21
|
+
}
|
22
|
+
function VDiskItem({ nodes, vDisk, highlightedVDisk, setHighlightedVDisk }) {
|
23
|
+
// Do not show PDisk popup for VDisk
|
24
|
+
const vDiskToShow = { ...vDisk, PDisk: undefined };
|
25
|
+
const vDiskId = stringifyVdiskId(vDisk.VDiskId);
|
26
|
+
return (_jsx("div", { style: {
|
27
|
+
flexGrow: Number(vDisk.AllocatedSize) || 1,
|
28
|
+
}, className: b('vdisk-item'), children: _jsx(VDiskWithDonorsStack, { data: vDiskToShow, nodes: nodes, compact: true, showPopup: highlightedVDisk === vDiskId, onShowPopup: () => setHighlightedVDisk(vDiskId), onHidePopup: () => setHighlightedVDisk(undefined), progressBarClassName: b('vdisk-progress-bar') }) }));
|
29
|
+
}
|
30
|
+
function PDiskItem({ vDisk, highlightedVDisk, setHighlightedVDisk }) {
|
31
|
+
const vDiskId = stringifyVdiskId(vDisk.VDiskId);
|
32
|
+
if (!vDisk.PDisk) {
|
33
|
+
return null;
|
34
|
+
}
|
35
|
+
return (_jsx(PDisk, { className: b('pdisk-item'), progressBarClassName: b('pdisk-progress-bar'), data: vDisk.PDisk, showPopup: highlightedVDisk === vDiskId, onShowPopup: () => setHighlightedVDisk(vDiskId), onHidePopup: () => setHighlightedVDisk(undefined) }));
|
36
|
+
}
|
37
|
+
//# sourceMappingURL=Disks.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Disks.js","sourceRoot":"","sources":["../../../../src/containers/Storage/Disks/Disks.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
.ydb-storage-disks {
|
2
|
+
display: flex;
|
3
|
+
flex-direction: row;
|
4
|
+
align-items: center;
|
5
|
+
gap: 20px;
|
6
|
+
|
7
|
+
width: max-content;
|
8
|
+
|
9
|
+
&__vdisks-wrapper {
|
10
|
+
display: flex;
|
11
|
+
flex-grow: 1;
|
12
|
+
flex-direction: row;
|
13
|
+
gap: 4px;
|
14
|
+
|
15
|
+
width: 300px;
|
16
|
+
}
|
17
|
+
|
18
|
+
&__pdisks-wrapper {
|
19
|
+
display: flex;
|
20
|
+
flex-direction: row;
|
21
|
+
justify-content: left;
|
22
|
+
gap: 6px;
|
23
|
+
|
24
|
+
width: max-content;
|
25
|
+
}
|
26
|
+
|
27
|
+
&__vdisk-item {
|
28
|
+
flex-basis: 8px;
|
29
|
+
flex-shrink: 0;
|
30
|
+
}
|
31
|
+
&__vdisk-progress-bar {
|
32
|
+
--progress-bar-compact-height: 18px;
|
33
|
+
|
34
|
+
border-radius: 4px;
|
35
|
+
}
|
36
|
+
|
37
|
+
&__pdisk-item {
|
38
|
+
width: 80px;
|
39
|
+
}
|
40
|
+
&__pdisk-progress-bar {
|
41
|
+
--progress-bar-full-height: 20px;
|
42
|
+
padding-left: var(--g-spacing-2);
|
43
|
+
|
44
|
+
text-align: left;
|
45
|
+
}
|
46
|
+
}
|
@@ -2,9 +2,13 @@ import type { TVDiskStateInfo } from '../../../types/api/vdisk';
|
|
2
2
|
import type { PreparedPDisk } from '../../../utils/disks/types';
|
3
3
|
import './PDisk.scss';
|
4
4
|
interface PDiskProps {
|
5
|
-
nodeId: number;
|
6
5
|
data?: PreparedPDisk;
|
7
6
|
vDisks?: TVDiskStateInfo[];
|
7
|
+
showPopup?: boolean;
|
8
|
+
onShowPopup?: VoidFunction;
|
9
|
+
onHidePopup?: VoidFunction;
|
10
|
+
className?: string;
|
11
|
+
progressBarClassName?: string;
|
8
12
|
}
|
9
|
-
export declare const PDisk: ({
|
13
|
+
export declare const PDisk: ({ data, vDisks, showPopup, onShowPopup, onHidePopup, className, progressBarClassName, }: PDiskProps) => import("react/jsx-runtime").JSX.Element;
|
10
14
|
export {};
|
@@ -12,15 +12,19 @@ import { stringifyVdiskId } from '../../../utils/dataFormatters/dataFormatters';
|
|
12
12
|
import { STRUCTURE } from '../../Node/NodePages';
|
13
13
|
import './PDisk.scss';
|
14
14
|
const b = cn('pdisk-storage');
|
15
|
-
export const PDisk = ({
|
15
|
+
export const PDisk = ({ data = {}, vDisks, showPopup, onShowPopup, onHidePopup, className, progressBarClassName, }) => {
|
16
16
|
const [isPopupVisible, setIsPopupVisible] = React.useState(false);
|
17
17
|
const diskPagesAvailable = useDiskPagesAvailable();
|
18
18
|
const anchor = React.useRef(null);
|
19
|
-
const
|
19
|
+
const { NodeId, PDiskId } = data;
|
20
|
+
const pDiskIdsDefined = valueIsDefined(NodeId) && valueIsDefined(PDiskId);
|
21
|
+
const handleShowPopup = () => {
|
20
22
|
setIsPopupVisible(true);
|
23
|
+
onShowPopup === null || onShowPopup === void 0 ? void 0 : onShowPopup();
|
21
24
|
};
|
22
|
-
const
|
25
|
+
const handleHidePopup = () => {
|
23
26
|
setIsPopupVisible(false);
|
27
|
+
onHidePopup === null || onHidePopup === void 0 ? void 0 : onHidePopup();
|
24
28
|
};
|
25
29
|
const renderVDisks = () => {
|
26
30
|
if (!(vDisks === null || vDisks === void 0 ? void 0 : vDisks.length)) {
|
@@ -34,10 +38,13 @@ export const PDisk = ({ nodeId, data = {}, vDisks }) => {
|
|
34
38
|
}, children: _jsx(VDiskWithDonorsStack, { data: vdisk, compact: true, stackClassName: b('donors-stack') }) }, stringifyVdiskId(vdisk.VDiskId)));
|
35
39
|
}) }));
|
36
40
|
};
|
37
|
-
let pDiskPath
|
38
|
-
if (
|
39
|
-
pDiskPath =
|
41
|
+
let pDiskPath;
|
42
|
+
if (pDiskIdsDefined) {
|
43
|
+
pDiskPath = createHref(routes.node, { id: NodeId, activeTab: STRUCTURE }, { pdiskId: PDiskId });
|
40
44
|
}
|
41
|
-
|
45
|
+
if (pDiskIdsDefined && diskPagesAvailable) {
|
46
|
+
pDiskPath = getPDiskPagePath(PDiskId, NodeId);
|
47
|
+
}
|
48
|
+
return (_jsxs(React.Fragment, { children: [_jsxs("div", { className: b(null, className), ref: anchor, children: [renderVDisks(), _jsxs(InternalLink, { to: pDiskPath, className: b('content'), onMouseEnter: handleShowPopup, onMouseLeave: handleHidePopup, children: [_jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: data.Severity, className: progressBarClassName }), _jsx("div", { className: b('media-type'), children: data.Type })] })] }), _jsx(PDiskPopup, { data: data, anchorRef: anchor, open: isPopupVisible || showPopup })] }));
|
42
49
|
};
|
43
50
|
//# sourceMappingURL=PDisk.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PDisk.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PDisk/PDisk.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,+DAA+D,CAAC;AACnG,OAAO,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAC,oBAAoB,EAAC,MAAM,gDAAgD,CAAC;AACpF,OAAO,MAAM,EAAE,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAC,qBAAqB,EAAC,MAAM,4CAA4C,CAAC;AAEjF,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,8CAA8C,CAAC;AAE9E,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"PDisk.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PDisk/PDisk.tsx"],"names":[],"mappings":"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"}
|
@@ -40,12 +40,14 @@
|
|
40
40
|
|
41
41
|
&__media-type {
|
42
42
|
position: absolute;
|
43
|
-
top:
|
43
|
+
top: 50%;
|
44
44
|
right: 4px;
|
45
45
|
|
46
46
|
font-size: var(--g-text-body-1-font-size);
|
47
|
-
line-height: var(--g-text-body-
|
47
|
+
line-height: var(--g-text-body-1-line-height);
|
48
48
|
|
49
49
|
color: var(--g-color-text-secondary);
|
50
|
+
|
51
|
+
transform: translateY(-50%);
|
50
52
|
}
|
51
53
|
}
|
@@ -2,10 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { StringParam, useQueryParams } from 'use-query-params';
|
3
3
|
import { AccessDenied } from '../../components/Errors/403/AccessDenied';
|
4
4
|
import { ResponseError } from '../../components/Errors/ResponseError/ResponseError';
|
5
|
-
import { selectNodesMap } from '../../store/reducers/nodesList';
|
6
5
|
import { STORAGE_TYPES, VISIBLE_ENTITIES } from '../../store/reducers/storage/constants';
|
7
6
|
import { storageTypeSchema, visibleEntitiesSchema } from '../../store/reducers/storage/types';
|
8
|
-
import { useTypedSelector } from '../../utils/hooks';
|
9
7
|
import { NodesUptimeFilterValues, nodesUptimeFilterValuesSchema } from '../../utils/nodes';
|
10
8
|
import { StorageControls } from './StorageControls/StorageControls';
|
11
9
|
import { PaginatedStorageGroups } from './StorageGroups/PaginatedStorageGroups';
|
@@ -34,7 +32,6 @@ export const PaginatedStorage = ({ database, nodeId, parentContainer, additional
|
|
34
32
|
const handleUptimeFilterChange = (value) => {
|
35
33
|
setQueryParams({ uptimeFilter: value }, 'replaceIn');
|
36
34
|
};
|
37
|
-
const nodesMap = useTypedSelector(selectNodesMap);
|
38
35
|
const handleShowAllGroups = () => {
|
39
36
|
handleGroupVisibilityChange(VISIBLE_ENTITIES.all);
|
40
37
|
};
|
@@ -56,6 +53,6 @@ export const PaginatedStorage = ({ database, nodeId, parentContainer, additional
|
|
56
53
|
if (storageType === STORAGE_TYPES.nodes) {
|
57
54
|
return (_jsx(PaginatedStorageNodes, { searchValue: searchValue, visibleEntities: visibleEntities, nodesUptimeFilter: nodesUptimeFilter, database: database, additionalNodesProps: additionalNodesProps, onShowAll: handleShowAllNodes, parentContainer: parentContainer, renderControls: renderControls, renderErrorMessage: renderErrorMessage }));
|
58
55
|
}
|
59
|
-
return (_jsx(PaginatedStorageGroups, { searchValue: searchValue, visibleEntities: visibleEntities, database: database, nodeId: nodeId,
|
56
|
+
return (_jsx(PaginatedStorageGroups, { searchValue: searchValue, visibleEntities: visibleEntities, database: database, nodeId: nodeId, onShowAll: handleShowAllGroups, parentContainer: parentContainer, renderControls: renderControls, renderErrorMessage: renderErrorMessage }));
|
60
57
|
};
|
61
58
|
//# sourceMappingURL=PaginatedStorage.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PaginatedStorage.js","sourceRoot":"","sources":["../../../src/containers/Storage/PaginatedStorage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAC,YAAY,EAAC,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,qDAAqD,CAAC;AAElF,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"PaginatedStorage.js","sourceRoot":"","sources":["../../../src/containers/Storage/PaginatedStorage.tsx"],"names":[],"mappings":"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"}
|
@@ -5,13 +5,13 @@ import { AccessDenied } from '../../components/Errors/403';
|
|
5
5
|
import { isAccessError } from '../../components/Errors/PageError/PageError';
|
6
6
|
import { ResponseError } from '../../components/Errors/ResponseError';
|
7
7
|
import { TableWithControlsLayout } from '../../components/TableWithControlsLayout/TableWithControlsLayout';
|
8
|
-
import {
|
8
|
+
import { useCapabilitiesLoaded, useStorageGroupsHandlerAvailable, } from '../../store/reducers/capabilities/hooks';
|
9
9
|
import { STORAGE_TYPES, VISIBLE_ENTITIES } from '../../store/reducers/storage/constants';
|
10
10
|
import { filterGroups, filterNodes, getUsageFilterOptions, } from '../../store/reducers/storage/selectors';
|
11
11
|
import { storageApi } from '../../store/reducers/storage/storage';
|
12
12
|
import { storageTypeSchema, visibleEntitiesSchema } from '../../store/reducers/storage/types';
|
13
13
|
import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
|
14
|
-
import { useAutoRefreshInterval, useTableSort
|
14
|
+
import { useAutoRefreshInterval, useTableSort } from '../../utils/hooks';
|
15
15
|
import { NodesUptimeFilterValues, nodesUptimeFilterValuesSchema } from '../../utils/nodes';
|
16
16
|
import { StorageControls } from './StorageControls/StorageControls';
|
17
17
|
import { StorageGroups } from './StorageGroups/StorageGroups';
|
@@ -33,6 +33,8 @@ const UsageFilterParam = withDefault({
|
|
33
33
|
}, []);
|
34
34
|
export const Storage = ({ additionalNodesProps, database, nodeId }) => {
|
35
35
|
var _a;
|
36
|
+
const capabilitiesLoaded = useCapabilitiesLoaded();
|
37
|
+
const groupsHandlerAvailable = useStorageGroupsHandlerAvailable();
|
36
38
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
37
39
|
const [queryParams, setQueryParams] = useQueryParams({
|
38
40
|
type: StringParam,
|
@@ -41,12 +43,11 @@ export const Storage = ({ additionalNodesProps, database, nodeId }) => {
|
|
41
43
|
uptimeFilter: StringParam,
|
42
44
|
usageFilter: UsageFilterParam,
|
43
45
|
});
|
44
|
-
const
|
46
|
+
const storageType = storageTypeSchema.parse(queryParams.type);
|
45
47
|
const visibleEntities = visibleEntitiesSchema.parse(queryParams.visible);
|
46
48
|
const filter = (_a = queryParams.search) !== null && _a !== void 0 ? _a : '';
|
47
49
|
const uptimeFilter = nodesUptimeFilterValuesSchema.parse(queryParams.uptimeFilter);
|
48
50
|
const usageFilter = queryParams.usageFilter;
|
49
|
-
const nodesMap = useTypedSelector(selectNodesMap);
|
50
51
|
const [nodeSort, setNodeSort] = React.useState({
|
51
52
|
sortOrder: undefined,
|
52
53
|
sortValue: undefined,
|
@@ -57,15 +58,12 @@ export const Storage = ({ additionalNodesProps, database, nodeId }) => {
|
|
57
58
|
sortValue: undefined,
|
58
59
|
});
|
59
60
|
const groupsSortParams = groupSort.sortOrder ? groupSort : getDefaultSortGroup(visibleEntities);
|
60
|
-
|
61
|
-
const isNodePage = nodeId !== undefined;
|
62
|
-
const storageType = isNodePage ? STORAGE_TYPES.groups : type;
|
63
|
-
const nodesQuery = storageApi.useGetStorageNodesInfoQuery({ database, visibleEntities }, {
|
61
|
+
const nodesQuery = storageApi.useGetStorageNodesInfoQuery({ database, visibleEntities, node_id: nodeId }, {
|
64
62
|
skip: storageType !== STORAGE_TYPES.nodes,
|
65
63
|
pollingInterval: autoRefreshInterval,
|
66
64
|
});
|
67
|
-
const groupsQuery = storageApi.useGetStorageGroupsInfoQuery({ database, visibleEntities, nodeId }, {
|
68
|
-
skip: storageType !== STORAGE_TYPES.groups,
|
65
|
+
const groupsQuery = storageApi.useGetStorageGroupsInfoQuery({ database, with: visibleEntities, nodeId, shouldUseGroupsHandler: groupsHandlerAvailable }, {
|
66
|
+
skip: storageType !== STORAGE_TYPES.groups || !capabilitiesLoaded,
|
69
67
|
pollingInterval: autoRefreshInterval,
|
70
68
|
});
|
71
69
|
const { currentData, isFetching, error } = storageType === STORAGE_TYPES.nodes ? nodesQuery : groupsQuery;
|
@@ -98,16 +96,16 @@ export const Storage = ({ additionalNodesProps, database, nodeId }) => {
|
|
98
96
|
handleUptimeFilterChange(NodesUptimeFilterValues.All);
|
99
97
|
};
|
100
98
|
const renderDataTable = () => {
|
101
|
-
return (_jsxs(React.Fragment, { children: [storageType === STORAGE_TYPES.groups && (_jsx(StorageGroups, { visibleEntities: visibleEntities, data: storageGroups, tableSettings: DEFAULT_TABLE_SETTINGS,
|
99
|
+
return (_jsxs(React.Fragment, { children: [storageType === STORAGE_TYPES.groups && (_jsx(StorageGroups, { visibleEntities: visibleEntities, data: storageGroups, tableSettings: DEFAULT_TABLE_SETTINGS, onShowAll: () => handleGroupVisibilityChange(VISIBLE_ENTITIES.all), sort: groupsSort, handleSort: handleGroupsSort }, "groups")), storageType === STORAGE_TYPES.nodes && (_jsx(StorageNodes, { visibleEntities: visibleEntities, nodesUptimeFilter: uptimeFilter, data: storageNodes, tableSettings: DEFAULT_TABLE_SETTINGS, onShowAll: handleShowAllNodes, additionalNodesProps: additionalNodesProps, sort: nodesSort, handleSort: handleNodesSort, database: database }, "nodes"))] }));
|
102
100
|
};
|
103
101
|
const renderControls = () => {
|
104
|
-
return (_jsx(StorageControls, { searchValue: filter, handleSearchValueChange: handleTextFilterChange, withTypeSelector:
|
102
|
+
return (_jsx(StorageControls, { searchValue: filter, handleSearchValueChange: handleTextFilterChange, withTypeSelector: true, storageType: storageType, handleStorageTypeChange: handleStorageTypeChange, visibleEntities: visibleEntities, handleVisibleEntitiesChange: handleGroupVisibilityChange, nodesUptimeFilter: uptimeFilter, handleNodesUptimeFilterChange: handleUptimeFilterChange, groupsUsageFilter: usageFilter, groupsUsageFilterOptions: usageFilterOptions, handleGroupsUsageFilterChange: handleUsageFilterChange, entitiesCountCurrent: storageType === STORAGE_TYPES.groups
|
105
103
|
? storageGroups.length
|
106
104
|
: storageNodes.length, entitiesCountTotal: entitiesCount.total, entitiesLoading: isLoading }));
|
107
105
|
};
|
108
106
|
if (isAccessError(error)) {
|
109
107
|
return _jsx(AccessDenied, { position: "left" });
|
110
108
|
}
|
111
|
-
return (_jsxs(TableWithControlsLayout, { children: [_jsx(TableWithControlsLayout.Controls, { children: renderControls() }), error ? _jsx(ResponseError, { error: error }) : null, _jsx(TableWithControlsLayout.Table, { loading: isLoading, className: b('table'), children: currentData ? renderDataTable() : null })] }));
|
109
|
+
return (_jsxs(TableWithControlsLayout, { children: [_jsx(TableWithControlsLayout.Controls, { children: renderControls() }), error ? _jsx(ResponseError, { error: error }) : null, _jsx(TableWithControlsLayout.Table, { loading: isLoading || !capabilitiesLoaded, className: b('table'), children: currentData ? renderDataTable() : null })] }));
|
112
110
|
};
|
113
111
|
//# sourceMappingURL=Storage.js.map
|