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.
Files changed (469) hide show
  1. package/dist/components/EntityStatus/EntityStatus.js +2 -1
  2. package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
  3. package/dist/components/EntityStatus/EntityStatus.scss +0 -4
  4. package/dist/components/ErrorBoundary/utils.js +1 -1
  5. package/dist/components/ErrorBoundary/utils.js.map +1 -1
  6. package/dist/components/FixedHeightQuery/FixedHeightQuery.d.ts +3 -1
  7. package/dist/components/FixedHeightQuery/FixedHeightQuery.js +5 -3
  8. package/dist/components/FixedHeightQuery/FixedHeightQuery.js.map +1 -1
  9. package/dist/components/FixedHeightQuery/FixedHeightQuery.scss +5 -1
  10. package/dist/components/HoverPopup/HoverPopup.d.ts +0 -1
  11. package/dist/components/HoverPopup/HoverPopup.js +2 -4
  12. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  13. package/dist/components/InfoViewer/InfoViewer.d.ts +2 -1
  14. package/dist/components/InfoViewer/InfoViewer.js +2 -2
  15. package/dist/components/InfoViewer/InfoViewer.js.map +1 -1
  16. package/dist/components/InfoViewer/InfoViewer.scss +20 -0
  17. package/dist/components/MemoryViewer/MemoryViewer.d.ts +1 -1
  18. package/dist/components/MemoryViewer/MemoryViewer.js +3 -3
  19. package/dist/components/MemoryViewer/MemoryViewer.js.map +1 -1
  20. package/dist/components/MemoryViewer/MemoryViewer.scss +5 -13
  21. package/dist/components/MemoryViewer/i18n/en.json +2 -1
  22. package/dist/components/MemoryViewer/i18n/index.d.ts +1 -1
  23. package/dist/components/MemoryViewer/utils.d.ts +3 -3
  24. package/dist/components/MemoryViewer/utils.js +12 -1
  25. package/dist/components/MemoryViewer/utils.js.map +1 -1
  26. package/dist/components/NodeId/NodeId.d.ts +5 -0
  27. package/dist/components/NodeId/NodeId.js +9 -0
  28. package/dist/components/NodeId/NodeId.js.map +1 -0
  29. package/dist/components/PDiskPopup/PDiskPopup.js +3 -1
  30. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  31. package/dist/components/PaginatedTable/PaginatedTable.scss +6 -0
  32. package/dist/components/ProgressViewer/ProgressViewer.d.ts +1 -1
  33. package/dist/components/ProgressViewer/ProgressViewer.js +2 -9
  34. package/dist/components/ProgressViewer/ProgressViewer.js.map +1 -1
  35. package/dist/components/ProgressWrapper/ProgressContainer.d.ts +2 -0
  36. package/dist/components/ProgressWrapper/ProgressContainer.js +8 -0
  37. package/dist/components/ProgressWrapper/ProgressContainer.js.map +1 -0
  38. package/dist/components/ProgressWrapper/ProgressWrapper.d.ts +2 -0
  39. package/dist/components/ProgressWrapper/ProgressWrapper.js +10 -0
  40. package/dist/components/ProgressWrapper/ProgressWrapper.js.map +1 -0
  41. package/dist/components/ProgressWrapper/SingleProgress.d.ts +2 -0
  42. package/dist/components/ProgressWrapper/SingleProgress.js +24 -0
  43. package/dist/components/ProgressWrapper/SingleProgress.js.map +1 -0
  44. package/dist/components/ProgressWrapper/StackProgress.d.ts +2 -0
  45. package/dist/components/ProgressWrapper/StackProgress.js +39 -0
  46. package/dist/components/ProgressWrapper/StackProgress.js.map +1 -0
  47. package/dist/components/ProgressWrapper/i18n/en.json +4 -0
  48. package/dist/components/ProgressWrapper/i18n/index.d.ts +2 -0
  49. package/dist/components/ProgressWrapper/i18n/index.js +8 -0
  50. package/dist/components/ProgressWrapper/i18n/index.js.map +1 -0
  51. package/dist/components/ProgressWrapper/index.d.ts +6 -0
  52. package/dist/components/ProgressWrapper/index.js +9 -0
  53. package/dist/components/ProgressWrapper/index.js.map +1 -0
  54. package/dist/components/ProgressWrapper/progressUtils.d.ts +13 -0
  55. package/dist/components/ProgressWrapper/progressUtils.js +35 -0
  56. package/dist/components/ProgressWrapper/progressUtils.js.map +1 -0
  57. package/dist/components/ProgressWrapper/types.d.ts +29 -0
  58. package/dist/components/ProgressWrapper/types.js +2 -0
  59. package/dist/components/ProgressWrapper/types.js.map +1 -0
  60. package/dist/components/QueriesActivityBar/QueriesActivityAlert.d.ts +8 -0
  61. package/dist/components/QueriesActivityBar/QueriesActivityAlert.js +26 -0
  62. package/dist/components/QueriesActivityBar/QueriesActivityAlert.js.map +1 -0
  63. package/dist/components/QueriesActivityBar/QueriesActivityAlert.scss +25 -0
  64. package/dist/components/QueriesActivityBar/QueriesActivityBar.js +16 -96
  65. package/dist/components/QueriesActivityBar/QueriesActivityBar.js.map +1 -1
  66. package/dist/components/QueriesActivityBar/QueriesActivityBar.scss +2 -48
  67. package/dist/components/QueriesActivityBar/QueriesActivityCharts.js +10 -7
  68. package/dist/components/QueriesActivityBar/QueriesActivityCharts.js.map +1 -1
  69. package/dist/components/QueriesActivityBar/QueriesActivityExpandable.d.ts +21 -0
  70. package/dist/components/QueriesActivityBar/QueriesActivityExpandable.js +34 -0
  71. package/dist/components/QueriesActivityBar/QueriesActivityExpandable.js.map +1 -0
  72. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.d.ts +2 -0
  73. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.js +9 -0
  74. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.js.map +1 -0
  75. package/dist/components/QueriesActivityBar/QueriesActivitySkeleton.scss +6 -0
  76. package/dist/components/QueriesActivityBar/useQueriesActivityData.d.ts +11 -0
  77. package/dist/components/QueriesActivityBar/useQueriesActivityData.js +71 -0
  78. package/dist/components/QueriesActivityBar/useQueriesActivityData.js.map +1 -0
  79. package/dist/components/SeeAllButton/SeeAllButton.d.ts +7 -0
  80. package/dist/components/SeeAllButton/SeeAllButton.js +9 -0
  81. package/dist/components/SeeAllButton/SeeAllButton.js.map +1 -0
  82. package/dist/components/SeeAllButton/i18n/en.json +3 -0
  83. package/dist/components/SeeAllButton/i18n/index.d.ts +2 -0
  84. package/dist/components/SeeAllButton/i18n/index.js +5 -0
  85. package/dist/components/SeeAllButton/i18n/index.js.map +1 -0
  86. package/dist/components/ShardsTable/columns.js +5 -6
  87. package/dist/components/ShardsTable/columns.js.map +1 -1
  88. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js +2 -1
  89. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js.map +1 -1
  90. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.scss +0 -3
  91. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.d.ts +2 -0
  92. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js +4 -9
  93. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js.map +1 -1
  94. package/dist/components/SyntaxHighlighter/themes.d.ts +6 -6
  95. package/dist/components/SyntaxHighlighter/themes.js +8 -0
  96. package/dist/components/SyntaxHighlighter/themes.js.map +1 -1
  97. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.d.ts +6 -0
  98. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js +6 -0
  99. package/dist/components/TitleWithHelpmark/TitleWithHelpmark.js.map +1 -0
  100. package/dist/components/VDisk/VDisk.js +5 -1
  101. package/dist/components/VDisk/VDisk.js.map +1 -1
  102. package/dist/components/VDisk/utils.d.ts +3 -1
  103. package/dist/components/VDisk/utils.js +7 -20
  104. package/dist/components/VDisk/utils.js.map +1 -1
  105. package/dist/components/VDiskInfo/VDiskInfo.js +52 -45
  106. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  107. package/dist/components/VDiskInfo/i18n/en.json +1 -0
  108. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  109. package/dist/components/VDiskPopup/VDiskPopup.js +43 -31
  110. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  111. package/dist/components/VDiskPopup/i18n/en.json +21 -0
  112. package/dist/components/VDiskPopup/i18n/index.d.ts +1 -0
  113. package/dist/components/VDiskPopup/i18n/index.js +5 -0
  114. package/dist/components/VDiskPopup/i18n/index.js.map +1 -0
  115. package/dist/components/VersionsBar/VersionsBar.d.ts +7 -0
  116. package/dist/components/VersionsBar/VersionsBar.js +83 -0
  117. package/dist/components/VersionsBar/VersionsBar.js.map +1 -0
  118. package/dist/components/VersionsBar/VersionsBar.scss +36 -0
  119. package/dist/components/VersionsBar/i18n/en.json +8 -0
  120. package/dist/components/VersionsBar/i18n/index.d.ts +2 -0
  121. package/dist/components/VersionsBar/i18n/index.js +5 -0
  122. package/dist/components/VersionsBar/i18n/index.js.map +1 -0
  123. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +1 -1
  124. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  125. package/dist/components/nodesColumns/columns.js +3 -3
  126. package/dist/components/nodesColumns/columns.js.map +1 -1
  127. package/dist/components/nodesColumns/constants.d.ts +1 -0
  128. package/dist/components/nodesColumns/constants.js +5 -0
  129. package/dist/components/nodesColumns/constants.js.map +1 -1
  130. package/dist/containers/App/App.scss +4 -0
  131. package/dist/containers/App/Content.js +2 -1
  132. package/dist/containers/App/Content.js.map +1 -1
  133. package/dist/containers/AsideNavigation/AsideNavigation.scss +1 -1
  134. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js +0 -8
  135. package/dist/containers/AsideNavigation/hooks/useHotkeysPanel.js.map +1 -1
  136. package/dist/containers/AsideNavigation/i18n/en.json +0 -2
  137. package/dist/containers/AsideNavigation/i18n/index.d.ts +1 -1
  138. package/dist/containers/Cluster/VersionsBar/VersionsBar.d.ts +1 -1
  139. package/dist/containers/Cluster/VersionsBar/VersionsBar.js.map +1 -1
  140. package/dist/containers/Clusters/Clusters.scss +0 -8
  141. package/dist/containers/Clusters/columns.js +4 -12
  142. package/dist/containers/Clusters/columns.js.map +1 -1
  143. package/dist/containers/Clusters/i18n/en.json +4 -1
  144. package/dist/containers/Header/Header.js +56 -8
  145. package/dist/containers/Header/Header.js.map +1 -1
  146. package/dist/containers/Header/breadcrumbs.d.ts +1 -0
  147. package/dist/containers/Header/breadcrumbs.js +27 -15
  148. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  149. package/dist/containers/Header/i18n/en.json +5 -2
  150. package/dist/containers/Header/i18n/index.d.ts +1 -1
  151. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +3 -1
  152. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js.map +1 -1
  153. package/dist/containers/Node/Node.js +18 -9
  154. package/dist/containers/Node/Node.js.map +1 -1
  155. package/dist/containers/Node/NodePages.d.ts +5 -0
  156. package/dist/containers/Node/NodePages.js +7 -0
  157. package/dist/containers/Node/NodePages.js.map +1 -1
  158. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.d.ts +8 -0
  159. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.js +14 -0
  160. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.js.map +1 -0
  161. package/dist/containers/Node/Threads/CpuUsageBar/CpuUsageBar.scss +6 -0
  162. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.d.ts +8 -0
  163. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.js +72 -0
  164. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.js.map +1 -0
  165. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.scss +10 -0
  166. package/dist/containers/Node/Threads/Threads.d.ts +6 -0
  167. package/dist/containers/Node/Threads/Threads.js +17 -0
  168. package/dist/containers/Node/Threads/Threads.js.map +1 -0
  169. package/dist/containers/Node/Threads/columns.d.ts +3 -0
  170. package/dist/containers/Node/Threads/columns.js +52 -0
  171. package/dist/containers/Node/Threads/columns.js.map +1 -0
  172. package/dist/containers/Node/Threads/i18n/en.json +11 -0
  173. package/dist/containers/Node/Threads/i18n/index.d.ts +2 -0
  174. package/dist/containers/{Tenant/Acl → Node/Threads}/i18n/index.js +1 -1
  175. package/dist/containers/Node/Threads/i18n/index.js.map +1 -0
  176. package/dist/containers/Node/i18n/en.json +1 -0
  177. package/dist/containers/Node/i18n/index.d.ts +1 -1
  178. package/dist/containers/Nodes/Nodes.js +9 -4
  179. package/dist/containers/Nodes/Nodes.js.map +1 -1
  180. package/dist/containers/Nodes/NodesControls/NodesControls.js +3 -1
  181. package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
  182. package/dist/containers/Nodes/useNodesPageQueryParams.js +5 -1
  183. package/dist/containers/Nodes/useNodesPageQueryParams.js.map +1 -1
  184. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +6 -5
  185. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
  186. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +9 -4
  187. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  188. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +1 -0
  189. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +5 -0
  190. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  191. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +9 -4
  192. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  193. package/dist/containers/Storage/utils/index.js +3 -1
  194. package/dist/containers/Storage/utils/index.js.map +1 -1
  195. package/dist/containers/StorageGroupPage/StorageGroupPage.js +6 -4
  196. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  197. package/dist/containers/Tablet/Tablet.js +3 -1
  198. package/dist/containers/Tablet/Tablet.js.map +1 -1
  199. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +5 -3
  200. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
  201. package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -1
  202. package/dist/containers/Tablet/components/TabletTable/TabletTable.js +2 -2
  203. package/dist/containers/Tablet/components/TabletTable/TabletTable.js.map +1 -1
  204. package/dist/containers/Tablets/TabletsTable.js +6 -4
  205. package/dist/containers/Tablets/TabletsTable.js.map +1 -1
  206. package/dist/containers/Tenant/Diagnostics/AccessRights/AccessRights.scss +0 -6
  207. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js +4 -6
  208. package/dist/containers/Tenant/Diagnostics/AccessRights/components/RightsTable/columns.js.map +1 -1
  209. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +8 -4
  210. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  211. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -0
  212. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +9 -3
  213. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  214. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.d.ts +1 -1
  215. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js +4 -1
  216. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js.map +1 -1
  217. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -2
  218. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  219. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.d.ts +1 -1
  220. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -0
  221. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  222. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +1 -1
  223. package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.d.ts → MetricsTabs/MetricsTabs.d.ts} +4 -3
  224. package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.js → MetricsTabs/MetricsTabs.js} +16 -9
  225. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -0
  226. package/dist/containers/Tenant/Diagnostics/TenantOverview/{MetricsCards/MetricsCards.scss → MetricsTabs/MetricsTabs.scss} +5 -5
  227. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.d.ts +11 -0
  228. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.js +10 -0
  229. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.js.map +1 -0
  230. package/dist/containers/Tenant/Diagnostics/TenantOverview/StatsWrapper/StatsWrapper.scss +14 -0
  231. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.d.ts +2 -4
  232. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js +2 -2
  233. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.js.map +1 -1
  234. package/dist/containers/Tenant/Diagnostics/TenantOverview/TabCard/TabCard.scss +2 -4
  235. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +13 -2
  236. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js.map +1 -1
  237. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +2 -14
  238. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js.map +1 -1
  239. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +2 -14
  240. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js.map +1 -1
  241. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +13 -46
  242. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js.map +1 -1
  243. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +1 -17
  244. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js.map +1 -1
  245. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js +9 -2
  246. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js.map +1 -1
  247. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.scss +1 -1
  248. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.d.ts +7 -0
  249. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.js +34 -0
  250. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.js.map +1 -0
  251. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemoryDetailsSection.scss +44 -0
  252. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.d.ts +7 -0
  253. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.js +28 -0
  254. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/MemorySegmentsList.js.map +1 -0
  255. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.d.ts +1 -0
  256. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +28 -5
  257. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js.map +1 -1
  258. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.scss +20 -0
  259. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +2 -14
  260. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js.map +1 -1
  261. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.d.ts +8 -0
  262. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +26 -0
  263. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -0
  264. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.scss +9 -0
  265. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.d.ts +7 -0
  266. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.js +28 -0
  267. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesByPing.js.map +1 -0
  268. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.d.ts +7 -0
  269. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.js +28 -0
  270. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TopNodesBySkew.js.map +1 -0
  271. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.d.ts +76 -0
  272. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.js +38 -0
  273. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/columns.js.map +1 -0
  274. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +9 -3
  275. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  276. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +6 -7
  277. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.d.ts +1 -1
  278. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +1 -1
  279. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js.map +1 -1
  280. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.d.ts +0 -1
  281. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +13 -7
  282. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  283. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -15
  284. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  285. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.d.ts +0 -1
  286. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +14 -19
  287. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js.map +1 -1
  288. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +19 -21
  289. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  290. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.d.ts +22 -0
  291. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js +29 -0
  292. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js.map +1 -0
  293. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +2 -24
  294. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
  295. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +2 -13
  296. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
  297. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +10 -13
  298. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
  299. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +3 -1
  300. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -1
  301. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +0 -4
  302. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  303. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js +0 -2
  304. package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js.map +1 -1
  305. package/dist/containers/Tenant/Query/QueryEditor/keybindings.d.ts +0 -2
  306. package/dist/containers/Tenant/Query/QueryEditor/keybindings.js +0 -2
  307. package/dist/containers/Tenant/Query/QueryEditor/keybindings.js.map +1 -1
  308. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +25 -19
  309. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  310. package/dist/containers/Tenant/TenantPages.d.ts +2 -5
  311. package/dist/containers/Tenant/TenantPages.js +0 -4
  312. package/dist/containers/Tenant/TenantPages.js.map +1 -1
  313. package/dist/containers/Tenant/useTenantQueryParams.js +2 -2
  314. package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -1
  315. package/dist/containers/Tenants/Tenants.js +1 -1
  316. package/dist/containers/Tenants/Tenants.js.map +1 -1
  317. package/dist/containers/Tenants/Tenants.scss +0 -4
  318. package/dist/containers/VDiskPage/VDiskPage.js +40 -25
  319. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  320. package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.d.ts +3 -1
  321. package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js +10 -11
  322. package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js.map +1 -1
  323. package/dist/containers/VDiskPage/VDiskTablets/columns.js +6 -1
  324. package/dist/containers/VDiskPage/VDiskTablets/columns.js.map +1 -1
  325. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.d.ts +1 -1
  326. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js.map +1 -1
  327. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.d.ts +1 -1
  328. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js.map +1 -1
  329. package/dist/containers/Versions/Versions.js +8 -8
  330. package/dist/containers/Versions/Versions.js.map +1 -1
  331. package/dist/containers/Versions/groupNodes.d.ts +4 -4
  332. package/dist/containers/Versions/groupNodes.js +9 -9
  333. package/dist/containers/Versions/groupNodes.js.map +1 -1
  334. package/dist/containers/Versions/groupNodes.test.js +22 -20
  335. package/dist/containers/Versions/groupNodes.test.js.map +1 -1
  336. package/dist/containers/Versions/types.d.ts +1 -1
  337. package/dist/containers/Versions/utils.d.ts +4 -4
  338. package/dist/containers/Versions/utils.js +15 -15
  339. package/dist/containers/Versions/utils.js.map +1 -1
  340. package/dist/routes.d.ts +5 -7
  341. package/dist/routes.js +1 -1
  342. package/dist/routes.js.map +1 -1
  343. package/dist/services/api/index.d.ts +6 -4
  344. package/dist/services/api/index.js +2 -2
  345. package/dist/services/api/index.js.map +1 -1
  346. package/dist/services/api/viewer.d.ts +12 -11
  347. package/dist/services/api/viewer.js +12 -12
  348. package/dist/services/api/viewer.js.map +1 -1
  349. package/dist/store/reducers/authentication/authentication.d.ts +5 -0
  350. package/dist/store/reducers/authentication/authentication.js +4 -2
  351. package/dist/store/reducers/authentication/authentication.js.map +1 -1
  352. package/dist/store/reducers/authentication/types.d.ts +1 -0
  353. package/dist/store/reducers/capabilities/capabilities.d.ts +125 -0
  354. package/dist/store/reducers/capabilities/capabilities.js +1 -0
  355. package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
  356. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  357. package/dist/store/reducers/capabilities/hooks.js +5 -1
  358. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  359. package/dist/store/reducers/cluster/cluster.js +5 -1
  360. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  361. package/dist/store/reducers/clusters/types.d.ts +2 -2
  362. package/dist/store/reducers/clusters/utils.js +3 -3
  363. package/dist/store/reducers/clusters/utils.js.map +1 -1
  364. package/dist/store/reducers/header/types.d.ts +3 -1
  365. package/dist/store/reducers/node/node.d.ts +1 -0
  366. package/dist/store/reducers/node/node.js +2 -2
  367. package/dist/store/reducers/node/node.js.map +1 -1
  368. package/dist/store/reducers/nodesList.d.ts +268 -4
  369. package/dist/store/reducers/nodesList.js +4 -4
  370. package/dist/store/reducers/nodesList.js.map +1 -1
  371. package/dist/store/reducers/pdisk/pdisk.js +1 -1
  372. package/dist/store/reducers/pdisk/pdisk.js.map +1 -1
  373. package/dist/store/reducers/query/__test__/tabPersistence.test.d.ts +1 -0
  374. package/dist/store/reducers/query/__test__/tabPersistence.test.js +62 -0
  375. package/dist/store/reducers/query/__test__/tabPersistence.test.js.map +1 -0
  376. package/dist/store/reducers/query/query.d.ts +14 -1
  377. package/dist/store/reducers/query/query.js +10 -2
  378. package/dist/store/reducers/query/query.js.map +1 -1
  379. package/dist/store/reducers/query/types.d.ts +4 -0
  380. package/dist/store/reducers/tablet.d.ts +1 -0
  381. package/dist/store/reducers/tablet.js +3 -3
  382. package/dist/store/reducers/tablet.js.map +1 -1
  383. package/dist/store/reducers/tablets.d.ts +1 -1
  384. package/dist/store/reducers/tablets.js +1 -1
  385. package/dist/store/reducers/tablets.js.map +1 -1
  386. package/dist/store/reducers/tenant/constants.d.ts +1 -1
  387. package/dist/store/reducers/tenant/constants.js +1 -1
  388. package/dist/store/reducers/tenant/constants.js.map +1 -1
  389. package/dist/store/reducers/tenant/tenant.d.ts +4 -1
  390. package/dist/store/reducers/tenant/tenant.js +16 -2
  391. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  392. package/dist/store/reducers/tenant/types.d.ts +1 -1
  393. package/dist/store/reducers/vdisk/utils.d.ts +5 -7
  394. package/dist/store/reducers/vdisk/utils.js +9 -9
  395. package/dist/store/reducers/vdisk/utils.js.map +1 -1
  396. package/dist/store/reducers/vdisk/vdisk.d.ts +11 -6
  397. package/dist/store/reducers/vdisk/vdisk.js +19 -10
  398. package/dist/store/reducers/vdisk/vdisk.js.map +1 -1
  399. package/dist/styles/mixins.scss +6 -0
  400. package/dist/types/api/capabilities.d.ts +3 -0
  401. package/dist/types/api/nodes.d.ts +3 -0
  402. package/dist/types/api/nodes.js.map +1 -1
  403. package/dist/types/api/threads.d.ts +60 -0
  404. package/dist/types/api/threads.js +32 -0
  405. package/dist/types/api/threads.js.map +1 -0
  406. package/dist/types/api/vdisk.d.ts +0 -8
  407. package/dist/types/api/vdisk.js.map +1 -1
  408. package/dist/types/api/whoami.d.ts +3 -1
  409. package/dist/uiFactory/types.d.ts +1 -0
  410. package/dist/uiFactory/uiFactory.js +1 -0
  411. package/dist/uiFactory/uiFactory.js.map +1 -1
  412. package/dist/utils/constants.d.ts +2 -1
  413. package/dist/utils/constants.js +2 -1
  414. package/dist/utils/constants.js.map +1 -1
  415. package/dist/utils/hooks/index.d.ts +1 -0
  416. package/dist/utils/hooks/index.js +1 -0
  417. package/dist/utils/hooks/index.js.map +1 -1
  418. package/dist/utils/hooks/useIsUserAllowedToMakeChanges.d.ts +1 -0
  419. package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js +4 -1
  420. package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js.map +1 -1
  421. package/dist/utils/hooks/useScrollPosition.d.ts +7 -0
  422. package/dist/utils/hooks/useScrollPosition.js +100 -0
  423. package/dist/utils/hooks/useScrollPosition.js.map +1 -0
  424. package/dist/utils/metrics/formatMetricLegend.d.ts +1 -0
  425. package/dist/utils/metrics/formatMetricLegend.js +21 -0
  426. package/dist/utils/metrics/formatMetricLegend.js.map +1 -1
  427. package/dist/utils/metrics.d.ts +1 -1
  428. package/dist/utils/metrics.js +1 -1
  429. package/dist/utils/progress.d.ts +2 -0
  430. package/dist/utils/progress.js +7 -0
  431. package/dist/utils/progress.js.map +1 -1
  432. package/dist/utils/versions/__test__/sortVersions.test.d.ts +1 -0
  433. package/dist/utils/versions/__test__/sortVersions.test.js +106 -0
  434. package/dist/utils/versions/__test__/sortVersions.test.js.map +1 -0
  435. package/dist/utils/versions/clusterVersionColors.d.ts +5 -0
  436. package/dist/utils/versions/clusterVersionColors.js +71 -0
  437. package/dist/utils/versions/clusterVersionColors.js.map +1 -0
  438. package/dist/utils/versions/getVersionsColors.d.ts +4 -3
  439. package/dist/utils/versions/getVersionsColors.js +24 -9
  440. package/dist/utils/versions/getVersionsColors.js.map +1 -1
  441. package/dist/utils/versions/parseNodesToVersionsValues.d.ts +3 -3
  442. package/dist/utils/versions/parseNodesToVersionsValues.js +5 -5
  443. package/dist/utils/versions/parseNodesToVersionsValues.js.map +1 -1
  444. package/dist/utils/versions/parseVersion.js +0 -4
  445. package/dist/utils/versions/parseVersion.js.map +1 -1
  446. package/dist/utils/versions/sortVersions.d.ts +18 -0
  447. package/dist/utils/versions/sortVersions.js +41 -0
  448. package/dist/utils/versions/sortVersions.js.map +1 -0
  449. package/dist/utils/versions/types.d.ts +22 -0
  450. package/dist/utils/versions/types.js +2 -0
  451. package/dist/utils/versions/types.js.map +1 -0
  452. package/package.json +2 -2
  453. package/dist/components/HoverPopup/HoverPopup.scss +0 -3
  454. package/dist/containers/Tenant/Acl/Acl.d.ts +0 -1
  455. package/dist/containers/Tenant/Acl/Acl.js +0 -15
  456. package/dist/containers/Tenant/Acl/Acl.js.map +0 -1
  457. package/dist/containers/Tenant/Acl/i18n/en.json +0 -4
  458. package/dist/containers/Tenant/Acl/i18n/index.d.ts +0 -2
  459. package/dist/containers/Tenant/Acl/i18n/index.js.map +0 -1
  460. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js.map +0 -1
  461. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.d.ts +0 -9
  462. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js +0 -12
  463. package/dist/containers/Tenant/Diagnostics/TenantOverview/getSectionTitle.js.map +0 -1
  464. package/dist/types/versions.d.ts +0 -8
  465. package/dist/types/versions.js +0 -2
  466. package/dist/types/versions.js.map +0 -1
  467. package/dist/utils/clusterVersionColors.d.ts +0 -11
  468. package/dist/utils/clusterVersionColors.js +0 -53
  469. 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"}
