ydb-embedded-ui 8.24.1 → 8.26.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 (363) hide show
  1. package/dist/assets/icons/overview.svg +1 -0
  2. package/dist/components/ConnectToDB/ConnectToDBDialog.js +17 -2
  3. package/dist/components/ConnectToDB/ConnectToDBDialog.js.map +1 -1
  4. package/dist/components/ConnectToDB/__test__/utils.test.d.ts +1 -0
  5. package/dist/components/ConnectToDB/__test__/utils.test.js +34 -0
  6. package/dist/components/ConnectToDB/__test__/utils.test.js.map +1 -0
  7. package/dist/components/ConnectToDB/snippets.d.ts +1 -1
  8. package/dist/components/ConnectToDB/snippets.js +6 -1
  9. package/dist/components/ConnectToDB/snippets.js.map +1 -1
  10. package/dist/components/ConnectToDB/utils.d.ts +1 -0
  11. package/dist/components/ConnectToDB/utils.js +19 -0
  12. package/dist/components/ConnectToDB/utils.js.map +1 -0
  13. package/dist/components/CopyLinkButton/CopyLinkButton.d.ts +6 -0
  14. package/dist/components/CopyLinkButton/CopyLinkButton.js +33 -0
  15. package/dist/components/CopyLinkButton/CopyLinkButton.js.map +1 -0
  16. package/dist/components/CopyLinkButton/CopyLinkButton.scss +6 -0
  17. package/dist/components/CopyLinkButton/i18n/en.json +4 -0
  18. package/dist/components/CopyLinkButton/i18n/index.d.ts +2 -0
  19. package/dist/components/CopyLinkButton/i18n/index.js +5 -0
  20. package/dist/components/CopyLinkButton/i18n/index.js.map +1 -0
  21. package/dist/components/DebouncedInput/DebouncedTextInput.d.ts +6 -0
  22. package/dist/components/DebouncedInput/DebouncedTextInput.js +8 -0
  23. package/dist/components/DebouncedInput/DebouncedTextInput.js.map +1 -0
  24. package/dist/components/DoughnutMetrics/DoughnutMetrics.d.ts +3 -1
  25. package/dist/components/DoughnutMetrics/DoughnutMetrics.js +13 -12
  26. package/dist/components/DoughnutMetrics/DoughnutMetrics.js.map +1 -1
  27. package/dist/components/DoughnutMetrics/DoughnutMetrics.scss +14 -7
  28. package/dist/components/Drawer/Drawer.d.ts +30 -0
  29. package/dist/components/Drawer/Drawer.js +83 -0
  30. package/dist/components/Drawer/Drawer.js.map +1 -0
  31. package/dist/components/Drawer/Drawer.scss +38 -0
  32. package/dist/components/Drawer/DrawerContext.d.ts +13 -0
  33. package/dist/components/Drawer/DrawerContext.js +47 -0
  34. package/dist/components/Drawer/DrawerContext.js.map +1 -0
  35. package/dist/components/Drawer/index.d.ts +3 -0
  36. package/dist/components/Drawer/index.js +3 -0
  37. package/dist/components/Drawer/index.js.map +1 -0
  38. package/dist/components/EmptyState/EmptyState.scss +3 -0
  39. package/dist/components/EntityStatusNew/EntityStatus.d.ts +23 -0
  40. package/dist/components/EntityStatusNew/EntityStatus.js +47 -0
  41. package/dist/components/EntityStatusNew/EntityStatus.js.map +1 -0
  42. package/dist/components/EntityStatusNew/EntityStatus.scss +10 -0
  43. package/dist/components/EntityStatusNew/i18n/en.json +14 -0
  44. package/dist/components/EntityStatusNew/i18n/index.d.ts +2 -0
  45. package/dist/components/EntityStatusNew/i18n/index.js +5 -0
  46. package/dist/components/EntityStatusNew/i18n/index.js.map +1 -0
  47. package/dist/components/EntityStatusNew/utils.d.ts +2 -0
  48. package/dist/components/EntityStatusNew/utils.js +23 -0
  49. package/dist/components/EntityStatusNew/utils.js.map +1 -0
  50. package/dist/components/HoverPopup/HoverPopup.d.ts +2 -2
  51. package/dist/components/HoverPopup/HoverPopup.js +3 -3
  52. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  53. package/dist/components/JsonViewer/JsonViewer.d.ts +7 -3
  54. package/dist/components/JsonViewer/JsonViewer.js +11 -1
  55. package/dist/components/JsonViewer/JsonViewer.js.map +1 -1
  56. package/dist/components/JsonViewer/unipika/unipika.js +9 -1
  57. package/dist/components/JsonViewer/unipika/unipika.js.map +1 -1
  58. package/dist/components/MemoryViewer/MemoryViewer.js +2 -2
  59. package/dist/components/MemoryViewer/MemoryViewer.js.map +1 -1
  60. package/dist/components/MetricChart/getDefaultDataFormatter.js +4 -11
  61. package/dist/components/MetricChart/getDefaultDataFormatter.js.map +1 -1
  62. package/dist/components/MultilineTableHeader/MultilineTableHeader.d.ts +6 -0
  63. package/dist/components/MultilineTableHeader/MultilineTableHeader.js +11 -0
  64. package/dist/components/MultilineTableHeader/MultilineTableHeader.js.map +1 -0
  65. package/dist/components/MultilineTableHeader/MultilineTableHeader.scss +3 -0
  66. package/dist/components/PaginatedTable/PaginatedTable.d.ts +5 -3
  67. package/dist/components/PaginatedTable/PaginatedTable.js +17 -8
  68. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  69. package/dist/components/PaginatedTable/PaginatedTable.scss +33 -14
  70. package/dist/components/PaginatedTable/TableChunk.d.ts +4 -3
  71. package/dist/components/PaginatedTable/TableChunk.js +10 -5
  72. package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
  73. package/dist/components/PaginatedTable/TableHead.js +7 -1
  74. package/dist/components/PaginatedTable/TableHead.js.map +1 -1
  75. package/dist/components/PaginatedTable/TableRow.d.ts +2 -4
  76. package/dist/components/PaginatedTable/TableRow.js +6 -5
  77. package/dist/components/PaginatedTable/TableRow.js.map +1 -1
  78. package/dist/components/PaginatedTable/types.d.ts +1 -1
  79. package/dist/components/PaginatedTable/useScrollBasedChunks.js +7 -0
  80. package/dist/components/PaginatedTable/useScrollBasedChunks.js.map +1 -1
  81. package/dist/components/Search/Search.d.ts +2 -1
  82. package/dist/components/Search/Search.js +3 -21
  83. package/dist/components/Search/Search.js.map +1 -1
  84. package/dist/components/StatusIcon/StatusIcon.js +3 -1
  85. package/dist/components/StatusIcon/StatusIcon.js.map +1 -1
  86. package/dist/components/StatusIcon/StatusIcon.scss +6 -0
  87. package/dist/components/StatusIconNew/StatusIcon.d.ts +7 -0
  88. package/dist/components/StatusIconNew/StatusIcon.js +19 -0
  89. package/dist/components/StatusIconNew/StatusIcon.js.map +1 -0
  90. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js +12 -1
  91. package/dist/components/SyntaxHighlighter/YDBSyntaxHighlighter.js.map +1 -1
  92. package/dist/components/Tags/Tags.d.ts +1 -3
  93. package/dist/components/Tags/Tags.js +3 -5
  94. package/dist/components/Tags/Tags.js.map +1 -1
  95. package/dist/components/VDisk/VDisk.js +1 -1
  96. package/dist/components/VDisk/VDisk.js.map +1 -1
  97. package/dist/components/nodesColumns/columns.js +1 -0
  98. package/dist/components/nodesColumns/columns.js.map +1 -1
  99. package/dist/containers/Cluster/Cluster.js +8 -6
  100. package/dist/containers/Cluster/Cluster.js.map +1 -1
  101. package/dist/containers/Cluster/Cluster.scss +7 -8
  102. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.d.ts +4 -2
  103. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +27 -17
  104. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  105. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +2 -8
  106. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.d.ts +8 -0
  107. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js +41 -0
  108. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js.map +1 -0
  109. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.scss +14 -0
  110. package/dist/containers/Cluster/ClusterInfo/utils/utils.d.ts +3 -0
  111. package/dist/containers/Cluster/ClusterInfo/utils/utils.js +21 -11
  112. package/dist/containers/Cluster/ClusterInfo/utils/utils.js.map +1 -1
  113. package/dist/containers/Cluster/{ClusterDashboard/ClusterDashboard.d.ts → ClusterOverview/ClusterOverview.d.ts} +6 -3
  114. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js +63 -0
  115. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js.map +1 -0
  116. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.scss +70 -0
  117. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCard.d.ts +21 -0
  118. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCard.js +32 -0
  119. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCard.js.map +1 -0
  120. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCores.d.ts +5 -0
  121. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCores.js +30 -0
  122. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsCores.js.map +1 -0
  123. package/dist/containers/Cluster/{ClusterDashboard → ClusterOverview}/components/ClusterMetricsMemory.d.ts +1 -1
  124. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsMemory.js +24 -0
  125. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsMemory.js.map +1 -0
  126. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.d.ts +7 -0
  127. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js +28 -0
  128. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js.map +1 -0
  129. package/dist/containers/Cluster/{ClusterDashboard → ClusterOverview}/components/ClusterMetricsStorage.d.ts +2 -1
  130. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsStorage.js +24 -0
  131. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsStorage.js.map +1 -0
  132. package/dist/containers/Cluster/{ClusterDashboard → ClusterOverview}/shared.d.ts +6 -3
  133. package/dist/containers/Cluster/ClusterOverview/shared.js.map +1 -0
  134. package/dist/containers/Cluster/ClusterOverview/utils.d.ts +19 -0
  135. package/dist/containers/Cluster/ClusterOverview/utils.js +32 -0
  136. package/dist/containers/Cluster/ClusterOverview/utils.js.map +1 -0
  137. package/dist/containers/Cluster/i18n/en.json +19 -9
  138. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  139. package/dist/containers/Cluster/utils.d.ts +2 -4
  140. package/dist/containers/Cluster/utils.js +9 -6
  141. package/dist/containers/Cluster/utils.js.map +1 -1
  142. package/dist/containers/Header/Header.js +4 -5
  143. package/dist/containers/Header/Header.js.map +1 -1
  144. package/dist/containers/Header/breadcrumbs.js +1 -4
  145. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  146. package/dist/containers/Nodes/NodesTable.js +3 -2
  147. package/dist/containers/Nodes/NodesTable.js.map +1 -1
  148. package/dist/containers/Nodes/shared.d.ts +1 -2
  149. package/dist/containers/Nodes/shared.js +0 -9
  150. package/dist/containers/Nodes/shared.js.map +1 -1
  151. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +3 -3
  152. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
  153. package/dist/containers/Storage/EmptyFilter/EmptyFilter.d.ts +2 -1
  154. package/dist/containers/Storage/EmptyFilter/EmptyFilter.js +1 -1
  155. package/dist/containers/Storage/EmptyFilter/EmptyFilter.js.map +1 -1
  156. package/dist/containers/Storage/PDisk/PDisk.d.ts +2 -1
  157. package/dist/containers/Storage/PDisk/PDisk.js +2 -2
  158. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  159. package/dist/containers/Storage/PDisk/PDisk.scss +5 -1
  160. package/dist/containers/Storage/PaginatedStorageGroups.js +2 -1
  161. package/dist/containers/Storage/PaginatedStorageGroups.js.map +1 -1
  162. package/dist/containers/Storage/PaginatedStorageNodes.js +19 -5
  163. package/dist/containers/Storage/PaginatedStorageNodes.js.map +1 -1
  164. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroupsTable.js +1 -1
  165. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroupsTable.js.map +1 -1
  166. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodesTable.d.ts +4 -3
  167. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodesTable.js +2 -2
  168. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodesTable.js.map +1 -1
  169. package/dist/containers/Storage/StorageNodes/columns/StorageNodesColumns.scss +1 -4
  170. package/dist/containers/Storage/StorageNodes/columns/columns.d.ts +1 -1
  171. package/dist/containers/Storage/StorageNodes/columns/columns.js +6 -11
  172. package/dist/containers/Storage/StorageNodes/columns/columns.js.map +1 -1
  173. package/dist/containers/Storage/StorageNodes/columns/hooks.d.ts +1 -1
  174. package/dist/containers/Storage/StorageNodes/columns/hooks.js +8 -3
  175. package/dist/containers/Storage/StorageNodes/columns/hooks.js.map +1 -1
  176. package/dist/containers/Storage/StorageNodes/columns/types.d.ts +5 -0
  177. package/dist/containers/Storage/StorageNodes/getNodes.js +1 -0
  178. package/dist/containers/Storage/StorageNodes/getNodes.js.map +1 -1
  179. package/dist/containers/Storage/shared.d.ts +0 -2
  180. package/dist/containers/Storage/shared.js +0 -9
  181. package/dist/containers/Storage/shared.js.map +1 -1
  182. package/dist/containers/Storage/types.d.ts +8 -0
  183. package/dist/containers/Storage/utils/index.d.ts +1 -0
  184. package/dist/containers/Storage/utils/index.js +1 -0
  185. package/dist/containers/Storage/utils/index.js.map +1 -1
  186. package/dist/containers/Storage/utils/useStorageColumnsSettings.d.ts +6 -0
  187. package/dist/containers/Storage/utils/useStorageColumnsSettings.js +35 -0
  188. package/dist/containers/Storage/utils/useStorageColumnsSettings.js.map +1 -0
  189. package/dist/containers/Tablet/components/TabletInfo/i18n/index.d.ts +1 -1
  190. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +16 -17
  191. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  192. package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +8 -2
  193. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +6 -33
  194. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +40 -6
  195. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  196. package/dist/containers/Tenant/Diagnostics/Partitions/Headers/Headers.d.ts +0 -5
  197. package/dist/containers/Tenant/Diagnostics/Partitions/Headers/Headers.js +0 -1
  198. package/dist/containers/Tenant/Diagnostics/Partitions/Headers/Headers.js.map +1 -1
  199. package/dist/containers/Tenant/Diagnostics/Partitions/Headers/Headers.scss +0 -4
  200. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -1
  201. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  202. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.scss +1 -15
  203. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +24 -10
  204. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js.map +1 -1
  205. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +3 -3
  206. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  207. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +2 -1
  208. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
  209. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +3 -1
  210. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
  211. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +7 -1
  212. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
  213. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/constants.js +1 -0
  214. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/constants.js.map +1 -1
  215. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useRunningQueriesSort.d.ts +9 -0
  216. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useRunningQueriesSort.js +37 -0
  217. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useRunningQueriesSort.js.map +1 -0
  218. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useSortParam.d.ts +10 -0
  219. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useSortParam.js +50 -0
  220. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useSortParam.js.map +1 -0
  221. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useTopQueriesSort.d.ts +9 -0
  222. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useTopQueriesSort.js +40 -0
  223. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useTopQueriesSort.js.map +1 -0
  224. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.d.ts +0 -10
  225. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js +0 -29
  226. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js.map +1 -1
  227. package/dist/containers/Tenant/Diagnostics/TopicData/FullValue.d.ts +7 -0
  228. package/dist/containers/Tenant/Diagnostics/TopicData/FullValue.js +14 -0
  229. package/dist/containers/Tenant/Diagnostics/TopicData/FullValue.js.map +1 -0
  230. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.d.ts +9 -0
  231. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +140 -0
  232. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -0
  233. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.scss +28 -0
  234. package/dist/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.d.ts +14 -0
  235. package/dist/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.js +68 -0
  236. package/dist/containers/Tenant/Diagnostics/TopicData/TopicDataControls/TopicDataControls.js.map +1 -0
  237. package/dist/containers/Tenant/Diagnostics/TopicData/__test__/getData.test.d.ts +1 -0
  238. package/dist/containers/Tenant/Diagnostics/TopicData/__test__/getData.test.js +122 -0
  239. package/dist/containers/Tenant/Diagnostics/TopicData/__test__/getData.test.js.map +1 -0
  240. package/dist/containers/Tenant/Diagnostics/TopicData/columns/Columns.scss +22 -0
  241. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +7 -0
  242. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +154 -0
  243. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -0
  244. package/dist/containers/Tenant/Diagnostics/TopicData/getData.d.ts +15 -0
  245. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js +54 -0
  246. package/dist/containers/Tenant/Diagnostics/TopicData/getData.js.map +1 -0
  247. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/en.json +28 -0
  248. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +2 -0
  249. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.js +5 -0
  250. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.js.map +1 -0
  251. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicDataQueryParams.d.ts +11 -0
  252. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicDataQueryParams.js +34 -0
  253. package/dist/containers/Tenant/Diagnostics/TopicData/useTopicDataQueryParams.js.map +1 -0
  254. package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.d.ts +7 -0
  255. package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js +51 -0
  256. package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js.map +1 -0
  257. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.d.ts +30 -0
  258. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js +30 -0
  259. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js.map +1 -0
  260. package/dist/containers/Tenant/ObjectSummary/ObjectTree.js +8 -2
  261. package/dist/containers/Tenant/ObjectSummary/ObjectTree.js.map +1 -1
  262. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +2 -3
  263. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  264. package/dist/containers/Tenant/TenantPages.d.ts +2 -1
  265. package/dist/containers/Tenant/TenantPages.js.map +1 -1
  266. package/dist/containers/Tenant/utils/schema.d.ts +1 -0
  267. package/dist/containers/Tenant/utils/schema.js +1 -0
  268. package/dist/containers/Tenant/utils/schema.js.map +1 -1
  269. package/dist/containers/Tenants/Tenants.js +1 -1
  270. package/dist/containers/Tenants/Tenants.js.map +1 -1
  271. package/dist/containers/Tenants/Tenants.scss +0 -4
  272. package/dist/containers/UserSettings/i18n/en.json +1 -0
  273. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  274. package/dist/containers/UserSettings/settings.d.ts +1 -0
  275. package/dist/containers/UserSettings/settings.js +11 -2
  276. package/dist/containers/UserSettings/settings.js.map +1 -1
  277. package/dist/services/api/meta.d.ts +4 -1
  278. package/dist/services/api/meta.js +2 -1
  279. package/dist/services/api/meta.js.map +1 -1
  280. package/dist/services/api/viewer.d.ts +5 -2
  281. package/dist/services/api/viewer.js +7 -1
  282. package/dist/services/api/viewer.js.map +1 -1
  283. package/dist/services/settings.d.ts +2 -0
  284. package/dist/services/settings.js +3 -1
  285. package/dist/services/settings.js.map +1 -1
  286. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  287. package/dist/store/reducers/capabilities/hooks.js +3 -0
  288. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  289. package/dist/store/reducers/cluster/cluster.d.ts +2 -2
  290. package/dist/store/reducers/cluster/cluster.js +13 -6
  291. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  292. package/dist/store/reducers/executeTopQueries/executeTopQueries.js +4 -2
  293. package/dist/store/reducers/executeTopQueries/executeTopQueries.js.map +1 -1
  294. package/dist/store/reducers/storage/types.d.ts +6 -2
  295. package/dist/store/reducers/storage/utils.d.ts +2 -2
  296. package/dist/store/reducers/storage/utils.js +10 -9
  297. package/dist/store/reducers/storage/utils.js.map +1 -1
  298. package/dist/store/reducers/tenant/constants.d.ts +1 -0
  299. package/dist/store/reducers/tenant/constants.js +1 -0
  300. package/dist/store/reducers/tenant/constants.js.map +1 -1
  301. package/dist/store/reducers/tenant/tenant.d.ts +1 -0
  302. package/dist/store/reducers/tenant/tenant.js +8 -2
  303. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  304. package/dist/store/reducers/tenants/tenants.js +2 -2
  305. package/dist/store/reducers/tenants/tenants.js.map +1 -1
  306. package/dist/store/reducers/topic.d.ts +12 -0
  307. package/dist/store/reducers/topic.js +16 -0
  308. package/dist/store/reducers/topic.js.map +1 -1
  309. package/dist/styles/mixins.scss +0 -20
  310. package/dist/types/api/capabilities.d.ts +1 -1
  311. package/dist/types/api/cluster.d.ts +8 -1
  312. package/dist/types/api/cluster.js +7 -3
  313. package/dist/types/api/cluster.js.map +1 -1
  314. package/dist/types/api/topic.d.ts +117 -0
  315. package/dist/utils/constants.d.ts +2 -0
  316. package/dist/utils/constants.js +2 -0
  317. package/dist/utils/constants.js.map +1 -1
  318. package/dist/utils/dataFormatters/dataFormatters.js +1 -1
  319. package/dist/utils/dataFormatters/dataFormatters.js.map +1 -1
  320. package/dist/utils/hooks/useDebouncedValue.d.ts +5 -0
  321. package/dist/utils/hooks/useDebouncedValue.js +22 -0
  322. package/dist/utils/hooks/useDebouncedValue.js.map +1 -0
  323. package/dist/utils/renderPaginatedTableErrorMessage.d.ts +2 -0
  324. package/dist/utils/renderPaginatedTableErrorMessage.js +10 -0
  325. package/dist/utils/renderPaginatedTableErrorMessage.js.map +1 -0
  326. package/dist/utils/utils.d.ts +1 -0
  327. package/dist/utils/utils.js +7 -0
  328. package/dist/utils/utils.js.map +1 -1
  329. package/package.json +1 -1
  330. package/dist/assets/icons/user-check.svg +0 -1
  331. package/dist/components/Tag/Tag.d.ts +0 -9
  332. package/dist/components/Tag/Tag.js +0 -8
  333. package/dist/components/Tag/Tag.js.map +0 -1
  334. package/dist/components/Tag/Tag.scss +0 -18
  335. package/dist/components/Tag/index.d.ts +0 -1
  336. package/dist/components/Tag/index.js +0 -2
  337. package/dist/components/Tag/index.js.map +0 -1
  338. package/dist/containers/Cluster/ClusterDashboard/ClusterDashboard.js +0 -71
  339. package/dist/containers/Cluster/ClusterDashboard/ClusterDashboard.js.map +0 -1
  340. package/dist/containers/Cluster/ClusterDashboard/ClusterDashboard.scss +0 -52
  341. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsCard.d.ts +0 -17
  342. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsCard.js +0 -20
  343. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsCard.js.map +0 -1
  344. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsCores.d.ts +0 -5
  345. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsCores.js +0 -26
  346. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsCores.js.map +0 -1
  347. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsMemory.js +0 -20
  348. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsMemory.js.map +0 -1
  349. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsStorage.js +0 -20
  350. package/dist/containers/Cluster/ClusterDashboard/components/ClusterMetricsStorage.js.map +0 -1
  351. package/dist/containers/Cluster/ClusterDashboard/shared.js.map +0 -1
  352. package/dist/containers/Cluster/ClusterDashboard/utils.d.ts +0 -19
  353. package/dist/containers/Cluster/ClusterDashboard/utils.js +0 -63
  354. package/dist/containers/Cluster/ClusterDashboard/utils.js.map +0 -1
  355. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.d.ts +0 -8
  356. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.js +0 -42
  357. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.js.map +0 -1
  358. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.scss +0 -6
  359. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.d.ts +0 -8
  360. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.js +0 -8
  361. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.js.map +0 -1
  362. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.scss +0 -17
  363. /package/dist/containers/Cluster/{ClusterDashboard → ClusterOverview}/shared.js +0 -0
