ydb-embedded-ui 22.4.0 → 22.6.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/AutoRefreshControl/StickyAutoRefreshControl.d.ts +2 -0
- package/dist/components/AutoRefreshControl/StickyAutoRefreshControl.js +9 -0
- package/dist/components/AutoRefreshControl/StickyAutoRefreshControl.js.map +1 -0
- package/dist/components/AutoRefreshControl/StickyAutoRefreshControl.scss +18 -0
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +3 -2
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +19 -4
- package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js.map +1 -1
- package/dist/components/CopyableValue/CopyableValue.d.ts +10 -0
- package/dist/components/CopyableValue/CopyableValue.js +10 -0
- package/dist/components/CopyableValue/CopyableValue.js.map +1 -0
- package/dist/components/CopyableValue/CopyableValue.scss +16 -0
- package/dist/components/CopyableValue/i18n/en.json +3 -0
- package/dist/components/CopyableValue/i18n/index.d.ts +2 -0
- package/dist/components/CopyableValue/i18n/index.js +6 -0
- package/dist/components/CopyableValue/i18n/index.js.map +1 -0
- package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +2 -1
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js +2 -1
- package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
- package/dist/components/DiskCapacityInfo/DiskCapacityInfo.d.ts +1 -21
- package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +40 -126
- package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -1
- package/dist/components/DiskCapacityInfo/i18n/en.json +0 -1
- package/dist/components/DiskCapacityInfo/i18n/index.d.ts +1 -1
- package/dist/components/EntityStatus/EntityStatus.d.ts +18 -6
- package/dist/components/EntityStatus/EntityStatus.js +5 -1
- package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
- package/dist/components/EntityStatus/EntityStatus.scss +5 -0
- package/dist/components/EvictVDiskButton/EvictVDiskButton.d.ts +5 -2
- package/dist/components/EvictVDiskButton/EvictVDiskButton.js +3 -2
- package/dist/components/EvictVDiskButton/EvictVDiskButton.js.map +1 -1
- package/dist/components/EvictVDiskButton/i18n/en.json +2 -2
- package/dist/components/FullNodeViewer/FullNodeViewer.js +4 -7
- package/dist/components/FullNodeViewer/FullNodeViewer.js.map +1 -1
- package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
- package/dist/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.d.ts +3 -0
- package/dist/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.js +12 -0
- package/dist/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.js.map +1 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/en.json +3 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/index.d.ts +2 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/index.js +6 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/index.js.map +1 -0
- package/dist/components/HideUnavailableNodesSwitch/i18n/ru.json +3 -0
- package/dist/components/HoverPopup/HoverPopup.d.ts +1 -0
- package/dist/components/HoverPopup/HoverPopup.js +87 -16
- package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
- package/dist/components/MemoryViewer/MemoryViewer.d.ts +3 -1
- package/dist/components/MemoryViewer/MemoryViewer.js +25 -16
- package/dist/components/MemoryViewer/MemoryViewer.js.map +1 -1
- package/dist/components/MemoryViewer/i18n/en.json +4 -3
- package/dist/components/MemoryViewer/i18n/index.d.ts +1 -1
- package/dist/components/MemoryViewer/utils.d.ts +4 -2
- package/dist/components/MemoryViewer/utils.js +11 -11
- package/dist/components/MemoryViewer/utils.js.map +1 -1
- package/dist/components/PDiskInfo/PDiskInfo.d.ts +4 -9
- package/dist/components/PDiskInfo/PDiskInfo.js +32 -144
- package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
- package/dist/components/PDiskInfo/PDiskInfo.scss +15 -0
- package/dist/components/PDiskInfo/PDiskLogSize.js +1 -1
- package/dist/components/PDiskInfo/PDiskLogSize.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/en.json +6 -3
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PDiskInfo/statuses.js +12 -3
- package/dist/components/PDiskInfo/statuses.js.map +1 -1
- package/dist/components/PageMeta/PageMeta.d.ts +0 -2
- package/dist/components/PageMeta/PageMeta.js +1 -6
- package/dist/components/PageMeta/PageMeta.js.map +1 -1
- package/dist/components/Search/Search.js +3 -1
- package/dist/components/Search/Search.js.map +1 -1
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js +4 -9
- package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/components/TenantNameWrapper/i18n/index.d.ts +1 -1
- package/dist/components/VDisk/VDisk.js +2 -2
- package/dist/components/VDisk/VDisk.js.map +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.d.ts +3 -7
- package/dist/components/VDiskInfo/VDiskInfo.js +57 -235
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.scss +19 -3
- package/dist/components/VDiskInfo/getVDiskDetails.d.ts +7 -1
- package/dist/components/VDiskInfo/getVDiskDetails.js +14 -1
- package/dist/components/VDiskInfo/getVDiskDetails.js.map +1 -1
- package/dist/components/VDiskInfo/i18n/en.json +4 -13
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.d.ts +2 -1
- package/dist/components/VDiskPopup/VDiskPopup.js +10 -26
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/components/VDiskPopup/i18n/en.json +0 -2
- package/dist/components/VDiskPopup/i18n/index.d.ts +1 -1
- package/dist/components/VDiskStatus/VDiskReplicationStatus.js +1 -1
- package/dist/components/VDiskStatus/VDiskReplicationStatus.js.map +1 -1
- package/dist/components/VDiskStatus/VDiskStatus.js +2 -2
- package/dist/components/VDiskStatus/VDiskStatus.js.map +1 -1
- package/dist/components/VDiskStatus/VDiskStatus.scss +4 -0
- package/dist/components/VDiskStatus/statuses.js +2 -2
- package/dist/components/VDiskStatus/statuses.js.map +1 -1
- package/dist/components/nodesColumns/columns.d.ts +1 -0
- package/dist/components/nodesColumns/columns.js +13 -6
- package/dist/components/nodesColumns/columns.js.map +1 -1
- package/dist/containers/Clusters/Clusters.js +35 -6
- package/dist/containers/Clusters/Clusters.js.map +1 -1
- package/dist/containers/Clusters/Clusters.scss +24 -6
- package/dist/containers/Clusters/columns.js +9 -4
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +6 -0
- package/dist/containers/Clusters/i18n/index.d.ts +1 -1
- package/dist/containers/Header/Header.js +8 -0
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/HeaderLeftControls.js +3 -1
- package/dist/containers/Header/HeaderLeftControls.js.map +1 -1
- package/dist/containers/Header/PDiskLeftControls.d.ts +1 -0
- package/dist/containers/Header/PDiskLeftControls.js +24 -0
- package/dist/containers/Header/PDiskLeftControls.js.map +1 -0
- package/dist/containers/Header/VDiskLeftControls.d.ts +1 -0
- package/dist/containers/Header/VDiskLeftControls.js +23 -0
- package/dist/containers/Header/VDiskLeftControls.js.map +1 -0
- package/dist/containers/Header/breadcrumbs.js +5 -2
- package/dist/containers/Header/breadcrumbs.js.map +1 -1
- package/dist/containers/Header/i18n/en.json +4 -1
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/Node/Node.js +4 -3
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Node/Node.scss +14 -2
- package/dist/containers/Nodes/NodesControls/NodesControls.js +2 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
- package/dist/containers/Nodes/NodesTable.js +4 -0
- package/dist/containers/Nodes/NodesTable.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +8 -3
- package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +12 -2
- package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -1
- package/dist/containers/Nodes/getNodes.js +2 -1
- package/dist/containers/Nodes/getNodes.js.map +1 -1
- package/dist/containers/Nodes/useDebouncedSearch.d.ts +2 -0
- package/dist/containers/Nodes/useDebouncedSearch.js +11 -0
- package/dist/containers/Nodes/useDebouncedSearch.js.map +1 -0
- package/dist/containers/PDiskPage/PDiskPage.js +24 -34
- package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskPage.scss +29 -11
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +3 -3
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskStorageDetails.d.ts +6 -0
- package/dist/containers/PDiskPage/PDiskStorageDetails.js +28 -0
- package/dist/containers/PDiskPage/PDiskStorageDetails.js.map +1 -0
- package/dist/containers/PDiskPage/PDiskStorageDetails.scss +51 -0
- package/dist/containers/PDiskPage/i18n/en.json +1 -0
- package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +3 -0
- package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +8 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +2 -1
- package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js +4 -0
- package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/getNodes.js +2 -1
- package/dist/containers/Storage/PaginatedStorageNodesTable/getNodes.js.map +1 -1
- package/dist/containers/Storage/Storage.scss +4 -0
- package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +1 -1
- package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
- package/dist/containers/Storage/useStorageQueryParams.d.ts +4 -4
- package/dist/containers/StorageGroupPage/StorageGroupPage.js +5 -14
- package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
- package/dist/containers/StorageGroupPage/StorageGroupPage.scss +19 -4
- package/dist/containers/StorageGroupPage/i18n/en.json +0 -2
- package/dist/containers/StorageGroupPage/i18n/index.d.ts +1 -1
- package/dist/containers/Tablet/Tablet.js +3 -2
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tablet/Tablet.scss +15 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -12
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Healthcheck/Healthcheck.scss +6 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js +2 -2
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js.map +1 -1
- package/dist/containers/Tenant/TenantDrawerHealthcheck.js +10 -2
- package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.js +27 -36
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.scss +39 -7
- package/dist/containers/VDiskPage/VDiskStorageDetails.js +27 -29
- package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskStorageDetails.scss +24 -93
- package/dist/containers/VDiskPage/i18n/en.json +2 -12
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
- package/dist/store/reducers/capabilities/hooks.js +3 -0
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/parseFields.js +1 -0
- package/dist/store/reducers/cluster/parseFields.js.map +1 -1
- package/dist/store/reducers/clusters/clusters.js +1 -0
- package/dist/store/reducers/clusters/clusters.js.map +1 -1
- package/dist/store/reducers/clusters/selectors.d.ts +1 -0
- package/dist/store/reducers/clusters/selectors.js +4 -1
- package/dist/store/reducers/clusters/selectors.js.map +1 -1
- package/dist/store/reducers/clusters/types.d.ts +2 -0
- package/dist/store/reducers/nodes/types.d.ts +1 -0
- package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +1 -1
- package/dist/store/reducers/storage/prepareGroupsDisks.js +2 -1
- package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
- package/dist/store/reducers/storage/types.d.ts +1 -0
- package/dist/store/reducers/storage/utils.js +10 -3
- package/dist/store/reducers/storage/utils.js.map +1 -1
- package/dist/store/reducers/vdisk/types.d.ts +1 -1
- package/dist/store/reducers/vdisk/utils.js +5 -5
- package/dist/store/reducers/vdisk/utils.js.map +1 -1
- package/dist/types/api/capabilities.d.ts +1 -1
- package/dist/types/api/meta.d.ts +1 -0
- package/dist/types/api/nodes.d.ts +2 -0
- package/dist/types/api/nodesList.d.ts +2 -0
- package/dist/utils/hooks/useDatabaseHealthcheckAvailable.d.ts +2 -0
- package/dist/utils/hooks/useDatabaseHealthcheckAvailable.js +6 -0
- package/dist/utils/hooks/useDatabaseHealthcheckAvailable.js.map +1 -0
- package/dist/utils/hooks/useHideUnavailableNodes.d.ts +5 -0
- package/dist/utils/hooks/useHideUnavailableNodes.js +21 -0
- package/dist/utils/hooks/useHideUnavailableNodes.js.map +1 -0
- package/dist/utils/memory.d.ts +5 -0
- package/dist/utils/memory.js +9 -0
- package/dist/utils/memory.js.map +1 -0
- package/dist/utils/nodes.js +3 -3
- package/dist/utils/nodes.js.map +1 -1
- package/dist/utils/storageMetrics.d.ts +1 -0
- package/dist/utils/storageMetrics.js +8 -0
- package/dist/utils/storageMetrics.js.map +1 -1
- package/package.json +1 -1
- package/src/components/AutoRefreshControl/StickyAutoRefreshControl.scss +18 -0
- package/src/components/AutoRefreshControl/StickyAutoRefreshControl.tsx +15 -0
- package/src/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.tsx +22 -3
- package/src/components/CopyableValue/CopyableValue.scss +16 -0
- package/src/components/CopyableValue/CopyableValue.tsx +40 -0
- package/src/components/CopyableValue/i18n/en.json +3 -0
- package/src/components/CopyableValue/i18n/index.ts +8 -0
- package/src/components/CriticalActionDialog/CriticalActionDialog.tsx +3 -0
- package/src/components/DiskCapacityInfo/DiskCapacityInfo.tsx +40 -185
- package/src/components/DiskCapacityInfo/i18n/en.json +0 -1
- package/src/components/EntityStatus/EntityStatus.scss +5 -0
- package/src/components/EntityStatus/EntityStatus.tsx +38 -5
- package/src/components/EvictVDiskButton/EvictVDiskButton.tsx +10 -2
- package/src/components/EvictVDiskButton/i18n/en.json +2 -2
- package/src/components/FullNodeViewer/FullNodeViewer.tsx +4 -9
- package/src/components/HideUnavailableNodesSwitch/HideUnavailableNodesSwitch.tsx +24 -0
- package/src/components/HideUnavailableNodesSwitch/i18n/en.json +3 -0
- package/src/components/HideUnavailableNodesSwitch/i18n/index.ts +7 -0
- package/src/components/HideUnavailableNodesSwitch/i18n/ru.json +3 -0
- package/src/components/HoverPopup/HoverPopup.tsx +95 -19
- package/src/components/MemoryViewer/MemoryViewer.tsx +30 -17
- package/src/components/MemoryViewer/i18n/en.json +4 -3
- package/src/components/MemoryViewer/utils.ts +19 -12
- package/src/components/PDiskInfo/PDiskInfo.scss +15 -0
- package/src/components/PDiskInfo/PDiskInfo.tsx +51 -243
- package/src/components/PDiskInfo/PDiskLogSize.tsx +12 -8
- package/src/components/PDiskInfo/i18n/en.json +6 -3
- package/src/components/PDiskInfo/statuses.ts +16 -3
- package/src/components/PageMeta/PageMeta.tsx +0 -18
- package/src/components/Search/Search.tsx +5 -2
- package/src/components/StorageGroupInfo/StorageGroupInfo.tsx +8 -13
- package/src/components/VDisk/VDisk.tsx +3 -2
- package/src/components/VDiskInfo/VDiskInfo.scss +19 -3
- package/src/components/VDiskInfo/VDiskInfo.tsx +119 -341
- package/src/components/VDiskInfo/getVDiskDetails.tsx +24 -2
- package/src/components/VDiskInfo/i18n/en.json +4 -13
- package/src/components/VDiskPopup/VDiskPopup.tsx +16 -24
- package/src/components/VDiskPopup/i18n/en.json +0 -2
- package/src/components/VDiskStatus/VDiskReplicationStatus.tsx +1 -1
- package/src/components/VDiskStatus/VDiskStatus.scss +4 -0
- package/src/components/VDiskStatus/VDiskStatus.tsx +13 -2
- package/src/components/VDiskStatus/statuses.ts +2 -2
- package/src/components/nodesColumns/columns.tsx +26 -12
- package/src/containers/Clusters/Clusters.scss +24 -6
- package/src/containers/Clusters/Clusters.tsx +74 -5
- package/src/containers/Clusters/columns.tsx +36 -6
- package/src/containers/Clusters/i18n/en.json +6 -0
- package/src/containers/Header/Header.tsx +8 -0
- package/src/containers/Header/HeaderLeftControls.tsx +3 -1
- package/src/containers/Header/PDiskLeftControls.tsx +41 -0
- package/src/containers/Header/VDiskLeftControls.tsx +40 -0
- package/src/containers/Header/breadcrumbs.tsx +4 -2
- package/src/containers/Header/i18n/en.json +4 -1
- package/src/containers/Node/Node.scss +14 -2
- package/src/containers/Node/Node.tsx +6 -6
- package/src/containers/Nodes/NodesControls/NodesControls.tsx +3 -0
- package/src/containers/Nodes/NodesTable.tsx +4 -0
- package/src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx +8 -3
- package/src/containers/Nodes/PaginatedNodes/NodesComponent.tsx +12 -2
- package/src/containers/Nodes/getNodes.ts +2 -0
- package/src/containers/Nodes/useDebouncedSearch.ts +13 -0
- package/src/containers/PDiskPage/PDiskPage.scss +29 -11
- package/src/containers/PDiskPage/PDiskPage.tsx +69 -63
- package/src/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.tsx +3 -9
- package/src/containers/PDiskPage/PDiskStorageDetails.scss +51 -0
- package/src/containers/PDiskPage/PDiskStorageDetails.tsx +64 -0
- package/src/containers/PDiskPage/i18n/en.json +1 -0
- package/src/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.tsx +3 -0
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.tsx +8 -1
- package/src/containers/Storage/PaginatedStorageNodes/StorageNodesControls.tsx +2 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.tsx +4 -0
- package/src/containers/Storage/PaginatedStorageNodesTable/getNodes.ts +2 -0
- package/src/containers/Storage/Storage.scss +4 -0
- package/src/containers/StorageGroupPage/StorageGroupPage.scss +19 -4
- package/src/containers/StorageGroupPage/StorageGroupPage.tsx +25 -45
- package/src/containers/StorageGroupPage/i18n/en.json +0 -2
- package/src/containers/Tablet/Tablet.scss +15 -1
- package/src/containers/Tablet/Tablet.tsx +21 -15
- package/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx +5 -32
- package/src/containers/Tenant/Healthcheck/Healthcheck.scss +6 -1
- package/src/containers/Tenant/Healthcheck/components/HealthcheckIssue.tsx +18 -8
- package/src/containers/Tenant/TenantDrawerHealthcheck.tsx +14 -1
- package/src/containers/VDiskPage/VDiskPage.scss +39 -7
- package/src/containers/VDiskPage/VDiskPage.tsx +84 -72
- package/src/containers/VDiskPage/VDiskStorageDetails.scss +24 -93
- package/src/containers/VDiskPage/VDiskStorageDetails.tsx +50 -158
- package/src/containers/VDiskPage/i18n/en.json +2 -14
- package/src/store/reducers/capabilities/hooks.ts +4 -0
- package/src/store/reducers/cluster/parseFields.ts +1 -0
- package/src/store/reducers/clusters/clusters.ts +1 -0
- package/src/store/reducers/clusters/selectors.ts +4 -0
- package/src/store/reducers/clusters/types.ts +3 -0
- package/src/store/reducers/nodes/types.ts +1 -0
- package/src/store/reducers/storage/prepareGroupsDisks.ts +2 -0
- package/src/store/reducers/storage/types.ts +1 -0
- package/src/store/reducers/storage/utils.ts +13 -3
- package/src/store/reducers/vdisk/types.ts +2 -1
- package/src/store/reducers/vdisk/utils.ts +4 -5
- package/src/types/api/capabilities.ts +1 -0
- package/src/types/api/meta.ts +1 -0
- package/src/types/api/nodes.ts +2 -0
- package/src/types/api/nodesList.ts +3 -0
- package/src/utils/hooks/useDatabaseHealthcheckAvailable.ts +9 -0
- package/src/utils/hooks/useHideUnavailableNodes.ts +33 -0
- package/src/utils/memory.ts +16 -0
- package/src/utils/nodes.ts +3 -2
- package/src/utils/storageMetrics.ts +11 -0
- package/dist/components/VDiskInfo/getVDiskCapacityColumns.d.ts +0 -11
- package/dist/components/VDiskInfo/getVDiskCapacityColumns.js +0 -52
- package/dist/components/VDiskInfo/getVDiskCapacityColumns.js.map +0 -1
- package/src/components/VDiskInfo/getVDiskCapacityColumns.tsx +0 -83
|
@@ -8,6 +8,7 @@ import { NODES_COLUMNS_TITLES } from '../../../components/nodesColumns/constants
|
|
|
8
8
|
import { useClusterWithProxy } from '../../../store/reducers/cluster/cluster';
|
|
9
9
|
import { nodesApi } from '../../../store/reducers/nodes/nodes';
|
|
10
10
|
import { useAutoRefreshInterval } from '../../../utils/hooks';
|
|
11
|
+
import { useHideUnavailableNodes } from '../../../utils/hooks/useHideUnavailableNodes';
|
|
11
12
|
import { useSelectedColumns } from '../../../utils/hooks/useSelectedColumns';
|
|
12
13
|
import { NodesUptimeFilterValues } from '../../../utils/nodes';
|
|
13
14
|
import { TableGroup } from '../../Storage/TableGroup/TableGroup';
|
|
@@ -16,6 +17,7 @@ import { NodesControls } from '../NodesControls/NodesControls';
|
|
|
16
17
|
import { NodesTable } from '../NodesTable';
|
|
17
18
|
import i18n from '../i18n';
|
|
18
19
|
import { b } from '../shared';
|
|
20
|
+
import { useDebouncedSearch } from '../useDebouncedSearch';
|
|
19
21
|
import { useNodesPageQueryParams } from '../useNodesPageQueryParams';
|
|
20
22
|
const NodeGroup = React.memo(function NodeGroup({ name, count, isExpanded, path, database, databaseFullPath, searchValue, peerRoleFilter, groupByParam, columns, scrollContainerRef, onIsExpandedChange, onDataFetched, }) {
|
|
21
23
|
return (_jsx(TableGroup, { title: name, count: count, entityName: i18n('nodes'), expanded: isExpanded, onIsExpandedChange: onIsExpandedChange, children: _jsx(PaginatedTableWithLayout, { inheritKeyboardNavigation: true, initialState: { sortParams: undefined }, table: _jsx(NodesTable, { path: path, databaseFullPath: databaseFullPath, database: database, searchValue: searchValue, withProblems: false, uptimeFilter: NodesUptimeFilterValues.All, peerRoleFilter: peerRoleFilter, filterGroup: name, filterGroupBy: groupByParam, initialEntitiesCount: count, columns: columns, scrollContainerRef: scrollContainerRef, onDataFetched: onDataFetched }), tableWrapperProps: {
|
|
@@ -24,8 +26,10 @@ const NodeGroup = React.memo(function NodeGroup({ name, count, isExpanded, path,
|
|
|
24
26
|
});
|
|
25
27
|
export function GroupedNodesComponent({ path, databaseFullPath, database, scrollContainerRef, withPeerRoleFilter, columns, defaultColumnsIds, requiredColumnsIds, selectedColumnsKey, groupByParams, onDataFetched, }) {
|
|
26
28
|
const { searchValue, peerRoleFilter, groupByParam } = useNodesPageQueryParams(groupByParams, withPeerRoleFilter);
|
|
29
|
+
const searchFilter = useDebouncedSearch(searchValue);
|
|
27
30
|
const useMetaProxy = useClusterWithProxy();
|
|
28
31
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
|
32
|
+
const { hideUnavailable } = useHideUnavailableNodes();
|
|
29
33
|
const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(columns, selectedColumnsKey, NODES_COLUMNS_TITLES, defaultColumnsIds, requiredColumnsIds);
|
|
30
34
|
const schemaPathParam = React.useMemo(() => {
|
|
31
35
|
if (!isNil(path) && !isNil(databaseFullPath)) {
|
|
@@ -36,7 +40,8 @@ export function GroupedNodesComponent({ path, databaseFullPath, database, scroll
|
|
|
36
40
|
const { currentData, isFetching, error } = nodesApi.useGetNodesQuery({
|
|
37
41
|
path: schemaPathParam,
|
|
38
42
|
database,
|
|
39
|
-
|
|
43
|
+
alive: hideUnavailable || undefined,
|
|
44
|
+
filter: searchFilter.trim(),
|
|
40
45
|
filter_peer_role: peerRoleFilter,
|
|
41
46
|
group: groupByParam,
|
|
42
47
|
limit: 0,
|
|
@@ -57,14 +62,14 @@ export function GroupedNodesComponent({ path, databaseFullPath, database, scroll
|
|
|
57
62
|
if (tableGroups === null || tableGroups === void 0 ? void 0 : tableGroups.length) {
|
|
58
63
|
return tableGroups.map(({ name, count }) => {
|
|
59
64
|
const isExpanded = expandedGroups[name];
|
|
60
|
-
return (_jsx(NodeGroup, { name: name, count: count, isExpanded: isExpanded, path: path, databaseFullPath: databaseFullPath, database: database, searchValue:
|
|
65
|
+
return (_jsx(NodeGroup, { name: name, count: count, isExpanded: isExpanded, path: path, databaseFullPath: databaseFullPath, database: database, searchValue: searchFilter, peerRoleFilter: peerRoleFilter, groupByParam: groupByParam, columns: columnsToShow, scrollContainerRef: scrollContainerRef, onIsExpandedChange: setIsGroupExpanded, onDataFetched: onDataFetched }, name));
|
|
61
66
|
});
|
|
62
67
|
}
|
|
63
68
|
return i18n('no-nodes-groups');
|
|
64
69
|
};
|
|
65
70
|
return (_jsx(PaginatedTableWithLayout, { initialState: initialState, controls: _jsx(NodesControls, { groupByParams: groupByParams, withPeerRoleFilter: withPeerRoleFilter, entitiesCountCurrent: found, entitiesCountTotal: total, entitiesLoading: isLoading, withGroupBySelect: true }), extraControls: _jsx(TableColumnSetup, { popupWidth: 200, items: columnsToSelect, showStatus: true, onUpdate: setColumns }), error: error ? _jsx(ResponseError, { error: error }) : null, table: renderGroups(), tableWrapperProps: {
|
|
66
71
|
scrollContainerRef,
|
|
67
|
-
scrollDependencies: [
|
|
72
|
+
scrollDependencies: [searchFilter, groupByParam, tableGroups, peerRoleFilter],
|
|
68
73
|
loading: isLoading,
|
|
69
74
|
className: b('groups-wrapper'),
|
|
70
75
|
} }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupedNodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAE7B,OAAO,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAGhF,OAAO,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAC,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AAG7D,OAAO,EAAC,sBAAsB,EAAC,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAC,MAAM,iDAAiD,CAAC;AAClF,OAAO,EAAC,aAAa,EAAC,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,CAAC,EAAC,MAAM,WAAW,CAAC;AAC5B,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAkBnE,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,EAC5C,IAAI,EACJ,KAAK,EACL,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,YAAY,EACZ,OAAO,EACP,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GACA;IACb,OAAO,CACH,KAAC,UAAU,IAEP,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,EACzB,QAAQ,EAAE,UAAU,EACpB,kBAAkB,EAAE,kBAAkB,YAEtC,KAAC,wBAAwB,IACrB,yBAAyB,QACzB,YAAY,EAAE,EAAC,UAAU,EAAE,SAAS,EAAC,EACrC,KAAK,EACD,KAAC,UAAU,IACP,IAAI,EAAE,IAAI,EACV,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,KAAK,EACnB,YAAY,EAAE,uBAAuB,CAAC,GAAG,EACzC,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,IAAI,EACjB,aAAa,EAAE,YAAY,EAC3B,oBAAoB,EAAE,KAAK,EAC3B,OAAO,EAAE,OAAO,EAChB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,GAC9B,EAEN,iBAAiB,EAAE;gBACf,kBAAkB,EAAE,kBAAkB;aACzC,GACH,IA9BG,IAAI,CA+BA,CAChB,CAAC;AACN,CAAC,CAAC,CAAC;AAgBH,MAAM,UAAU,qBAAqB,CAAC,EAClC,IAAI,EACJ,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,GACY;IACzB,MAAM,EAAC,WAAW,EAAE,cAAc,EAAE,YAAY,EAAC,GAAG,uBAAuB,CACvE,aAAa,EACb,kBAAkB,CACrB,CAAC;IACF,MAAM,YAAY,GAAG,mBAAmB,EAAE,CAAC;IAC3C,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupedNodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,17 +3,27 @@ import { PaginatedTableWithLayout } from '../../../components/PaginatedTable/Pag
|
|
|
3
3
|
import { TableColumnSetup } from '../../../components/TableColumnSetup/TableColumnSetup';
|
|
4
4
|
import { NODES_COLUMNS_TITLES } from '../../../components/nodesColumns/constants';
|
|
5
5
|
import { useViewerNodesHandlerHasGrouping } from '../../../store/reducers/capabilities/hooks';
|
|
6
|
+
import { useHideUnavailableNodes } from '../../../utils/hooks/useHideUnavailableNodes';
|
|
6
7
|
import { useSelectedColumns } from '../../../utils/hooks/useSelectedColumns';
|
|
7
8
|
import { NodesTable } from '../NodesTable';
|
|
9
|
+
import { useDebouncedSearch } from '../useDebouncedSearch';
|
|
8
10
|
import { useNodesPageQueryParams } from '../useNodesPageQueryParams';
|
|
9
11
|
import { NodesControlsWithTableState } from './NodesControlsWithTableState';
|
|
10
12
|
export function NodesComponent({ path, database, databaseFullPath, scrollContainerRef, withPeerRoleFilter, columns, defaultColumnsIds, requiredColumnsIds, selectedColumnsKey, groupByParams, onDataFetched, }) {
|
|
11
13
|
const { searchValue, uptimeFilter, peerRoleFilter, withProblems } = useNodesPageQueryParams(groupByParams, withPeerRoleFilter);
|
|
14
|
+
const searchFilter = useDebouncedSearch(searchValue);
|
|
12
15
|
const viewerNodesHandlerHasGrouping = useViewerNodesHandlerHasGrouping();
|
|
16
|
+
const { hideUnavailable } = useHideUnavailableNodes();
|
|
13
17
|
const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(columns, selectedColumnsKey, NODES_COLUMNS_TITLES, defaultColumnsIds, requiredColumnsIds);
|
|
14
|
-
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(NodesControlsWithTableState, { withGroupBySelect: viewerNodesHandlerHasGrouping, groupByParams: groupByParams, withPeerRoleFilter: withPeerRoleFilter }), extraControls: _jsx(TableColumnSetup, { popupWidth: 200, items: columnsToSelect, showStatus: true, onUpdate: setColumns }), table: _jsx(NodesTable, { path: path, database: database, databaseFullPath: databaseFullPath, searchValue:
|
|
18
|
+
return (_jsx(PaginatedTableWithLayout, { controls: _jsx(NodesControlsWithTableState, { withGroupBySelect: viewerNodesHandlerHasGrouping, groupByParams: groupByParams, withPeerRoleFilter: withPeerRoleFilter }), extraControls: _jsx(TableColumnSetup, { popupWidth: 200, items: columnsToSelect, showStatus: true, onUpdate: setColumns }), table: _jsx(NodesTable, { path: path, database: database, databaseFullPath: databaseFullPath, searchValue: searchFilter, withProblems: withProblems, uptimeFilter: uptimeFilter, peerRoleFilter: peerRoleFilter, columns: columnsToShow, scrollContainerRef: scrollContainerRef, onDataFetched: onDataFetched }), tableWrapperProps: {
|
|
15
19
|
scrollContainerRef,
|
|
16
|
-
scrollDependencies: [
|
|
20
|
+
scrollDependencies: [
|
|
21
|
+
searchFilter,
|
|
22
|
+
withProblems,
|
|
23
|
+
uptimeFilter,
|
|
24
|
+
peerRoleFilter,
|
|
25
|
+
hideUnavailable,
|
|
26
|
+
],
|
|
17
27
|
} }));
|
|
18
28
|
}
|
|
19
29
|
//# sourceMappingURL=NodesComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/NodesComponent.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAGhF,OAAO,EAAC,gCAAgC,EAAC,MAAM,4CAA4C,CAAC;AAG5F,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAgB1E,MAAM,UAAU,cAAc,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,GACK;IAClB,MAAM,EAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAC,GAAG,uBAAuB,CACrF,aAAa,EACb,kBAAkB,CACrB,CAAC;IACF,MAAM,6BAA6B,GAAG,gCAAgC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"NodesComponent.js","sourceRoot":"","sources":["../../../../src/containers/Nodes/PaginatedNodes/NodesComponent.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,wBAAwB,EAAC,MAAM,6DAA6D,CAAC;AACrG,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAC,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AAGhF,OAAO,EAAC,gCAAgC,EAAC,MAAM,4CAA4C,CAAC;AAG5F,OAAO,EAAC,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EAAC,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAgB1E,MAAM,UAAU,cAAc,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,GACK;IAClB,MAAM,EAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAC,GAAG,uBAAuB,CACrF,aAAa,EACb,kBAAkB,CACrB,CAAC;IACF,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,6BAA6B,GAAG,gCAAgC,EAAE,CAAC;IACzE,MAAM,EAAC,eAAe,EAAC,GAAG,uBAAuB,EAAE,CAAC;IAEpD,MAAM,EAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAC,GAAG,kBAAkB,CACnE,OAAO,EACP,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,CACrB,CAAC;IAEF,OAAO,CACH,KAAC,wBAAwB,IACrB,QAAQ,EACJ,KAAC,2BAA2B,IACxB,iBAAiB,EAAE,6BAA6B,EAChD,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,GACxC,EAEN,aAAa,EACT,KAAC,gBAAgB,IACb,UAAU,EAAE,GAAG,EACf,KAAK,EAAE,eAAe,EACtB,UAAU,QACV,QAAQ,EAAE,UAAU,GACtB,EAEN,KAAK,EACD,KAAC,UAAU,IACP,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,YAAY,EACzB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,aAAa,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,aAAa,GAC9B,EAEN,iBAAiB,EAAE;YACf,kBAAkB;YAClB,kBAAkB,EAAE;gBAChB,YAAY;gBACZ,YAAY;gBACZ,YAAY;gBACZ,cAAc;gBACd,eAAe;aAClB;SACJ,GACH,CACL,CAAC;AACN,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { getRequiredDataFields } from '../../utils/tableUtils/getRequiredDataFie
|
|
|
7
7
|
export const getNodes = async (params) => {
|
|
8
8
|
const { type = 'any', storage, limit, offset, sortParams, filters, columnsIds } = params;
|
|
9
9
|
const { sortOrder, columnId } = sortParams !== null && sortParams !== void 0 ? sortParams : {};
|
|
10
|
-
const { path, databaseFullPath, useMetaProxy, database, searchValue, withProblems, uptimeFilter, peerRoleFilter, filterGroup, filterGroupBy, } = filters !== null && filters !== void 0 ? filters : {};
|
|
10
|
+
const { path, databaseFullPath, useMetaProxy, database, searchValue, hideUnavailable, withProblems, uptimeFilter, peerRoleFilter, filterGroup, filterGroupBy, } = filters !== null && filters !== void 0 ? filters : {};
|
|
11
11
|
const sortField = getNodesColumnSortField(columnId);
|
|
12
12
|
const sort = sortField ? prepareSortValue(sortField, sortOrder) : undefined;
|
|
13
13
|
const dataFieldsRequired = getRequiredDataFields(columnsIds, NODES_COLUMNS_TO_DATA_FIELDS);
|
|
@@ -23,6 +23,7 @@ export const getNodes = async (params) => {
|
|
|
23
23
|
path: schemePathParam,
|
|
24
24
|
database,
|
|
25
25
|
filter: searchValue === null || searchValue === void 0 ? void 0 : searchValue.trim(),
|
|
26
|
+
alive: hideUnavailable || undefined,
|
|
26
27
|
problems_only: withProblems,
|
|
27
28
|
uptime: getUptimeParamValue(uptimeFilter),
|
|
28
29
|
filter_peer_role: peerRoleFilter,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getNodes.js","sourceRoot":"","sources":["../../../src/containers/Nodes/getNodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAG7B,OAAO,EACH,4BAA4B,EAC5B,uBAAuB,GAC1B,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAC;AAEnF,MAAM,CAAC,MAAM,QAAQ,GAIjB,KAAK,EAAE,MAAM,EAAE,EAAE;IACjB,MAAM,EAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAC,GAAG,MAAM,CAAC;IAEvF,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IAC/C,MAAM,EACF,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,GAChB,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAElB,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAE3F,MAAM,eAAe,GACjB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,EAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,IAAI;QACJ,OAAO;QACP,KAAK;QACL,MAAM;QACN,IAAI;QACJ,IAAI,EAAE,eAAe;QACrB,QAAQ;QACR,MAAM,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE;QAC3B,aAAa,EAAE,YAAY;QAC3B,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC;QACzC,gBAAgB,EAAE,cAAc;QAChC,YAAY,EAAE,WAAW;QACzB,eAAe,EAAE,aAAa;QAC9B,cAAc,EAAE,kBAAkB;KACrC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAE/D,OAAO;QACH,IAAI,EAAE,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;KACrC,CAAC;AACN,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"getNodes.js","sourceRoot":"","sources":["../../../src/containers/Nodes/getNodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAG7B,OAAO,EACH,4BAA4B,EAC5B,uBAAuB,GAC1B,MAAM,yCAAyC,CAAC;AAGjD,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAC,qBAAqB,EAAC,MAAM,8CAA8C,CAAC;AAEnF,MAAM,CAAC,MAAM,QAAQ,GAIjB,KAAK,EAAE,MAAM,EAAE,EAAE;IACjB,MAAM,EAAC,IAAI,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAC,GAAG,MAAM,CAAC;IAEvF,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IAC/C,MAAM,EACF,IAAI,EACJ,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,aAAa,GAChB,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAElB,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAE3F,MAAM,eAAe,GACjB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;QACpC,CAAC,CAAC,EAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IAEpB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC9C,IAAI;QACJ,OAAO;QACP,KAAK;QACL,MAAM;QACN,IAAI;QACJ,IAAI,EAAE,eAAe;QACrB,QAAQ;QACR,MAAM,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE;QAC3B,KAAK,EAAE,eAAe,IAAI,SAAS;QACnC,aAAa,EAAE,YAAY;QAC3B,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC;QACzC,gBAAgB,EAAE,cAAc;QAChC,YAAY,EAAE,WAAW;QACzB,eAAe,EAAE,aAAa;QAC9B,cAAc,EAAE,kBAAkB;KACrC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAE/D,OAAO;QACH,IAAI,EAAE,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;KACrC,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/** Debounce the table filter, never the input or its URL value. */
|
|
3
|
+
export function useDebouncedSearch(searchValue) {
|
|
4
|
+
const [debouncedSearch, setDebouncedSearch] = React.useState(searchValue);
|
|
5
|
+
React.useEffect(() => {
|
|
6
|
+
const timer = window.setTimeout(() => setDebouncedSearch(searchValue), 200);
|
|
7
|
+
return () => window.clearTimeout(timer);
|
|
8
|
+
}, [searchValue]);
|
|
9
|
+
return debouncedSearch;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=useDebouncedSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebouncedSearch.js","sourceRoot":"","sources":["../../../src/containers/Nodes/useDebouncedSearch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,mEAAmE;AACnE,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IAClD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5E,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,eAAe,CAAC;AAC3B,CAAC"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { ArrowRotateLeft } from '@gravity-ui/icons';
|
|
4
|
-
import { Icon, Tab, TabList, TabProvider } from '@gravity-ui/uikit';
|
|
3
|
+
import { ArrowRotateLeft, Wrench } from '@gravity-ui/icons';
|
|
4
|
+
import { Flex, Icon, Tab, TabList, TabProvider, Text } from '@gravity-ui/uikit';
|
|
5
5
|
import { skipToken } from '@reduxjs/toolkit/query';
|
|
6
6
|
import { Helmet } from 'react-helmet-async';
|
|
7
7
|
import { StringParam, useQueryParams } from 'use-query-params';
|
|
8
8
|
import { z } from 'zod';
|
|
9
|
+
import { StickyAutoRefreshControl } from '../../components/AutoRefreshControl/StickyAutoRefreshControl';
|
|
9
10
|
import { ButtonWithConfirmDialog } from '../../components/ButtonWithConfirmDialog/ButtonWithConfirmDialog';
|
|
10
|
-
import {
|
|
11
|
+
import { CopyableValue } from '../../components/CopyableValue/CopyableValue';
|
|
12
|
+
import { DiskStatusLabel, DiskTypeLabel } from '../../components/DiskStatus/DiskStatus';
|
|
11
13
|
import { ResponseError } from '../../components/Errors/ResponseError';
|
|
12
14
|
import { InfoViewerSkeleton } from '../../components/InfoViewerSkeleton/InfoViewerSkeleton';
|
|
13
15
|
import { InternalLink } from '../../components/InternalLink/InternalLink';
|
|
16
|
+
import { LinkWithIcon } from '../../components/LinkWithIcon/LinkWithIcon';
|
|
14
17
|
import { PDiskInfo } from '../../components/PDiskInfo/PDiskInfo';
|
|
15
|
-
import {
|
|
18
|
+
import { getPDiskDecommitLabel, getPDiskDriveLabel, getPDiskMaintenanceLabel, getPDiskStateLabel, } from '../../components/PDiskInfo/statuses';
|
|
16
19
|
import { getPDiskPagePath } from '../../routes';
|
|
17
20
|
import { api } from '../../store/reducers/api';
|
|
18
21
|
import { useDiskPagesAvailable } from '../../store/reducers/capabilities/hooks';
|
|
@@ -20,14 +23,15 @@ import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
|
|
|
20
23
|
import { pDiskApi } from '../../store/reducers/pdisk/pdisk';
|
|
21
24
|
import { valueIsDefined } from '../../utils';
|
|
22
25
|
import { cn } from '../../utils/cn';
|
|
23
|
-
import {
|
|
26
|
+
import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
|
|
27
|
+
import { createPDiskDeveloperUILink, useHasDeveloperUi } from '../../utils/developerUI/developerUI';
|
|
28
|
+
import { getPDiskId } from '../../utils/disks/helpers';
|
|
24
29
|
import { useAutoRefreshInterval, useTypedDispatch } from '../../utils/hooks';
|
|
25
30
|
import { useIsUserAllowedToMakeChanges } from '../../utils/hooks/useIsUserAllowedToMakeChanges';
|
|
26
31
|
import { useAppTitle } from '../App/AppTitleContext';
|
|
27
32
|
import { PaginatedStorage } from '../Storage/PaginatedStorage';
|
|
28
|
-
import { DecommissionButton } from './DecommissionButton/DecommissionButton';
|
|
29
|
-
import { DecommissionLabel } from './DecommissionLabel/DecommissionLabel';
|
|
30
33
|
import { PDiskSpaceDistribution } from './PDiskSpaceDistribution/PDiskSpaceDistribution';
|
|
34
|
+
import { PDiskStorageDetails } from './PDiskStorageDetails';
|
|
31
35
|
import { pDiskPageKeyset } from './i18n';
|
|
32
36
|
import './PDiskPage.scss';
|
|
33
37
|
const pdiskPageCn = cn('ydb-pdisk-page');
|
|
@@ -52,6 +56,7 @@ const PDISK_PAGE_TABS = [
|
|
|
52
56
|
const pDiskTabSchema = z.nativeEnum(PDISK_TABS_IDS).catch(PDISK_TABS_IDS.spaceDistribution);
|
|
53
57
|
export function PDiskPage() {
|
|
54
58
|
const dispatch = useTypedDispatch();
|
|
59
|
+
const hasDeveloperUi = useHasDeveloperUi();
|
|
55
60
|
const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges();
|
|
56
61
|
const newDiskApiAvailable = useDiskPagesAvailable();
|
|
57
62
|
const containerRef = React.useRef(null);
|
|
@@ -72,7 +77,8 @@ export function PDiskPage() {
|
|
|
72
77
|
});
|
|
73
78
|
const pDiskLoading = pdiskDataQuery.isFetching && pdiskDataQuery.currentData === undefined;
|
|
74
79
|
const pDiskData = pdiskDataQuery.currentData;
|
|
75
|
-
const { NodeHost,
|
|
80
|
+
const { NodeHost, DecommitStatus } = pDiskData || {};
|
|
81
|
+
const diskId = getPDiskId({ nodeId, pDiskId });
|
|
76
82
|
const handleRestart = async (isRetry) => {
|
|
77
83
|
if (pDiskParamsDefined) {
|
|
78
84
|
const response = await window.api.pdisk[newDiskApiAvailable ? 'restartPDisk' : 'restartPDiskOld']({ nodeId, pDiskId, force: isRetry });
|
|
@@ -85,23 +91,6 @@ export function PDiskPage() {
|
|
|
85
91
|
}
|
|
86
92
|
}
|
|
87
93
|
};
|
|
88
|
-
const handleDecommissionChange = async (newDecommissionStatus, isRetry) => {
|
|
89
|
-
if (pDiskParamsDefined) {
|
|
90
|
-
const response = await window.api.pdisk.changePDiskStatus({
|
|
91
|
-
nodeId,
|
|
92
|
-
pDiskId,
|
|
93
|
-
force: isRetry,
|
|
94
|
-
decommissionStatus: newDecommissionStatus,
|
|
95
|
-
});
|
|
96
|
-
if ((response === null || response === void 0 ? void 0 : response.result) === false) {
|
|
97
|
-
const err = {
|
|
98
|
-
statusText: response.error,
|
|
99
|
-
retryPossible: response.forceRetryPossible,
|
|
100
|
-
};
|
|
101
|
-
throw err;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
};
|
|
105
94
|
const handleAfterAction = () => {
|
|
106
95
|
if (pDiskParamsDefined) {
|
|
107
96
|
dispatch(api.util.invalidateTags([{ type: 'PDiskData', id: getPDiskId({ nodeId, pDiskId }) }]), 'StorageData');
|
|
@@ -115,22 +104,23 @@ export function PDiskPage() {
|
|
|
115
104
|
const nodePagePart = NodeHost ? NodeHost : pDiskPageKeyset('node');
|
|
116
105
|
return (_jsx(Helmet, { titleTemplate: `%s - ${pDiskPagePart} — ${nodePagePart} — ${appTitle}`, defaultTitle: `${pDiskPagePart} — ${nodePagePart} — ${appTitle}` }));
|
|
117
106
|
};
|
|
118
|
-
const renderPageMeta = () => {
|
|
119
|
-
const hostItem = NodeHost ? `${pDiskPageKeyset('fqdn')}: ${NodeHost}` : undefined;
|
|
120
|
-
const nodeIdItem = NodeId ? `${pDiskPageKeyset('node')}: ${NodeId}` : undefined;
|
|
121
|
-
return (_jsx(PageMetaWithAutorefresh, { loading: pDiskLoading, items: [hostItem, nodeIdItem, NodeType, NodeDC], className: pdiskPageCn('meta') }));
|
|
122
|
-
};
|
|
123
107
|
const renderPageTitle = () => {
|
|
124
|
-
|
|
108
|
+
const statusLabels = [
|
|
109
|
+
{ id: 'state', label: getPDiskStateLabel(pDiskData === null || pDiskData === void 0 ? void 0 : pDiskData.State) },
|
|
110
|
+
{ id: 'drive', label: getPDiskDriveLabel(pDiskData === null || pDiskData === void 0 ? void 0 : pDiskData.DriveStatus) },
|
|
111
|
+
{ id: 'decommit', label: getPDiskDecommitLabel(DecommitStatus) },
|
|
112
|
+
{ id: 'maintenance', label: getPDiskMaintenanceLabel(pDiskData === null || pDiskData === void 0 ? void 0 : pDiskData.MaintenanceStatus) },
|
|
113
|
+
];
|
|
114
|
+
return (_jsx(Flex, { className: pdiskPageCn('title'), gap: 2, alignItems: "flex-start", qa: "pdisk-header", children: _jsxs(Flex, { className: pdiskPageCn('title-content'), gap: 3, alignItems: "center", wrap: "wrap", children: [_jsx(CopyableValue, { copyText: diskId, fieldName: pDiskPageKeyset('pdisk'), children: _jsxs(Text, { as: "h1", variant: "header-1", className: pdiskPageCn('heading'), children: [pDiskPageKeyset('pdisk'), ' ', _jsx(Text, { color: "hint", variant: "header-1", children: diskId || EMPTY_DATA_PLACEHOLDER })] }) }), _jsxs(Flex, { gap: 2, alignItems: "center", wrap: "wrap", children: [statusLabels.map(({ id, label }) => label ? _jsx(DiskStatusLabel, { ...label, iconSize: 14 }, id) : null), _jsx(DiskTypeLabel, { type: pDiskData === null || pDiskData === void 0 ? void 0 : pDiskData.Type, size: "s" })] })] }) }));
|
|
125
115
|
};
|
|
126
116
|
const renderControls = () => {
|
|
127
|
-
return (_jsxs("div", { className: pdiskPageCn('controls'), children: [_jsxs(ButtonWithConfirmDialog, { onConfirmAction: handleRestart, onConfirmActionSuccess: handleAfterAction, buttonDisabled: !pDiskParamsDefined || !isUserAllowedToMakeChanges, buttonView: "
|
|
117
|
+
return (_jsxs("div", { className: pdiskPageCn('controls'), "data-qa": "pdisk-controls", children: [_jsxs(ButtonWithConfirmDialog, { onConfirmAction: handleRestart, onConfirmActionSuccess: handleAfterAction, buttonDisabled: !pDiskParamsDefined || !isUserAllowedToMakeChanges, buttonView: "action", dialogHeader: pDiskPageKeyset('restart-pdisk-dialog-header'), dialogText: pDiskPageKeyset('restart-pdisk-dialog-text'), applyButtonText: pDiskPageKeyset('restart-pdisk-button'), applyButtonView: "action", 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')] }), hasDeveloperUi && pDiskParamsDefined && (_jsx(LinkWithIcon, { title: pDiskPageKeyset('action_open-in-developer-ui'), url: createPDiskDeveloperUILink({ nodeId, pDiskId }), icon: Wrench, hideEndIcon: true }))] }));
|
|
128
118
|
};
|
|
129
119
|
const renderInfo = () => {
|
|
130
120
|
if (pDiskLoading) {
|
|
131
121
|
return _jsx(InfoViewerSkeleton, { className: pdiskPageCn('info'), rows: 10 });
|
|
132
122
|
}
|
|
133
|
-
return _jsx(
|
|
123
|
+
return (_jsxs(React.Fragment, { children: [_jsx(PDiskStorageDetails, { data: pDiskData, className: pdiskPageCn('storage-details') }), _jsx(PDiskInfo, { pDisk: pDiskData, className: pdiskPageCn('info') })] }));
|
|
134
124
|
};
|
|
135
125
|
const renderTabs = () => {
|
|
136
126
|
return (_jsx("div", { className: pdiskPageCn('tabs'), children: _jsx(TabProvider, { value: pDiskTab, children: _jsx(TabList, { size: "l", children: PDISK_PAGE_TABS.map(({ id, title }) => {
|
|
@@ -161,6 +151,6 @@ export function PDiskPage() {
|
|
|
161
151
|
}
|
|
162
152
|
return _jsx(ResponseError, { error: pdiskDataQuery.error });
|
|
163
153
|
};
|
|
164
|
-
return (_jsxs("div", { className: pdiskPageCn(null), ref: containerRef, children: [renderHelmet(),
|
|
154
|
+
return (_jsxs("div", { className: pdiskPageCn(null), ref: containerRef, children: [renderHelmet(), _jsx(StickyAutoRefreshControl, {}), renderPageTitle(), renderControls(), renderError(), renderInfo(), renderTabs(), renderTabsContent()] }));
|
|
165
155
|
}
|
|
166
156
|
//# sourceMappingURL=PDiskPage.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"PDiskPage.js","sourceRoot":"","sources":["../../../src/containers/PDiskPage/PDiskPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
@use '../../styles//mixins.scss';
|
|
2
2
|
|
|
3
3
|
.ydb-pdisk-page {
|
|
4
|
+
--sticky-tabs-height: 40px;
|
|
5
|
+
--data-table-start: var(--sticky-tabs-height);
|
|
4
6
|
position: relative;
|
|
5
7
|
|
|
6
8
|
overflow: auto;
|
|
9
|
+
overflow-anchor: none;
|
|
7
10
|
|
|
8
11
|
height: 100%;
|
|
9
12
|
padding: 0 20px;
|
|
10
13
|
|
|
11
|
-
&__meta,
|
|
12
14
|
&__title,
|
|
15
|
+
&__storage-details,
|
|
13
16
|
&__info,
|
|
14
17
|
&__controls,
|
|
15
18
|
&__tabs {
|
|
@@ -19,8 +22,23 @@
|
|
|
19
22
|
margin-bottom: 20px;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
|
-
&
|
|
23
|
-
margin
|
|
25
|
+
&__heading {
|
|
26
|
+
margin: 0;
|
|
27
|
+
overflow-wrap: anywhere;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__title-content {
|
|
31
|
+
flex: 1;
|
|
32
|
+
|
|
33
|
+
min-width: 0;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
&__title {
|
|
37
|
+
padding-right: 125px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
&__storage-details {
|
|
41
|
+
margin-bottom: var(--g-spacing-4);
|
|
24
42
|
}
|
|
25
43
|
|
|
26
44
|
&__tabs {
|
|
@@ -31,20 +49,20 @@
|
|
|
31
49
|
padding: 20px 0;
|
|
32
50
|
}
|
|
33
51
|
|
|
34
|
-
&__title {
|
|
35
|
-
display: flex;
|
|
36
|
-
flex-direction: row;
|
|
37
|
-
align-items: center;
|
|
38
|
-
gap: var(--g-spacing-2);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
52
|
&__controls {
|
|
42
53
|
display: flex;
|
|
54
|
+
flex-wrap: wrap;
|
|
43
55
|
align-items: center;
|
|
44
|
-
gap: var(--g-spacing-
|
|
56
|
+
gap: var(--g-spacing-3);
|
|
45
57
|
}
|
|
46
58
|
|
|
47
59
|
&__tabs {
|
|
60
|
+
z-index: 3;
|
|
61
|
+
|
|
62
|
+
height: var(--sticky-tabs-height);
|
|
63
|
+
padding-right: 125px;
|
|
64
|
+
|
|
65
|
+
@include mixins.sticky-top();
|
|
48
66
|
@include mixins.tabs-wrapper-styles();
|
|
49
67
|
}
|
|
50
68
|
}
|
|
@@ -3,7 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { DiskStateProgressBar } from '../../../components/DiskStateProgressBar/DiskStateProgressBar';
|
|
4
4
|
import { HoverPopup } from '../../../components/HoverPopup/HoverPopup';
|
|
5
5
|
import { InternalLink } from '../../../components/InternalLink';
|
|
6
|
-
import {
|
|
6
|
+
import { PDiskLogSize } from '../../../components/PDiskInfo/PDiskLogSize';
|
|
7
7
|
import { VDiskPopup } from '../../../components/VDiskPopup/VDiskPopup';
|
|
8
8
|
import { YDBDefinitionList } from '../../../components/YDBDefinitionList/YDBDefinitionList';
|
|
9
9
|
import { useVDiskPagePath } from '../../../routes';
|
|
@@ -118,13 +118,13 @@ function LogInfo({ data }) {
|
|
|
118
118
|
const items = [
|
|
119
119
|
{
|
|
120
120
|
name: pDiskPageKeyset('label.log-size'),
|
|
121
|
-
content:
|
|
121
|
+
content: _jsx(PDiskLogSize, { used: LogUsedSize, total: LogTotalSize }),
|
|
122
122
|
},
|
|
123
123
|
];
|
|
124
124
|
if (valueIsDefined(SystemSize)) {
|
|
125
125
|
items.push({
|
|
126
126
|
name: pDiskPageKeyset('label.system-size'),
|
|
127
|
-
content: formatBytes({ value: SystemSize }),
|
|
127
|
+
content: formatBytes({ value: SystemSize, fixedDecimalPlaces: 2 }),
|
|
128
128
|
});
|
|
129
129
|
}
|
|
130
130
|
return _jsx(YDBDefinitionList, { title: pDiskPageKeyset('log'), items: items });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PDiskSpaceDistribution.js","sourceRoot":"","sources":["../../../../src/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,+DAA+D,CAAC;AACnG,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"PDiskSpaceDistribution.js","sourceRoot":"","sources":["../../../../src/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { DefinitionList } from '@gravity-ui/uikit';
|
|
3
|
+
import { CellWithPopover } from '../../components/CellWithPopover/CellWithPopover';
|
|
4
|
+
import { CopyableValue } from '../../components/CopyableValue/CopyableValue';
|
|
5
|
+
import { cn } from '../../utils/cn';
|
|
6
|
+
import { getDiskLocationItems } from '../../utils/disks/diskInfo/getDiskLocationItems';
|
|
7
|
+
import './PDiskStorageDetails.scss';
|
|
8
|
+
const b = cn('ydb-pdisk-storage-details');
|
|
9
|
+
const LOCATION_IDS = ['datacenter', 'rack', 'fqdn', 'pdisk-path'];
|
|
10
|
+
const FIELD_ORDER = [...LOCATION_IDS, 'node-id', 'pdisk-id'];
|
|
11
|
+
export function PDiskStorageDetails({ data = {}, className, }) {
|
|
12
|
+
const items = getDiskLocationItems(data, {
|
|
13
|
+
Host: data.NodeHost,
|
|
14
|
+
Rack: data.NodeRack,
|
|
15
|
+
DC: data.NodeDC,
|
|
16
|
+
});
|
|
17
|
+
return (_jsx("div", { className: b(null, className), "data-qa": "pdisk-location", children: FIELD_ORDER.map((id) => {
|
|
18
|
+
const item = items.find((entry) => entry.id === id);
|
|
19
|
+
if (!item) {
|
|
20
|
+
return null;
|
|
21
|
+
}
|
|
22
|
+
const copyText = item.copyText === undefined ? undefined : String(item.copyText);
|
|
23
|
+
return (_jsx(DefinitionList, { direction: "vertical", className: b('detail', { location: LOCATION_IDS.includes(id) }), qa: `pdisk-location-${id}`, children: _jsx(DefinitionList.Item, { name: item.name, children: _jsx(CopyableValue, { copyText: copyText, fieldName: item.name, children: _jsx(CellWithPopover, { content: copyText, disabled: !copyText, placement: ['top', 'bottom'], fullWidth: true, wrapperClassName: b('value-popover'), className: b('value-popover-content', {
|
|
24
|
+
'with-left-trim': id === 'pdisk-path',
|
|
25
|
+
}), children: _jsx("span", { tabIndex: copyText ? 0 : undefined, children: item.content }) }) }) }) }, id));
|
|
26
|
+
}) }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=PDiskStorageDetails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PDiskStorageDetails.js","sourceRoot":"","sources":["../../../src/containers/PDiskPage/PDiskStorageDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAC,eAAe,EAAC,MAAM,kDAAkD,CAAC;AACjF,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAE3E,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,oBAAoB,EAAC,MAAM,iDAAiD,CAAC;AAErF,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAC1C,MAAM,YAAY,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAClE,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAE7D,MAAM,UAAU,mBAAmB,CAAC,EAChC,IAAI,GAAG,EAAE,EACT,SAAS,GAIZ;IACG,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,EAAE;QACrC,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,EAAE,EAAE,IAAI,CAAC,MAAM;KAClB,CAAC,CAAC;IAEH,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,aAAU,gBAAgB,YACvD,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACpB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjF,OAAO,CACH,KAAC,cAAc,IAEX,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAC,CAAC,EAC7D,EAAE,EAAE,kBAAkB,EAAE,EAAE,YAE1B,KAAC,cAAc,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,YAChC,KAAC,aAAa,IAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,YACnD,KAAC,eAAe,IACZ,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,CAAC,QAAQ,EACnB,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAC5B,SAAS,QACT,gBAAgB,EAAE,CAAC,CAAC,eAAe,CAAC,EACpC,SAAS,EAAE,CAAC,CAAC,uBAAuB,EAAE;gCAClC,gBAAgB,EAAE,EAAE,KAAK,YAAY;6BACxC,CAAC,YAEF,eAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,YAAG,IAAI,CAAC,OAAO,GAAQ,GACjD,GACN,GACE,IApBjB,EAAE,CAqBM,CACpB,CAAC;QACN,CAAC,CAAC,GACA,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
.ydb-pdisk-storage-details {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-wrap: wrap;
|
|
4
|
+
align-items: flex-start;
|
|
5
|
+
gap: var(--g-spacing-5);
|
|
6
|
+
|
|
7
|
+
width: fit-content;
|
|
8
|
+
max-width: 100%;
|
|
9
|
+
padding: var(--g-spacing-3) var(--g-spacing-5);
|
|
10
|
+
|
|
11
|
+
border-radius: var(--g-border-radius-m);
|
|
12
|
+
background-color: var(--g-color-base-generic);
|
|
13
|
+
|
|
14
|
+
&__detail {
|
|
15
|
+
--g-definition-list-item-gap: 0px;
|
|
16
|
+
|
|
17
|
+
min-width: 0;
|
|
18
|
+
max-width: 200px;
|
|
19
|
+
|
|
20
|
+
&_location {
|
|
21
|
+
min-width: 100px;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.g-definition-list__definition {
|
|
25
|
+
min-width: 0;
|
|
26
|
+
max-width: 100%;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__value-popover {
|
|
31
|
+
flex: 0 1 auto;
|
|
32
|
+
|
|
33
|
+
min-width: 0;
|
|
34
|
+
max-width: 100%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&__value-popover-content {
|
|
38
|
+
width: auto;
|
|
39
|
+
min-width: 0;
|
|
40
|
+
max-width: 100%;
|
|
41
|
+
|
|
42
|
+
&_with-left-trim {
|
|
43
|
+
text-align: end;
|
|
44
|
+
direction: rtl;
|
|
45
|
+
|
|
46
|
+
> span {
|
|
47
|
+
unicode-bidi: plaintext;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const pDiskPageKeyset: (key: "storage" | "node" | "fqdn" | "log" | "space-distribution" | "pdisk" | "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;
|
|
1
|
+
export declare const pDiskPageKeyset: (key: "storage" | "node" | "fqdn" | "log" | "action_open-in-developer-ui" | "space-distribution" | "pdisk" | "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;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: (key: "type" | "space" | "limit" | "used" | "state" | "degraded" | "disk-usage" | "pdisks" | "pool-name" | "pile-name" | "encryption" | "erasure" | "missing-disks" | "
|
|
1
|
+
declare const _default: (key: "type" | "space" | "limit" | "used" | "state" | "usage" | "degraded" | "disk-usage" | "pdisks" | "pool-name" | "pile-name" | "encryption" | "erasure" | "missing-disks" | "group-id" | "read" | "write" | "latency" | "allocation-units" | "group-size-in-units" | "vdisks" | "vdisks-pdisks", params?: import("@gravity-ui/i18n").Params) => string;
|
|
2
2
|
export default _default;
|