ydb-embedded-ui 21.0.0 → 22.0.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 (272) hide show
  1. package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +0 -4
  2. package/dist/components/ComponentsProvider/componentsRegistry.d.ts +0 -2
  3. package/dist/components/ComponentsProvider/componentsRegistry.js +1 -3
  4. package/dist/components/ComponentsProvider/componentsRegistry.js.map +1 -1
  5. package/dist/components/ContentWithPopup/ContentWithPopup.d.ts +1 -1
  6. package/dist/components/ContentWithPopup/ContentWithPopup.js +4 -2
  7. package/dist/components/ContentWithPopup/ContentWithPopup.js.map +1 -1
  8. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +10 -6
  9. package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
  10. package/dist/components/CriticalActionDialog/i18n/en.json +1 -2
  11. package/dist/components/CriticalActionDialog/i18n/index.d.ts +1 -1
  12. package/dist/components/DropdownMenu/DropdownMenu.d.ts +2 -1
  13. package/dist/components/DropdownMenu/DropdownMenu.js +1 -1
  14. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  15. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  16. package/dist/components/HoverPopup/HoverPopup.js +27 -4
  17. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  18. package/dist/components/HoverPopup/getPopupScrollContainer.d.ts +1 -0
  19. package/dist/components/HoverPopup/getPopupScrollContainer.js +20 -0
  20. package/dist/components/HoverPopup/getPopupScrollContainer.js.map +1 -0
  21. package/dist/components/MetricChart/reducer.d.ts +2 -2
  22. package/dist/components/SegmentedProgress/SegmentedProgress.d.ts +22 -1
  23. package/dist/components/SegmentedProgress/SegmentedProgress.js +44 -3
  24. package/dist/components/SegmentedProgress/SegmentedProgress.js.map +1 -1
  25. package/dist/components/SegmentedProgress/SegmentedProgress.scss +5 -0
  26. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +1 -13
  27. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  28. package/dist/components/StorageGroupInfo/i18n/en.json +0 -1
  29. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  30. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  31. package/dist/containers/App/App.js +3 -3
  32. package/dist/containers/App/App.js.map +1 -1
  33. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +8 -5
  34. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  35. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +8 -0
  36. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.d.ts +4 -3
  37. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js +62 -25
  38. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js.map +1 -1
  39. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.scss +18 -0
  40. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.d.ts +22 -0
  41. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.js +49 -0
  42. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.js.map +1 -0
  43. package/dist/containers/Cluster/i18n/en.json +13 -4
  44. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  45. package/dist/containers/Header/HeaderActionsMenu.js +19 -3
  46. package/dist/containers/Header/HeaderActionsMenu.js.map +1 -1
  47. package/dist/containers/Header/hooks/useSharedDatabasePath.d.ts +4 -1
  48. package/dist/containers/Header/hooks/useSharedDatabasePath.js +14 -10
  49. package/dist/containers/Header/hooks/useSharedDatabasePath.js.map +1 -1
  50. package/dist/containers/Header/i18n/en.json +1 -0
  51. package/dist/containers/Header/i18n/index.d.ts +1 -1
  52. package/dist/containers/Node/Node.js +20 -17
  53. package/dist/containers/Node/Node.js.map +1 -1
  54. package/dist/containers/Node/NodePages.d.ts +3 -9
  55. package/dist/containers/Node/NodePages.js +2 -10
  56. package/dist/containers/Node/NodePages.js.map +1 -1
  57. package/dist/containers/Node/i18n/en.json +0 -3
  58. package/dist/containers/Node/i18n/index.d.ts +1 -1
  59. package/dist/containers/Nodes/NodesTable.js +2 -2
  60. package/dist/containers/Nodes/NodesTable.js.map +1 -1
  61. package/dist/containers/Operations/columns.js +2 -2
  62. package/dist/containers/Operations/columns.js.map +1 -1
  63. package/dist/containers/Operations/i18n/en.json +2 -2
  64. package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.js +1 -1
  65. package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.js.map +1 -1
  66. package/dist/containers/PDiskPage/PDiskPage.js +1 -1
  67. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  68. package/dist/containers/PDiskPage/i18n/en.json +3 -3
  69. package/dist/containers/Storage/PDisks/PDisks.js +1 -1
  70. package/dist/containers/Storage/PDisks/PDisks.js.map +1 -1
  71. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +0 -1
  72. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
  73. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js +2 -3
  74. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js.map +1 -1
  75. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +2 -2
  76. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.d.ts +1 -1
  77. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.js +2 -3
  78. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.js.map +1 -1
  79. package/dist/containers/StorageGroupPage/StorageGroupPage.js +2 -3
  80. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  81. package/dist/containers/Tablet/components/TabletControls/TabletControls.js +1 -1
  82. package/dist/containers/Tablet/components/TabletControls/TabletControls.js.map +1 -1
  83. package/dist/containers/Tablet/i18n/en.json +3 -3
  84. package/dist/containers/Tablets/TabletsTable.js +1 -1
  85. package/dist/containers/Tablets/TabletsTable.js.map +1 -1
  86. package/dist/containers/Tablets/i18n/en.json +1 -1
  87. package/dist/containers/Tenant/Diagnostics/Partitions/utils/constants.d.ts +2 -2
  88. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -1
  89. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  90. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +2 -2
  91. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  92. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +1 -3
  93. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  94. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.d.ts +5 -5
  95. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js +2 -4
  96. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js.map +1 -1
  97. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js +10 -2
  98. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js.map +1 -1
  99. package/dist/routes.d.ts +1 -0
  100. package/dist/routes.js.map +1 -1
  101. package/dist/services/api/viewer.d.ts +1 -2
  102. package/dist/services/api/viewer.js +0 -11
  103. package/dist/services/api/viewer.js.map +1 -1
  104. package/dist/store/configureStore.d.ts +12 -12
  105. package/dist/store/defaultStore.d.ts +6 -6
  106. package/dist/store/reducers/api.d.ts +1 -1
  107. package/dist/store/reducers/api.js +3 -0
  108. package/dist/store/reducers/api.js.map +1 -1
  109. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  110. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  111. package/dist/store/reducers/capabilities/capabilities.d.ts +43 -43
  112. package/dist/store/reducers/capabilities/hooks.d.ts +5 -6
  113. package/dist/store/reducers/capabilities/hooks.js +0 -3
  114. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  115. package/dist/store/reducers/cluster/cluster.d.ts +5 -5
  116. package/dist/store/reducers/cluster/cluster.js +3 -2
  117. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  118. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  119. package/dist/store/reducers/clusters/clusters.js +2 -1
  120. package/dist/store/reducers/clusters/clusters.js.map +1 -1
  121. package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
  122. package/dist/store/reducers/configs.d.ts +3 -3
  123. package/dist/store/reducers/entityDataTags.d.ts +21 -0
  124. package/dist/store/reducers/entityDataTags.js +24 -0
  125. package/dist/store/reducers/entityDataTags.js.map +1 -0
  126. package/dist/store/reducers/environments/environments.d.ts +2 -2
  127. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +4 -4
  128. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +111 -111
  129. package/dist/store/reducers/heatmap.d.ts +2 -2
  130. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  131. package/dist/store/reducers/index.d.ts +8 -8
  132. package/dist/store/reducers/network/network.d.ts +2 -2
  133. package/dist/store/reducers/node/node.d.ts +2 -5
  134. package/dist/store/reducers/node/node.js +0 -12
  135. package/dist/store/reducers/node/node.js.map +1 -1
  136. package/dist/store/reducers/node/types.d.ts +0 -14
  137. package/dist/store/reducers/nodes/nodes.d.ts +2 -2
  138. package/dist/store/reducers/nodesList.d.ts +12 -12
  139. package/dist/store/reducers/operations.d.ts +5 -5
  140. package/dist/store/reducers/overview/overview.d.ts +2 -2
  141. package/dist/store/reducers/partitions/partitions.d.ts +3 -3
  142. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
  143. package/dist/store/reducers/planToSvg.d.ts +2 -2
  144. package/dist/store/reducers/preview.d.ts +2 -2
  145. package/dist/store/reducers/query/api.d.ts +4 -4
  146. package/dist/store/reducers/replication.d.ts +2 -2
  147. package/dist/store/reducers/schema/schema.d.ts +16 -16
  148. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +40 -40
  149. package/dist/store/reducers/settings/api.d.ts +4 -4
  150. package/dist/store/reducers/settings/settings.d.ts +1 -1
  151. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  152. package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
  153. package/dist/store/reducers/storage/requestStorageData.d.ts +2 -4
  154. package/dist/store/reducers/storage/requestStorageData.js +4 -10
  155. package/dist/store/reducers/storage/requestStorageData.js.map +1 -1
  156. package/dist/store/reducers/storage/storage.d.ts +4 -6
  157. package/dist/store/reducers/storage/storage.js.map +1 -1
  158. package/dist/store/reducers/storage/types.d.ts +0 -9
  159. package/dist/store/reducers/storage/utils.d.ts +1 -2
  160. package/dist/store/reducers/storage/utils.js +3 -114
  161. package/dist/store/reducers/storage/utils.js.map +1 -1
  162. package/dist/store/reducers/storageUsage/StorageUsage.d.ts +2 -2
  163. package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
  164. package/dist/store/reducers/table/table.d.ts +4 -4
  165. package/dist/store/reducers/tableData.d.ts +1 -1
  166. package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
  167. package/dist/store/reducers/tableSchemaData.d.ts +2 -2
  168. package/dist/store/reducers/tablet.d.ts +8 -8
  169. package/dist/store/reducers/tablets.d.ts +3 -3
  170. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  171. package/dist/store/reducers/tenant/tenant.js +14 -1
  172. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  173. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  174. package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.d.ts +2 -2
  175. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  176. package/dist/store/reducers/tenants/tenants.d.ts +3 -3
  177. package/dist/store/reducers/tenants/tenants.js +2 -1
  178. package/dist/store/reducers/tenants/tenants.js.map +1 -1
  179. package/dist/store/reducers/topic/topic.d.ts +84 -84
  180. package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
  181. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  182. package/dist/store/state-url-mapping.js +5 -1
  183. package/dist/store/state-url-mapping.js.map +1 -1
  184. package/dist/types/api/storage.d.ts +2 -111
  185. package/dist/types/api/storage.js.map +1 -1
  186. package/dist/uiFactory/types.d.ts +8 -0
  187. package/dist/uiFactory/uiFactory.js +5 -2
  188. package/dist/uiFactory/uiFactory.js.map +1 -1
  189. package/dist/utils/hooks/useWhoami.d.ts +5 -5
  190. package/package.json +2 -2
  191. package/src/components/ComponentsProvider/componentsRegistry.ts +1 -4
  192. package/src/components/ContentWithPopup/ContentWithPopup.tsx +7 -0
  193. package/src/components/CriticalActionDialog/CriticalActionDialog.tsx +12 -25
  194. package/src/components/CriticalActionDialog/i18n/en.json +1 -2
  195. package/src/components/DropdownMenu/DropdownMenu.tsx +3 -2
  196. package/src/components/HoverPopup/HoverPopup.tsx +32 -3
  197. package/src/components/HoverPopup/getPopupScrollContainer.ts +20 -0
  198. package/src/components/SegmentedProgress/SegmentedProgress.scss +5 -0
  199. package/src/components/SegmentedProgress/SegmentedProgress.tsx +99 -10
  200. package/src/components/StorageGroupInfo/StorageGroupInfo.tsx +0 -13
  201. package/src/components/StorageGroupInfo/i18n/en.json +0 -1
  202. package/src/containers/App/App.tsx +3 -3
  203. package/src/containers/Cluster/ClusterInfo/ClusterInfo.scss +8 -0
  204. package/src/containers/Cluster/ClusterInfo/ClusterInfo.tsx +12 -11
  205. package/src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.scss +18 -0
  206. package/src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.tsx +143 -58
  207. package/src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.ts +89 -0
  208. package/src/containers/Cluster/i18n/en.json +13 -4
  209. package/src/containers/Header/HeaderActionsMenu.tsx +22 -2
  210. package/src/containers/Header/hooks/useSharedDatabasePath.ts +33 -26
  211. package/src/containers/Header/i18n/en.json +1 -0
  212. package/src/containers/Node/Node.tsx +32 -18
  213. package/src/containers/Node/NodePages.ts +5 -10
  214. package/src/containers/Node/i18n/en.json +0 -4
  215. package/src/containers/Nodes/NodesTable.tsx +7 -1
  216. package/src/containers/Operations/columns.tsx +4 -0
  217. package/src/containers/Operations/i18n/en.json +2 -2
  218. package/src/containers/PDiskPage/DecommissionButton/DecommissionButton.tsx +2 -0
  219. package/src/containers/PDiskPage/PDiskPage.tsx +3 -1
  220. package/src/containers/PDiskPage/i18n/en.json +3 -3
  221. package/src/containers/Storage/PDisks/PDisks.tsx +1 -1
  222. package/src/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.tsx +0 -1
  223. package/src/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.tsx +2 -6
  224. package/src/containers/Storage/PaginatedStorageGroupsTable/columns/constants.ts +2 -2
  225. package/src/containers/Storage/PaginatedStorageGroupsTable/getGroups.ts +40 -47
  226. package/src/containers/StorageGroupPage/StorageGroupPage.tsx +2 -6
  227. package/src/containers/Tablet/components/TabletControls/TabletControls.tsx +7 -1
  228. package/src/containers/Tablet/i18n/en.json +3 -3
  229. package/src/containers/Tablets/TabletsTable.tsx +3 -1
  230. package/src/containers/Tablets/i18n/en.json +1 -1
  231. package/src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.tsx +3 -1
  232. package/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx +2 -2
  233. package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.tsx +1 -6
  234. package/src/containers/Tenant/Diagnostics/useDiagnosticsPages.ts +1 -4
  235. package/src/containers/Tenant/Healthcheck/components/HealthcheckDrawer.tsx +16 -1
  236. package/src/routes.ts +1 -1
  237. package/src/services/api/viewer.ts +1 -25
  238. package/src/store/reducers/api.ts +4 -0
  239. package/src/store/reducers/capabilities/hooks.ts +0 -4
  240. package/src/store/reducers/cluster/cluster.ts +3 -2
  241. package/src/store/reducers/clusters/clusters.ts +2 -1
  242. package/src/store/reducers/entityDataTags.ts +34 -0
  243. package/src/store/reducers/node/node.ts +0 -11
  244. package/src/store/reducers/node/types.ts +0 -18
  245. package/src/store/reducers/storage/requestStorageData.ts +5 -17
  246. package/src/store/reducers/storage/storage.ts +2 -6
  247. package/src/store/reducers/storage/types.ts +0 -9
  248. package/src/store/reducers/storage/utils.ts +5 -178
  249. package/src/store/reducers/tenant/tenant.ts +17 -1
  250. package/src/store/reducers/tenants/tenants.ts +2 -1
  251. package/src/store/state-url-mapping.ts +5 -1
  252. package/src/types/api/storage.ts +7 -131
  253. package/src/uiFactory/types.ts +9 -0
  254. package/src/uiFactory/uiFactory.ts +12 -2
  255. package/dist/containers/Node/NodeStructure/NodeStructure.d.ts +0 -7
  256. package/dist/containers/Node/NodeStructure/NodeStructure.js +0 -76
  257. package/dist/containers/Node/NodeStructure/NodeStructure.js.map +0 -1
  258. package/dist/containers/Node/NodeStructure/NodeStructure.scss +0 -155
  259. package/dist/containers/Node/NodeStructure/PDiskTitleBadge.d.ts +0 -7
  260. package/dist/containers/Node/NodeStructure/PDiskTitleBadge.js +0 -7
  261. package/dist/containers/Node/NodeStructure/PDiskTitleBadge.js.map +0 -1
  262. package/dist/containers/Node/NodeStructure/Pdisk.d.ts +0 -10
  263. package/dist/containers/Node/NodeStructure/Pdisk.js +0 -125
  264. package/dist/containers/Node/NodeStructure/Pdisk.js.map +0 -1
  265. package/dist/store/reducers/node/selectors.d.ts +0 -47
  266. package/dist/store/reducers/node/selectors.js +0 -43
  267. package/dist/store/reducers/node/selectors.js.map +0 -1
  268. package/src/containers/Node/NodeStructure/NodeStructure.scss +0 -155
  269. package/src/containers/Node/NodeStructure/NodeStructure.tsx +0 -121
  270. package/src/containers/Node/NodeStructure/PDiskTitleBadge.tsx +0 -18
  271. package/src/containers/Node/NodeStructure/Pdisk.tsx +0 -274
  272. package/src/store/reducers/node/selectors.ts +0 -68
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/containers/App/App.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAC,kBAAkB,EAAC,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAC,kBAAkB,EAAC,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,cAAc,EAAE,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,OAAO,YAAY,CAAC;AAEpB,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAUzC,SAAS,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,eAAe,EAAW;IACvF,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEtD,OAAO,CACH,MAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,aACzD,KAAC,UAAU,IAAC,YAAY,EAAE,YAAY,YAAG,QAAQ,GAAc,EAC9D,SAAS,IAAI,KAAC,SAAS,KAAG,IACnB,CACf,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,EAChB,YAAY,EACZ,QAAQ,GAIX;IACG,MAAM,EAAC,QAAQ,EAAC,GAAG,WAAW,EAAE,CAAC;IACjC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/E,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7D,OAAO,CACH,MAAC,KAAK,CAAC,QAAQ,eACX,KAAC,MAAM,IAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,QAAQ,EAAE,GAAI,EACrE,KAAC,kBAAkB,IAAC,iBAAiB,EAAE,iBAAiB,YACpD,KAAC,cAAc,cACX,MAAC,iBAAiB,IACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,aAE1B,KAAC,OAAO,IAAC,iBAAiB,EAAE,iBAAiB,YAAG,QAAQ,GAAW,EACnE,cAAK,GAAG,EAAE,iBAAiB,GAAQ,IACnB,GACP,GACA,IACR,CACpB,CAAC;AACN,CAAC;AAED,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/containers/App/App.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAC;AAE1C,OAAO,EAAC,kBAAkB,EAAC,MAAM,+CAA+C,CAAC;AACjF,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AAGpE,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,cAAc,EAAE,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC,OAAO,YAAY,CAAC;AAEpB,MAAM,eAAe,GAAG,gBAAgB,CAAC;AAUzC,SAAS,GAAG,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,GAAG,eAAe,EAAW;IACvF,MAAM,SAAS,GAAG,SAAS,CAAC,eAAe,CAAC;IAE5C,OAAO,CACH,MAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,aACzD,KAAC,UAAU,IAAC,YAAY,EAAE,YAAY,YAAG,QAAQ,GAAc,EAC9D,SAAS,IAAI,KAAC,SAAS,KAAG,IACnB,CACf,CAAC;AACN,CAAC;AAED,SAAS,UAAU,CAAC,EAChB,YAAY,EACZ,QAAQ,GAIX;IACG,MAAM,EAAC,QAAQ,EAAC,GAAG,WAAW,EAAE,CAAC;IACjC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/E,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAE7D,OAAO,CACH,MAAC,KAAK,CAAC,QAAQ,eACX,KAAC,MAAM,IAAC,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,QAAQ,EAAE,GAAI,EACrE,KAAC,kBAAkB,IAAC,iBAAiB,EAAE,iBAAiB,YACpD,KAAC,cAAc,cACX,MAAC,iBAAiB,IACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,aAE1B,KAAC,OAAO,IAAC,iBAAiB,EAAE,iBAAiB,YAAG,QAAQ,GAAW,EACnE,cAAK,GAAG,EAAE,iBAAiB,GAAQ,IACnB,GACP,GACA,IACR,CACpB,CAAC;AACN,CAAC;AAED,eAAe,GAAG,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
2
3
  import { Card, DefinitionList, Divider, Flex, Text } from '@gravity-ui/uikit';
