ydb-embedded-ui 11.4.0 → 11.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/EntityStatus/EntityStatus.js +2 -1
- package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
- package/dist/components/EntityStatus/EntityStatus.scss +0 -4
- package/dist/components/ErrorBoundary/utils.js +1 -1
- package/dist/components/ErrorBoundary/utils.js.map +1 -1
- package/dist/components/FixedHeightQuery/FixedHeightQuery.d.ts +3 -1
- package/dist/components/FixedHeightQuery/FixedHeightQuery.js +5 -3
- package/dist/components/FixedHeightQuery/FixedHeightQuery.js.map +1 -1
- package/dist/components/FixedHeightQuery/FixedHeightQuery.scss +5 -1
- package/dist/components/HoverPopup/HoverPopup.d.ts +0 -1
- package/dist/components/HoverPopup/HoverPopup.js +2 -4
- package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
- package/dist/components/InfoViewer/InfoViewer.d.ts +2 -1
- package/dist/components/InfoViewer/InfoViewer.js +2 -2
- package/dist/components/InfoViewer/InfoViewer.js.map +1 -1
- package/dist/components/InfoViewer/InfoViewer.scss +20 -0
- package/dist/components/MemoryViewer/MemoryViewer.d.ts +1 -1
- package/dist/components/MemoryViewer/MemoryViewer.js +3 -3
- package/dist/components/MemoryViewer/MemoryViewer.js.map +1 -1
- package/dist/components/MemoryViewer/MemoryViewer.scss +5 -13
- package/dist/components/MemoryViewer/i18n/en.json +2 -1
- package/dist/components/MemoryViewer/i18n/index.d.ts +1 -1
- package/dist/components/MemoryViewer/utils.d.ts +3 -3
- package/dist/components/MemoryViewer/utils.js +12 -1
- package/dist/components/MemoryViewer/utils.js.map +1 -1
- package/dist/components/NodeId/NodeId.d.ts +5 -0
- package/dist/components/NodeId/NodeId.js +9 -0
- package/dist/components/NodeId/NodeId.js.map +1 -0
- package/dist/components/PDiskPopup/PDiskPopup.js +3 -1
- package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
- package/dist/components/PaginatedTable/PaginatedTable.scss +6 -0
- package/dist/components/ProgressViewer/ProgressViewer.d.ts +1 -1
- package/dist/components/ProgressViewer/ProgressViewer.js +2 -9
- package/dist/components/ProgressViewer/ProgressViewer.js.map +1 -1
- package/dist/components/ProgressWrapper/ProgressContainer.d.ts +2 -0
- package/dist/components/ProgressWrapper/ProgressContainer.js +8 -0
- package/dist/components/ProgressWrapper/ProgressContainer.js.map +1 -0
- package/dist/components/ProgressWrapper/ProgressWrapper.d.ts +2 -0
- package/dist/components/ProgressWrapper/ProgressWrapper.js +10 -0
- package/dist/components/ProgressWrapper/ProgressWrapper.js.map +1 -0
- package/dist/components/ProgressWrapper/SingleProgress.d.ts +2 -0
- package/dist/components/ProgressWrapper/SingleProgress.js +24 -0
- package/dist/components/ProgressWrapper/SingleProgress.js.map +1 -0
- package/dist/components/ProgressWrapper/StackProgress.d.ts +2 -0
- package/dist/components/ProgressWrapper/StackProgress.js +39 -0
- package/dist/components/ProgressWrapper/StackProgress.js.map +1 -0
- package/dist/components/ProgressWrapper/i18n/en.json +4 -0
- package/dist/components/ProgressWrapper/i18n/index.d.ts +2 -0
- package/dist/components/ProgressWrapper/i18n/index.js +8 -0
- package/dist/components/ProgressWrapper/i18n/index.js.map +1 -0
- package/dist/components/ProgressWrapper/index.d.ts +6 -0
- package/dist/components/ProgressWrapper/index.js +9 -0
- package/dist/components/ProgressWrapper/index.js.map +1 -0
- package/dist/components/ProgressWrapper/progressUtils.d.ts +13 -0
- package/dist/components/ProgressWrapper/progressUtils.js +35 -0
- package/dist/components/ProgressWrapper/progressUtils.js.map +1 -0
- package/dist/components/ProgressWrapper/types.d.ts +29 -0
- package/dist/components/ProgressWrapper/types.js +2 -0
- package/dist/components/ProgressWrapper/types.js.map +1 -0
- package/dist/components/QueriesActivityBar/QueriesActivityAlert.d.ts +8 -0
- package/dist/components/QueriesActivityBar/QueriesActivityAlert.js +26 -0
- package/dist/components/QueriesActivityBar/QueriesActivityAlert.js.map +1 -0
- package/dist/components/QueriesActivityBar/QueriesActivityAlert.scss +25 -0
- package/dist/components/QueriesActivityBar/QueriesActivityBar.js +16 -96
- package/dist/components/QueriesActivityBar/QueriesActivityBar.js.map +1 -1
- package/dist/components/QueriesActivityBar/QueriesActivityBar.scss +2 -48
- package/dist/components/QueriesActivityBar/QueriesActivityCharts.js +10 -7
- package/dist/components/QueriesActivityBar/QueriesActivityCharts.js.map +1 -1
- package/dist/components/QueriesActivityBar/QueriesActivityExpandable.d.ts +21 -0
- package/dist/components/QueriesActivityBar/QueriesActivityExpandable.js +34 -0
- package/dist/components/QueriesActivityBar/QueriesActivityExpandable.js.map +1 -0
- package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.d.ts +2 -0
- package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.js +9 -0
- package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.js.map +1 -0
- package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.scss +6 -0
- package/dist/components/QueriesActivityBar/useQueriesActivityData.d.ts +11 -0
- package/dist/components/QueriesActivityBar/useQueriesActivityData.js +71 -0
- package/dist/components/QueriesActivityBar/useQueriesActivityData.js.map +1 -0
- package/dist/components/SeeAllButton/SeeAllButton.d.ts +7 -0
- package/dist/components/SeeAllButton/SeeAllButton.js +9 -0
- package/dist/components/SeeAllButton/SeeAllButton.js.map +1 -0
- package/dist/components/SeeAllButton/i18n/en.json +3 -0
- package/dist/components/SeeAllButton/i18n/index.d.ts +2 -0
- package/dist/components/SeeAllButton/i18n/index.js +5 -0
- package/dist/components/SeeAllButton/i18n/index.js.map +1 -0
- package/dist/components/ShardsTable/columns.js +5 -6
- package/dist/components/ShardsTable/columns.js.map +1 -1
- package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js +2 -1
- package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js.map +1 -1
- package/dist/components/SpeedMultiMeter/SpeedMultiMeter.scss +0 -3
- package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.d.ts +2 -0
- package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js +4 -9
- package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js.map +1 -1
- package/dist/components/SyntaxHighlighter/themes.d.ts +6 -6
- package/dist/components/SyntaxHighlighter/themes.js +8 -0
- package/dist/components/SyntaxHighlighter/themes.js.map +1 -1
- package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +6 -0
- package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +6 -0
- package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -0
- package/dist/components/VDisk/VDisk.js +5 -1
- package/dist/components/VDisk/VDisk.js.map +1 -1
- package/dist/components/VDisk/utils.d.ts +3 -1
- package/dist/components/VDisk/utils.js +7 -20
- package/dist/components/VDisk/utils.js.map +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.js +52 -45
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/components/VDiskInfo/i18n/en.json +1 -0
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js +43 -31
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/components/VDiskPopup/i18n/en.json +21 -0
- package/dist/components/VDiskPopup/i18n/index.d.ts +1 -0
- package/dist/components/VDiskPopup/i18n/index.js +5 -0
- package/dist/components/VDiskPopup/i18n/index.js.map +1 -0
- package/dist/components/VersionsBar/VersionsBar.d.ts +7 -0
- package/dist/components/VersionsBar/VersionsBar.js +83 -0
- package/dist/components/VersionsBar/VersionsBar.js.map +1 -0
- package/dist/components/VersionsBar/VersionsBar.scss +36 -0
- package/dist/components/VersionsBar/i18n/en.json +8 -0
- package/dist/components/VersionsBar/i18n/index.d.ts +2 -0
- package/dist/components/VersionsBar/i18n/index.js +5 -0
- package/dist/components/VersionsBar/i18n/index.js.map +1 -0
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js +1 -1
- package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
- package/dist/components/nodesColumns/columns.js +3 -3
- package/dist/components/nodesColumns/columns.js.map +1 -1
- package/dist/components/nodesColumns/constants.d.ts +1 -0
- package/dist/components/nodesColumns/constants.js +5 -0
- package/dist/components/nodesColumns/constants.js.map +1 -1
- package/dist/containers/App/App.scss +4 -0
- package/dist/containers/App/Content.js +2 -1
- package/dist/containers/App/Content.js.map +1 -1
- package/dist/containers/AsideNavigation/AsideNavigation.scss +1 -1
- package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js +0 -8
- package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js.map +1 -1
- package/dist/containers/AsideNavigation/i18n/en.json +0 -2
- package/dist/containers/AsideNavigation/i18n/index.d.ts +1 -1
- package/dist/containers/Cluster/VersionsBar/VersionsBar.d.ts +1 -1
- package/dist/containers/Cluster/VersionsBar/VersionsBar.js.map +1 -1
- package/dist/containers/Clusters/Clusters.scss +0 -8
- package/dist/containers/Clusters/columns.js +4 -12
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +4 -1
- package/dist/containers/Header/Header.js +56 -8
- package/dist/containers/Header/Header.js.map +1 -1
- package/dist/containers/Header/breadcrumbs.d.ts +1 -0
- package/dist/containers/Header/breadcrumbs.js +27 -15
- package/dist/containers/Header/breadcrumbs.js.map +1 -1
- package/dist/containers/Header/i18n/en.json +5 -2
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +3 -1
- package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js.map +1 -1
- package/dist/containers/Node/Node.js +18 -9
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Node/NodePages.d.ts +5 -0
- package/dist/containers/Node/NodePages.js +7 -0
- package/dist/containers/Node/NodePages.js.map +1 -1
- package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.d.ts +8 -0
- package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.js +14 -0
- package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.js.map +1 -0
- package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.scss +6 -0
- package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.d.ts +8 -0
- package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.js +72 -0
- package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.js.map +1 -0
- package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.scss +10 -0
- package/dist/containers/Node/Threads/Threads.d.ts +6 -0
- package/dist/containers/Node/Threads/Threads.js +17 -0
- package/dist/containers/Node/Threads/Threads.js.map +1 -0
- package/dist/containers/Node/Threads/columns.d.ts +3 -0
- package/dist/containers/Node/Threads/columns.js +52 -0
- package/dist/containers/Node/Threads/columns.js.map +1 -0
- package/dist/containers/Node/Threads/i18n/en.json +11 -0
- package/dist/containers/Node/Threads/i18n/index.d.ts +2 -0
- package/dist/containers/{Tenant/Acl → Node/Threads}/i18n/index.js +1 -1
- package/dist/containers/Node/Threads/i18n/index.js.map +1 -0
- package/dist/containers/Node/i18n/en.json +1 -0
- package/dist/containers/Node/i18n/index.d.ts +1 -1
- package/dist/containers/Nodes/Nodes.js +9 -4
- package/dist/containers/Nodes/Nodes.js.map +1 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js +3 -1
- package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
- package/dist/containers/Nodes/useNodesPageQueryParams.js +5 -1
- package/dist/containers/Nodes/useNodesPageQueryParams.js.map +1 -1
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +6 -5
- package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +9 -4
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +1 -0
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +5 -0
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +9 -4
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
- package/dist/containers/Storage/utils/index.js +3 -1
- package/dist/containers/Storage/utils/index.js.map +1 -1
- package/dist/containers/StorageGroupPage/StorageGroupPage.js +6 -4
- package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
- package/dist/containers/Tablet/Tablet.js +3 -1
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +5 -3
- package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
- package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Tablet/components/TabletTable/TabletTable.js +2 -2
- package/dist/containers/Tablet/components/TabletTable/TabletTable.js.map +1 -1
- package/dist/containers/Tablets/TabletsTable.js +6 -4
- package/dist/containers/Tablets/TabletsTable.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.scss +0 -6
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js +4 -6
- package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js +8 -4
- package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -0
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +9 -3
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js +4 -1
- package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -2
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.d.ts → MetricsTabs/MetricsTabs.d.ts} +4 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.js → MetricsTabs/MetricsTabs.js} +16 -9
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.scss → MetricsTabs/MetricsTabs.scss} +5 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.d.ts +11 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.js +10 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.scss +14 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.d.ts +2 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js +2 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +2 -4
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +13 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +2 -14
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +2 -14
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +13 -46
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +1 -17
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js +9 -2
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.scss +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.d.ts +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.js +34 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.scss +44 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.d.ts +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.js +28 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.d.ts +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +28 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.scss +20 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +2 -14
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.d.ts +8 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +26 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.scss +9 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.d.ts +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.js +28 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.d.ts +7 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.js +28 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.d.ts +76 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.js +38 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +9 -3
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +6 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +13 -7
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -15
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.d.ts +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +14 -19
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +19 -21
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.d.ts +22 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js +29 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js.map +1 -0
- package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +2 -24
- package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +2 -13
- package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +10 -13
- package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +3 -1
- package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +0 -4
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js +0 -2
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/keybindings.d.ts +0 -2
- package/dist/containers/Tenant/Query/QueryEditor/keybindings.js +0 -2
- package/dist/containers/Tenant/Query/QueryEditor/keybindings.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +25 -19
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
- package/dist/containers/Tenant/TenantPages.d.ts +2 -5
- package/dist/containers/Tenant/TenantPages.js +0 -4
- package/dist/containers/Tenant/TenantPages.js.map +1 -1
- package/dist/containers/Tenant/useTenantQueryParams.js +2 -2
- package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -1
- package/dist/containers/Tenants/Tenants.js +1 -1
- package/dist/containers/Tenants/Tenants.js.map +1 -1
- package/dist/containers/Tenants/Tenants.scss +0 -4
- package/dist/containers/VDiskPage/VDiskPage.js +40 -25
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.d.ts +3 -1
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js +10 -11
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskTablets/columns.js +6 -1
- package/dist/containers/VDiskPage/VDiskTablets/columns.js.map +1 -1
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.d.ts +1 -1
- package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js.map +1 -1
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.d.ts +1 -1
- package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js.map +1 -1
- package/dist/containers/Versions/Versions.js +8 -8
- package/dist/containers/Versions/Versions.js.map +1 -1
- package/dist/containers/Versions/groupNodes.d.ts +4 -4
- package/dist/containers/Versions/groupNodes.js +9 -9
- package/dist/containers/Versions/groupNodes.js.map +1 -1
- package/dist/containers/Versions/groupNodes.test.js +22 -20
- package/dist/containers/Versions/groupNodes.test.js.map +1 -1
- package/dist/containers/Versions/types.d.ts +1 -1
- package/dist/containers/Versions/utils.d.ts +4 -4
- package/dist/containers/Versions/utils.js +15 -15
- package/dist/containers/Versions/utils.js.map +1 -1
- package/dist/routes.d.ts +5 -7
- package/dist/routes.js +1 -1
- package/dist/routes.js.map +1 -1
- package/dist/services/api/index.d.ts +6 -4
- package/dist/services/api/index.js +2 -2
- package/dist/services/api/index.js.map +1 -1
- package/dist/services/api/viewer.d.ts +12 -11
- package/dist/services/api/viewer.js +12 -12
- package/dist/services/api/viewer.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +5 -0
- package/dist/store/reducers/authentication/authentication.js +4 -2
- package/dist/store/reducers/authentication/authentication.js.map +1 -1
- package/dist/store/reducers/authentication/types.d.ts +1 -0
- package/dist/store/reducers/capabilities/capabilities.d.ts +125 -0
- package/dist/store/reducers/capabilities/capabilities.js +1 -0
- package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
- package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
- package/dist/store/reducers/capabilities/hooks.js +5 -1
- package/dist/store/reducers/capabilities/hooks.js.map +1 -1
- package/dist/store/reducers/cluster/cluster.js +5 -1
- package/dist/store/reducers/cluster/cluster.js.map +1 -1
- package/dist/store/reducers/clusters/types.d.ts +2 -2
- package/dist/store/reducers/clusters/utils.js +3 -3
- package/dist/store/reducers/clusters/utils.js.map +1 -1
- package/dist/store/reducers/header/types.d.ts +3 -1
- package/dist/store/reducers/node/node.d.ts +1 -0
- package/dist/store/reducers/node/node.js +2 -2
- package/dist/store/reducers/node/node.js.map +1 -1
- package/dist/store/reducers/nodesList.d.ts +268 -4
- package/dist/store/reducers/nodesList.js +4 -4
- package/dist/store/reducers/nodesList.js.map +1 -1
- package/dist/store/reducers/pdisk/pdisk.js +1 -1
- package/dist/store/reducers/pdisk/pdisk.js.map +1 -1
- package/dist/store/reducers/query/__test__/tabPersistence.test.d.ts +1 -0
- package/dist/store/reducers/query/__test__/tabPersistence.test.js +62 -0
- package/dist/store/reducers/query/__test__/tabPersistence.test.js.map +1 -0
- package/dist/store/reducers/query/query.d.ts +14 -1
- package/dist/store/reducers/query/query.js +10 -2
- package/dist/store/reducers/query/query.js.map +1 -1
- package/dist/store/reducers/query/types.d.ts +4 -0
- package/dist/store/reducers/tablet.d.ts +1 -0
- package/dist/store/reducers/tablet.js +3 -3
- package/dist/store/reducers/tablet.js.map +1 -1
- package/dist/store/reducers/tablets.d.ts +1 -1
- package/dist/store/reducers/tablets.js +1 -1
- package/dist/store/reducers/tablets.js.map +1 -1
- package/dist/store/reducers/tenant/constants.d.ts +1 -1
- package/dist/store/reducers/tenant/constants.js +1 -1
- package/dist/store/reducers/tenant/constants.js.map +1 -1
- package/dist/store/reducers/tenant/tenant.d.ts +4 -1
- package/dist/store/reducers/tenant/tenant.js +16 -2
- package/dist/store/reducers/tenant/tenant.js.map +1 -1
- package/dist/store/reducers/tenant/types.d.ts +1 -1
- package/dist/store/reducers/vdisk/utils.d.ts +5 -7
- package/dist/store/reducers/vdisk/utils.js +9 -9
- package/dist/store/reducers/vdisk/utils.js.map +1 -1
- package/dist/store/reducers/vdisk/vdisk.d.ts +11 -6
- package/dist/store/reducers/vdisk/vdisk.js +19 -10
- package/dist/store/reducers/vdisk/vdisk.js.map +1 -1
- package/dist/styles/mixins.scss +6 -0
- package/dist/types/api/capabilities.d.ts +3 -0
- package/dist/types/api/nodes.d.ts +3 -0
- package/dist/types/api/nodes.js.map +1 -1
- package/dist/types/api/threads.d.ts +60 -0
- package/dist/types/api/threads.js +32 -0
- package/dist/types/api/threads.js.map +1 -0
- package/dist/types/api/vdisk.d.ts +0 -8
- package/dist/types/api/vdisk.js.map +1 -1
- package/dist/types/api/whoami.d.ts +3 -1
- package/dist/uiFactory/types.d.ts +1 -0
- package/dist/uiFactory/uiFactory.js +1 -0
- package/dist/uiFactory/uiFactory.js.map +1 -1
- package/dist/utils/constants.d.ts +2 -1
- package/dist/utils/constants.js +2 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/hooks/index.d.ts +1 -0
- package/dist/utils/hooks/index.js +1 -0
- package/dist/utils/hooks/index.js.map +1 -1
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.d.ts +1 -0
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js +4 -1
- package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js.map +1 -1
- package/dist/utils/hooks/useScrollPosition.d.ts +7 -0
- package/dist/utils/hooks/useScrollPosition.js +100 -0
- package/dist/utils/hooks/useScrollPosition.js.map +1 -0
- package/dist/utils/metrics/formatMetricLegend.d.ts +1 -0
- package/dist/utils/metrics/formatMetricLegend.js +21 -0
- package/dist/utils/metrics/formatMetricLegend.js.map +1 -1
- package/dist/utils/metrics.d.ts +1 -1
- package/dist/utils/metrics.js +1 -1
- package/dist/utils/progress.d.ts +2 -0
- package/dist/utils/progress.js +7 -0
- package/dist/utils/progress.js.map +1 -1
- package/dist/utils/versions/__test__/sortVersions.test.d.ts +1 -0
- package/dist/utils/versions/__test__/sortVersions.test.js +106 -0
- package/dist/utils/versions/__test__/sortVersions.test.js.map +1 -0
- package/dist/utils/versions/clusterVersionColors.d.ts +5 -0
- package/dist/utils/versions/clusterVersionColors.js +71 -0
- package/dist/utils/versions/clusterVersionColors.js.map +1 -0
- package/dist/utils/versions/getVersionsColors.d.ts +4 -3
- package/dist/utils/versions/getVersionsColors.js +24 -9
- package/dist/utils/versions/getVersionsColors.js.map +1 -1
- package/dist/utils/versions/parseNodesToVersionsValues.d.ts +3 -3
- package/dist/utils/versions/parseNodesToVersionsValues.js +5 -5
- package/dist/utils/versions/parseNodesToVersionsValues.js.map +1 -1
- package/dist/utils/versions/parseVersion.js +0 -4
- package/dist/utils/versions/parseVersion.js.map +1 -1
- package/dist/utils/versions/sortVersions.d.ts +18 -0
- package/dist/utils/versions/sortVersions.js +41 -0
- package/dist/utils/versions/sortVersions.js.map +1 -0
- package/dist/utils/versions/types.d.ts +22 -0
- package/dist/utils/versions/types.js +2 -0
- package/dist/utils/versions/types.js.map +1 -0
- package/package.json +2 -2
- package/dist/components/HoverPopup/HoverPopup.scss +0 -3
- package/dist/containers/Tenant/Acl/Acl.d.ts +0 -1
- package/dist/containers/Tenant/Acl/Acl.js +0 -15
- package/dist/containers/Tenant/Acl/Acl.js.map +0 -1
- package/dist/containers/Tenant/Acl/i18n/en.json +0 -4
- package/dist/containers/Tenant/Acl/i18n/index.d.ts +0 -2
- package/dist/containers/Tenant/Acl/i18n/index.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js.map +0 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.d.ts +0 -9
- package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js +0 -12
- package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js.map +0 -1
- package/dist/types/versions.d.ts +0 -8
- package/dist/types/versions.js +0 -2
- package/dist/types/versions.js.map +0 -1
- package/dist/utils/clusterVersionColors.d.ts +0 -11
- package/dist/utils/clusterVersionColors.js +0 -53
- package/dist/utils/clusterVersionColors.js.map +0 -1
@@ -0,0 +1,100 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { debounce } from 'lodash';
|
3
|
+
import { useHistory } from 'react-router-dom';
|
4
|
+
const DEBOUNCE_DELAY = 100;
|
5
|
+
/**
|
6
|
+
* Hook for saving and restoring scroll position on navigation
|
7
|
+
* Uses sessionStorage to persist scroll position across browser history navigation
|
8
|
+
* Only restores position when navigating via browser back/forward buttons
|
9
|
+
*/
|
10
|
+
export function useScrollPosition(elementRef, key, shouldRestore) {
|
11
|
+
const history = useHistory();
|
12
|
+
// Save scroll position to sessionStorage
|
13
|
+
const saveScrollPosition = React.useCallback((scrollTop) => {
|
14
|
+
try {
|
15
|
+
sessionStorage.setItem(`scroll-${key}`, String(scrollTop));
|
16
|
+
}
|
17
|
+
catch (error) {
|
18
|
+
// Ignore sessionStorage errors (e.g., in private mode)
|
19
|
+
console.warn('Failed to save scroll position:', error);
|
20
|
+
}
|
21
|
+
}, [key]);
|
22
|
+
// Clear scroll position from sessionStorage
|
23
|
+
const clearScrollPosition = React.useCallback(() => {
|
24
|
+
try {
|
25
|
+
sessionStorage.removeItem(`scroll-${key}`);
|
26
|
+
}
|
27
|
+
catch (error) {
|
28
|
+
// Ignore sessionStorage errors
|
29
|
+
console.warn('Failed to clear scroll position:', error);
|
30
|
+
}
|
31
|
+
}, [key]);
|
32
|
+
// Restore scroll position from sessionStorage
|
33
|
+
const restoreScrollPosition = React.useCallback(() => {
|
34
|
+
if (!elementRef.current) {
|
35
|
+
return;
|
36
|
+
}
|
37
|
+
try {
|
38
|
+
const savedPosition = sessionStorage.getItem(`scroll-${key}`);
|
39
|
+
if (savedPosition !== null) {
|
40
|
+
const scrollTop = parseInt(savedPosition, 10);
|
41
|
+
if (!isNaN(scrollTop)) {
|
42
|
+
elementRef.current.scrollTop = scrollTop;
|
43
|
+
}
|
44
|
+
}
|
45
|
+
}
|
46
|
+
catch (error) {
|
47
|
+
// Ignore sessionStorage errors
|
48
|
+
console.warn('Failed to restore scroll position:', error);
|
49
|
+
}
|
50
|
+
}, [elementRef, key]);
|
51
|
+
// Create debounced save function
|
52
|
+
const debouncedSaveScrollPosition = React.useMemo(() => debounce((scrollTop) => {
|
53
|
+
saveScrollPosition(scrollTop);
|
54
|
+
}, DEBOUNCE_DELAY), [saveScrollPosition]);
|
55
|
+
// Handle scroll events with debouncing
|
56
|
+
const handleScroll = React.useCallback(() => {
|
57
|
+
if (!elementRef.current) {
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
debouncedSaveScrollPosition(elementRef.current.scrollTop);
|
61
|
+
}, [elementRef, debouncedSaveScrollPosition]);
|
62
|
+
// Detect if navigation is via browser back/forward
|
63
|
+
const isHistoryNavigation = React.useMemo(() => {
|
64
|
+
// Check if this is a browser back/forward navigation
|
65
|
+
// React Router v5 doesn't provide direct way to detect this,
|
66
|
+
// but we can use history.action to determine the type of navigation
|
67
|
+
return history.action === 'POP';
|
68
|
+
}, [history.action]);
|
69
|
+
// Handle location changes
|
70
|
+
React.useLayoutEffect(() => {
|
71
|
+
let timeoutId;
|
72
|
+
if (isHistoryNavigation && shouldRestore) {
|
73
|
+
// This is a browser back/forward navigation - restore position with timeout to ensure that content rendered
|
74
|
+
timeoutId = window.setTimeout(restoreScrollPosition, 100);
|
75
|
+
}
|
76
|
+
else {
|
77
|
+
// This is a regular navigation (tab click, page reload) - clear position
|
78
|
+
clearScrollPosition();
|
79
|
+
}
|
80
|
+
return () => clearTimeout(timeoutId);
|
81
|
+
}, [
|
82
|
+
isHistoryNavigation,
|
83
|
+
restoreScrollPosition,
|
84
|
+
clearScrollPosition,
|
85
|
+
elementRef,
|
86
|
+
shouldRestore,
|
87
|
+
]);
|
88
|
+
React.useEffect(() => {
|
89
|
+
const element = elementRef.current;
|
90
|
+
if (!element) {
|
91
|
+
return;
|
92
|
+
}
|
93
|
+
element.addEventListener('scroll', handleScroll, { passive: true });
|
94
|
+
return () => {
|
95
|
+
element.removeEventListener('scroll', handleScroll);
|
96
|
+
debouncedSaveScrollPosition.cancel();
|
97
|
+
};
|
98
|
+
}, [handleScroll, debouncedSaveScrollPosition, elementRef]);
|
99
|
+
}
|
100
|
+
//# sourceMappingURL=useScrollPosition.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useScrollPosition.js","sourceRoot":"","sources":["../../../src/utils/hooks/useScrollPosition.ts"],"names":[],"mappings":"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"}
|
@@ -4,3 +4,4 @@ export interface MetricFormatParams {
|
|
4
4
|
}
|
5
5
|
export declare function formatStorageLegend({ value, capacity }: MetricFormatParams): string;
|
6
6
|
export declare function formatCoresLegend({ value, capacity }: MetricFormatParams): string;
|
7
|
+
export declare function formatSpeedLegend({ value, capacity }: MetricFormatParams): string;
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { formatBytes, getBytesSizeUnit } from '../bytesParsers';
|
1
2
|
import { formatNumber, formatNumericValues, formatStorageValues, } from '../dataFormatters/dataFormatters';
|
2
3
|
import i18n from './i18n';
|
3
4
|
export function formatStorageLegend({ value, capacity }) {
|
@@ -14,4 +15,24 @@ export function formatCoresLegend({ value, capacity }) {
|
|
14
15
|
}
|
15
16
|
return `${formatted[0]} ${i18n('context_of')} ${formatted[1]} ${i18n('context_cores')}`;
|
16
17
|
}
|
18
|
+
export function formatSpeedLegend({ value, capacity }) {
|
19
|
+
// Determine unit based on capacity
|
20
|
+
const unit = getBytesSizeUnit(capacity);
|
21
|
+
// Format used value without units
|
22
|
+
const usedSpeed = formatBytes({
|
23
|
+
value,
|
24
|
+
size: unit,
|
25
|
+
precision: 2,
|
26
|
+
withSpeedLabel: false,
|
27
|
+
withSizeLabel: false,
|
28
|
+
});
|
29
|
+
// Format limit with speed units
|
30
|
+
const limitSpeed = formatBytes({
|
31
|
+
value: capacity,
|
32
|
+
size: unit,
|
33
|
+
precision: 2,
|
34
|
+
withSpeedLabel: true,
|
35
|
+
});
|
36
|
+
return `${usedSpeed} ${i18n('context_of')} ${limitSpeed}`;
|
37
|
+
}
|
17
38
|
//# sourceMappingURL=formatMetricLegend.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"formatMetricLegend.js","sourceRoot":"","sources":["../../../src/utils/metrics/formatMetricLegend.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAO1B,MAAM,UAAU,mBAAmB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACrE,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACxE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACnE,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAM,EAAE,CAAC;QACpB,SAAS,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAC5F,CAAC"}
|
1
|
+
{"version":3,"file":"formatMetricLegend.js","sourceRoot":"","sources":["../../../src/utils/metrics/formatMetricLegend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,GACtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,IAAI,MAAM,QAAQ,CAAC;AAO1B,MAAM,UAAU,mBAAmB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACrE,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACxE,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACnE,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,QAAQ,GAAG,KAAM,EAAE,CAAC;QACpB,SAAS,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAqB;IACnE,mCAAmC;IACnC,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAExC,kCAAkC;IAClC,MAAM,SAAS,GAAG,WAAW,CAAC;QAC1B,KAAK;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,KAAK;KACvB,CAAC,CAAC;IAEH,gCAAgC;IAChC,MAAM,UAAU,GAAG,WAAW,CAAC;QAC3B,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,IAAI;KACvB,CAAC,CAAC;IAEH,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,UAAU,EAAE,CAAC;AAC9D,CAAC"}
|
package/dist/utils/metrics.d.ts
CHANGED
@@ -37,6 +37,6 @@ export declare const createDiagnosticsCardMetric: <T extends MetricWithUsage>(it
|
|
37
37
|
export declare const getHighestSeverityStatus: (statuses: MetricStatus[]) => MetricStatus;
|
38
38
|
/**
|
39
39
|
* Calculate metric aggregates (sum of used/limit values) and determine status
|
40
|
-
* This replaces the repetitive calculation logic from
|
40
|
+
* This replaces the repetitive calculation logic from MetricsTabs.tsx
|
41
41
|
*/
|
42
42
|
export declare const calculateMetricAggregates: <T extends MetricStats>(items?: T[]) => MetricAggregates;
|
package/dist/utils/metrics.js
CHANGED
@@ -34,7 +34,7 @@ export const getHighestSeverityStatus = (statuses) => {
|
|
34
34
|
};
|
35
35
|
/**
|
36
36
|
* Calculate metric aggregates (sum of used/limit values) and determine status
|
37
|
-
* This replaces the repetitive calculation logic from
|
37
|
+
* This replaces the repetitive calculation logic from MetricsTabs.tsx
|
38
38
|
*/
|
39
39
|
export const calculateMetricAggregates = (items = []) => {
|
40
40
|
// Sum up used and limit values with proper number formatting
|
package/dist/utils/progress.d.ts
CHANGED
@@ -1,4 +1,6 @@
|
|
1
1
|
export type ProgressStatus = 'good' | 'warning' | 'danger';
|
2
|
+
export type FormatProgressViewerValues = (value?: number, capacity?: number) => (string | number | undefined)[];
|
3
|
+
export declare const defaultFormatProgressValues: FormatProgressViewerValues;
|
2
4
|
interface CalculateProgressStatusProps {
|
3
5
|
inverseColorize?: boolean;
|
4
6
|
dangerThreshold?: number;
|
package/dist/utils/progress.js
CHANGED
@@ -1,4 +1,11 @@
|
|
1
1
|
import { DEFAULT_DANGER_THRESHOLD, DEFAULT_WARNING_THRESHOLD } from './constants';
|
2
|
+
import { formatNumber, roundToPrecision } from './dataFormatters/dataFormatters';
|
3
|
+
const formatValue = (value) => {
|
4
|
+
return formatNumber(roundToPrecision(value || 0, 2));
|
5
|
+
};
|
6
|
+
export const defaultFormatProgressValues = (value, total) => {
|
7
|
+
return [formatValue(value), formatValue(total)];
|
8
|
+
};
|
2
9
|
export function calculateProgressStatus({ inverseColorize, warningThreshold = DEFAULT_WARNING_THRESHOLD, dangerThreshold = DEFAULT_DANGER_THRESHOLD, colorizeProgress, fillWidth, }) {
|
3
10
|
let status = inverseColorize ? 'danger' : 'good';
|
4
11
|
if (colorizeProgress) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/utils/progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAE,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAChF,OAAO,EAAC,YAAY,EAAE,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AAS/E,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,EAAE;IACnC,OAAO,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAA+B,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;IACpF,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAUF,MAAM,UAAU,uBAAuB,CAAC,EACpC,eAAe,EACf,gBAAgB,GAAG,yBAAyB,EAC5C,eAAe,GAAG,wBAAwB,EAC1C,gBAAgB,EAChB,SAAS,GACkB;IAC3B,IAAI,MAAM,GAAmB,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,IAAI,gBAAgB,EAAE,CAAC;QACnB,IAAI,SAAS,GAAG,gBAAgB,IAAI,SAAS,IAAI,eAAe,EAAE,CAAC;YAC/D,MAAM,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,IAAI,SAAS,GAAG,eAAe,EAAE,CAAC;YACrC,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import { sortVersions } from '../sortVersions';
|
2
|
+
describe('sortVersions', () => {
|
3
|
+
test('should sort versions by majorIndex in ascending order', function () {
|
4
|
+
const versions = [
|
5
|
+
{ version: 'v2.0.0', majorIndex: 1 },
|
6
|
+
{ version: 'v1.0.0', majorIndex: 2 },
|
7
|
+
{ version: 'v3.0.0', majorIndex: 0 },
|
8
|
+
];
|
9
|
+
const sortedVersions = sortVersions(versions);
|
10
|
+
expect(sortedVersions).toEqual([
|
11
|
+
{ version: 'v3.0.0', majorIndex: 0 },
|
12
|
+
{ version: 'v2.0.0', majorIndex: 1 },
|
13
|
+
{ version: 'v1.0.0', majorIndex: 2 },
|
14
|
+
]);
|
15
|
+
});
|
16
|
+
test('should place versions with undefined majorIndex after versions with defined majorIndex', function () {
|
17
|
+
const versions = [
|
18
|
+
{ version: 'v2.0.0', majorIndex: undefined },
|
19
|
+
{ version: 'v1.0.0', majorIndex: 2 },
|
20
|
+
{ version: 'v3.0.0', majorIndex: 0 },
|
21
|
+
];
|
22
|
+
const sortedVersions = sortVersions(versions);
|
23
|
+
expect(sortedVersions).toEqual([
|
24
|
+
{ version: 'v3.0.0', majorIndex: 0 },
|
25
|
+
{ version: 'v1.0.0', majorIndex: 2 },
|
26
|
+
{ version: 'v2.0.0', majorIndex: undefined },
|
27
|
+
]);
|
28
|
+
});
|
29
|
+
test('should sort versions by minorIndex in ascending order when majorIndex is the same', function () {
|
30
|
+
const versions = [
|
31
|
+
{ version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
|
32
|
+
{ version: 'v1.1.0', majorIndex: 2, minorIndex: 2 },
|
33
|
+
{ version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
|
34
|
+
];
|
35
|
+
const sortedVersions = sortVersions(versions);
|
36
|
+
expect(sortedVersions).toEqual([
|
37
|
+
{ version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
|
38
|
+
{ version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
|
39
|
+
{ version: 'v1.1.0', majorIndex: 2, minorIndex: 2 },
|
40
|
+
]);
|
41
|
+
});
|
42
|
+
test('should place versions with undefined minorIndex after versions with defined minorIndex when majorIndex is the same', function () {
|
43
|
+
const versions = [
|
44
|
+
{ version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
|
45
|
+
{ version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
|
46
|
+
{ version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
|
47
|
+
];
|
48
|
+
const sortedVersions = sortVersions(versions);
|
49
|
+
expect(sortedVersions).toEqual([
|
50
|
+
{ version: 'v1.3.0', majorIndex: 2, minorIndex: 0 },
|
51
|
+
{ version: 'v1.2.0', majorIndex: 2, minorIndex: 1 },
|
52
|
+
{ version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
|
53
|
+
]);
|
54
|
+
});
|
55
|
+
test('should sort versions by hashCode when both majorIndex and minorIndex are the same (higher hash first)', function () {
|
56
|
+
const versions = [
|
57
|
+
{ version: 'v1.1.1', majorIndex: 2, minorIndex: 1 },
|
58
|
+
{ version: 'v1.1.2', majorIndex: 2, minorIndex: 1 },
|
59
|
+
{ version: 'v1.1.0', majorIndex: 2, minorIndex: 1 },
|
60
|
+
];
|
61
|
+
const sortedVersions = sortVersions(versions);
|
62
|
+
expect(sortedVersions).toEqual([
|
63
|
+
{ version: 'v1.1.2', majorIndex: 2, minorIndex: 1 },
|
64
|
+
{ version: 'v1.1.1', majorIndex: 2, minorIndex: 1 },
|
65
|
+
{ version: 'v1.1.0', majorIndex: 2, minorIndex: 1 },
|
66
|
+
]);
|
67
|
+
});
|
68
|
+
test('should sort versions with undefined major by hashCode', function () {
|
69
|
+
const versions = [
|
70
|
+
{ version: 'v1.0.0', majorIndex: undefined },
|
71
|
+
{ version: 'v2.0.0', majorIndex: undefined },
|
72
|
+
{ version: 'v3.0.0', majorIndex: undefined },
|
73
|
+
];
|
74
|
+
const sortedVersions = sortVersions(versions);
|
75
|
+
// When majorIndex is undefined, versions are sorted by hashCode
|
76
|
+
// This test assumes the hashCode implementation results in this order
|
77
|
+
expect(sortedVersions).toEqual([
|
78
|
+
{ version: 'v3.0.0', majorIndex: undefined },
|
79
|
+
{ version: 'v2.0.0', majorIndex: undefined },
|
80
|
+
{ version: 'v1.0.0', majorIndex: undefined },
|
81
|
+
]);
|
82
|
+
});
|
83
|
+
test('should handle complex sorting with mixed undefined indices', function () {
|
84
|
+
const versions = [
|
85
|
+
{ version: 'v2.1.0', majorIndex: 1, minorIndex: 1 },
|
86
|
+
{ version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
|
87
|
+
{ version: 'v3.0.0', majorIndex: 0, minorIndex: 0 },
|
88
|
+
{ version: 'v1.2.0', majorIndex: 2, minorIndex: 0 },
|
89
|
+
{ version: 'v2.0.0', majorIndex: 1, minorIndex: undefined },
|
90
|
+
];
|
91
|
+
const sortedVersions = sortVersions(versions);
|
92
|
+
expect(sortedVersions).toEqual([
|
93
|
+
{ version: 'v3.0.0', majorIndex: 0, minorIndex: 0 },
|
94
|
+
{ version: 'v2.1.0', majorIndex: 1, minorIndex: 1 },
|
95
|
+
{ version: 'v2.0.0', majorIndex: 1, minorIndex: undefined },
|
96
|
+
{ version: 'v1.2.0', majorIndex: 2, minorIndex: 0 },
|
97
|
+
{ version: 'v1.0.0', majorIndex: 2, minorIndex: undefined },
|
98
|
+
]);
|
99
|
+
});
|
100
|
+
test('should handle empty array', function () {
|
101
|
+
const versions = [];
|
102
|
+
const sortedVersions = sortVersions(versions);
|
103
|
+
expect(sortedVersions).toEqual([]);
|
104
|
+
});
|
105
|
+
});
|
106
|
+
//# sourceMappingURL=sortVersions.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"sortVersions.test.js","sourceRoot":"","sources":["../../../../src/utils/versions/__test__/sortVersions.test.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import type { MetaClusterVersion } from '../../types/api/meta';
|
2
|
+
import type { ColorIndexToVersionsMap, PreparedVersion, VersionsDataMap } from './types';
|
3
|
+
export declare const getVersionMap: (versions: MetaClusterVersion[], initialMap?: ColorIndexToVersionsMap) => ColorIndexToVersionsMap;
|
4
|
+
export declare const getVersionsData: (versionMap: ColorIndexToVersionsMap) => VersionsDataMap;
|
5
|
+
export declare const prepareClusterVersions: (clusterVersions: MetaClusterVersion[] | undefined, versionsDataMap: VersionsDataMap) => PreparedVersion[];
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import { COLORS, DEFAULT_COLOR, getMinorVersionColorVariant, hashCode } from './getVersionsColors';
|
2
|
+
import { getMinorVersion } from './parseVersion';
|
3
|
+
import { sortVersions } from './sortVersions';
|
4
|
+
const UNDEFINED_COLOR_INDEX = '__no_color__';
|
5
|
+
export const getVersionMap = (versions, initialMap = new Map()) => {
|
6
|
+
versions.forEach(({ version, version_base_color_index: versionBaseColorIndex = UNDEFINED_COLOR_INDEX }) => {
|
7
|
+
var _a;
|
8
|
+
const minorVersion = getMinorVersion(version);
|
9
|
+
if (!initialMap.has(versionBaseColorIndex)) {
|
10
|
+
initialMap.set(versionBaseColorIndex, new Set());
|
11
|
+
}
|
12
|
+
(_a = initialMap.get(versionBaseColorIndex)) === null || _a === void 0 ? void 0 : _a.add(minorVersion);
|
13
|
+
});
|
14
|
+
return initialMap;
|
15
|
+
};
|
16
|
+
export const getVersionsData = (versionMap) => {
|
17
|
+
const versionsDataMap = new Map();
|
18
|
+
for (const [baseColorIndex, item] of versionMap) {
|
19
|
+
Array.from(item)
|
20
|
+
// descending by version name: newer versions come first,
|
21
|
+
// so the newer version gets the brighter color
|
22
|
+
.sort((a, b) => hashCode(b) - hashCode(a))
|
23
|
+
.forEach((minor, minorIndex) => {
|
24
|
+
if (baseColorIndex === UNDEFINED_COLOR_INDEX) {
|
25
|
+
versionsDataMap.set(minor, {
|
26
|
+
color: DEFAULT_COLOR,
|
27
|
+
});
|
28
|
+
}
|
29
|
+
else {
|
30
|
+
// baseColorIndex is numeric as we check if it is UNDEFINED_COLOR_INDEX before
|
31
|
+
const currentColorIndex = Number(baseColorIndex) % COLORS.length;
|
32
|
+
const minorQuantity = item.size;
|
33
|
+
const minorColorVariant = getMinorVersionColorVariant(minorIndex, minorQuantity);
|
34
|
+
const minorColor = COLORS[currentColorIndex][minorColorVariant];
|
35
|
+
versionsDataMap.set(minor, {
|
36
|
+
color: minorColor,
|
37
|
+
majorIndex: currentColorIndex,
|
38
|
+
minorIndex,
|
39
|
+
});
|
40
|
+
}
|
41
|
+
});
|
42
|
+
}
|
43
|
+
return versionsDataMap;
|
44
|
+
};
|
45
|
+
export const prepareClusterVersions = (clusterVersions = [], versionsDataMap) => {
|
46
|
+
const filteredVersions = clusterVersions.filter((item) => item.version);
|
47
|
+
const result = {};
|
48
|
+
filteredVersions.forEach((item) => {
|
49
|
+
if (result[item.version]) {
|
50
|
+
// Sum count for versions of different nodes types
|
51
|
+
// Do not recalculate version data
|
52
|
+
const currentCount = result[item.version].count || 0;
|
53
|
+
const itemCount = item.count || 0;
|
54
|
+
result[item.version].count = currentCount + itemCount;
|
55
|
+
}
|
56
|
+
else {
|
57
|
+
const minorVersion = getMinorVersion(item.version);
|
58
|
+
const data = versionsDataMap.get(minorVersion);
|
59
|
+
result[item.version] = {
|
60
|
+
version: item.version,
|
61
|
+
minorVersion,
|
62
|
+
color: data === null || data === void 0 ? void 0 : data.color,
|
63
|
+
majorIndex: data === null || data === void 0 ? void 0 : data.majorIndex,
|
64
|
+
minorIndex: data === null || data === void 0 ? void 0 : data.minorIndex,
|
65
|
+
count: item.count || 0,
|
66
|
+
};
|
67
|
+
}
|
68
|
+
});
|
69
|
+
return sortVersions(Object.values(result));
|
70
|
+
};
|
71
|
+
//# sourceMappingURL=clusterVersionColors.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"clusterVersionColors.js","sourceRoot":"","sources":["../../../src/utils/versions/clusterVersionColors.ts"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,10 @@
|
|
1
|
-
import type {
|
1
|
+
import type { VersionsDataMap, VersionsMap } from './types';
|
2
2
|
export declare const hashCode: (s: string) => number;
|
3
3
|
export declare const COLORS: string[][];
|
4
4
|
export declare const DEFAULT_COLOR = "var(--versions-default-color)";
|
5
5
|
/** Calculates sub color index */
|
6
6
|
export declare function getMinorVersionColorVariant(minorIndex: number, minorQuantity: number): number;
|
7
7
|
export declare const getVersionsMap: (versions: string[], initialMap?: VersionsMap) => VersionsMap;
|
8
|
-
export declare const
|
9
|
-
export declare const
|
8
|
+
export declare const getVersionsDataMap: (versionsMap: VersionsMap) => VersionsDataMap;
|
9
|
+
export declare const parseVersionsToVersionsDataMap: (versions?: string[]) => VersionsDataMap;
|
10
|
+
export declare function getColorFromVersionsData(version: string, versionsDataMap: VersionsDataMap | undefined): string | undefined;
|
@@ -113,14 +113,14 @@ export const getVersionsMap = (versions, initialMap = new Map()) => {
|
|
113
113
|
});
|
114
114
|
return initialMap;
|
115
115
|
};
|
116
|
-
export const
|
116
|
+
export const getVersionsDataMap = (versionsMap) => {
|
117
117
|
const clustersVersions = Array.from(versionsMap.keys()).map((version) => {
|
118
118
|
return {
|
119
119
|
version,
|
120
120
|
hash: hashCode(version),
|
121
121
|
};
|
122
122
|
});
|
123
|
-
const
|
123
|
+
const versionsDataMap = new Map();
|
124
124
|
// not every version is colored, therefore iteration index can't be used consistently
|
125
125
|
// init with the colors length to put increment right after condition for better readability
|
126
126
|
let currentColorIndex = COLORS.length - 1;
|
@@ -131,8 +131,12 @@ export const getVersionToColorMap = (versionsMap) => {
|
|
131
131
|
.forEach((item) => {
|
132
132
|
if (/^(\w+-)?stable/.test(item.version)) {
|
133
133
|
currentColorIndex = (currentColorIndex + 1) % COLORS.length;
|
134
|
-
|
135
|
-
|
134
|
+
versionsDataMap.set(item.version, {
|
135
|
+
// Use first color for major
|
136
|
+
color: COLORS[currentColorIndex][0],
|
137
|
+
majorIndex: currentColorIndex,
|
138
|
+
minorIndex: 0,
|
139
|
+
});
|
136
140
|
const minors = Array.from(versionsMap.get(item.version) || [])
|
137
141
|
.filter((v) => v !== item.version)
|
138
142
|
.map((v) => {
|
@@ -149,16 +153,27 @@ export const getVersionToColorMap = (versionsMap) => {
|
|
149
153
|
.forEach((minor, minorIndex) => {
|
150
154
|
const minorColorVariant = getMinorVersionColorVariant(minorIndex, minorQuantity);
|
151
155
|
const minorColor = COLORS[currentColorIndex][minorColorVariant];
|
152
|
-
|
156
|
+
versionsDataMap.set(minor.version, {
|
157
|
+
color: minorColor,
|
158
|
+
majorIndex: currentColorIndex,
|
159
|
+
minorIndex: minorIndex,
|
160
|
+
});
|
153
161
|
});
|
154
162
|
}
|
155
163
|
else {
|
156
|
-
|
164
|
+
versionsDataMap.set(item.version, {
|
165
|
+
color: DEFAULT_COLOR,
|
166
|
+
});
|
157
167
|
}
|
158
168
|
});
|
159
|
-
return
|
169
|
+
return versionsDataMap;
|
160
170
|
};
|
161
|
-
export const
|
162
|
-
return
|
171
|
+
export const parseVersionsToVersionsDataMap = (versions = []) => {
|
172
|
+
return getVersionsDataMap(getVersionsMap(versions));
|
163
173
|
};
|
174
|
+
export function getColorFromVersionsData(version, versionsDataMap) {
|
175
|
+
const minorVersion = getMinorVersion(version);
|
176
|
+
const versionData = versionsDataMap === null || versionsDataMap === void 0 ? void 0 : versionsDataMap.get(minorVersion);
|
177
|
+
return versionData === null || versionData === void 0 ? void 0 : versionData.color;
|
178
|
+
}
|
164
179
|
//# sourceMappingURL=getVersionsColors.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getVersionsColors.js","sourceRoot":"","sources":["../../../src/utils/versions/getVersionsColors.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"getVersionsColors.js","sourceRoot":"","sources":["../../../src/utils/versions/getVersionsColors.ts"],"names":[],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import type { NodesGroup } from '../../store/reducers/nodes/types';
|
2
2
|
import type { TSystemStateInfo } from '../../types/api/nodes';
|
3
|
-
import type {
|
4
|
-
export declare const parseNodesToVersionsValues: (nodes?: TSystemStateInfo[],
|
5
|
-
export declare function parseNodeGroupsToVersionsValues(groups: NodesGroup[],
|
3
|
+
import type { VersionValue, VersionsDataMap } from './types';
|
4
|
+
export declare const parseNodesToVersionsValues: (nodes?: TSystemStateInfo[], versionsDataMap?: VersionsDataMap) => VersionValue[];
|
5
|
+
export declare function parseNodeGroupsToVersionsValues(groups: NodesGroup[], versionsDataMap?: VersionsDataMap, total?: number): VersionValue[];
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import {
|
1
|
+
import { getColorFromVersionsData } from './getVersionsColors';
|
2
2
|
const MIN_VALUE = 0.5;
|
3
|
-
export const parseNodesToVersionsValues = (nodes = [],
|
3
|
+
export const parseNodesToVersionsValues = (nodes = [], versionsDataMap) => {
|
4
4
|
const versionsCount = nodes.reduce((acc, node) => {
|
5
5
|
if (node.Version) {
|
6
6
|
if (acc[node.Version]) {
|
@@ -17,21 +17,21 @@ export const parseNodesToVersionsValues = (nodes = [], versionsToColor) => {
|
|
17
17
|
return {
|
18
18
|
title: version,
|
19
19
|
version: version,
|
20
|
-
color: versionsToColor === null || versionsToColor === void 0 ? void 0 : versionsToColor.get(getMinorVersion(version)),
|
21
20
|
value: value < MIN_VALUE ? MIN_VALUE : value,
|
21
|
+
color: getColorFromVersionsData(version, versionsDataMap),
|
22
22
|
};
|
23
23
|
});
|
24
24
|
return normalizeResult(result);
|
25
25
|
};
|
26
|
-
export function parseNodeGroupsToVersionsValues(groups,
|
26
|
+
export function parseNodeGroupsToVersionsValues(groups, versionsDataMap, total) {
|
27
27
|
const normalizedTotal = total !== null && total !== void 0 ? total : groups.reduce((acc, group) => acc + group.count, 0);
|
28
28
|
const result = groups.map((group) => {
|
29
29
|
const value = (group.count / normalizedTotal) * 100;
|
30
30
|
return {
|
31
31
|
title: group.name,
|
32
32
|
version: group.name,
|
33
|
-
color: versionsToColor === null || versionsToColor === void 0 ? void 0 : versionsToColor.get(getMinorVersion(group.name)),
|
34
33
|
value: value < MIN_VALUE ? MIN_VALUE : value,
|
34
|
+
color: getColorFromVersionsData(group.name, versionsDataMap),
|
35
35
|
};
|
36
36
|
});
|
37
37
|
const normalized = normalizeResult(result);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseNodesToVersionsValues.js","sourceRoot":"","sources":["../../../src/utils/versions/parseNodesToVersionsValues.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"parseNodesToVersionsValues.js","sourceRoot":"","sources":["../../../src/utils/versions/parseNodesToVersionsValues.ts"],"names":[],"mappings":"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"}
|
@@ -4,10 +4,6 @@ export const getMinorVersion = (version) => {
|
|
4
4
|
if (regexp.test(version)) {
|
5
5
|
result = result.replace(/(-hotfix-\d{1,}(-\d{1,})?)?\.[0-9a-zA-Z]+$/, ''); // stable-19-2-18.bfa368f -> stable-19-2-18
|
6
6
|
}
|
7
|
-
const buildVersionRegexp = /\d{1,}-\d{1,}-\d{1,}-\d{1,}$/;
|
8
|
-
if (buildVersionRegexp.test(version)) {
|
9
|
-
result = result.replace(/-\d{1,}$/, ''); // stable-19-2-18-1 -> stable-19-2-18
|
10
|
-
}
|
11
7
|
return result;
|
12
8
|
};
|
13
9
|
export const getMajorVersion = (version) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parseVersion.js","sourceRoot":"","sources":["../../../src/utils/versions/parseVersion.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,kEAAkE,CAAC;IAElF,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC,CAAC,2CAA2C;IAC1H,CAAC;IAED,
|
1
|
+
{"version":3,"file":"parseVersion.js","sourceRoot":"","sources":["../../../src/utils/versions/parseVersion.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,kEAAkE,CAAC;IAElF,IAAI,MAAM,GAAG,OAAO,CAAC;IAErB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACvB,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,4CAA4C,EAAE,EAAE,CAAC,CAAC,CAAC,2CAA2C;IAC1H,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,EAAE;IAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,yCAAyC;IAEhF,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AAC3F,CAAC,CAAC"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import type { PreparedVersion } from './types';
|
2
|
+
/**
|
3
|
+
* Sorts cluster versions according to the following rules:
|
4
|
+
* 1. First by majorIndex in ascending order (lower index first)
|
5
|
+
* - In single-cluster versions higher version numbers typically have lower indices (e.g., v3.0.0: index 0, v2.0.0: index 1, v1.0.0: index 2)
|
6
|
+
* - In multi-cluster version indices may be provided by backend with no specific rule, but we use the same sorting for consistency
|
7
|
+
* - Versions with undefined majorIndex come last
|
8
|
+
* 2. Then by minorIndex in ascending order (lower index first) when majorIndex is the same
|
9
|
+
* - Higher minor versions typically have lower indices
|
10
|
+
* - Versions with undefined minorIndex come last within their major group
|
11
|
+
* 3. Finally by version string hashCode in descending order when both indices are the same
|
12
|
+
* - Higher hash values come first
|
13
|
+
*
|
14
|
+
* The function creates a copy of the input array to avoid modifying the original.
|
15
|
+
* @param versions - Array of prepared cluster versions to sort
|
16
|
+
* @returns A new sorted array of cluster versions
|
17
|
+
*/
|
18
|
+
export declare function sortVersions(versions: PreparedVersion[]): PreparedVersion[];
|