@@ -0,0 +1,70 @@
1
+ @use '../../../styles/mixins.scss';
2
+
3
+ .ydb-cluster-dashboard {
4
+ &__dashboard-wrapper {
5
+ gap: var(--g-spacing-6);
6
+
7
+ padding-top: var(--g-spacing-4);
8
+ }
9
+
10
+ &__dashboard-wrapper_collapsed {
11
+ gap: var(--g-spacing-1);
12
+
13
+ margin-right: var(--g-spacing-4);
14
+ margin-left: auto;
15
+ padding-top: unset;
16
+ }
17
+
18
+ &__error {
19
+ @include mixins.body-2-typography();
20
+ }
21
+
22
+ &__skeleton-wrapper {
23
+ padding: unset;
24
+
25
+ border: unset;
26
+ }
27
+ &__skeleton {
28
+ height: 100%;
29
+ }
30
+ &__overview-wrapper {
31
+ --g-button-background-color-hover: var(--g-color-base-background);
32
+ --g-button-padding: 0;
33
+ position: sticky;
34
+ left: 0;
35
+
36
+ padding: var(--g-spacing-4);
37
+
38
+ border: 1px solid var(--g-color-line-generic);
39
+ border-radius: 5px;
40
+
41
+ .g-button:active {
42
+ transform: unset;
43
+ }
44
+ }
45
+
46
+ &__overview-wrapper_collapsed {
47
+ &:hover {
48
+ border-color: var(--g-color-line-generic-hover);
49
+ }
50
+ }
51
+
52
+ &__disclosure-summary {
53
+ display: flex;
54
+ justify-content: space-between;
55
+ align-items: center;
56
+
57
+ width: 100%;
58
+ height: 28px;
59
+
60
+ cursor: pointer;
61
+ .g-button__text {
62
+ width: 100%;
63
+ }
64
+ }
65
+
66
+ &__card {
67
+ min-width: 280px;
68
+ height: 132px;
69
+ }
70
+ }
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { ProgressStatus } from '../../../../utils/progress';
3
+ interface ClusterMetricsDougnutCardProps extends ClusterMetricsCommonCardProps {
4
+ status: ProgressStatus;
5
+ fillWidth: number;
6
+ legend: {
7
+ main?: string;
8
+ secondary?: string;
9
+ note?: React.ReactNode;
10
+ };
11
+ }
12
+ interface ClusterMetricsCommonCardProps {
13
+ children?: React.ReactNode;
14
+ title?: string;
15
+ className?: string;
16
+ collapsed?: boolean;
17
+ }
18
+ export declare function ClusterMetricsCard({ children, className }: ClusterMetricsCommonCardProps): import("react/jsx-runtime").JSX.Element;
19
+ export declare function ClusterMetricsCardContent({ title, children, legend, collapsed, ...rest }: ClusterMetricsDougnutCardProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function ClusterDashboardSkeleton(): import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Flex } from '@gravity-ui/uikit';
4
+ import { DoughnutMetrics } from '../../../../components/DoughnutMetrics/DoughnutMetrics';
5
+ import { EntityStatus } from '../../../../components/EntityStatusNew/EntityStatus';
6
+ import { Skeleton } from '../../../../components/Skeleton/Skeleton';
7
+ import { EFlag } from '../../../../types/api/enums';
8
+ import { b } from '../shared';
9
+ const ProgressStatusToEFlag = {
10
+ good: EFlag.Green,
11
+ warning: EFlag.Yellow,
12
+ danger: EFlag.Red,
13
+ };
14
+ export function ClusterMetricsCard({ children, className }) {
15
+ return (_jsx(Flex, { gap: "6", alignItems: "center", className: b('card', className), children: children }));
16
+ }
17
+ export function ClusterMetricsCardContent({ title, children, legend, collapsed, ...rest }) {
18
+ const { main: mainLegend, secondary: secondaryLegend, note: legendNote } = legend;
19
+ if (collapsed) {
20
+ const { status, fillWidth } = rest;
21
+ const normalizedFillWidth = fillWidth.toFixed(fillWidth > 0 ? 0 : 1);
22
+ return (_jsx(EntityStatus.Label, { withStatusName: false, status: ProgressStatusToEFlag[status], children: `${title} : ${normalizedFillWidth}%` }));
23
+ }
24
+ return (_jsxs(ClusterMetricsCard, { children: [_jsx(DoughnutMetrics, { ...rest, children: children }), _jsxs("div", { className: b('legend-wrapper'), children: [mainLegend && _jsx(DoughnutMetrics.Legend, { children: mainLegend }), secondaryLegend && (_jsx(DoughnutMetrics.Legend, { color: "secondary", note: legendNote, variant: "body-1", children: secondaryLegend }))] })] }));
25
+ }
26
+ function ClusterMetricsCardSkeleton() {
27
+ return (_jsx(ClusterMetricsCard, { className: b('skeleton-wrapper'), children: _jsx(Skeleton, { className: b('skeleton') }) }));
28
+ }
29
+ export function ClusterDashboardSkeleton() {
30
+ return (_jsxs(React.Fragment, { children: [_jsx(ClusterMetricsCardSkeleton, {}), _jsx(ClusterMetricsCardSkeleton, {}), _jsx(ClusterMetricsCardSkeleton, {})] }));
31
+ }
32
+ //# sourceMappingURL=ClusterMetricsCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterMetricsCard.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/ClusterMetricsCard.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,eAAe,EAAC,MAAM,wDAAwD,CAAC;AACvF,OAAO,EAAC,YAAY,EAAC,MAAM,qDAAqD,CAAC;AACjF,OAAO,EAAC,QAAQ,EAAC,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAC,KAAK,EAAC,MAAM,6BAA6B,CAAC;AAElD,OAAO,EAAC,CAAC,EAAC,MAAM,WAAW,CAAC;AAE5B,MAAM,qBAAqB,GAAkC;IACzD,IAAI,EAAE,KAAK,CAAC,KAAK;IACjB,OAAO,EAAE,KAAK,CAAC,MAAM;IACrB,MAAM,EAAE,KAAK,CAAC,GAAG;CACpB,CAAC;AAeF,MAAM,UAAU,kBAAkB,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAgC;IACnF,OAAO,CACH,KAAC,IAAI,IAAC,GAAG,EAAC,GAAG,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,YAC5D,QAAQ,GACN,CACV,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,EACtC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACsB;IAC7B,MAAM,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAC,GAAG,MAAM,CAAC;IAEhF,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,EAAC,MAAM,EAAE,SAAS,EAAC,GAAG,IAAI,CAAC;QACjC,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAErE,OAAO,CACH,KAAC,YAAY,CAAC,KAAK,IAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,YAC3E,GAAG,KAAK,MAAM,mBAAmB,GAAG,GACpB,CACxB,CAAC;IACN,CAAC;IACD,OAAO,CACH,MAAC,kBAAkB,eACf,KAAC,eAAe,OAAK,IAAI,YAAG,QAAQ,GAAmB,EACvD,eAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,aAC9B,UAAU,IAAI,KAAC,eAAe,CAAC,MAAM,cAAE,UAAU,GAA0B,EAC3E,eAAe,IAAI,CAChB,KAAC,eAAe,CAAC,MAAM,IAAC,KAAK,EAAC,WAAW,EAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAC,QAAQ,YACvE,eAAe,GACK,CAC5B,IACC,IACW,CACxB,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B;IAC/B,OAAO,CACH,KAAC,kBAAkB,IAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,YAChD,KAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,GAAI,GACrB,CACxB,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB;IACpC,OAAO,CACH,MAAC,KAAK,CAAC,QAAQ,eACX,KAAC,0BAA0B,KAAG,EAC9B,KAAC,0BAA0B,KAAG,EAC9B,KAAC,0BAA0B,KAAG,IACjB,CACpB,CAAC;AACN,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { ClusterMetricsCommonProps } from '../shared';
2
+ interface ClusterMetricsCoresProps extends ClusterMetricsCommonProps {
3
+ }
4
+ export declare function ClusterMetricsCores({ collapsed, value, capacity, ...rest }: ClusterMetricsCoresProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DoughnutMetrics } from '../../../../components/DoughnutMetrics/DoughnutMetrics';
3
+ import { formatNumber, formatNumericValues } from '../../../../utils/dataFormatters/dataFormatters';
4
+ import i18n from '../../i18n';
5
+ import { getDiagramValues } from '../utils';
6
+ import { ClusterMetricsCardContent } from './ClusterMetricsCard';
7
+ function formatCoresLegend({ value, capacity }) {
8
+ let formatted = [];
9
+ if (capacity < 10000) {
10
+ formatted = [formatNumber(Math.round(value)), formatNumber(Math.round(capacity))];
11
+ }
12
+ else {
13
+ formatted = formatNumericValues(value, capacity, undefined, '', true);
14
+ }
15
+ return `${formatted[0]} ${i18n('context_of')} ${formatted[1]} ${i18n('context_cores')}`;
16
+ }
17
+ export function ClusterMetricsCores({ collapsed, value, capacity, ...rest }) {
18
+ const { status, percents, legend, fill } = getDiagramValues({
19
+ value,
20
+ capacity,
21
+ legendFormatter: formatCoresLegend,
22
+ ...rest,
23
+ });
24
+ return (_jsx(ClusterMetricsCardContent, { collapsed: collapsed, status: status, fillWidth: fill, title: i18n('title_cpu'), legend: {
25
+ main: legend,
26
+ secondary: i18n('context_cpu'),
27
+ note: i18n('context_cpu-description'),
28
+ }, children: _jsx(DoughnutMetrics.Value, { children: percents }) }));
29
+ }
30
+ //# sourceMappingURL=ClusterMetricsCores.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterMetricsCores.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/ClusterMetricsCores.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,wDAAwD,CAAC;AACvF,OAAO,EAAC,YAAY,EAAE,mBAAmB,EAAC,MAAM,iDAAiD,CAAC;AAClG,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAI/D,SAAS,iBAAiB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAoC;IAC3E,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,mBAAmB,CAAC,EAChC,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,IAAI,EACgB;IACvB,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,gBAAgB,CAAC;QACtD,KAAK;QACL,QAAQ;QACR,eAAe,EAAE,iBAAiB;QAClC,GAAG,IAAI;KACV,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,yBAAyB,IACtB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EACxB,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC;YAC9B,IAAI,EAAE,IAAI,CAAC,yBAAyB,CAAC;SACxC,YAED,KAAC,eAAe,CAAC,KAAK,cAAE,QAAQ,GAAyB,GACjC,CAC/B,CAAC;AACN,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { ClusterMetricsCommonProps } from '../shared';
2
2
  interface ClusterMetricsMemoryProps extends ClusterMetricsCommonProps {
3
3
  }