3
4
  import { ResponseError } from '../../../components/Errors/ResponseError';
4
5
  import { LinkWithIcon } from '../../../components/LinkWithIcon/LinkWithIcon';
@@ -8,11 +9,13 @@ import { formatNumber } from '../../../utils/dataFormatters/dataFormatters';
8
9
  import { BridgeInfoTable } from '../ClusterOverview/components/BridgeInfoTable';
9
10
  import i18n from '../i18n';
10
11
  import { StorageGroupStats } from './components/DiskGroupsStatsBars/DiskGroupsStats';
12
+ import { prepareClusterGroupsStats } from './components/DiskGroupsStatsBars/utils';
11
13
  import { b } from './shared';
12
14
  import './ClusterInfo.scss';
13
- export const ClusterInfo = ({ cluster, clusterName, loading, error, additionalClusterProps = {}, groupStats = {}, bridgePiles, }) => {
15
+ export const ClusterInfo = ({ cluster, clusterName, loading, error, additionalClusterProps = {}, groupStats, bridgePiles, }) => {
14
16
  const { info = [], links = [] } = additionalClusterProps;
15
17
  const clusterLinks = useClusterLinks(links);
18
+ const preparedGroupStats = React.useMemo(() => prepareClusterGroupsStats(groupStats !== null && groupStats !== void 0 ? groupStats : {}), [groupStats]);
16
19
  const noDetails = (error && !cluster) || (!info.length && !clusterLinks.length);
17
20
  const renderDetailSection = () => {
18
21
  if (loading) {
@@ -29,10 +32,10 @@ export const ClusterInfo = ({ cluster, clusterName, loading, error, additionalCl
29
32
  }) }))] }) })] }));