@@ -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 MetricsCards.tsx
40
+ * This replaces the repetitive calculation logic from MetricsTabs.tsx
41
41
  */
42
42
  export declare const calculateMetricAggregates: <T extends MetricStats>(items?: T[]) => MetricAggregates;
@@ -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 MetricsCards.tsx
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
@@ -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;
@@ -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;AAYhF,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"}
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,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 { VersionToColorMap, VersionsMap } from '../../types/versions';
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 getVersionToColorMap: (versionsMap: VersionsMap) => VersionToColorMap;
9
- export declare const parseVersionsToVersionToColorMap: (versions?: string[]) => VersionToColorMap;
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 getVersionToColorMap = (versionsMap) => {
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 versionToColor = new Map();
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
- // Use fisrt color for major
135
- versionToColor.set(item.version, COLORS[currentColorIndex][0]);
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
- versionToColor.set(minor.version, minorColor);
156
+ versionsDataMap.set(minor.version, {
157
+ color: minorColor,
158
+ majorIndex: currentColorIndex,
159
+ minorIndex: minorIndex,
160
+ });
153
161
  });
154
162
  }
155
163
  else {
156
- versionToColor.set(item.version, DEFAULT_COLOR);
164
+ versionsDataMap.set(item.version, {
165
+ color: DEFAULT_COLOR,
166
+ });
157
167
  }
158
168
  });
159
- return versionToColor;
169
+ return versionsDataMap;
160
170
  };
161
- export const parseVersionsToVersionToColorMap = (versions = []) => {
162
- return getVersionToColorMap(getVersionsMap(versions));
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":"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"}
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 { VersionToColorMap, VersionValue } from '../../types/versions';
4
- export declare const parseNodesToVersionsValues: (nodes?: TSystemStateInfo[], versionsToColor?: VersionToColorMap) => VersionValue[];
5
- export declare function parseNodeGroupsToVersionsValues(groups: NodesGroup[], versionsToColor?: VersionToColorMap, total?: number): VersionValue[];
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 { getMinorVersion } from './parseVersion';
1
+ import { getColorFromVersionsData } from './getVersionsColors';
2
2
  const MIN_VALUE = 0.5;
3
- export const parseNodesToVersionsValues = (nodes = [], versionsToColor) => {
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, versionsToColor, total) {
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":"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"}
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,MAAM,kBAAkB,GAAG,8BAA8B,CAAC;IAC1D,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,qCAAqC;IAClF,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"}
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[];