4
- export declare function ClusterMetricsMemory({ value, capacity, ...rest }: ClusterMetricsMemoryProps): import("react/jsx-runtime").JSX.Element;
4
+ export declare function ClusterMetricsMemory({ value, capacity, collapsed, ...rest }: ClusterMetricsMemoryProps): import("react/jsx-runtime").JSX.Element;
5
5
  export {};
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DoughnutMetrics } from '../../../../components/DoughnutMetrics/DoughnutMetrics';
3
+ import { formatStorageValues } from '../../../../utils/dataFormatters/dataFormatters';
4
+ import i18n from '../../i18n';
5
+ import { getDiagramValues } from '../utils';
6
+ import { ClusterMetricsCardContent } from './ClusterMetricsCard';
7
+ function formatStorageLegend({ value, capacity }) {
8
+ const formatted = formatStorageValues(value, capacity, undefined, '\n');
9
+ return `${formatted[0]} ${i18n('context_of')} ${formatted[1]}`;
10
+ }
11
+ export function ClusterMetricsMemory({ value, capacity, collapsed, ...rest }) {
12
+ const { status, percents, legend, fill } = getDiagramValues({
13
+ value,
14
+ capacity,
15
+ legendFormatter: formatStorageLegend,
16
+ ...rest,
17
+ });
18
+ return (_jsx(ClusterMetricsCardContent, { status: status, fillWidth: fill, title: i18n('title_memory'), collapsed: collapsed, legend: {
19
+ main: legend,
20
+ secondary: i18n('context_memory'),
21
+ note: i18n('context_memory-description'),
22
+ }, children: _jsx(DoughnutMetrics.Value, { children: percents }) }));
23
+ }
24
+ //# sourceMappingURL=ClusterMetricsMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterMetricsMemory.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/ClusterMetricsMemory.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,wDAAwD,CAAC;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,iDAAiD,CAAC;AACpF,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAI/D,SAAS,mBAAmB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAoC;IAC7E,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,oBAAoB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACiB;IACxB,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,gBAAgB,CAAC;QACtD,KAAK;QACL,QAAQ;QACR,eAAe,EAAE,mBAAmB;QACpC,GAAG,IAAI;KACV,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,yBAAyB,IACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,EAC3B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC;YACjC,IAAI,EAAE,IAAI,CAAC,4BAA4B,CAAC;SAC3C,YAED,KAAC,eAAe,CAAC,KAAK,cAAE,QAAQ,GAAyB,GACjC,CAC/B,CAAC;AACN,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ClusterMetricsBaseProps } from '../shared';
2
+ interface ClusterMetricsNetworkProps extends ClusterMetricsBaseProps {
3
+ percentsValue: number;
4
+ throughput?: string;
5
+ }
6
+ export declare function ClusterMetricsNetwork({ percentsValue, throughput, collapsed, ...rest }: ClusterMetricsNetworkProps): import("react/jsx-runtime").JSX.Element | null;
7
+ export {};
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DoughnutMetrics } from '../../../../components/DoughnutMetrics/DoughnutMetrics';
3
+ import { formatBytes } from '../../../../utils/bytesParsers';
4
+ import { SHOW_NETWORK_UTILIZATION } from '../../../../utils/constants';
5
+ import { useSetting } from '../../../../utils/hooks/useSetting';
6
+ import i18n from '../../i18n';
7
+ import { calculateBaseDiagramValues } from '../utils';
8
+ import { ClusterMetricsCardContent } from './ClusterMetricsCard';
9
+ function formatStorageLegend(value) {
10
+ return formatBytes({ value, withSpeedLabel: true });
11
+ }
12
+ export function ClusterMetricsNetwork({ percentsValue, throughput, collapsed, ...rest }) {
13
+ const [showNetworkUtilization] = useSetting(SHOW_NETWORK_UTILIZATION);
14
+ if (!showNetworkUtilization) {
15
+ return null;
16
+ }
17
+ const { status, percents, fill } = calculateBaseDiagramValues({
18
+ fillWidth: percentsValue * 100,
19
+ ...rest,
20
+ });
21
+ const legend = formatStorageLegend(throughput);
22
+ return (_jsx(ClusterMetricsCardContent, { status: status, fillWidth: fill, title: i18n('title_network'), collapsed: collapsed, legend: {
23
+ main: legend,
24
+ secondary: i18n('context_network'),
25
+ note: i18n('context_network-description'),
26
+ }, children: _jsx(DoughnutMetrics.Value, { children: percents }) }));
27
+ }
28
+ //# sourceMappingURL=ClusterMetricsNetwork.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterMetricsNetwork.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,wDAAwD,CAAC;AACvF,OAAO,EAAC,WAAW,EAAC,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAC,wBAAwB,EAAC,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAC,UAAU,EAAC,MAAM,oCAAoC,CAAC;AAC9D,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAC,0BAA0B,EAAC,MAAM,UAAU,CAAC;AAEpD,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAO/D,SAAS,mBAAmB,CAAC,KAAc;IACvC,OAAO,WAAW,CAAC,EAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAClC,aAAa,EACb,UAAU,EACV,SAAS,EACT,GAAG,IAAI,EACkB;IACzB,MAAM,CAAC,sBAAsB,CAAC,GAAG,UAAU,CAAU,wBAAwB,CAAC,CAAC;IAC/E,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC,GAAG,0BAA0B,CAAC;QACxD,SAAS,EAAE,aAAa,GAAG,GAAG;QAC9B,GAAG,IAAI;KACV,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IAE/C,OAAO,CACH,KAAC,yBAAyB,IACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC;YAClC,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;SAC5C,YAED,KAAC,eAAe,CAAC,KAAK,cAAE,QAAQ,GAAyB,GACjC,CAC/B,CAAC;AACN,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { ClusterMetricsCommonProps } from '../shared';
2
2
  interface ClusterMetricsStorageProps extends ClusterMetricsCommonProps {
3
+ groups: number;
3
4
  }
