ydb-embedded-ui 22.0.0 → 22.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.d.ts +2 -1
- package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.js +5 -2
- package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.js.map +1 -1
- package/dist/components/DiskStateProgressBar/AllModeIndicators.d.ts +2 -1
- package/dist/components/DiskStateProgressBar/AllModeIndicators.js +4 -2
- package/dist/components/DiskStateProgressBar/AllModeIndicators.js.map +1 -1
- package/dist/components/DiskStateProgressBar/DiskIndicator.d.ts +7 -2
- package/dist/components/DiskStateProgressBar/DiskIndicator.js +6 -6
- package/dist/components/DiskStateProgressBar/DiskIndicator.js.map +1 -1
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +1 -1
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
- package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +53 -45
- package/dist/components/DiskStateProgressBar/PDiskAllModeIndicators.js +9 -1
- package/dist/components/DiskStateProgressBar/PDiskAllModeIndicators.js.map +1 -1
- package/dist/components/EvictVDiskButton/EvictVDiskButton.js +7 -3
- package/dist/components/EvictVDiskButton/EvictVDiskButton.js.map +1 -1
- package/dist/components/FullNodeViewer/FullNodeViewer.js +40 -17
- package/dist/components/FullNodeViewer/FullNodeViewer.js.map +1 -1
- package/dist/components/FullNodeViewer/FullNodeViewer.scss +3 -3
- package/dist/components/FullNodeViewer/i18n/en.json +2 -1
- package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
- package/dist/components/HoverPopup/HoverPopup.js +9 -2
- package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
- package/dist/components/InfoViewer/InfoViewer.js +1 -1
- package/dist/components/InfoViewer/InfoViewer.js.map +1 -1
- package/dist/components/InfoViewer/formatters/pqGroup.js +6 -1
- package/dist/components/InfoViewer/formatters/pqGroup.js.map +1 -1
- package/dist/components/InfoViewer/schemaInfo/i18n/en.json +1 -0
- package/dist/components/InfoViewer/schemaInfo/i18n/index.d.ts +1 -1
- package/dist/components/InfoViewer/schemaInfo/utils.js +6 -1
- package/dist/components/InfoViewer/schemaInfo/utils.js.map +1 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +4 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js +13 -9
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PaginatedTable/KeyboardNavigation.d.ts +9 -0
- package/dist/components/PaginatedTable/KeyboardNavigation.js +14 -0
- package/dist/components/PaginatedTable/KeyboardNavigation.js.map +1 -0
- package/dist/components/PaginatedTable/PaginatedTable.d.ts +4 -1
- package/dist/components/PaginatedTable/PaginatedTable.js +77 -4
- package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTable.scss +10 -0
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.d.ts +2 -1
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.js +2 -2
- package/dist/components/PaginatedTable/PaginatedTableWithLayout.js.map +1 -1
- package/dist/components/PaginatedTable/ResizeablePaginatedTable.js +2 -1
- package/dist/components/PaginatedTable/ResizeablePaginatedTable.js.map +1 -1
- package/dist/components/PaginatedTable/TableChunk.js +6 -10
- package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
- package/dist/components/PaginatedTable/TableChunksRenderer.d.ts +2 -1
- package/dist/components/PaginatedTable/TableChunksRenderer.js +6 -1
- package/dist/components/PaginatedTable/TableChunksRenderer.js.map +1 -1
- package/dist/components/PaginatedTable/TableRow.d.ts +3 -1
- package/dist/components/PaginatedTable/TableRow.js +24 -8
- package/dist/components/PaginatedTable/TableRow.js.map +1 -1
- package/dist/components/PaginatedTable/getTableChunkQueryParams.d.ts +23 -0
- package/dist/components/PaginatedTable/getTableChunkQueryParams.js +12 -0
- package/dist/components/PaginatedTable/getTableChunkQueryParams.js.map +1 -0
- package/dist/components/PaginatedTable/rowLookup.d.ts +8 -0
- package/dist/components/PaginatedTable/rowLookup.js +35 -0
- package/dist/components/PaginatedTable/rowLookup.js.map +1 -0
- package/dist/components/PaginatedTable/useKeyboardNavigation.d.ts +27 -0
- package/dist/components/PaginatedTable/useKeyboardNavigation.js +70 -0
- package/dist/components/PaginatedTable/useKeyboardNavigation.js.map +1 -0
- package/dist/components/ResizeableDataTable/DataTableKeyboardNavigation.d.ts +24 -0
- package/dist/components/ResizeableDataTable/DataTableKeyboardNavigation.js +144 -0
- package/dist/components/ResizeableDataTable/DataTableKeyboardNavigation.js.map +1 -0
- package/dist/components/ResizeableDataTable/ResizeableDataTable.d.ts +4 -1
- package/dist/components/ResizeableDataTable/ResizeableDataTable.js +28 -4
- package/dist/components/ResizeableDataTable/ResizeableDataTable.js.map +1 -1
- package/dist/components/ResizeableDataTable/ResizeableDataTable.scss +10 -0
- package/dist/components/ResizeableDataTable/getDataTableOrder.d.ts +2 -0
- package/dist/components/ResizeableDataTable/getDataTableOrder.js +12 -0
- package/dist/components/ResizeableDataTable/getDataTableOrder.js.map +1 -0
- package/dist/components/Search/Search.d.ts +2 -1
- package/dist/components/Search/Search.js +6 -2
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/ShardsTable/columns.js +6 -3
- package/dist/components/ShardsTable/columns.js.map +1 -1
- package/dist/components/ShardsTable/i18n/en.json +1 -0
- package/dist/components/ShardsTable/i18n/index.d.ts +1 -1
- package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.d.ts +54 -0
- package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.js +389 -0
- package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.js.map +1 -0
- package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.scss +16 -0
- package/dist/components/TableKeyboardNavigation/i18n/en.json +4 -0
- package/dist/components/TableKeyboardNavigation/i18n/index.d.ts +2 -0
- package/dist/components/TableKeyboardNavigation/i18n/index.js +4 -0
- package/dist/components/TableKeyboardNavigation/i18n/index.js.map +1 -0
- package/dist/components/TableKeyboardNavigation/utils.d.ts +3 -0
- package/dist/components/TableKeyboardNavigation/utils.js +24 -0
- package/dist/components/TableKeyboardNavigation/utils.js.map +1 -0
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.d.ts +4 -1
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js +4 -2
- package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js.map +1 -1
- package/dist/components/TenantNameWrapper/TenantNameWrapper.d.ts +3 -1
- package/dist/components/TenantNameWrapper/TenantNameWrapper.js +8 -12
- package/dist/components/TenantNameWrapper/TenantNameWrapper.js.map +1 -1
- package/dist/components/TenantNameWrapper/utils.d.ts +10 -0
- package/dist/components/TenantNameWrapper/utils.js +11 -0
- package/dist/components/TenantNameWrapper/utils.js.map +1 -1
- package/dist/components/UptimeViewer/UptimeViewer.d.ts +2 -2
- package/dist/components/VDisk/VDisk.d.ts +5 -1
- package/dist/components/VDisk/VDisk.js +84 -29
- package/dist/components/VDisk/VDisk.js.map +1 -1
- package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +4 -1
- package/dist/components/VDisk/VDiskWithDonorsStack.js +8 -4
- package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
- package/dist/components/VDisk/i18n/en.json +11 -0
- package/dist/components/VDisk/i18n/index.d.ts +1 -1
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/nodesColumns/columns.d.ts +4 -1
- package/dist/components/nodesColumns/columns.js +13 -0
- package/dist/components/nodesColumns/columns.js.map +1 -1
- package/dist/components/nodesColumns/constants.d.ts +2 -0
- package/dist/components/nodesColumns/constants.js +6 -0
- package/dist/components/nodesColumns/constants.js.map +1 -1
- package/dist/components/nodesColumns/i18n/en.json +2 -1
- package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
- package/dist/containers/Clusters/Clusters.js +11 -7
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js +1 -1
- package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js.map +1 -1
- package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js +11 -1
- package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js.map +1 -1
- package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.d.ts +1 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js +1 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
- package/dist/containers/Nodes/NodesTable.js +12 -1
- package/dist/containers/Nodes/NodesTable.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
- package/dist/containers/Nodes/columns/columns.js +2 -1
- package/dist/containers/Nodes/columns/columns.js.map +1 -1
- package/dist/containers/Storage/Disks/Disks.d.ts +2 -1
- package/dist/containers/Storage/Disks/Disks.js +34 -23
- package/dist/containers/Storage/Disks/Disks.js.map +1 -1
- package/dist/containers/Storage/Disks/Disks.scss +5 -0
- package/dist/containers/Storage/PDisk/PDisk.d.ts +6 -9
- package/dist/containers/Storage/PDisk/PDisk.js +92 -37
- package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
- package/dist/containers/Storage/PDisk/PDisk.scss +79 -1
- package/dist/containers/Storage/PDisk/PDiskWithVDisks.d.ts +17 -0
- package/dist/containers/Storage/PDisk/PDiskWithVDisks.js +48 -0
- package/dist/containers/Storage/PDisk/PDiskWithVDisks.js.map +1 -0
- package/dist/containers/Storage/PDisk/i18n/en.json +8 -0
- package/dist/containers/Storage/PDisk/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PDisk/index.d.ts +1 -0
- package/dist/containers/Storage/PDisk/index.js +1 -0
- package/dist/containers/Storage/PDisk/index.js.map +1 -1
- package/dist/containers/Storage/PDisks/PDisks.d.ts +4 -1
- package/dist/containers/Storage/PDisks/PDisks.js +52 -6
- package/dist/containers/Storage/PDisks/PDisks.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorage.js +3 -1
- package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +2 -2
- package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js +10 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.d.ts +1 -0
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +8 -5
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +6 -3
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +17 -5
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.d.ts +16 -0
- package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.js +68 -0
- package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.js.map +1 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.d.ts +2 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js +14 -2
- package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js +2 -2
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +7 -2
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/columns/types.d.ts +2 -0
- package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.d.ts +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.js +31 -0
- package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.d.ts +5 -0
- package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.js +31 -0
- package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.d.ts +21 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.js +13 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js +3 -2
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js.map +1 -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/StatusPairLegend.js +3 -3
- package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.d.ts +4 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.js +49 -0
- package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.js.map +1 -0
- package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +20 -0
- package/dist/containers/Storage/StorageExpertModePanel/constants.js +22 -0
- package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +2 -2
- package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/TableGroup/TableGroup.js +2 -1
- package/dist/containers/Storage/TableGroup/TableGroup.js.map +1 -1
- package/dist/containers/Storage/VDisks/VDisks.d.ts +2 -1
- package/dist/containers/Storage/VDisks/VDisks.js +11 -4
- package/dist/containers/Storage/VDisks/VDisks.js.map +1 -1
- package/dist/containers/Storage/VDisks/VDisks.scss +3 -0
- package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.d.ts +1 -0
- package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js +73 -102
- package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js.map +1 -1
- package/dist/containers/Storage/useStorageQueryParams.d.ts +9 -1
- package/dist/containers/Storage/useStorageQueryParams.js +50 -2
- package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
- package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.d.ts +1 -0
- package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +50 -13
- package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
- package/dist/containers/Storage/utils/useStorageColumnsSettings.d.ts +4 -1
- package/dist/containers/Storage/utils/useStorageColumnsSettings.js +49 -39
- package/dist/containers/Storage/utils/useStorageColumnsSettings.js.map +1 -1
- package/dist/containers/Storage/utils/useVirtualizedDiskList.d.ts +10 -0
- package/dist/containers/Storage/utils/useVirtualizedDiskList.js +131 -0
- package/dist/containers/Storage/utils/useVirtualizedDiskList.js.map +1 -0
- package/dist/containers/Tablet/Tablet.js +4 -2
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tablet/components/TabletControls/TabletControls.js +3 -1
- package/dist/containers/Tablet/components/TabletControls/TabletControls.js.map +1 -1
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +9 -3
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.js +25 -1
- package/dist/containers/Tablets/TabletsTable.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/Overview/AsyncReplicationPaths/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +2 -1
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.d.ts +7 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.js +69 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/en.json +9 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.js +5 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.js +2 -0
- package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.js +3 -3
- package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.d.ts +2 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js +3 -2
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
- 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/Diagnostics/TopicData/columns/columns.d.ts +3 -3
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +2 -1
- package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js.map +1 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +1 -1
- package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
- package/dist/containers/Tenants/TenantsTable.js +37 -6
- package/dist/containers/Tenants/TenantsTable.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.js +1 -1
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/services/api/tablets.d.ts +6 -4
- package/dist/services/api/tablets.js +9 -8
- package/dist/services/api/tablets.js.map +1 -1
- package/dist/store/reducers/capabilities/capabilities.d.ts +4 -4
- package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
- package/dist/store/reducers/capabilities/hooks.js +8 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/nodesList.d.ts +3 -261
- package/dist/store/reducers/nodesList.js +1 -1
- package/dist/store/reducers/nodesList.js.map +1 -1
- package/dist/store/reducers/settings/constants.d.ts +4 -0
- package/dist/store/reducers/settings/constants.js +4 -0
- package/dist/store/reducers/settings/constants.js.map +1 -1
- package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +1 -0
- package/dist/store/reducers/storage/prepareGroupsDisks.js +17 -13
- package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
- package/dist/store/reducers/storage/utils.js +11 -5
- package/dist/store/reducers/storage/utils.js.map +1 -1
- package/dist/store/reducers/tableData.d.ts +1 -1
- package/dist/store/reducers/tableData.js.map +1 -1
- package/dist/store/reducers/tablet.d.ts +3 -0
- package/dist/store/reducers/tablet.js +6 -6
- package/dist/store/reducers/tablet.js.map +1 -1
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +1 -1
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js.map +1 -1
- package/dist/types/api/capabilities.d.ts +2 -2
- package/dist/types/api/pdisk.d.ts +2 -0
- package/dist/types/api/pdisk.js.map +1 -1
- package/dist/types/api/schema/persQueueGroup.d.ts +2 -2
- package/dist/types/api/schema/schema.d.ts +15 -0
- package/dist/types/api/schema/schema.js.map +1 -1
- package/dist/types/api/schema/tableIndex.d.ts +1 -0
- package/dist/types/api/storage.d.ts +4 -0
- package/dist/types/api/storage.js.map +1 -1
- package/dist/types/api/vdisk.d.ts +2 -0
- package/dist/types/api/vdisk.js.map +1 -1
- package/dist/utils/developerUI/tabletDevUi.d.ts +1 -0
- package/dist/utils/developerUI/tabletDevUi.js +4 -0
- package/dist/utils/developerUI/tabletDevUi.js.map +1 -0
- package/dist/utils/disks/displayState.d.ts +2 -0
- package/dist/utils/disks/displayState.js.map +1 -1
- package/dist/utils/disks/getDiskBarTone.d.ts +2 -1
- package/dist/utils/disks/getDiskBarTone.js +5 -1
- package/dist/utils/disks/getDiskBarTone.js.map +1 -1
- package/dist/utils/disks/pdiskState.js +2 -2
- package/dist/utils/disks/pdiskState.js.map +1 -1
- package/dist/utils/disks/prepareDisks.js +19 -9
- package/dist/utils/disks/prepareDisks.js.map +1 -1
- package/dist/utils/disks/types.d.ts +2 -1
- package/dist/utils/query.d.ts +1 -0
- package/dist/utils/query.js +6 -0
- package/dist/utils/query.js.map +1 -1
- package/package.json +1 -1
- package/src/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.tsx +15 -2
- package/src/components/DiskStateProgressBar/AllModeIndicators.tsx +19 -6
- package/src/components/DiskStateProgressBar/DiskIndicator.tsx +19 -8
- package/src/components/DiskStateProgressBar/DiskStateProgressBar.scss +53 -45
- package/src/components/DiskStateProgressBar/DiskStateProgressBar.tsx +1 -1
- package/src/components/DiskStateProgressBar/PDiskAllModeIndicators.tsx +16 -3
- package/src/components/EvictVDiskButton/EvictVDiskButton.tsx +10 -3
- package/src/components/FullNodeViewer/FullNodeViewer.scss +3 -3
- package/src/components/FullNodeViewer/FullNodeViewer.tsx +81 -34
- package/src/components/FullNodeViewer/i18n/en.json +2 -1
- package/src/components/HoverPopup/HoverPopup.tsx +21 -16
- package/src/components/InfoViewer/InfoViewer.tsx +4 -2
- package/src/components/InfoViewer/formatters/pqGroup.ts +6 -2
- package/src/components/InfoViewer/schemaInfo/i18n/en.json +1 -0
- package/src/components/InfoViewer/schemaInfo/utils.tsx +9 -0
- package/src/components/NodeHostWrapper/NodeHostWrapper.tsx +23 -13
- package/src/components/PaginatedTable/KeyboardNavigation.tsx +30 -0
- package/src/components/PaginatedTable/PaginatedTable.scss +10 -0
- package/src/components/PaginatedTable/PaginatedTable.tsx +128 -4
- package/src/components/PaginatedTable/PaginatedTableWithLayout.tsx +6 -1
- package/src/components/PaginatedTable/ResizeablePaginatedTable.tsx +6 -1
- package/src/components/PaginatedTable/TableChunk.tsx +6 -14
- package/src/components/PaginatedTable/TableChunksRenderer.tsx +12 -0
- package/src/components/PaginatedTable/TableRow.tsx +54 -20
- package/src/components/PaginatedTable/getTableChunkQueryParams.ts +25 -0
- package/src/components/PaginatedTable/rowLookup.ts +63 -0
- package/src/components/PaginatedTable/useKeyboardNavigation.ts +115 -0
- package/src/components/ResizeableDataTable/DataTableKeyboardNavigation.tsx +194 -0
- package/src/components/ResizeableDataTable/ResizeableDataTable.scss +10 -0
- package/src/components/ResizeableDataTable/ResizeableDataTable.tsx +100 -5
- package/src/components/ResizeableDataTable/getDataTableOrder.ts +18 -0
- package/src/components/Search/Search.tsx +8 -1
- package/src/components/ShardsTable/columns.tsx +14 -5
- package/src/components/ShardsTable/i18n/en.json +1 -0
- package/src/components/TableKeyboardNavigation/TableKeyboardNavigation.scss +16 -0
- package/src/components/TableKeyboardNavigation/TableKeyboardNavigation.tsx +519 -0
- package/src/components/TableKeyboardNavigation/i18n/en.json +4 -0
- package/src/components/TableKeyboardNavigation/i18n/index.ts +5 -0
- package/src/components/TableKeyboardNavigation/utils.ts +36 -0
- package/src/components/TableWithControlsLayout/TableWithControlsLayout.tsx +26 -1
- package/src/components/TenantNameWrapper/TenantNameWrapper.tsx +14 -15
- package/src/components/TenantNameWrapper/utils.ts +26 -0
- package/src/components/VDisk/VDisk.tsx +115 -41
- package/src/components/VDisk/VDiskWithDonorsStack.tsx +18 -3
- package/src/components/VDisk/i18n/en.json +11 -0
- package/src/components/nodesColumns/columns.tsx +13 -1
- package/src/components/nodesColumns/constants.ts +6 -0
- package/src/components/nodesColumns/i18n/en.json +2 -1
- package/src/containers/Clusters/Clusters.tsx +47 -29
- package/src/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.tsx +1 -0
- package/src/containers/Node/NodeNetwork/NodeNetworkTable.tsx +17 -0
- package/src/containers/Nodes/NodesControls/NodesControls.tsx +1 -0
- package/src/containers/Nodes/NodesTable.tsx +17 -1
- package/src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx +1 -0
- package/src/containers/Nodes/columns/columns.tsx +2 -0
- package/src/containers/Storage/Disks/Disks.scss +5 -0
- package/src/containers/Storage/Disks/Disks.tsx +156 -92
- package/src/containers/Storage/PDisk/PDisk.scss +79 -1
- package/src/containers/Storage/PDisk/PDisk.tsx +157 -81
- package/src/containers/Storage/PDisk/PDiskWithVDisks.tsx +181 -0
- package/src/containers/Storage/PDisk/i18n/en.json +8 -0
- package/src/containers/Storage/PDisk/index.ts +1 -0
- package/src/containers/Storage/PDisks/PDisks.tsx +157 -22
- package/src/containers/Storage/PaginatedStorage.tsx +4 -0
- package/src/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.tsx +1 -0
- package/src/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.tsx +3 -2
- package/src/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.tsx +13 -0
- package/src/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.tsx +10 -2
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.tsx +6 -2
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesControls.tsx +76 -41
- package/src/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.ts +103 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.tsx +24 -1
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/columns.tsx +3 -1
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/hooks.ts +8 -1
- package/src/containers/Storage/PaginatedStorageNodesTable/columns/types.ts +2 -0
- package/src/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.tsx +63 -0
- package/src/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.tsx +67 -0
- package/src/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.tsx +63 -0
- package/src/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.tsx +1 -0
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.tsx +1 -0
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.tsx +3 -2
- package/src/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.tsx +1 -0
- package/src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.tsx +3 -0
- package/src/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.tsx +7 -9
- package/src/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.ts +1 -1
- package/src/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.tsx +58 -0
- package/src/containers/Storage/StorageExpertModePanel/constants.ts +26 -0
- package/src/containers/Storage/StorageExpertModePanel/i18n/en.json +2 -2
- package/src/containers/Storage/TableGroup/TableGroup.tsx +6 -1
- package/src/containers/Storage/VDisks/VDisks.scss +3 -0
- package/src/containers/Storage/VDisks/VDisks.tsx +29 -7
- package/src/containers/Storage/useStoragePDiskDisplayStateGetter.ts +94 -135
- package/src/containers/Storage/useStorageQueryParams.ts +120 -1
- package/src/containers/Storage/useStorageVDiskDisplayStateGetter.ts +65 -10
- package/src/containers/Storage/utils/useStorageColumnsSettings.ts +77 -49
- package/src/containers/Storage/utils/useVirtualizedDiskList.ts +156 -0
- package/src/containers/Tablet/Tablet.tsx +4 -2
- package/src/containers/Tablet/components/TabletControls/TabletControls.tsx +7 -3
- package/src/containers/Tablet/components/TabletInfo/TabletInfo.tsx +13 -3
- package/src/containers/Tablets/TabletsTable.tsx +50 -10
- package/src/containers/Tablets/i18n/en.json +2 -1
- package/src/containers/Tenant/Diagnostics/Overview/Overview.tsx +2 -1
- package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.tsx +106 -0
- package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/en.json +9 -0
- package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.ts +7 -0
- package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.ts +1 -0
- package/src/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.ts +3 -3
- package/src/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.tsx +6 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.tsx +4 -0
- package/src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx +7 -1
- package/src/containers/Tenant/Diagnostics/TopShards/TopShards.tsx +1 -1
- package/src/containers/Tenant/Query/QueriesHistory/QueriesHistory.tsx +5 -0
- package/src/containers/Tenant/Query/SavedQueries/SavedQueries.tsx +6 -0
- package/src/containers/Tenants/TenantsTable.tsx +70 -12
- package/src/containers/VDiskPage/VDiskPage.tsx +1 -1
- package/src/services/api/tablets.ts +16 -7
- package/src/store/reducers/capabilities/hooks.ts +9 -0
- package/src/store/reducers/nodesList.ts +2 -3
- package/src/store/reducers/settings/constants.ts +4 -0
- package/src/store/reducers/storage/prepareGroupsDisks.ts +16 -11
- package/src/store/reducers/storage/utils.ts +12 -5
- package/src/store/reducers/tableData.ts +1 -1
- package/src/store/reducers/tablet.ts +25 -6
- package/src/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.ts +1 -1
- package/src/types/api/capabilities.ts +2 -2
- package/src/types/api/pdisk.ts +2 -0
- package/src/types/api/schema/persQueueGroup.ts +2 -2
- package/src/types/api/schema/schema.ts +18 -0
- package/src/types/api/schema/tableIndex.ts +1 -0
- package/src/types/api/storage.ts +4 -0
- package/src/types/api/vdisk.ts +2 -0
- package/src/utils/developerUI/tabletDevUi.ts +3 -0
- package/src/utils/disks/displayState.ts +2 -0
- package/src/utils/disks/getDiskBarTone.ts +8 -0
- package/src/utils/disks/pdiskState.ts +2 -2
- package/src/utils/disks/prepareDisks.ts +25 -9
- package/src/utils/disks/types.ts +2 -1
- package/src/utils/query.ts +7 -0
- package/dist/containers/Storage/PDisk/PDiskVDisks.d.ts +0 -13
- package/dist/containers/Storage/PDisk/PDiskVDisks.js +0 -20
- package/dist/containers/Storage/PDisk/PDiskVDisks.js.map +0 -1
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.d.ts +0 -6
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +0 -66
- package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +0 -1
- package/src/containers/Storage/PDisk/PDiskVDisks.tsx +0 -65
- package/src/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.tsx +0 -151
package/src/types/api/pdisk.ts
CHANGED
|
@@ -17,6 +17,8 @@ export interface TEvPDiskStateResponse {
|
|
|
17
17
|
* source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/node_whiteboard.proto
|
|
18
18
|
*/
|
|
19
19
|
export interface TPDiskStateInfo {
|
|
20
|
+
/** Whether viewer received Whiteboard data for this disk. */
|
|
21
|
+
HasWhiteboardData?: boolean;
|
|
20
22
|
PDiskId?: number;
|
|
21
23
|
/** uint64 */
|
|
22
24
|
CreateTime?: string;
|
|
@@ -8,7 +8,7 @@ export interface TPersQueueGroupDescription {
|
|
|
8
8
|
PartitionsToDelete?: number[];
|
|
9
9
|
NextPartitionId?: number;
|
|
10
10
|
PartitionPerTablet?: number;
|
|
11
|
-
PQTabletConfig
|
|
11
|
+
PQTabletConfig?: TPQTabletConfig;
|
|
12
12
|
Partitions?: TPartition[];
|
|
13
13
|
/** uint64 */
|
|
14
14
|
AlterVersion?: string;
|
|
@@ -23,7 +23,7 @@ export interface TPersQueueGroupDescription {
|
|
|
23
23
|
export interface TPQTabletConfig {
|
|
24
24
|
/** uint64 */
|
|
25
25
|
CacheSize?: string;
|
|
26
|
-
PartitionConfig
|
|
26
|
+
PartitionConfig?: TPQPartitionConfig;
|
|
27
27
|
/** @deprecated use Partitions */
|
|
28
28
|
PartitionIds?: number[];
|
|
29
29
|
TopicName?: string;
|
|
@@ -6,6 +6,7 @@ import type {TExternalDataSourceDescription} from './externalDataSource';
|
|
|
6
6
|
import type {TExternalTableDescription} from './externalTable';
|
|
7
7
|
import type {TPersQueueGroupDescription} from './persQueueGroup';
|
|
8
8
|
import type {TReplicationDescription} from './replication';
|
|
9
|
+
import type {TPathID} from './shared';
|
|
9
10
|
import type {TSysViewDescription} from './sysView';
|
|
10
11
|
import type {TTableDescription, TTableStats} from './table';
|
|
11
12
|
import type {TIndexDescription} from './tableIndex';
|
|
@@ -90,6 +91,9 @@ export interface TPathDescription {
|
|
|
90
91
|
SysViewDescription?: TSysViewDescription;
|
|
91
92
|
|
|
92
93
|
ReplicationDescription?: TReplicationDescription;
|
|
94
|
+
|
|
95
|
+
// for resource pool
|
|
96
|
+
ResourcePoolDescription?: TResourcePoolDescription;
|
|
93
97
|
}
|
|
94
98
|
|
|
95
99
|
export interface TDirEntry {
|
|
@@ -349,3 +353,17 @@ interface TUserAttribute {
|
|
|
349
353
|
Key?: string;
|
|
350
354
|
Value?: string;
|
|
351
355
|
}
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/flat_scheme_op.proto
|
|
359
|
+
*
|
|
360
|
+
* TResourcePoolDescription from flat_scheme_op.proto
|
|
361
|
+
*/
|
|
362
|
+
export interface TResourcePoolDescription {
|
|
363
|
+
Name?: string;
|
|
364
|
+
PathId?: TPathID;
|
|
365
|
+
Version?: string;
|
|
366
|
+
Properties?: {
|
|
367
|
+
Properties?: Record<string, string>;
|
|
368
|
+
};
|
|
369
|
+
}
|
package/src/types/api/storage.ts
CHANGED
|
@@ -106,6 +106,8 @@ export interface TGroupsStorageGroupInfo {
|
|
|
106
106
|
* VDisk data from storage/groups handler
|
|
107
107
|
*/
|
|
108
108
|
export interface TStorageVDisk {
|
|
109
|
+
/** Whether viewer received Whiteboard data for this disk. */
|
|
110
|
+
HasWhiteboardData?: boolean;
|
|
109
111
|
VDiskId?: string;
|
|
110
112
|
NodeId?: number;
|
|
111
113
|
/** uint64 */
|
|
@@ -123,6 +125,8 @@ export interface TStorageVDisk {
|
|
|
123
125
|
* PDisk data from storage/groups handler
|
|
124
126
|
*/
|
|
125
127
|
export interface TStoragePDisk {
|
|
128
|
+
/** Whether viewer received Whiteboard data for this disk. */
|
|
129
|
+
HasWhiteboardData?: boolean;
|
|
126
130
|
PDiskId?: string;
|
|
127
131
|
Path?: string;
|
|
128
132
|
Type?: 'hdd' | 'ssd' | 'nvme';
|
package/src/types/api/vdisk.ts
CHANGED
|
@@ -6,6 +6,8 @@ import type {TPDiskStateInfo} from './pdisk';
|
|
|
6
6
|
* source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/node_whiteboard.proto
|
|
7
7
|
*/
|
|
8
8
|
export interface TVDiskStateInfo {
|
|
9
|
+
/** Whether viewer received Whiteboard data for this disk. */
|
|
10
|
+
HasWhiteboardData?: boolean;
|
|
9
11
|
VDiskId?: TVDiskID;
|
|
10
12
|
/** uint64 */
|
|
11
13
|
CreateTime?: string;
|
|
@@ -46,7 +46,9 @@ export interface BaseDiskDisplayState {
|
|
|
46
46
|
icon: DiskIndicatorValue | undefined;
|
|
47
47
|
mode: DiskDisplayMode | undefined;
|
|
48
48
|
isLegendInactive?: boolean;
|
|
49
|
+
borderless?: boolean;
|
|
49
50
|
showNoDataPlaceholder?: boolean;
|
|
51
|
+
isNoData?: boolean;
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
export interface VDiskDisplayState extends BaseDiskDisplayState {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import {CircleQuestionFill} from '@gravity-ui/icons';
|
|
2
2
|
|
|
3
|
+
import {EFlag} from '../../types/api/enums';
|
|
4
|
+
|
|
3
5
|
import {DONOR_COLOR, NOT_AVAILABLE_SEVERITY} from './constants';
|
|
4
6
|
import type {DiskIndicatorValue} from './displayState';
|
|
5
7
|
import {getDisplaySeverityColor} from './helpers';
|
|
@@ -10,6 +12,7 @@ interface GetDiskBarToneParams {
|
|
|
10
12
|
isDonor?: boolean;
|
|
11
13
|
showIndicator?: boolean;
|
|
12
14
|
indicator?: DiskIndicatorValue;
|
|
15
|
+
isNoData?: boolean;
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
function hasMissingDataIndicator(indicator: DiskIndicatorValue | undefined) {
|
|
@@ -25,11 +28,16 @@ export function getDiskBarTone({
|
|
|
25
28
|
isDonor,
|
|
26
29
|
showIndicator,
|
|
27
30
|
indicator,
|
|
31
|
+
isNoData,
|
|
28
32
|
}: GetDiskBarToneParams): DiskBarTone {
|
|
29
33
|
if (isDonor) {
|
|
30
34
|
return DONOR_COLOR;
|
|
31
35
|
}
|
|
32
36
|
|
|
37
|
+
if (isNoData) {
|
|
38
|
+
return EFlag.Grey;
|
|
39
|
+
}
|
|
40
|
+
|
|
33
41
|
if (
|
|
34
42
|
showIndicator &&
|
|
35
43
|
severity === NOT_AVAILABLE_SEVERITY &&
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ArrowUpFromLine,
|
|
3
3
|
Ban,
|
|
4
|
-
CircleExclamation,
|
|
5
4
|
CircleExclamationFill,
|
|
6
5
|
CircleQuestionFill,
|
|
7
6
|
CircleStopFill,
|
|
@@ -11,6 +10,7 @@ import {
|
|
|
11
10
|
ClockFill,
|
|
12
11
|
HourglassStart,
|
|
13
12
|
TrashBin,
|
|
13
|
+
TriangleExclamation,
|
|
14
14
|
Wrench,
|
|
15
15
|
Xmark,
|
|
16
16
|
} from '@gravity-ui/icons';
|
|
@@ -128,7 +128,7 @@ const PDISK_DRIVE_DISPLAY_STATE: Record<EDriveStatus, PDiskStateDisplayState> =
|
|
|
128
128
|
},
|
|
129
129
|
FAULTY: {
|
|
130
130
|
severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
|
131
|
-
icon:
|
|
131
|
+
icon: TriangleExclamation,
|
|
132
132
|
},
|
|
133
133
|
BROKEN: {
|
|
134
134
|
severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
|
|
@@ -14,6 +14,10 @@ import type {PreparedPDisk, PreparedVDisk} from './types';
|
|
|
14
14
|
export function prepareWhiteboardVDiskData(
|
|
15
15
|
vDiskState: TVDiskStateInfo | TVSlotId = {},
|
|
16
16
|
): PreparedVDisk {
|
|
17
|
+
const hasWhiteboardData =
|
|
18
|
+
('HasWhiteboardData' in vDiskState ? vDiskState.HasWhiteboardData : undefined) ??
|
|
19
|
+
(isFullVDiskData(vDiskState) && Boolean(vDiskState.VDiskId));
|
|
20
|
+
|
|
17
21
|
if (!isFullVDiskData(vDiskState)) {
|
|
18
22
|
const {NodeId, PDiskId, VSlotId, ...restVDiskFields} = vDiskState;
|
|
19
23
|
|
|
@@ -30,6 +34,7 @@ export function prepareWhiteboardVDiskData(
|
|
|
30
34
|
|
|
31
35
|
return {
|
|
32
36
|
...restVDiskFields,
|
|
37
|
+
HasWhiteboardData: hasWhiteboardData,
|
|
33
38
|
StringifiedId,
|
|
34
39
|
NodeId,
|
|
35
40
|
PDiskId,
|
|
@@ -61,15 +66,22 @@ export function prepareWhiteboardVDiskData(
|
|
|
61
66
|
AllocatedSize: AllocatedSize,
|
|
62
67
|
SlotSize: PDisk?.EnforcedDynamicSlotSize,
|
|
63
68
|
});
|
|
64
|
-
const WhiteboardSize =
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
const WhiteboardSize = hasWhiteboardData
|
|
70
|
+
? prepareWhiteboardVDiskSizeFields({
|
|
71
|
+
AvailableSize,
|
|
72
|
+
AllocatedSize,
|
|
73
|
+
SlotSize: PDisk?.EnforcedDynamicSlotSize,
|
|
74
|
+
})
|
|
75
|
+
: undefined;
|
|
69
76
|
|
|
70
77
|
const Severity = calculateVDiskSeverity(vDiskState);
|
|
71
78
|
|
|
72
|
-
const StringifiedId = stringifyVdiskId(
|
|
79
|
+
const StringifiedId = stringifyVdiskId(
|
|
80
|
+
VDiskId ??
|
|
81
|
+
(!isNil(NodeId) && !isNil(actualPDiskId) && !isNil(vDiskState.VDiskSlotId)
|
|
82
|
+
? {NodeId, PDiskId: actualPDiskId, VSlotId: vDiskState.VDiskSlotId}
|
|
83
|
+
: undefined),
|
|
84
|
+
);
|
|
73
85
|
|
|
74
86
|
const preparedDonors = Donors?.map((donor) => {
|
|
75
87
|
// Handle both TVDiskStateInfo and TVSlotId donor types
|
|
@@ -98,6 +110,7 @@ export function prepareWhiteboardVDiskData(
|
|
|
98
110
|
...restVDiskFields,
|
|
99
111
|
...vDiskSizeFields,
|
|
100
112
|
WhiteboardSize,
|
|
113
|
+
HasWhiteboardData: hasWhiteboardData,
|
|
101
114
|
|
|
102
115
|
VDiskId,
|
|
103
116
|
NodeId,
|
|
@@ -114,6 +127,7 @@ export function prepareWhiteboardPDiskData(
|
|
|
114
127
|
pdiskState: TPDiskStateInfo = {},
|
|
115
128
|
whiteboardSizeSource: Pick<TPDiskStateInfo, 'AvailableSize' | 'TotalSize'> | null = pdiskState,
|
|
116
129
|
): PreparedPDisk {
|
|
130
|
+
const hasWhiteboardData = pdiskState.HasWhiteboardData ?? Boolean(whiteboardSizeSource);
|
|
117
131
|
const {
|
|
118
132
|
AvailableSize,
|
|
119
133
|
TotalSize,
|
|
@@ -133,9 +147,10 @@ export function prepareWhiteboardPDiskData(
|
|
|
133
147
|
AvailableSize,
|
|
134
148
|
TotalSize,
|
|
135
149
|
});
|
|
136
|
-
const WhiteboardSize =
|
|
137
|
-
|
|
138
|
-
|
|
150
|
+
const WhiteboardSize =
|
|
151
|
+
hasWhiteboardData && whiteboardSizeSource
|
|
152
|
+
? prepareWhiteboardPDiskSizeFields(whiteboardSizeSource)
|
|
153
|
+
: undefined;
|
|
139
154
|
|
|
140
155
|
const Severity = calculatePDiskSeverity({
|
|
141
156
|
State,
|
|
@@ -145,6 +160,7 @@ export function prepareWhiteboardPDiskData(
|
|
|
145
160
|
return {
|
|
146
161
|
...restPDiskFields,
|
|
147
162
|
...pdiskPreparedSizeFields,
|
|
163
|
+
HasWhiteboardData: hasWhiteboardData,
|
|
148
164
|
...(WhiteboardSize ? {WhiteboardSize} : {}),
|
|
149
165
|
PDiskId,
|
|
150
166
|
NodeId,
|
package/src/utils/disks/types.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type {EFlag} from '../../types/api/enums';
|
|
2
2
|
import type {EDriveStatus, TPDiskInfo, TPDiskStateInfo} from '../../types/api/pdisk';
|
|
3
|
-
import type {TVDiskStateInfo, TVSlotId} from '../../types/api/vdisk';
|
|
3
|
+
import type {EVDiskStatus, TVDiskStateInfo, TVSlotId} from '../../types/api/vdisk';
|
|
4
4
|
import type {ValueOf} from '../../types/common';
|
|
5
5
|
|
|
6
6
|
import type {PDISK_TYPES} from './getPDiskType';
|
|
@@ -96,6 +96,7 @@ export interface VDiskRecipientRef {
|
|
|
96
96
|
|
|
97
97
|
export interface PreparedVDisk
|
|
98
98
|
extends Omit<TVDiskStateInfo, 'PDisk' | 'AvailableSize' | 'AllocatedSize' | 'Donors'> {
|
|
99
|
+
Status?: EVDiskStatus;
|
|
99
100
|
PDisk?: PreparedPDisk;
|
|
100
101
|
Severity?: number;
|
|
101
102
|
StringifiedId?: string;
|
package/src/utils/query.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import {truncate} from 'lodash';
|
|
1
2
|
import {z} from 'zod';
|
|
2
3
|
|
|
3
4
|
import {YQLType} from '../types';
|
|
@@ -20,8 +21,14 @@ import type {
|
|
|
20
21
|
TransactionMode,
|
|
21
22
|
} from '../types/store/query';
|
|
22
23
|
|
|
24
|
+
import {EMPTY_DATA_PLACEHOLDER} from './emptyDataPlaceholder';
|
|
23
25
|
import {isAbortError, isAxiosResponse, isNetworkError, isResponseError} from './response';
|
|
24
26
|
|
|
27
|
+
export function getQueryShortText(queryText: string | undefined) {
|
|
28
|
+
const text = queryText?.replace(/\s+/g, ' ').trim();
|
|
29
|
+
return text ? truncate(text, {length: 120, separator: ' '}) : EMPTY_DATA_PLACEHOLDER;
|
|
30
|
+
}
|
|
31
|
+
|
|
25
32
|
export const TRANSACTION_MODES = {
|
|
26
33
|
serializable: 'serializable-read-write',
|
|
27
34
|
stalero: 'stale-read-only',
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { PreparedVDisk } from '../../../utils/disks/types';
|
|
2
|
-
import type { StorageViewContext } from '../types';
|
|
3
|
-
interface PDiskVDisksProps {
|
|
4
|
-
vDisks?: PreparedVDisk[];
|
|
5
|
-
viewContext?: StorageViewContext;
|
|
6
|
-
withIcon?: boolean;
|
|
7
|
-
delayOpen: number;
|
|
8
|
-
delayClose: number;
|
|
9
|
-
highlightedDisk?: string;
|
|
10
|
-
setHighlightedDisk?: (id?: string) => void;
|
|
11
|
-
}
|
|
12
|
-
export declare function PDiskVDisks({ vDisks, viewContext, withIcon, delayOpen, delayClose, highlightedDisk, setHighlightedDisk, }: PDiskVDisksProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { VDisk } from '../../../components/VDisk/VDisk';
|
|
3
|
-
import { cn } from '../../../utils/cn';
|
|
4
|
-
import { isVdiskActive } from '../utils';
|
|
5
|
-
const b = cn('pdisk-storage');
|
|
6
|
-
export function PDiskVDisks({ vDisks, viewContext, withIcon, delayOpen, delayClose, highlightedDisk, setHighlightedDisk, }) {
|
|
7
|
-
if (!(vDisks === null || vDisks === void 0 ? void 0 : vDisks.length)) {
|
|
8
|
-
return null;
|
|
9
|
-
}
|
|
10
|
-
return (_jsx("div", { className: b('vdisks'), children: vDisks.map((vDisk) => {
|
|
11
|
-
const vDiskId = vDisk.StringifiedId;
|
|
12
|
-
const highlighted = highlightedDisk === vDiskId;
|
|
13
|
-
return (_jsx("div", { className: b('vdisks-item'), style: {
|
|
14
|
-
// 1 is small enough for empty disks to be of the minimum width
|
|
15
|
-
// but if all of them are empty, `flex-grow: 1` would size them evenly
|
|
16
|
-
flexGrow: Number(vDisk.AllocatedSize) || 1,
|
|
17
|
-
}, children: _jsx(VDisk, { withIcon: withIcon, data: vDisk, inactive: !isVdiskActive(vDisk, viewContext), compact: true, delayOpen: delayOpen, delayClose: delayClose, showPopup: highlighted, onShowPopup: () => setHighlightedDisk === null || setHighlightedDisk === void 0 ? void 0 : setHighlightedDisk(vDiskId), onHidePopup: () => setHighlightedDisk === null || setHighlightedDisk === void 0 ? void 0 : setHighlightedDisk(undefined), highlighted: highlighted }) }, vDiskId));
|
|
18
|
-
}) }));
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=PDiskVDisks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PDiskVDisks.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PDisk/PDiskVDisks.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,iCAAiC,CAAC;AACtD,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AAGrC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,MAAM,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;AAY9B,MAAM,UAAU,WAAW,CAAC,EACxB,MAAM,EACN,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,eAAe,EACf,kBAAkB,GACH;IACf,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACtB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;YACpC,MAAM,WAAW,GAAG,eAAe,KAAK,OAAO,CAAC;YAEhD,OAAO,CACH,cAEI,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,EAC3B,KAAK,EAAE;oBACH,+DAA+D;oBAC/D,sEAAsE;oBACtE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;iBAC7C,YAED,KAAC,KAAK,IACF,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,EAC5C,OAAO,QACP,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,WAAW,EACtB,WAAW,EAAE,GAAG,EAAE,CAAC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,OAAO,CAAC,EAChD,WAAW,EAAE,GAAG,EAAE,CAAC,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,SAAS,CAAC,EAClD,WAAW,EAAE,WAAW,GAC1B,IAnBG,OAAO,CAoBV,CACT,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Flex, SegmentedRadioGroup, Text } from '@gravity-ui/uikit';
|
|
3
|
-
import { useStorageQueryParams } from '../useStorageQueryParams';
|
|
4
|
-
import { AllLegend, CompactionLegend, FrontQueuesLegend, PDiskDecommitLegend, PDiskDeviceLegend, PDiskDriveLegend, PDiskMaintenanceLegend, PDiskStateLegend, SpaceLegend, StateLegend, } from './components';
|
|
5
|
-
import { PDisksGroupBy, VDisksGroupBy, b } from './constants';
|
|
6
|
-
import i18n from './i18n';
|
|
7
|
-
import './StorageExpertModePanel.scss';
|
|
8
|
-
function renderLegend(vdisksGroupBy) {
|
|
9
|
-
switch (vdisksGroupBy) {
|
|
10
|
-
case VDisksGroupBy.State:
|
|
11
|
-
return _jsx(StateLegend, {});
|
|
12
|
-
case VDisksGroupBy.Space:
|
|
13
|
-
return _jsx(SpaceLegend, {});
|
|
14
|
-
case VDisksGroupBy.FrontQueues:
|
|
15
|
-
return _jsx(FrontQueuesLegend, {});
|
|
16
|
-
case VDisksGroupBy.Compaction:
|
|
17
|
-
return _jsx(CompactionLegend, {});
|
|
18
|
-
case VDisksGroupBy.All:
|
|
19
|
-
return _jsx(AllLegend, {});
|
|
20
|
-
default:
|
|
21
|
-
return null;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
function getPDisksGroupByLabel(pdisksGroupBy) {
|
|
25
|
-
switch (pdisksGroupBy) {
|
|
26
|
-
case PDisksGroupBy.Space:
|
|
27
|
-
return i18n('value_pdisks-space');
|
|
28
|
-
case PDisksGroupBy.Drive:
|
|
29
|
-
return i18n('value_pdisks-drive');
|
|
30
|
-
case PDisksGroupBy.Decommit:
|
|
31
|
-
return i18n('value_pdisks-decommit');
|
|
32
|
-
case PDisksGroupBy.Maintenance:
|
|
33
|
-
return i18n('value_pdisks-maintenance');
|
|
34
|
-
case PDisksGroupBy.Device:
|
|
35
|
-
return i18n('value_pdisks-device');
|
|
36
|
-
case PDisksGroupBy.All:
|
|
37
|
-
return i18n('value_pdisks-all');
|
|
38
|
-
default:
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function renderPDiskLegend(pdisksGroupBy) {
|
|
43
|
-
switch (pdisksGroupBy) {
|
|
44
|
-
case PDisksGroupBy.State:
|
|
45
|
-
return _jsx(PDiskStateLegend, {});
|
|
46
|
-
case PDisksGroupBy.Space:
|
|
47
|
-
return _jsx(SpaceLegend, { selectionScope: "pdisks" });
|
|
48
|
-
case PDisksGroupBy.Drive:
|
|
49
|
-
return _jsx(PDiskDriveLegend, {});
|
|
50
|
-
case PDisksGroupBy.Decommit:
|
|
51
|
-
return _jsx(PDiskDecommitLegend, {});
|
|
52
|
-
case PDisksGroupBy.Maintenance:
|
|
53
|
-
return _jsx(PDiskMaintenanceLegend, {});
|
|
54
|
-
case PDisksGroupBy.Device:
|
|
55
|
-
return _jsx(PDiskDeviceLegend, {});
|
|
56
|
-
case PDisksGroupBy.All:
|
|
57
|
-
return _jsx(AllLegend, { selectionScope: "pdisks" });
|
|
58
|
-
default:
|
|
59
|
-
return _jsx("div", { children: getPDisksGroupByLabel(pdisksGroupBy) });
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
export function StorageExpertModePanel({ className }) {
|
|
63
|
-
const { vdisksGroupBy, pdisksGroupBy, handleVDisksGroupByChange, handlePDisksGroupByChange } = useStorageQueryParams();
|
|
64
|
-
return (_jsxs("div", { className: b(null, className), children: [_jsxs(Flex, { gap: 3, alignItems: "center", children: [_jsx(Text, { variant: "subheader-1", children: i18n('label_vdisks') }), _jsxs(SegmentedRadioGroup, { value: vdisksGroupBy, onUpdate: handleVDisksGroupByChange, size: "s", children: [_jsx(SegmentedRadioGroup.Option, { value: VDisksGroupBy.State, children: i18n('value_state') }), _jsx(SegmentedRadioGroup.Option, { value: VDisksGroupBy.Space, children: i18n('value_space') }), _jsx(SegmentedRadioGroup.Option, { value: VDisksGroupBy.FrontQueues, children: i18n('value_front-queues') }), _jsx(SegmentedRadioGroup.Option, { value: VDisksGroupBy.Compaction, children: i18n('value_compaction') }), _jsx(SegmentedRadioGroup.Option, { value: VDisksGroupBy.All, children: i18n('value_all') })] }), renderLegend(vdisksGroupBy)] }), _jsxs(Flex, { gap: 3, alignItems: "center", children: [_jsx(Text, { variant: "subheader-1", children: i18n('label_pdisks') }), _jsxs(SegmentedRadioGroup, { qa: "storage-pdisks-expert-mode", value: pdisksGroupBy, onUpdate: handlePDisksGroupByChange, size: "s", children: [_jsx(SegmentedRadioGroup.Option, { value: PDisksGroupBy.State, children: i18n('value_pdisks-state') }), _jsx(SegmentedRadioGroup.Option, { value: PDisksGroupBy.Space, children: i18n('value_pdisks-space') }), _jsx(SegmentedRadioGroup.Option, { value: PDisksGroupBy.Drive, children: i18n('value_pdisks-drive') }), _jsx(SegmentedRadioGroup.Option, { value: PDisksGroupBy.Decommit, children: i18n('value_pdisks-decommit') }), _jsx(SegmentedRadioGroup.Option, { value: PDisksGroupBy.Maintenance, children: i18n('value_pdisks-maintenance') }), _jsx(SegmentedRadioGroup.Option, { value: PDisksGroupBy.Device, children: i18n('value_pdisks-device') }), _jsx(SegmentedRadioGroup.Option, { value: PDisksGroupBy.All, children: i18n('value_pdisks-all') })] }), _jsx("div", { "data-qa": "storage-pdisks-expert-mode-legend", children: renderPDiskLegend(pdisksGroupBy) })] })] }));
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=StorageExpertModePanel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StorageExpertModePanel.js","sourceRoot":"","sources":["../../../../src/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import {VDisk} from '../../../components/VDisk/VDisk';
|
|
2
|
-
import {cn} from '../../../utils/cn';
|
|
3
|
-
import type {PreparedVDisk} from '../../../utils/disks/types';
|
|
4
|
-
import type {StorageViewContext} from '../types';
|
|
5
|
-
import {isVdiskActive} from '../utils';
|
|
6
|
-
|
|
7
|
-
const b = cn('pdisk-storage');
|
|
8
|
-
|
|
9
|
-
interface PDiskVDisksProps {
|
|
10
|
-
vDisks?: PreparedVDisk[];
|
|
11
|
-
viewContext?: StorageViewContext;
|
|
12
|
-
withIcon?: boolean;
|
|
13
|
-
delayOpen: number;
|
|
14
|
-
delayClose: number;
|
|
15
|
-
highlightedDisk?: string;
|
|
16
|
-
setHighlightedDisk?: (id?: string) => void;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function PDiskVDisks({
|
|
20
|
-
vDisks,
|
|
21
|
-
viewContext,
|
|
22
|
-
withIcon,
|
|
23
|
-
delayOpen,
|
|
24
|
-
delayClose,
|
|
25
|
-
highlightedDisk,
|
|
26
|
-
setHighlightedDisk,
|
|
27
|
-
}: PDiskVDisksProps) {
|
|
28
|
-
if (!vDisks?.length) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
<div className={b('vdisks')}>
|
|
34
|
-
{vDisks.map((vDisk) => {
|
|
35
|
-
const vDiskId = vDisk.StringifiedId;
|
|
36
|
-
const highlighted = highlightedDisk === vDiskId;
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<div
|
|
40
|
-
key={vDiskId}
|
|
41
|
-
className={b('vdisks-item')}
|
|
42
|
-
style={{
|
|
43
|
-
// 1 is small enough for empty disks to be of the minimum width
|
|
44
|
-
// but if all of them are empty, `flex-grow: 1` would size them evenly
|
|
45
|
-
flexGrow: Number(vDisk.AllocatedSize) || 1,
|
|
46
|
-
}}
|
|
47
|
-
>
|
|
48
|
-
<VDisk
|
|
49
|
-
withIcon={withIcon}
|
|
50
|
-
data={vDisk}
|
|
51
|
-
inactive={!isVdiskActive(vDisk, viewContext)}
|
|
52
|
-
compact
|
|
53
|
-
delayOpen={delayOpen}
|
|
54
|
-
delayClose={delayClose}
|
|
55
|
-
showPopup={highlighted}
|
|
56
|
-
onShowPopup={() => setHighlightedDisk?.(vDiskId)}
|
|
57
|
-
onHidePopup={() => setHighlightedDisk?.(undefined)}
|
|
58
|
-
highlighted={highlighted}
|
|
59
|
-
/>
|
|
60
|
-
</div>
|
|
61
|
-
);
|
|
62
|
-
})}
|
|
63
|
-
</div>
|
|
64
|
-
);
|
|
65
|
-
}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import {Flex, SegmentedRadioGroup, Text} from '@gravity-ui/uikit';
|
|
2
|
-
|
|
3
|
-
import {useStorageQueryParams} from '../useStorageQueryParams';
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
AllLegend,
|
|
7
|
-
CompactionLegend,
|
|
8
|
-
FrontQueuesLegend,
|
|
9
|
-
PDiskDecommitLegend,
|
|
10
|
-
PDiskDeviceLegend,
|
|
11
|
-
PDiskDriveLegend,
|
|
12
|
-
PDiskMaintenanceLegend,
|
|
13
|
-
PDiskStateLegend,
|
|
14
|
-
SpaceLegend,
|
|
15
|
-
StateLegend,
|
|
16
|
-
} from './components';
|
|
17
|
-
import {PDisksGroupBy, VDisksGroupBy, b} from './constants';
|
|
18
|
-
import type {PDisksGroupByValue, VDisksGroupByValue} from './constants';
|
|
19
|
-
import i18n from './i18n';
|
|
20
|
-
|
|
21
|
-
import './StorageExpertModePanel.scss';
|
|
22
|
-
|
|
23
|
-
interface StorageExpertModePanelProps {
|
|
24
|
-
className?: string;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function renderLegend(vdisksGroupBy: VDisksGroupByValue) {
|
|
28
|
-
switch (vdisksGroupBy) {
|
|
29
|
-
case VDisksGroupBy.State:
|
|
30
|
-
return <StateLegend />;
|
|
31
|
-
case VDisksGroupBy.Space:
|
|
32
|
-
return <SpaceLegend />;
|
|
33
|
-
case VDisksGroupBy.FrontQueues:
|
|
34
|
-
return <FrontQueuesLegend />;
|
|
35
|
-
case VDisksGroupBy.Compaction:
|
|
36
|
-
return <CompactionLegend />;
|
|
37
|
-
case VDisksGroupBy.All:
|
|
38
|
-
return <AllLegend />;
|
|
39
|
-
default:
|
|
40
|
-
return null;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function getPDisksGroupByLabel(pdisksGroupBy: Exclude<PDisksGroupByValue, 'State'>) {
|
|
45
|
-
switch (pdisksGroupBy) {
|
|
46
|
-
case PDisksGroupBy.Space:
|
|
47
|
-
return i18n('value_pdisks-space');
|
|
48
|
-
case PDisksGroupBy.Drive:
|
|
49
|
-
return i18n('value_pdisks-drive');
|
|
50
|
-
case PDisksGroupBy.Decommit:
|
|
51
|
-
return i18n('value_pdisks-decommit');
|
|
52
|
-
case PDisksGroupBy.Maintenance:
|
|
53
|
-
return i18n('value_pdisks-maintenance');
|
|
54
|
-
case PDisksGroupBy.Device:
|
|
55
|
-
return i18n('value_pdisks-device');
|
|
56
|
-
case PDisksGroupBy.All:
|
|
57
|
-
return i18n('value_pdisks-all');
|
|
58
|
-
default:
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
function renderPDiskLegend(pdisksGroupBy: PDisksGroupByValue) {
|
|
64
|
-
switch (pdisksGroupBy) {
|
|
65
|
-
case PDisksGroupBy.State:
|
|
66
|
-
return <PDiskStateLegend />;
|
|
67
|
-
case PDisksGroupBy.Space:
|
|
68
|
-
return <SpaceLegend selectionScope="pdisks" />;
|
|
69
|
-
case PDisksGroupBy.Drive:
|
|
70
|
-
return <PDiskDriveLegend />;
|
|
71
|
-
case PDisksGroupBy.Decommit:
|
|
72
|
-
return <PDiskDecommitLegend />;
|
|
73
|
-
case PDisksGroupBy.Maintenance:
|
|
74
|
-
return <PDiskMaintenanceLegend />;
|
|
75
|
-
case PDisksGroupBy.Device:
|
|
76
|
-
return <PDiskDeviceLegend />;
|
|
77
|
-
case PDisksGroupBy.All:
|
|
78
|
-
return <AllLegend selectionScope="pdisks" />;
|
|
79
|
-
default:
|
|
80
|
-
return <div>{getPDisksGroupByLabel(pdisksGroupBy)}</div>;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export function StorageExpertModePanel({className}: StorageExpertModePanelProps) {
|
|
85
|
-
const {vdisksGroupBy, pdisksGroupBy, handleVDisksGroupByChange, handlePDisksGroupByChange} =
|
|
86
|
-
useStorageQueryParams();
|
|
87
|
-
|
|
88
|
-
return (
|
|
89
|
-
<div className={b(null, className)}>
|
|
90
|
-
<Flex gap={3} alignItems="center">
|
|
91
|
-
<Text variant="subheader-1">{i18n('label_vdisks')}</Text>
|
|
92
|
-
<SegmentedRadioGroup
|
|
93
|
-
value={vdisksGroupBy}
|
|
94
|
-
onUpdate={handleVDisksGroupByChange}
|
|
95
|
-
size="s"
|
|
96
|
-
>
|
|
97
|
-
<SegmentedRadioGroup.Option value={VDisksGroupBy.State}>
|
|
98
|
-
{i18n('value_state')}
|
|
99
|
-
</SegmentedRadioGroup.Option>
|
|
100
|
-
<SegmentedRadioGroup.Option value={VDisksGroupBy.Space}>
|
|
101
|
-
{i18n('value_space')}
|
|
102
|
-
</SegmentedRadioGroup.Option>
|
|
103
|
-
<SegmentedRadioGroup.Option value={VDisksGroupBy.FrontQueues}>
|
|
104
|
-
{i18n('value_front-queues')}
|
|
105
|
-
</SegmentedRadioGroup.Option>
|
|
106
|
-
<SegmentedRadioGroup.Option value={VDisksGroupBy.Compaction}>
|
|
107
|
-
{i18n('value_compaction')}
|
|
108
|
-
</SegmentedRadioGroup.Option>
|
|
109
|
-
<SegmentedRadioGroup.Option value={VDisksGroupBy.All}>
|
|
110
|
-
{i18n('value_all')}
|
|
111
|
-
</SegmentedRadioGroup.Option>
|
|
112
|
-
</SegmentedRadioGroup>
|
|
113
|
-
{renderLegend(vdisksGroupBy)}
|
|
114
|
-
</Flex>
|
|
115
|
-
<Flex gap={3} alignItems="center">
|
|
116
|
-
<Text variant="subheader-1">{i18n('label_pdisks')}</Text>
|
|
117
|
-
<SegmentedRadioGroup
|
|
118
|
-
qa="storage-pdisks-expert-mode"
|
|
119
|
-
value={pdisksGroupBy}
|
|
120
|
-
onUpdate={handlePDisksGroupByChange}
|
|
121
|
-
size="s"
|
|
122
|
-
>
|
|
123
|
-
<SegmentedRadioGroup.Option value={PDisksGroupBy.State}>
|
|
124
|
-
{i18n('value_pdisks-state')}
|
|
125
|
-
</SegmentedRadioGroup.Option>
|
|
126
|
-
<SegmentedRadioGroup.Option value={PDisksGroupBy.Space}>
|
|
127
|
-
{i18n('value_pdisks-space')}
|
|
128
|
-
</SegmentedRadioGroup.Option>
|
|
129
|
-
<SegmentedRadioGroup.Option value={PDisksGroupBy.Drive}>
|
|
130
|
-
{i18n('value_pdisks-drive')}
|
|
131
|
-
</SegmentedRadioGroup.Option>
|
|
132
|
-
<SegmentedRadioGroup.Option value={PDisksGroupBy.Decommit}>
|
|
133
|
-
{i18n('value_pdisks-decommit')}
|
|
134
|
-
</SegmentedRadioGroup.Option>
|
|
135
|
-
<SegmentedRadioGroup.Option value={PDisksGroupBy.Maintenance}>
|
|
136
|
-
{i18n('value_pdisks-maintenance')}
|
|
137
|
-
</SegmentedRadioGroup.Option>
|
|
138
|
-
<SegmentedRadioGroup.Option value={PDisksGroupBy.Device}>
|
|
139
|
-
{i18n('value_pdisks-device')}
|
|
140
|
-
</SegmentedRadioGroup.Option>
|
|
141
|
-
<SegmentedRadioGroup.Option value={PDisksGroupBy.All}>
|
|
142
|
-
{i18n('value_pdisks-all')}
|
|
143
|
-
</SegmentedRadioGroup.Option>
|
|
144
|
-
</SegmentedRadioGroup>
|
|
145
|
-
<div data-qa="storage-pdisks-expert-mode-legend">
|
|
146
|
-
{renderPDiskLegend(pdisksGroupBy)}
|
|
147
|
-
</div>
|
|
148
|
-
</Flex>
|
|
149
|
-
</div>
|
|
150
|
-
);
|
|
151
|
-
}
|