ydb-embedded-ui 11.4.0 → 11.5.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/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/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 +5 -2
- 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 +1 -1
- 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/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/nodesColumns/columns.js +3 -3
- package/dist/components/nodesColumns/columns.js.map +1 -1
- package/dist/containers/App/App.scss +4 -0
- 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 -4
- package/dist/containers/Clusters/columns.js +3 -11
- package/dist/containers/Clusters/columns.js.map +1 -1
- package/dist/containers/Clusters/i18n/en.json +4 -1
- package/dist/containers/Node/Node.js +4 -0
- 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/Node/Threads/i18n/index.js +5 -0
- 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/Storage/PaginatedStorageGroupsTable/columns/columns.js +3 -3
- package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.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 +2 -1
- package/dist/containers/Tenant/Diagnostics/Diagnostics.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/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/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/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.js +1 -0
- package/dist/services/api/viewer.js.map +1 -1
- 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/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/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/tenant/constants.d.ts +1 -0
- package/dist/store/reducers/tenant/constants.js +1 -0
- package/dist/store/reducers/tenant/constants.js.map +1 -1
- package/dist/store/reducers/tenant/tenant.js +2 -1
- package/dist/store/reducers/tenant/tenant.js.map +1 -1
- package/dist/store/reducers/tenant/types.d.ts +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/systemState.d.ts +3 -0
- 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/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/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/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/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,60 @@
|
|
1
|
+
/**
|
2
|
+
* Thread pool information with detailed statistics
|
3
|
+
* Based on the thread information shown in the node page
|
4
|
+
*/
|
5
|
+
export interface TThreadPoolInfo {
|
6
|
+
/** Thread pool name (e.g., AwsEventLoop, klktmr.IC) */
|
7
|
+
Name?: string;
|
8
|
+
/** Number of threads in the pool */
|
9
|
+
Threads?: number;
|
10
|
+
/** System CPU usage (0-1 range) */
|
11
|
+
SystemUsage?: number;
|
12
|
+
/** User CPU usage (0-1 range) */
|
13
|
+
UserUsage?: number;
|
14
|
+
/** Number of minor page faults */
|
15
|
+
MinorPageFaults?: number;
|
16
|
+
/** Number of major page faults */
|
17
|
+
MajorPageFaults?: number;
|
18
|
+
/** Thread states with counts */
|
19
|
+
States?: Record<string, number>;
|
20
|
+
}
|
21
|
+
/**
|
22
|
+
* Response containing thread pool information for a node
|
23
|
+
*/
|
24
|
+
export interface TThreadPoolsResponse {
|
25
|
+
/** Array of thread pools */
|
26
|
+
Threads?: TThreadPoolInfo[];
|
27
|
+
/** Response time */
|
28
|
+
ResponseTime?: string;
|
29
|
+
ResponseDuration?: number;
|
30
|
+
}
|
31
|
+
/**
|
32
|
+
* Thread states enum based on Linux process states
|
33
|
+
* Reference: https://manpages.ubuntu.com/manpages/noble/man5/proc_pid_stat.5.html
|
34
|
+
*/
|
35
|
+
export declare enum ThreadState {
|
36
|
+
/** Running */
|
37
|
+
R = "R",
|
38
|
+
/** Sleeping in an interruptible wait */
|
39
|
+
S = "S",
|
40
|
+
/** Waiting in uninterruptible disk sleep */
|
41
|
+
D = "D",
|
42
|
+
/** Zombie */
|
43
|
+
Z = "Z",
|
44
|
+
/** Stopped (on a signal) */
|
45
|
+
T = "T",
|
46
|
+
/** Tracing stop */
|
47
|
+
t = "t",
|
48
|
+
/** Paging (not valid since Linux 2.6.0) */
|
49
|
+
W = "W",
|
50
|
+
/** Dead (should never be seen) */
|
51
|
+
X = "X",
|
52
|
+
/** Dead (Linux 2.6.0 and later) */
|
53
|
+
x = "x",
|
54
|
+
/** Wakekill (Linux 2.6.33 and later) */
|
55
|
+
K = "K",
|
56
|
+
/** Waking (Linux 2.6.33 and later) */
|
57
|
+
W_WAKE = "W",
|
58
|
+
/** Parked (Linux 3.9 and later) */
|
59
|
+
P = "P"
|
60
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/**
|
2
|
+
* Thread states enum based on Linux process states
|
3
|
+
* Reference: https://manpages.ubuntu.com/manpages/noble/man5/proc_pid_stat.5.html
|
4
|
+
*/
|
5
|
+
export var ThreadState;
|
6
|
+
(function (ThreadState) {
|
7
|
+
/** Running */
|
8
|
+
ThreadState["R"] = "R";
|
9
|
+
/** Sleeping in an interruptible wait */
|
10
|
+
ThreadState["S"] = "S";
|
11
|
+
/** Waiting in uninterruptible disk sleep */
|
12
|
+
ThreadState["D"] = "D";
|
13
|
+
/** Zombie */
|
14
|
+
ThreadState["Z"] = "Z";
|
15
|
+
/** Stopped (on a signal) */
|
16
|
+
ThreadState["T"] = "T";
|
17
|
+
/** Tracing stop */
|
18
|
+
ThreadState["t"] = "t";
|
19
|
+
/** Paging (not valid since Linux 2.6.0) */
|
20
|
+
ThreadState["W"] = "W";
|
21
|
+
/** Dead (should never be seen) */
|
22
|
+
ThreadState["X"] = "X";
|
23
|
+
/** Dead (Linux 2.6.0 and later) */
|
24
|
+
ThreadState["x"] = "x";
|
25
|
+
/** Wakekill (Linux 2.6.33 and later) */
|
26
|
+
ThreadState["K"] = "K";
|
27
|
+
/** Waking (Linux 2.6.33 and later) */
|
28
|
+
ThreadState["W_WAKE"] = "W";
|
29
|
+
/** Parked (Linux 3.9 and later) */
|
30
|
+
ThreadState["P"] = "P";
|
31
|
+
})(ThreadState || (ThreadState = {}));
|
32
|
+
//# sourceMappingURL=threads.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"threads.js","sourceRoot":"","sources":["../../../src/types/api/threads.ts"],"names":[],"mappings":"AAgCA;;;GAGG;AACH,MAAM,CAAN,IAAY,WAyBX;AAzBD,WAAY,WAAW;IACnB,cAAc;IACd,sBAAO,CAAA;IACP,wCAAwC;IACxC,sBAAO,CAAA;IACP,4CAA4C;IAC5C,sBAAO,CAAA;IACP,aAAa;IACb,sBAAO,CAAA;IACP,4BAA4B;IAC5B,sBAAO,CAAA;IACP,mBAAmB;IACnB,sBAAO,CAAA;IACP,2CAA2C;IAC3C,sBAAO,CAAA;IACP,kCAAkC;IAClC,sBAAO,CAAA;IACP,mCAAmC;IACnC,sBAAO,CAAA;IACP,wCAAwC;IACxC,sBAAO,CAAA;IACP,sCAAsC;IACtC,2BAAY,CAAA;IACZ,mCAAmC;IACnC,sBAAO,CAAA;AACX,CAAC,EAzBW,WAAW,KAAX,WAAW,QAyBtB"}
|
@@ -55,7 +55,7 @@ export declare const SECTION_IDS: {
|
|
55
55
|
readonly DEV_SETTINGS: "devSettingsSection";
|
56
56
|
readonly ABOUT: "aboutSettingsSection";
|
57
57
|
};
|
58
|
-
export declare const TENANT_OVERVIEW_TABLES_LIMIT =
|
58
|
+
export declare const TENANT_OVERVIEW_TABLES_LIMIT = 3;
|
59
59
|
export declare const EMPTY_DATA_PLACEHOLDER = "\u2014";
|
60
60
|
export declare const QUERY_TECHNICAL_MARK = "/*UI-QUERY-EXCLUDE*/";
|
61
61
|
export declare const DEVELOPER_UI_TITLE = "Developer UI";
|
@@ -107,3 +107,4 @@ export declare enum AclSyntax {
|
|
107
107
|
Ydb = "ydb",
|
108
108
|
Yql = "yql"
|
109
109
|
}
|
110
|
+
export declare const YDB_POPOVER_CLASS_NAME = "ydb-popover";
|
package/dist/utils/constants.js
CHANGED
@@ -84,7 +84,7 @@ export const SECTION_IDS = {
|
|
84
84
|
DEV_SETTINGS: 'devSettingsSection',
|
85
85
|
ABOUT: 'aboutSettingsSection',
|
86
86
|
};
|
87
|
-
export const TENANT_OVERVIEW_TABLES_LIMIT =
|
87
|
+
export const TENANT_OVERVIEW_TABLES_LIMIT = 3;
|
88
88
|
export const EMPTY_DATA_PLACEHOLDER = '—';
|
89
89
|
export const QUERY_TECHNICAL_MARK = '/*UI-QUERY-EXCLUDE*/';
|
90
90
|
// ==== Titles ====
|
@@ -156,4 +156,5 @@ export var AclSyntax;
|
|
156
156
|
AclSyntax["Ydb"] = "ydb";
|
157
157
|
AclSyntax["Yql"] = "yql";
|
158
158
|
})(AclSyntax || (AclSyntax = {}));
|
159
|
+
export const YDB_POPOVER_CLASS_NAME = 'ydb-popover';
|
159
160
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAGrD,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAE1C,yDAAyD;AACzD,6DAA6D;AAC7D,8DAA8D;AAC9D,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAS,CAAC;AAClC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAa,CAAC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG,aAAiB,CAAC;AAE1C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AACpC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,iBAAiB,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,GAAG,eAAe,CAAC;AACnD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,cAAc,GAAG;IACnB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG;IACvB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG;IACpB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI;IAC1B,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI;IACnB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,IAAI;IAC3B,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,IAAI;IACnC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI;IACjB,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,IAAI;IACjC,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAC9B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI;IACrB,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI;IAC9B,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,KAAK;CACxC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAuC,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC;AAEnG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAa,EAAE,EAAE;;IAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,0CAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;AACpE,CAAC,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,eAAe;IAC/B,iCAAiC,EAAE,8BAA8B;IACjE,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,0BAA0B;IAC/C,sBAAsB,EAAE,wBAAwB;IAChD,oBAAoB,EAAE,oBAAoB;IAC1C,yBAAyB,EAAE,yBAAyB;IACpD,oBAAoB,EAAE,oBAAoB;IAC1C,iBAAiB,EAAE,kBAAkB;IACrC,+BAA+B,EAAE,4BAA4B;IAC7D,mBAAmB,EAAE,oBAAoB;IACzC,qBAAqB,EAAE,qBAAqB;IAC5C,sBAAsB,EAAE,sBAAsB;IAC9C,kCAAkC,EAAE,gCAAgC;IACpE,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,wBAAwB;IAClD,qBAAqB,EAAE,qBAAqB;IAC5C,sBAAsB,EAAE,qBAAqB;IAC7C,qBAAqB,EAAE,uBAAuB;IAC9C,0BAA0B,EAAE,yBAAyB;IACrD,oBAAoB,EAAE,oBAAoB;IAC1C,2BAA2B,EAAE,0BAA0B;IACvD,6BAA6B,EAAE,+BAA+B;IAC9D,iCAAiC,EAAE,+BAA+B;IAClE,wBAAwB,EAAE,wBAAwB;IAClD,UAAU,EAAE,WAAW;CACjB,CAAC;AAEX,sBAAsB;AACtB,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,OAAO,EAAE,aAAa;IACtB,MAAM,EAAE,YAAY;IACpB,WAAW,EAAE,iBAAiB;IAC9B,KAAK,EAAE,WAAW;CACZ,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,gBAAgB;IACzB,UAAU,EAAE,mBAAmB;IAC/B,YAAY,EAAE,oBAAoB;IAClC,KAAK,EAAE,sBAAsB;CACvB,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAE9C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE3D,mBAAmB;AACnB,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAC/C,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE/C,qBAAqB;AACrB,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;AAC5C,MAAM,CAAC,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC,cAAc,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,aAAa,CAAC;AAC5D,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAC1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AACrD,MAAM,CAAC,MAAM,iCAAiC,GAAG,YAAY,CAAC,iCAAiC,CAAC;AAChG,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,CAAC;AAExE,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,0BAA0B,CAAC;AAElF,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AACvE,MAAM,CAAC,MAAM,+BAA+B,GAAG,kCAAkC,CAAC;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,0BAA0B,CAAC;AAElE,MAAM,CAAC,MAAM,mCAAmC,GAAG,qCAAqC,CAAC;AAEzF,MAAM,CAAC,MAAM,uCAAuC,GAAG,yCAAyC,CAAC;AAEjG,MAAM,CAAC,MAAM,iCAAiC,GAAG,mCAAmC,CAAC;AAErF,MAAM,CAAC,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAa;IAC5C,cAAc,EAAE,KAAK;IACrB,UAAU,EAAE,SAAS,CAAC,MAAM;IAC5B,gBAAgB,EAAE,IAAI;IACtB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACb,CAAC;AAEX,MAAM,CAAC,MAAM,+BAA+B,GAAa;IACrD,GAAG,sBAAsB;IACzB,UAAU,EAAE,OAAO;IACnB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,KAAK;CACT,CAAC;AAEX,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC,wBAAwB,CAAC;AAClF,MAAM,CAAC,MAAM,iCAAiC,GAAG,YAAY,CAAC,6BAA6B,CAAC;AAC5F,MAAM,CAAC,MAAM,qCAAqC,GAAG,YAAY,CAAC,iCAAiC,CAAC;AACpG,MAAM,CAAC,MAAM,+BAA+B,GAAG,YAAY,CAAC,2BAA2B,CAAC;AAExF,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,sBAAsB,CAAC;AAE9E,MAAM,CAAC,MAAM,6BAA6B,GAAG,YAAY,CAAC,yBAAyB,CAAC;AAEpF,sDAAsD;AACtD,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,iBAAiB,CAAC;AAEpE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,oBAAoB,CAAC;AAE1E,MAAM,CAAC,MAAM,mCAAmC,GAAG,YAAY,CAAC,+BAA+B,CAAC;AAEhG,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,CAAC;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC,sBAAsB,CAAC;AAE1E,MAAM,CAAC,MAAM,kCAAkC,GAAG,YAAY,CAAC,kCAAkC,CAAC;AAElG,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACrC,0BAA0B;IAC1B,6BAA6B;IAC7B,sCAAsC;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,CAAC;AAExE,MAAM,CAAC,MAAM,0BAA0B,GAAG,YAAY,CAAC,sBAAsB,CAAC;AAE9E,MAAM,CAAC,MAAM,mCAAmC,GAAG,iCAAiC,CAAC;AAErF,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,wBAAwB,CAAC;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,YAAY,CAAC,wBAAwB,CAAC;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC;AAEtD,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,8BAAiB,CAAA;IACjB,mCAAsB,CAAA;IACtB,wBAAW,CAAA;IACX,wBAAW,CAAA;AACf,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB"}
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
/**
|
3
|
+
* Hook for saving and restoring scroll position on navigation
|
4
|
+
* Uses sessionStorage to persist scroll position across browser history navigation
|
5
|
+
* Only restores position when navigating via browser back/forward buttons
|
6
|
+
*/
|
7
|
+
export declare function useScrollPosition(elementRef: React.RefObject<HTMLElement>, key: string, shouldRestore: boolean): void;
|
@@ -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":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAG7C,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC1B,IAAI,CAAC,uDAAuD,EAAE;QAC1D,MAAM,QAAQ,GAAsB;YAChC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;YAClC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;YAClC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;SACrC,CAAC;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;YAClC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;YAClC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;SACrC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wFAAwF,EAAE;QAC3F,MAAM,QAAQ,GAAsB;YAChC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;YAC1C,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;YAClC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;SACrC,CAAC;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;YAClC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAC;YAClC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;SAC7C,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,mFAAmF,EAAE;QACtF,MAAM,QAAQ,GAAsB;YAChC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;SACpD,CAAC;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;SACpD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oHAAoH,EAAE;QACvH,MAAM,QAAQ,GAAsB;YAChC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC;YACzD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;SACpD,CAAC;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC;SAC5D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uGAAuG,EAAE;QAC1G,MAAM,QAAQ,GAAsB;YAChC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;SACpD,CAAC;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;SACpD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,uDAAuD,EAAE;QAC1D,MAAM,QAAQ,GAAsB;YAChC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;YAC1C,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;YAC1C,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;SAC7C,CAAC;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,gEAAgE;QAChE,sEAAsE;QACtE,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;YAC1C,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;YAC1C,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAC;SAC7C,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4DAA4D,EAAE;QAC/D,MAAM,QAAQ,GAAsB;YAChC,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC;YACzD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC;SAC5D,CAAC;QAEF,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC;YAC3B,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC;YACzD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC;YACjD,EAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAC;SAC5D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2BAA2B,EAAE;QAC9B,MAAM,QAAQ,GAAsB,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -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;
|