4
- export declare function ClusterMetricsStorage({ value, capacity, ...rest }: ClusterMetricsStorageProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function ClusterMetricsStorage({ value, capacity, groups, collapsed, ...rest }: ClusterMetricsStorageProps): import("react/jsx-runtime").JSX.Element;
5
6
  export {};
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DoughnutMetrics } from '../../../../components/DoughnutMetrics/DoughnutMetrics';
3
+ import { formatStorageValues } from '../../../../utils/dataFormatters/dataFormatters';
4
+ import i18n from '../../i18n';
5
+ import { getDiagramValues } from '../utils';
6
+ import { ClusterMetricsCardContent } from './ClusterMetricsCard';
7
+ function formatStorageLegend({ value, capacity }) {
8
+ const formatted = formatStorageValues(value, capacity, undefined, '\n');
9
+ return `${formatted[0]} ${i18n('context_of')} ${formatted[1]}`;
10
+ }
11
+ export function ClusterMetricsStorage({ value, capacity, groups, collapsed, ...rest }) {
12
+ const { status, percents, legend, fill } = getDiagramValues({
13
+ value,
14
+ capacity,
15
+ legendFormatter: formatStorageLegend,
16
+ ...rest,
17
+ });
18
+ return (_jsx(ClusterMetricsCardContent, { status: status, fillWidth: fill, title: i18n('title_storage'), collapsed: collapsed, legend: {
19
+ main: legend,
20
+ secondary: i18n('context_storage', { count: groups }),
21
+ note: i18n('context_storage-description'),
22
+ }, children: _jsx(DoughnutMetrics.Value, { children: percents }) }));
23
+ }
24
+ //# sourceMappingURL=ClusterMetricsStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClusterMetricsStorage.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/ClusterMetricsStorage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,wDAAwD,CAAC;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,iDAAiD,CAAC;AACpF,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAM/D,SAAS,mBAAmB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAoC;IAC7E,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,qBAAqB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,SAAS,EACT,GAAG,IAAI,EACkB;IACzB,MAAM,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,gBAAgB,CAAC;QACtD,KAAK;QACL,QAAQ;QACR,eAAe,EAAE,mBAAmB;QACpC,GAAG,IAAI;KACV,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,yBAAyB,IACtB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM;YACZ,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,6BAA6B,CAAC;SAC5C,YAED,KAAC,eAAe,CAAC,KAAK,cAAE,QAAQ,GAAyB,GACjC,CAC/B,CAAC;AACN,CAAC"}
@@ -1,9 +1,12 @@
1
1
  export declare const b: import("@bem-react/classname").ClassNameFormatter;