30
33
  };
31
34
  const renderStorageGroupsSection = () => {
32
- if (loading || Object.keys(groupStats).length === 0) {
35
+ if (loading || preparedGroupStats.disks.length === 0) {
33
36
  return null;
34
37
  }
35
- return (_jsxs(InfoSection, { className: b('storage-section'), children: [_jsx(Text, { as: "div", variant: "subheader-2", className: b('section-title'), children: i18n('title_storage-groups') }), _jsx(Card, { view: "filled", className: b('section', { compact: true }), children: _jsx(StorageGroupStats, { groupStats: groupStats }) })] }));
38
+ return (_jsx(InfoSection, { className: b('storage-section'), dataQa: "cluster-storage-groups", children: _jsx(StorageGroupStats, { stats: preparedGroupStats }) }));
36
39
  };
37
40
  const renderBridgePilesSection = () => {
38
41
  if (loading || !(bridgePiles === null || bridgePiles === void 0 ? void 0 : bridgePiles.length)) {
@@ -42,7 +45,7 @@ export const ClusterInfo = ({ cluster, clusterName, loading, error, additionalCl
42
45
  };
43
46
  return (_jsxs(Flex, { gap: 4, direction: "column", className: b(), children: [error ? _jsx(ResponseError, { error: error, className: b('error') }) : null, _jsxs("div", { className: b('sections', { 'no-details': !loading && noDetails }), children: [renderDetailSection(), renderStorageGroupsSection(), renderBridgePilesSection()] })] }));
44
47
  };
45
- function InfoSection({ children, className }) {
46
- return (_jsx(Flex, { direction: "column", gap: 2, className: className, children: children }));
48
+ function InfoSection({ children, className, dataQa }) {
49
+ return (_jsx(Flex, { direction: "column", gap: 2, className: className, qa: dataQa, children: children }));
47
50
  }
48
51
  //# sourceMappingURL=ClusterInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterInfo.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterInfo/ClusterInfo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClusterInfo.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterInfo/ClusterInfo.tsx"],"names":[],"mappings":"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"}
@@ -53,6 +53,14 @@
53
53
 
54
54
  &__storage-section {
55
55
  --g-card-border-radius: var(--g-border-radius-s);
56
+
57
+ width: 100%;
58
+
59
+ @container overview-wrapper (min-width: 804px) {
60
+ width: var(--cluster-overview-section);
61
+ min-width: var(--cluster-overview-section);
62
+ }
63
+
56
64
  @container overview-wrapper (min-width: 1104px) {
57
65
  grid-area: storage;
58
66
  }
@@ -1,6 +1,7 @@
1
- import type { ClusterGroupsStats } from '../../../../../store/reducers/cluster/types';
1
+ import type { PreparedClusterGroupsStats } from './utils';
2
+ import './DiskGroupsStats.scss';
2
3
  interface StorageGroupStatsProps {
3
- groupStats: ClusterGroupsStats;
4
+ stats: PreparedClusterGroupsStats;
4
5
  }
5
- export declare function StorageGroupStats({ groupStats }: StorageGroupStatsProps): import("react/jsx-runtime").JSX.Element;
6
+ export declare function StorageGroupStats({ stats }: StorageGroupStatsProps): import("react/jsx-runtime").JSX.Element;
6
7
  export {};
@@ -1,32 +1,69 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { Flex, Label, Text } from '@gravity-ui/uikit';
4
- import { SegmentedProgress } from '../../../../../components/SegmentedProgress/SegmentedProgress';
3
+ import { Card, Flex, HelpMark, Label, Text } from '@gravity-ui/uikit';
4
+ import { SegmentedProgress, defaultNormalizePercent, } from '../../../../../components/SegmentedProgress/SegmentedProgress';
5
+ import { cn } from '../../../../../utils/cn';
5
6
  import { formatNumber } from '../../../../../utils/dataFormatters/dataFormatters';
6
7
  import i18n from '../../../i18n';
7
- function DiskGroupStats({ stats, storageType }) {
8
- const { erasure } = stats;
9
- const availableGroups = stats.totalGroups - stats.createdGroups;
10
- const availableGroupsString = availableGroups === 1
11
- ? i18n('title_available-one')
12
- : i18n('title_available-other', {
13
- count: formatNumber(availableGroups),
14
- });
15
- return (_jsxs(Flex, { direction: "column", gap: 2, children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "center", children: [_jsx(Text, { variant: "subheader-1", children: storageType }), _jsxs(Flex, { gap: 4, wrap: "nowrap", alignItems: "center", children: [_jsx(Label, { theme: "info", children: availableGroupsString }), _jsx(Text, { color: "secondary", children: i18n('title_allocated', {
16
- used: formatNumber(stats.createdGroups),
17
- total: formatNumber(stats.totalGroups),
18
- }) })] })] }), _jsx(SegmentedProgress, { value: stats.createdGroups, total: stats.totalGroups, labelStart: erasure, ariaLabel: i18n('context_storage-group-allocation-progress') })] }));
8
+ import './DiskGroupsStats.scss';
9
+ const b = cn('ydb-disk-groups-stats');
10
+ const ERASURE_COLORS = {
11
+ 'block-4-2': 'var(--g-color-base-info-heavy)',
12
+ 'mirror-3-dc': 'var(--g-color-base-utility-heavy)',
13
+ 'mirror-3of4': 'var(--g-color-base-utility-heavy)',
14
+ none: 'var(--g-color-base-neutral-heavy)',
15
+ };
16
+ function getErasureColor(erasure) {
17
+ var _a;
18
+ return (_a = ERASURE_COLORS[erasure]) !== null && _a !== void 0 ? _a : 'var(--g-color-base-neutral-heavy)';
19
19
  }
20
- export function StorageGroupStats({ groupStats }) {
21
- const stats = React.useMemo(() => {
22
- const result = [];
23
- Object.entries(groupStats).forEach(([storageType, stats]) => {
24
- Object.values(stats).forEach((erasureStats) => {
25
- result.push(_jsx(DiskGroupStats, { stats: erasureStats, storageType: storageType }, `${storageType}|${erasureStats.erasure}`));
26
- });
27
- });
28
- return result;
29
- }, [groupStats]);
30
- return (_jsx(Flex, { direction: "column", gap: 5, children: stats }));
20
+ function formatGroups(count) {
21
+ return i18n('value_groups', {
22
+ count,
23
+ formattedCount: formatNumber(count),
24
+ });
25
+ }
26
+ function formatAvailableGroups({ min, max }) {
27
+ if (min === max) {
28
+ return formatGroups(min);
29
+ }
30
+ return i18n('value_available-groups-range', {
31
+ min: formatNumber(min),
32
+ max: formatNumber(max),
33
+ });
34
+ }
35
+ function getErasureTooltip(stats) {
36
+ return i18n('context_available-groups-by-erasure', {
37
+ count: stats.availableGroups,
38
+ formattedCount: formatNumber(stats.availableGroups),
39
+ erasure: stats.erasure,
40
+ });
41
+ }
42
+ function DiskGroupStats({ stats }) {
43
+ const legendId = React.useId();
44
+ const { allocatedGroups, availableGroups, diskType, erasures, progressTotalGroups } = stats;
45
+ const progressValue = progressTotalGroups > 0 ? allocatedGroups / progressTotalGroups : 0;
46
+ const progressPercent = progressValue * 100;
47
+ const progressLabel = i18n('context_storage-group-allocation-progress', {
48
+ diskType,
49
+ percent: defaultNormalizePercent(progressPercent),
50
+ });
51
+ const availableGroupsContext = i18n('context_available-groups');
52
+ const segments = erasures.map((erasureStats, index) => ({
53
+ id: erasureStats.erasure,
54
+ value: erasureStats.createdGroups,
55
+ minWidth: 10,
56
+ color: getErasureColor(erasureStats.erasure),
57
+ className: b('progress-segment'),
58
+ dataQa: 'cluster-storage-group-segment',
59
+ tooltip: getErasureTooltip(erasureStats),
60
+ ariaLabelledBy: `${legendId}-${index}`,
61
+ }));
62
+ return (_jsx(Card, { view: "filled", className: b('card'), qa: "cluster-storage-group-card", children: _jsxs(Flex, { direction: "column", gap: 1, children: [_jsxs(Flex, { direction: "column", gap: 2, children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "center", gap: 2, children: [_jsx(Text, { variant: "subheader-1", children: diskType }), _jsx(Label, { theme: "info", value: _jsxs(Flex, { alignItems: "center", gap: 1, children: [formatAvailableGroups(availableGroups), _jsx(HelpMark, { iconSize: "s", "aria-label": i18n('action_show-available-groups-info', {
63
+ diskType,
64
+ }), className: b('available-help'), popoverProps: { placement: ['top', 'bottom'] }, children: availableGroupsContext })] }), children: i18n('title_available') })] }), _jsx("div", { role: "group", "aria-label": progressLabel, children: _jsx(SegmentedProgress, { segments: segments, total: progressTotalGroups, ariaLabel: progressLabel, hideLabels: true }) })] }), _jsxs(Flex, { justifyContent: "space-between", alignItems: "center", gap: 2, wrap: "wrap", children: [_jsx(Flex, { alignItems: "center", gap: 4, wrap: "wrap", children: erasures.map((erasureStats, index) => (_jsxs(Flex, { id: `${legendId}-${index}`, alignItems: "center", gap: 2, children: [_jsx("span", { "aria-hidden": "true", className: b('legend-dot'), style: { backgroundColor: getErasureColor(erasureStats.erasure) } }), _jsx(Text, { children: erasureStats.erasure }), _jsx(Text, { color: "secondary", children: formatGroups(erasureStats.createdGroups) })] }, erasureStats.erasure))) }), _jsx(Text, { color: "secondary", children: formatGroups(allocatedGroups) })] })] }) }));
65
+ }
66
+ export function StorageGroupStats({ stats }) {
67
+ return (_jsxs(React.Fragment, { children: [_jsxs(Text, { as: "div", variant: "subheader-2", children: [i18n('title_storage-groups'), ' ', _jsx(Text, { color: "secondary", variant: "subheader-2", children: formatNumber(stats.allocatedGroups) })] }), _jsx(Flex, { direction: "column", gap: 1, children: stats.disks.map((diskStats) => (_jsx(DiskGroupStats, { stats: diskStats }, diskStats.diskType))) })] }));
31
68
  }
32
69
  //# sourceMappingURL=DiskGroupsStats.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiskGroupsStats.js","sourceRoot":"","sources":["../../../../../../src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,+DAA+D,CAAC;AAKhG,OAAO,EAAC,YAAY,EAAC,MAAM,oDAAoD,CAAC;AAChF,OAAO,IAAI,MAAM,eAAe,CAAC;AAOjC,SAAS,cAAc,CAAC,EAAC,KAAK,EAAE,WAAW,EAA+B;IACtE,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;IAExB,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC;IAEhE,MAAM,qBAAqB,GACvB,eAAe,KAAK,CAAC;QACjB,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC1B,KAAK,EAAE,YAAY,CAAC,eAAe,CAAC;SACvC,CAAC,CAAC;IAEb,OAAO,CACH,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,MAAC,IAAI,IAAC,cAAc,EAAC,eAAe,EAAC,UAAU,EAAC,QAAQ,aACpD,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,YAAE,WAAW,GAAQ,EAChD,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,aAC3C,KAAC,KAAK,IAAC,KAAK,EAAC,MAAM,YAAE,qBAAqB,GAAS,EACnD,KAAC,IAAI,IAAC,KAAK,EAAC,WAAW,YAClB,IAAI,CAAC,iBAAiB,EAAE;oCACrB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;oCACvC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC;iCACzC,CAAC,GACC,IACJ,IACJ,EACP,KAAC,iBAAiB,IACd,KAAK,EAAE,KAAK,CAAC,aAAa,EAC1B,KAAK,EAAE,KAAK,CAAC,WAAW,EACxB,UAAU,EAAE,OAAO,EACnB,SAAS,EAAE,IAAI,CAAC,2CAA2C,CAAC,GAC9D,IACC,CACV,CAAC;AACN,CAAC;AAMD,MAAM,UAAU,iBAAiB,CAAC,EAAC,UAAU,EAAyB;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC7B,MAAM,MAAM,GAAsB,EAAE,CAAC;QAErC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE;YACxD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBAC1C,MAAM,CAAC,IAAI,CACP,KAAC,cAAc,IAEX,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,WAAW,IAFnB,GAAG,WAAW,IAAI,YAAY,CAAC,OAAO,EAAE,CAG/C,CACL,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACH,KAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,YAC1B,KAAK,GACH,CACV,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"DiskGroupsStats.js","sourceRoot":"","sources":["../../../../../../src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ .ydb-disk-groups-stats {
2
+ &__card {
3
+ padding: var(--g-spacing-3) var(--g-spacing-4);
4
+ }
5
+
6
+ &__available-help {
7
+ color: inherit;
8
+ }
9
+
10
+ &__legend-dot {
11
+ flex: 0 0 8px;
12
+
13
+ width: 8px;
14
+ height: 8px;
15
+
16
+ border-radius: 50%;
17
+ }
18
+ }
@@ -0,0 +1,22 @@
1
+ import type { ClusterGroupsStats } from '../../../../../store/reducers/cluster/types';
2
+ export interface PreparedErasureGroupsStats {
3
+ erasure: string;
4
+ createdGroups: number;
5
+ availableGroups: number;
6
+ }
7
+ export interface PreparedDiskGroupsStats {
8
+ diskType: string;
9
+ erasures: PreparedErasureGroupsStats[];
10
+ allocatedGroups: number;
11
+ availableGroups: {
12
+ min: number;
13
+ max: number;
14
+ average: number;
15
+ };
16
+ progressTotalGroups: number;
17
+ }
18
+ export interface PreparedClusterGroupsStats {
19
+ disks: PreparedDiskGroupsStats[];
20
+ allocatedGroups: number;
21
+ }
22
+ export declare function prepareClusterGroupsStats(groupStats: ClusterGroupsStats): PreparedClusterGroupsStats;
@@ -0,0 +1,49 @@
1
+ const DISK_TYPE_ORDER = ['HDD', 'SSD'];
2
+ const ERASURE_ORDER = ['block-4-2', 'mirror-3-dc', 'mirror-3of4', 'none'];
3
+ function getErasureOrder(erasure) {
4
+ const index = ERASURE_ORDER.indexOf(erasure);
5
+ return index === -1 ? ERASURE_ORDER.length : index;
6
+ }
7
+ function getDiskTypeOrder(diskType) {
8
+ const index = DISK_TYPE_ORDER.indexOf(diskType);
9
+ return index === -1 ? DISK_TYPE_ORDER.length : index;
10
+ }
11
+ export function prepareClusterGroupsStats(groupStats) {
12
+ let allocatedGroups = 0;
13
+ const disks = Object.entries(groupStats)
14
+ .flatMap(([diskType, diskStats]) => {
15
+ const erasures = Object.values(diskStats)
16
+ .filter(({ createdGroups }) => createdGroups > 0)
17
+ .map((stats) => ({
18
+ erasure: stats.erasure,
19
+ createdGroups: stats.createdGroups,
20
+ availableGroups: stats.totalGroups - stats.createdGroups,
21
+ }))
22
+ .sort((a, b) => getErasureOrder(a.erasure) - getErasureOrder(b.erasure));
23
+ if (erasures.length === 0) {
24
+ return [];
25
+ }
26
+ const diskAllocatedGroups = erasures.reduce((sum, stats) => sum + stats.createdGroups, 0);
27
+ const availableValues = erasures.map((stats) => stats.availableGroups);
28
+ const minAvailableGroups = Math.min(...availableValues);
29
+ const maxAvailableGroups = Math.max(...availableValues);
30
+ const averageAvailableGroups = (minAvailableGroups + maxAvailableGroups) / 2;
31
+ allocatedGroups += diskAllocatedGroups;
32
+ return [
33
+ {
34
+ diskType,
35
+ erasures,
36
+ allocatedGroups: diskAllocatedGroups,
37
+ availableGroups: {
38
+ min: minAvailableGroups,
39
+ max: maxAvailableGroups,
40
+ average: averageAvailableGroups,
41
+ },
42
+ progressTotalGroups: diskAllocatedGroups + averageAvailableGroups,
43
+ },
44
+ ];
45
+ })
46
+ .sort((a, b) => getDiskTypeOrder(a.diskType) - getDiskTypeOrder(b.diskType));
47
+ return { disks, allocatedGroups };
48
+ }
49
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACvC,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;AAyB1E,SAAS,eAAe,CAAC,OAAe;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACtC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEhD,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,UAA8B;IAE9B,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;SACnC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,EAAE;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;aACpC,MAAM,CAAC,CAAC,EAAC,aAAa,EAAC,EAAE,EAAE,CAAC,aAAa,GAAG,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,eAAe,EAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa;SAC3D,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAE7E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CACvC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,aAAa,EACzC,CAAC,CACJ,CAAC;QACF,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QACxD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;QACxD,MAAM,sBAAsB,GAAG,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAE7E,eAAe,IAAI,mBAAmB,CAAC;QAEvC,OAAO;YACH;gBACI,QAAQ;gBACR,QAAQ;gBACR,eAAe,EAAE,mBAAmB;gBACpC,eAAe,EAAE;oBACb,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,kBAAkB;oBACvB,OAAO,EAAE,sBAAsB;iBAClC;gBACD,mBAAmB,EAAE,mBAAmB,GAAG,sBAAsB;aACpE;SACJ,CAAC;IACN,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjF,OAAO,EAAC,KAAK,EAAE,eAAe,EAAC,CAAC;AACpC,CAAC"}
@@ -1,8 +1,17 @@
1
1
  {
2
- "title_allocated": "Allocated : {{used}} of {{total}} groups",
3
- "title_available-one": "Available : 1 group",
4
- "title_available-other": "Available : {{count}} groups",
5
- "context_storage-group-allocation-progress": "Storage group allocation progress",
2
+ "title_available": "Available",
3
+ "value_groups": {
4
+ "one": "{{formattedCount}} group",
5
+ "other": "{{formattedCount}} groups"
6
+ },
7
+ "value_available-groups-range": "{{min}}–{{max}} groups",
8
+ "context_available-groups": "Estimated number of free groups available for allocation.",
9
+ "action_show-available-groups-info": "About available {{diskType}} storage groups",
10
+ "context_available-groups-by-erasure": {
11
+ "one": "{{formattedCount}} group available if only {{erasure}} is used",
12
+ "other": "{{formattedCount}} groups available if only {{erasure}} is used"
13
+ },
14
+ "context_storage-group-allocation-progress": "{{diskType}} storage group allocation: {{percent}}%",
6
15
  "title_cpu": "CPU",
7
16
  "title_storage-groups": "Allocated Storage Groups",
8
17
  "title_memory": "Memory",
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "title_allocated" | "title_available-one" | "title_available-other" | "context_storage-group-allocation-progress" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "value_nodes" | "value_bridge-state-primary" | "value_bridge-state-promoted" | "value_bridge-state-synchronised" | "value_bridge-state-not-synchronised" | "value_bridge-state-suspended" | "value_bridge-state-disconnected" | "value_bridge-state-unspecified" | "label_you-are-here" | "label_bridge-pile-health-status-prefix" | "value_bridge-group-status-unknown" | "value_bridge-group-status-full" | "value_bridge-group-status-partial" | "value_bridge-group-status-degraded" | "value_bridge-group-status-disintegrated" | "context_bridge-pile-state-promoted" | "context_bridge-pile-state-primary" | "context_bridge-pile-state-synchronised" | "context_bridge-pile-state-not-synchronised" | "context_bridge-pile-state-suspended" | "context_bridge-pile-state-disconnected" | "context_group-statuses" | "context_group-statuses-empty" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs" | "title_healthcheck-dashboard" | "action_download-healthcheck", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "title_available" | "value_groups" | "value_available-groups-range" | "context_available-groups" | "action_show-available-groups-info" | "context_available-groups-by-erasure" | "context_storage-group-allocation-progress" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "value_nodes" | "value_bridge-state-primary" | "value_bridge-state-promoted" | "value_bridge-state-synchronised" | "value_bridge-state-not-synchronised" | "value_bridge-state-suspended" | "value_bridge-state-disconnected" | "value_bridge-state-unspecified" | "label_you-are-here" | "label_bridge-pile-health-status-prefix" | "value_bridge-group-status-unknown" | "value_bridge-group-status-full" | "value_bridge-group-status-partial" | "value_bridge-group-status-degraded" | "value_bridge-group-status-disintegrated" | "context_bridge-pile-state-promoted" | "context_bridge-pile-state-primary" | "context_bridge-pile-state-synchronised" | "context_bridge-pile-state-not-synchronised" | "context_bridge-pile-state-suspended" | "context_bridge-pile-state-disconnected" | "context_group-statuses" | "context_group-statuses-empty" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs" | "title_healthcheck-dashboard" | "action_download-healthcheck", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -1,6 +1,7 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { DatabaseArrowRight, Pencil, PlugConnection, TrashBin } from '@gravity-ui/icons';
4
+ import { Flex, Spin, Text } from '@gravity-ui/uikit';
4
5
  import { useHistory } from 'react-router-dom';
5
6
  import { getConnectToDBDialog } from '../../components/ConnectToDB/ConnectToDBDialog';
6
7
  import { DropdownMenu } from '../../components/DropdownMenu';
@@ -14,7 +15,7 @@ import { headerKeyset } from './i18n';
14
15
  export function DBHeaderActionsMenu({ database, clusterName, databaseData, isDatabaseDataLoading, isV2NavigationEnabled, isViewerUser, prepareTenantBackend, databaseLinks, }) {
15
16
  const history = useHistory();
16
17
  const emMetaAvailable = useEmMetaAvailable();
17
- const sharedDatabasePath = useSharedDatabasePath({
18
+ const { isSharedDatabaseLoading, sharedDatabasePath } = useSharedDatabasePath({
18
19
  clusterName,
19
20
  databaseData,
20
21
  isViewerUser,
@@ -47,7 +48,21 @@ export function DBHeaderActionsMenu({ database, clusterName, databaseData, isDat
47
48
  },
48
49
  ]);
49
50
  }
50
- if (sharedDatabasePath) {
51
+ if (isSharedDatabaseLoading) {
52
+ menuItems.push([
53
+ {
54
+ title: (_jsxs(Flex, { alignItems: "center", gap: 2, children: [_jsx(Spin, { size: "xs", qa: "shared-database-link-loader" }), _jsx(Text, { children: headerKeyset('action_go-to-shared-db') })] })),
55
+ action: () => undefined,
56
+ disabled: true,
57
+ extraProps: {
58
+ 'aria-busy': true,
59
+ 'aria-disabled': true,
60
+ 'aria-label': headerKeyset('status_loading-shared-db'),
61
+ },
62
+ },
63
+ ]);
64
+ }
65
+ else if (sharedDatabasePath) {
51
66
  menuItems.push([
52
67
  {
53
68
  title: headerKeyset('action_go-to-shared-db'),
@@ -96,6 +111,7 @@ export function DBHeaderActionsMenu({ database, clusterName, databaseData, isDat
96
111
  history,
97
112
  isEditDBAvailable,
98
113
  isDeleteDBAvailable,
114
+ isSharedDatabaseLoading,
99
115
  sharedDatabasePath,
100
116
  ]);
101
117
  if (!menuItems.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderActionsMenu.js","sourceRoot":"","sources":["../../../src/containers/Header/HeaderActionsMenu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HeaderActionsMenu.js","sourceRoot":"","sources":["../../../src/containers/Header/HeaderActionsMenu.tsx"],"names":[],"mappings":"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"}
@@ -6,5 +6,8 @@ interface UseSharedDatabasePathParams {
6
6
  isViewerUser?: boolean;
7
7
  prepareTenantBackend?: AdditionalTenantsProps['prepareTenantBackend'];
8
8
  }
9
- export declare function useSharedDatabasePath({ clusterName, databaseData, isViewerUser, prepareTenantBackend, }: UseSharedDatabasePathParams): string | undefined;
9
+ export declare function useSharedDatabasePath({ clusterName, databaseData, isViewerUser, prepareTenantBackend, }: UseSharedDatabasePathParams): {
10
+ isSharedDatabaseLoading: boolean;
11
+ sharedDatabasePath: string | undefined;
12
+ };
10
13
  export {};
@@ -50,7 +50,7 @@ export function useSharedDatabasePath({ clusterName, databaseData, isViewerUser,
50
50
  useDatabaseId,
51
51
  });
52
52
  const shouldResolveSharedDatabaseFromViewer = shouldResolveSharedDatabaseName && !window.api.meta;
53
- const { currentData: sharedDatabaseFromViewer } = tenantsApi.useGetSharedDatabaseQuery(shouldResolveSharedDatabaseFromViewer && (databaseData === null || databaseData === void 0 ? void 0 : databaseData.ResourceId)
53
+ const { currentData: sharedDatabaseFromViewer, isFetching: isSharedDatabaseFromViewerFetching } = tenantsApi.useGetSharedDatabaseQuery(shouldResolveSharedDatabaseFromViewer && (databaseData === null || databaseData === void 0 ? void 0 : databaseData.ResourceId)
54
54
  ? {
55
55
  clusterName,
56
56
  database: databaseData.Name,
@@ -62,7 +62,7 @@ export function useSharedDatabasePath({ clusterName, databaseData, isViewerUser,
62
62
  }
63
63
  : skipToken);
64
64
  const shouldResolveSharedDatabaseFromMetaList = shouldResolveSharedDatabaseName && Boolean(window.api.meta);
65
- const { currentData: databases } = tenantsApi.useGetTenantsInfoQuery(shouldResolveSharedDatabaseFromMetaList
65
+ const { currentData: databases, isFetching: isDatabasesFetching } = tenantsApi.useGetTenantsInfoQuery(shouldResolveSharedDatabaseFromMetaList
66
66
  ? { clusterName, environmentName: environment, isMetaDatabasesAvailable }
67
67
  : skipToken);
68
68
  const sharedDatabaseTarget = React.useMemo(() => {
@@ -90,13 +90,17 @@ export function useSharedDatabasePath({ clusterName, databaseData, isViewerUser,
90
90
  ]);
91
91
  const sharedDatabase = useDatabaseId ? databaseData === null || databaseData === void 0 ? void 0 : databaseData.ResourceId : sharedDatabaseTarget === null || sharedDatabaseTarget === void 0 ? void 0 : sharedDatabaseTarget.name;
92
92
  const backend = getSharedDatabaseBackend(sharedDatabaseTarget, prepareTenantBackend);
93
- return getResolvedSharedDatabasePath({
94
- backend,
95
- clusterName,
96
- databaseData,
97
- isClusterBaseInfoResolved: isClusterBaseInfoAvailable,
98
- isViewerUser,
99
- sharedDatabase,
100
- });
93
+ return {
94
+ isSharedDatabaseLoading: (isSharedDatabaseFromViewerFetching && sharedDatabaseFromViewer === undefined) ||
95
+ (isDatabasesFetching && databases === undefined),
96
+ sharedDatabasePath: getResolvedSharedDatabasePath({
97
+ backend,
98
+ clusterName,
99
+ databaseData,
100
+ isClusterBaseInfoResolved: isClusterBaseInfoAvailable,
101
+ isViewerUser,
102
+ sharedDatabase,
103
+ }),
104
+ };
101
105
  }
102
106
  //# sourceMappingURL=useSharedDatabasePath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSharedDatabasePath.js","sourceRoot":"","sources":["../../../../src/containers/Header/hooks/useSharedDatabasePath.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSharedDatabasePath.js","sourceRoot":"","sources":["../../../../src/containers/Header/hooks/useSharedDatabasePath.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@
16
16
  "action_delete-cluster": "Delete Cluster",
17
17
  "action_connect-to-db": "Connect to database",
18
18
  "action_go-to-shared-db": "Go to shared database",
19
+ "status_loading-shared-db": "Loading shared database",
19
20
  "action_manage": "Manage",
20
21
  "title_developer-ui": "Developer UI",
21
22
  "description_developer-ui": "Developer interface with a full set\nof administrative functions",
@@ -1 +1 @@
1
- export declare const headerKeyset: (key: "title_monitoring" | "breadcrumbs.clusters" | "breadcrumbs.databases" | "breadcrumbs.tenant" | "breadcrumbs.node" | "breadcrumbs.pDisk" | "breadcrumbs.vDisk" | "breadcrumbs.tablet" | "breadcrumbs.tablets" | "breadcrumbs.storageGroup" | "title_connect" | "title_add-cluster" | "action_edit-db" | "action_delete-db" | "action_edit-cluster" | "action_delete-cluster" | "action_connect-to-db" | "action_go-to-shared-db" | "action_manage" | "title_developer-ui" | "description_developer-ui" | "description_connect-to-db" | "action_copy-path", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const headerKeyset: (key: "title_monitoring" | "breadcrumbs.clusters" | "breadcrumbs.databases" | "breadcrumbs.tenant" | "breadcrumbs.node" | "breadcrumbs.pDisk" | "breadcrumbs.vDisk" | "breadcrumbs.tablet" | "breadcrumbs.tablets" | "breadcrumbs.storageGroup" | "title_connect" | "title_add-cluster" | "action_edit-db" | "action_delete-db" | "action_edit-cluster" | "action_delete-cluster" | "action_connect-to-db" | "action_go-to-shared-db" | "status_loading-shared-db" | "action_manage" | "title_developer-ui" | "description_developer-ui" | "description_connect-to-db" | "action_copy-path", params?: import("@gravity-ui/i18n").Params) => string;