2
- export interface ClusterMetricsCommonProps {
3
- value: number | string;
4
- capacity: number | string;
2
+ export interface ClusterMetricsBaseProps {
5
3
  colorizeProgress?: boolean;
6
4
  inverseColorize?: boolean;
7
5
  warningThreshold?: number;
8
6
  dangerThreshold?: number;
7
+ collapsed?: boolean;
8
+ }
9
+ export interface ClusterMetricsCommonProps extends ClusterMetricsBaseProps {
10
+ value: number | string;
11
+ capacity: number | string;
9
12
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterOverview/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { ClusterMetricsBaseProps, ClusterMetricsCommonProps } from './shared';
2
+ export declare function calculateBaseDiagramValues({ colorizeProgress, warningThreshold, dangerThreshold, inverseColorize, fillWidth, }: ClusterMetricsBaseProps & {
3
+ fillWidth: number;
4
+ }): {
5
+ status: import("../../../utils/progress").ProgressStatus;
6
+ percents: string;
7
+ fill: number;
8
+ };
9
+ export declare function getDiagramValues({ value, capacity, legendFormatter, ...rest }: ClusterMetricsCommonProps & {
10
+ legendFormatter: (params: {
11
+ value: number;
12
+ capacity: number;
13
+ }) => string;
14
+ }): {
15
+ legend: string;
16
+ status: import("../../../utils/progress").ProgressStatus;
17
+ percents: string;
18
+ fill: number;
19
+ };
@@ -0,0 +1,32 @@
1
+ import { formatPercent } from '../../../utils/dataFormatters/dataFormatters';
2
+ import { calculateProgressStatus } from '../../../utils/progress';
3
+ export function calculateBaseDiagramValues({ colorizeProgress = true, warningThreshold, dangerThreshold, inverseColorize = false, fillWidth, }) {
4
+ const normalizedFillWidth = Math.max(fillWidth, 0.5);
5
+ const status = calculateProgressStatus({
6
+ fillWidth,
7
+ warningThreshold,
8
+ dangerThreshold,
9
+ colorizeProgress,
10
+ inverseColorize,
11
+ });
12
+ const percents = formatPercent(fillWidth / 100);
13
+ return { status, percents, fill: normalizedFillWidth };
14
+ }
15
+ export function getDiagramValues({ value, capacity, legendFormatter, ...rest }) {
16
+ const parsedValue = parseFloat(String(value));
17
+ const parsedCapacity = parseFloat(String(capacity));
18
+ let fillWidth = (parsedValue / parsedCapacity) * 100 || 0;
19
+ fillWidth = fillWidth > 100 ? 100 : fillWidth;
20
+ const legend = legendFormatter({
21
+ value: parsedValue,
22
+ capacity: parsedCapacity,
23
+ });
24
+ return {
25
+ ...calculateBaseDiagramValues({
26
+ fillWidth,
27
+ ...rest,
28
+ }),
29
+ legend,
30
+ };
31
+ }
32
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterOverview/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAIhE,MAAM,UAAU,0BAA0B,CAAC,EACvC,gBAAgB,GAAG,IAAI,EACvB,gBAAgB,EAChB,eAAe,EACf,eAAe,GAAG,KAAK,EACvB,SAAS,GACmC;IAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,uBAAuB,CAAC;QACnC,SAAS;QACT,gBAAgB;QAChB,eAAe;QACf,gBAAgB;QAChB,eAAe;KAClB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAEhD,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,eAAe,EACf,GAAG,IAAI,EAGV;IACG,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,IAAI,SAAS,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC1D,SAAS,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9C,MAAM,MAAM,GAAG,eAAe,CAAC;QAC3B,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,cAAc;KAC3B,CAAC,CAAC;IACH,OAAO;QACH,GAAG,0BAA0B,CAAC;YAC1B,SAAS;YACT,GAAG,IAAI;SACV,CAAC;QACF,MAAM;KACT,CAAC;AACN,CAAC"}
@@ -1,13 +1,10 @@
1
1
  {
2
- "disk-type": "Disk Type",
3
2
  "erasure": "Erasure",
4
3
  "allocated": "Allocated",
5
4
  "available": "Available",
6
5
  "usage": "Usage",
7
6
  "label_nodes-state": "Nodes state",
8
7
  "label_dc": "Nodes data centers",
9
- "storage-size": "Storage size",
10
- "storage-groups": "Storage groups, {{diskType}}",
11
8
  "links": "Links",
12
9
  "link_cores": "Coredumps",
13
10
  "link_logging": "Logging",
@@ -15,12 +12,25 @@
15
12
  "context_cores": "cores",
16
13
  "title_cpu": "CPU",
17
14
  "title_storage": "Storage",
15
+ "title_storage-groups": "Storage Groups",
18
16
  "title_memory": "Memory",
19
- "title_info": "Info",
17
+ "title_network": "Network",
20
18
  "title_links": "Links",
21
- "label_nodes": "Nodes",
22
- "label_hosts": "Hosts",
23
- "label_storage-groups": "Storage groups",
24
- "label_databases": "Databases",
25
- "label_load": "Load"
19
+ "title_details": "Details",
20
+ "label_overview": "Overview",
21
+ "label_load": "Load",
22
+ "context_of": "of",
23
+ "context_cpu": "CPU load",
24
+ "context_memory": "Memory used",
25
+ "context_storage": [
26
+ "Storage: {{count}} group",
27
+ "Storage: {{count}} groups",
28
+ "Storage: {{count}} groups",
29
+ "Storage: {{count}} groups"
30
+ ],
31
+ "context_network": "Network Evaluation",
32
+ "context_cpu-description": "CPU load is calculated as the cumulative usage across all actor system pools on all nodes in the cluster",
33
+ "context_memory-description": "Memory usage is the total memory consumed by all nodes in the cluster",
34
+ "context_storage-description": "Storage usage is a cumulative usage of raw disk space of all media types",
35
+ "context_network-description": "Network usage is the average outgoing bandwidth usage across all nodes in the cluster"
26
36
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "links" | "erasure" | "usage" | "storage-groups" | "title_storage" | "disk-type" | "allocated" | "available" | "label_nodes-state" | "label_dc" | "storage-size" | "link_cores" | "link_logging" | "link_slo-logs" | "context_cores" | "title_cpu" | "title_memory" | "title_info" | "title_links" | "label_nodes" | "label_hosts" | "label_storage-groups" | "label_databases" | "label_load", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "links" | "erasure" | "usage" | "title_storage" | "allocated" | "available" | "label_nodes-state" | "label_dc" | "link_cores" | "link_logging" | "link_slo-logs" | "context_cores" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "label_overview" | "label_load" | "context_of" | "context_cpu" | "context_memory" | "context_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-description" | "context_network-description", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import type { CreateHrefOptions } from '../../routes';
2
+ import type { ClusterGroupsStats } from '../../store/reducers/cluster/types';
2
3
  import type { ValueOf } from '../../types/common';
3
4
  export declare const clusterTabsIds: {
4
- readonly overview: "overview";
5
5
  readonly tenants: "tenants";
6
6
  readonly nodes: "nodes";
7
7
  readonly storage: "storage";
@@ -10,9 +10,6 @@ export declare const clusterTabsIds: {
10
10
  };
11
11
  export type ClusterTab = ValueOf<typeof clusterTabsIds>;
12
12
  export declare const clusterTabs: ({
13
- id: "overview";
14
- title: string;
15
- } | {
16
13
  id: "tenants";
17
14
  title: string;
18
15
  } | {
@@ -30,3 +27,4 @@ export declare const clusterTabs: ({
30
27
  })[];
31
28
  export declare function isClusterTab(tab: any): tab is ClusterTab;
32
29
  export declare const getClusterPath: (activeTab?: ClusterTab, query?: {}, options?: CreateHrefOptions) => string;
30
+ export declare const getTotalStorageGroupsUsed: (groupStats: ClusterGroupsStats) => number;
@@ -1,16 +1,11 @@
1
1
  import routes, { createHref } from '../../routes';
2
2
  export const clusterTabsIds = {
3
- overview: 'overview',
4
3
  tenants: 'tenants',
5
4
  nodes: 'nodes',
6
5
  storage: 'storage',
7
6
  versions: 'versions',
8
7
  tablets: 'tablets',
9
8
  };
10
- const overview = {
11
- id: clusterTabsIds.overview,
12
- title: 'Overview',
13
- };
14
9
  const tenants = {
15
10
  id: clusterTabsIds.tenants,
16
11
  title: 'Databases',
@@ -31,11 +26,19 @@ const tablets = {
31
26
  id: clusterTabsIds.tablets,
32
27
  title: 'Tablets',
33
28
  };
34
- export const clusterTabs = [overview, tenants, nodes, storage, tablets, versions];
29
+ export const clusterTabs = [tenants, nodes, storage, tablets, versions];
35
30
  export function isClusterTab(tab) {
36
31
  return Object.values(clusterTabsIds).includes(tab);
37
32
  }
38
33
  export const getClusterPath = (activeTab, query = {}, options) => {
39
34
  return createHref(routes.cluster, activeTab ? { activeTab } : undefined, query, options);
40
35
  };
36
+ export const getTotalStorageGroupsUsed = (groupStats) => {
37
+ return Object.values(groupStats).reduce((acc, data) => {
38
+ Object.values(data).forEach((erasureStats) => {
39
+ acc += erasureStats.createdGroups;
40
+ });
41
+ return acc;
42
+ }, 0);
43
+ };
41
44
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/containers/Cluster/utils.tsx"],"names":[],"mappings":"AACA,OAAO,MAAM,EAAE,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAGhD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACZ,CAAC;AAIX,MAAM,QAAQ,GAAG;IACb,EAAE,EAAE,cAAc,CAAC,QAAQ;IAC3B,KAAK,EAAE,UAAU;CACpB,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,WAAW;CACrB,CAAC;AACF,MAAM,KAAK,GAAG;IACV,EAAE,EAAE,cAAc,CAAC,KAAK;IACxB,KAAK,EAAE,OAAO;CACjB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AACF,MAAM,QAAQ,GAAG;IACb,EAAE,EAAE,cAAc,CAAC,QAAQ;IAC3B,KAAK,EAAE,UAAU;CACpB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAElF,MAAM,UAAU,YAAY,CAAC,GAAQ;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAsB,EAAE,KAAK,GAAG,EAAE,EAAE,OAA2B,EAAE,EAAE;IAC9F,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC3F,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/containers/Cluster/utils.tsx"],"names":[],"mappings":"AACA,OAAO,MAAM,EAAE,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAIhD,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACZ,CAAC;AAIX,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,WAAW;CACrB,CAAC;AACF,MAAM,KAAK,GAAG;IACV,EAAE,EAAE,cAAc,CAAC,KAAK;IACxB,KAAK,EAAE,OAAO;CACjB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AACF,MAAM,QAAQ,GAAG;IACb,EAAE,EAAE,cAAc,CAAC,QAAQ;IAC3B,KAAK,EAAE,UAAU;CACpB,CAAC;AACF,MAAM,OAAO,GAAG;IACZ,EAAE,EAAE,cAAc,CAAC,OAAO;IAC1B,KAAK,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAExE,MAAM,UAAU,YAAY,CAAC,GAAQ;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAAsB,EAAE,KAAK,GAAG,EAAE,EAAE,OAA2B,EAAE,EAAE;IAC9F,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC3F,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAA8B,EAAE,EAAE;IACxE,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAClD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACzC,GAAG,IAAI,YAAY,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACV,CAAC,CAAC"}
@@ -19,28 +19,27 @@ const b = cn('header');
19
19
  function Header({ mainPage }) {
20
20
  const { page, pageBreadcrumbsOptions } = useTypedSelector((state) => state.header);
21
21
  const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges();
22
- const clusterInfo = useClusterBaseInfo();
22
+ const { title: clusterTitle } = useClusterBaseInfo();
23
23
  const database = useDatabaseFromQuery();
24
24
  const location = useLocation();
25
25
  const isDatabasePage = location.pathname === '/tenant';
26
- const clusterName = clusterInfo.title || clusterInfo.name;
27
26
  const breadcrumbItems = React.useMemo(() => {
28
27
  const rawBreadcrumbs = [];
29
28
  let options = pageBreadcrumbsOptions;
30
29
  if (mainPage) {
31
30
  rawBreadcrumbs.push(mainPage);
32
31
  }
33
- if (clusterName) {
32
+ if (clusterTitle) {
34
33
  options = {
35
34
  ...options,
36
- clusterName,
35
+ clusterName: clusterTitle,
37
36
  };
38
37
  }
39
38
  const breadcrumbs = getBreadcrumbs(page, options, rawBreadcrumbs);
40
39
  return breadcrumbs.map((item) => {
41
40
  return { ...item, action: () => { } };
42
41
  });
43
- }, [clusterName, mainPage, page, pageBreadcrumbsOptions]);
42
+ }, [clusterTitle, mainPage, page, pageBreadcrumbsOptions]);
44
43
  const renderRightControls = () => {
45
44
  const elements = [];
46
45
  if (isDatabasePage && database) {
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":"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"}
@@ -8,9 +8,6 @@ import { getClusterPath } from '../Cluster/utils';
8
8
  import { getDefaultNodePath } from '../Node/NodePages';
9
9
  import { TenantTabsGroups, getTenantPath } from '../Tenant/TenantPages';
10
10
  import { headerKeyset } from './i18n';
11
- const prepareTenantName = (tenantName) => {
12
- return tenantName.startsWith('/') ? tenantName.slice(1) : tenantName;
13
- };
14
11
  const getQueryForTenant = (type) => ({
15
12
  [TENANT_PAGE]: TENANT_PAGES_IDS.diagnostics,
16
13
  [TenantTabsGroups.diagnosticsTab]: TENANT_DIAGNOSTICS_TABS_IDS[type],
@@ -28,7 +25,7 @@ const getClusterBreadcrumbs = (options, query = {}) => {
28
25
  const getTenantBreadcrumbs = (options, query = {}) => {
29
26
  const { tenantName } = options;
30
27
  const breadcrumbs = getClusterBreadcrumbs(options, query);
31
- const text = tenantName ? prepareTenantName(tenantName) : headerKeyset('breadcrumbs.tenant');
28
+ const text = tenantName || headerKeyset('breadcrumbs.tenant');
32
29
  const link = tenantName ? getTenantPath({ ...query, database: tenantName }) : undefined;
33
30
  const lastItem = { text, link, icon: _jsx(DatabaseIcon, {}) };
34
31
  breadcrumbs.push(lastItem);
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumbs.js","sourceRoot":"","sources":["../../../src/containers/Header/breadcrumbs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"breadcrumbs.js","sourceRoot":"","sources":["../../../src/containers/Header/breadcrumbs.tsx"],"names":[],"mappings":"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"}