ydb-embedded-ui 6.18.0 → 6.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (316) hide show
  1. package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +2 -2
  2. package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +2 -1
  3. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +11 -3
  4. package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
  5. package/dist/components/CriticalActionDialog/i18n/en.json +2 -1
  6. package/dist/components/CriticalActionDialog/i18n/index.d.ts +1 -1
  7. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +7 -36
  8. package/dist/components/GroupInfo/GroupInfo.js +3 -3
  9. package/dist/components/MetricChart/reducer.d.ts +2 -2
  10. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  11. package/dist/components/PaginatedTable/PaginatedTable.scss +4 -0
  12. package/dist/components/PaginatedTable/TableChunk.js +5 -2
  13. package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
  14. package/dist/components/PaginatedTable/TableRow.js +1 -1
  15. package/dist/components/PaginatedTable/TableRow.js.map +1 -1
  16. package/dist/components/TabletsStatistic/TabletsStatistic.d.ts +2 -4
  17. package/dist/components/TabletsStatistic/TabletsStatistic.js.map +1 -1
  18. package/dist/components/Tag/Tag.d.ts +2 -1
  19. package/dist/components/Tag/Tag.js.map +1 -1
  20. package/dist/components/Tags/Tags.d.ts +2 -1
  21. package/dist/components/Tags/Tags.js.map +1 -1
  22. package/dist/containers/AppWithClusters/ExtendedNode/ExtendedNode.js +4 -2
  23. package/dist/containers/AppWithClusters/ExtendedNode/ExtendedNode.js.map +1 -1
  24. package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.js +4 -3
  25. package/dist/containers/AppWithClusters/ExtendedTenant/ExtendedTenant.js.map +1 -1
  26. package/dist/containers/AppWithClusters/useClusterData.d.ts +7 -1
  27. package/dist/containers/AppWithClusters/useClusterData.js +8 -8
  28. package/dist/containers/AppWithClusters/useClusterData.js.map +1 -1
  29. package/dist/containers/AsideNavigation/AsideNavigation.d.ts +3 -0
  30. package/dist/containers/AsideNavigation/AsideNavigation.js +6 -10
  31. package/dist/containers/AsideNavigation/AsideNavigation.js.map +1 -1
  32. package/dist/containers/AsideNavigation/Navigation.js +4 -1
  33. package/dist/containers/AsideNavigation/Navigation.js.map +1 -1
  34. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.d.ts +3 -1
  35. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +2 -4
  36. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js.map +1 -1
  37. package/dist/containers/Cluster/Cluster.js +5 -13
  38. package/dist/containers/Cluster/Cluster.js.map +1 -1
  39. package/dist/containers/Cluster/Cluster.scss +1 -0
  40. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +3 -112
  41. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  42. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +7 -14
  43. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.d.ts +7 -0
  44. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.js +43 -0
  45. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.js.map +1 -0
  46. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.scss +11 -0
  47. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.d.ts +8 -0
  48. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.js +8 -0
  49. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.js.map +1 -0
  50. package/dist/containers/Cluster/ClusterInfo/components/NodesState/NodesState.scss +16 -0
  51. package/dist/containers/Cluster/ClusterInfo/shared.d.ts +1 -0
  52. package/dist/containers/Cluster/ClusterInfo/shared.js +3 -0
  53. package/dist/containers/Cluster/ClusterInfo/shared.js.map +1 -0
  54. package/dist/containers/Cluster/ClusterInfo/utils.d.ts +12 -0
  55. package/dist/containers/Cluster/ClusterInfo/utils.js +145 -0
  56. package/dist/containers/Cluster/ClusterInfo/utils.js.map +1 -1
  57. package/dist/containers/Cluster/i18n/en.json +7 -1
  58. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  59. package/dist/containers/Cluster/i18n/index.js +1 -2
  60. package/dist/containers/Cluster/i18n/index.js.map +1 -1
  61. package/dist/containers/Header/Header.js +3 -7
  62. package/dist/containers/Header/Header.js.map +1 -1
  63. package/dist/containers/Node/Node.js +1 -5
  64. package/dist/containers/Node/Node.js.map +1 -1
  65. package/dist/containers/Node/NodePages.js +5 -4
  66. package/dist/containers/Node/NodePages.js.map +1 -1
  67. package/dist/containers/Node/NodeStructure/NodeStructure.js +9 -3
  68. package/dist/containers/Node/NodeStructure/NodeStructure.js.map +1 -1
  69. package/dist/containers/Nodes/Nodes.js +3 -13
  70. package/dist/containers/Nodes/Nodes.js.map +1 -1
  71. package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.js +1 -1
  72. package/dist/containers/PDiskPage/DecommissionButton/DecommissionButton.js.map +1 -1
  73. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js +16 -7
  74. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js.map +1 -1
  75. package/dist/containers/PDiskPage/PDiskGroups/utils.d.ts +2 -0
  76. package/dist/containers/PDiskPage/PDiskGroups/utils.js +14 -0
  77. package/dist/containers/PDiskPage/PDiskGroups/utils.js.map +1 -0
  78. package/dist/containers/PDiskPage/PDiskPage.js +1 -1
  79. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  80. package/dist/containers/Storage/Storage.js +9 -9
  81. package/dist/containers/Storage/Storage.js.map +1 -1
  82. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.js +7 -2
  83. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.js.map +1 -1
  84. package/dist/containers/Storage/StorageGroups/columns/getStorageGroupsColumns.d.ts +1 -1
  85. package/dist/containers/Storage/StorageGroups/columns/getStorageGroupsColumns.js +7 -20
  86. package/dist/containers/Storage/StorageGroups/columns/getStorageGroupsColumns.js.map +1 -1
  87. package/dist/containers/Storage/StorageGroups/getGroups.d.ts +3 -1
  88. package/dist/containers/Storage/StorageGroups/getGroups.js +27 -24
  89. package/dist/containers/Storage/StorageGroups/getGroups.js.map +1 -1
  90. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodes.js +1 -1
  91. package/dist/containers/Storage/utils/index.js +3 -4
  92. package/dist/containers/Storage/utils/index.js.map +1 -1
  93. package/dist/containers/Tablets/i18n/index.d.ts +1 -1
  94. package/dist/containers/Tenant/Diagnostics/Configs/Configs.d.ts +6 -0
  95. package/dist/containers/Tenant/Diagnostics/Configs/Configs.js +79 -0
  96. package/dist/containers/Tenant/Diagnostics/Configs/Configs.js.map +1 -0
  97. package/dist/containers/Tenant/Diagnostics/Configs/Configs.scss +8 -0
  98. package/dist/containers/Tenant/Diagnostics/Configs/i18n/en.json +11 -0
  99. package/dist/containers/Tenant/Diagnostics/Configs/i18n/index.d.ts +2 -0
  100. package/dist/containers/Tenant/Diagnostics/Configs/i18n/index.js +5 -0
  101. package/dist/containers/Tenant/Diagnostics/Configs/i18n/index.js.map +1 -0
  102. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +4 -0
  103. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  104. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +3 -0
  105. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +5 -0
  106. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  107. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
  108. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +21 -4
  109. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  110. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/utils.d.ts +2 -0
  111. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/utils.js +7 -0
  112. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/utils.js.map +1 -0
  113. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +8 -3
  114. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js.map +1 -1
  115. package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.d.ts +7 -0
  116. package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js +17 -0
  117. package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js.map +1 -0
  118. package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.scss +9 -0
  119. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.d.ts +5 -9
  120. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +7 -7
  121. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js.map +1 -1
  122. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.scss +0 -12
  123. package/dist/containers/Tenant/Query/ExecuteResult/TraceButton.d.ts +1 -1
  124. package/dist/containers/Tenant/Query/ExecuteResult/TraceButton.js +9 -24
  125. package/dist/containers/Tenant/Query/ExecuteResult/TraceButton.js.map +1 -1
  126. package/dist/containers/Tenant/Query/ExecuteResult/i18n/en.json +0 -1
  127. package/dist/containers/Tenant/Query/ExecuteResult/i18n/index.d.ts +1 -1
  128. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.d.ts +4 -12
  129. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +7 -5
  130. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js.map +1 -1
  131. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.scss +0 -6
  132. package/dist/containers/Tenant/Query/ExplainResult/i18n/en.json +1 -2
  133. package/dist/containers/Tenant/Query/ExplainResult/i18n/index.d.ts +1 -1
  134. package/dist/containers/Tenant/Query/Query.js +14 -2
  135. package/dist/containers/Tenant/Query/Query.js.map +1 -1
  136. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.d.ts +3 -2
  137. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +18 -36
  138. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  139. package/dist/containers/Tenant/Query/i18n/en.json +1 -0
  140. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  141. package/dist/containers/Tenant/utils/queryTemplates.js +1 -1
  142. package/dist/containers/Tenant/utils/queryTemplates.js.map +1 -1
  143. package/dist/containers/UserSettings/i18n/en.json +0 -2
  144. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  145. package/dist/containers/UserSettings/settings.d.ts +0 -1
  146. package/dist/containers/UserSettings/settings.js +2 -12
  147. package/dist/containers/UserSettings/settings.js.map +1 -1
  148. package/dist/containers/VDiskPage/VDiskPage.d.ts +3 -4
  149. package/dist/containers/VDiskPage/VDiskPage.js +33 -10
  150. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  151. package/dist/containers/VDiskPage/utils.d.ts +2 -0
  152. package/dist/containers/VDiskPage/utils.js +7 -0
  153. package/dist/containers/VDiskPage/utils.js.map +1 -0
  154. package/dist/lib.d.ts +1 -0
  155. package/dist/lib.js +1 -0
  156. package/dist/lib.js.map +1 -1
  157. package/dist/services/api.d.ts +20 -16
  158. package/dist/services/api.js +62 -21
  159. package/dist/services/api.js.map +1 -1
  160. package/dist/services/parsers/parseMetaCluster.d.ts +14 -0
  161. package/dist/services/parsers/parseMetaCluster.js +17 -31
  162. package/dist/services/parsers/parseMetaCluster.js.map +1 -1
  163. package/dist/services/settings.d.ts +0 -1
  164. package/dist/services/settings.js +1 -2
  165. package/dist/services/settings.js.map +1 -1
  166. package/dist/store/configureStore.d.ts +4 -4
  167. package/dist/store/defaultStore.d.ts +2 -2
  168. package/dist/store/getUrlData.js +9 -6
  169. package/dist/store/getUrlData.js.map +1 -1
  170. package/dist/store/reducers/api.d.ts +1 -1
  171. package/dist/store/reducers/api.js +1 -1
  172. package/dist/store/reducers/api.js.map +1 -1
  173. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  174. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  175. package/dist/store/reducers/cancelQuery.js.map +1 -1
  176. package/dist/store/reducers/capabilities/capabilities.d.ts +6 -6
  177. package/dist/store/reducers/capabilities/hooks.d.ts +2 -0
  178. package/dist/store/reducers/capabilities/hooks.js +8 -1
  179. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  180. package/dist/store/reducers/cluster/cluster.d.ts +230 -2
  181. package/dist/store/reducers/cluster/cluster.js +45 -3
  182. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  183. package/dist/store/reducers/cluster/utils.d.ts +4 -1
  184. package/dist/store/reducers/cluster/utils.js +16 -3
  185. package/dist/store/reducers/cluster/utils.js.map +1 -1
  186. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  187. package/dist/store/reducers/describe.d.ts +2 -2
  188. package/dist/store/reducers/executeQuery.d.ts +8 -4
  189. package/dist/store/reducers/executeQuery.js +35 -2
  190. package/dist/store/reducers/executeQuery.js.map +1 -1
  191. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +2 -2
  192. package/dist/store/reducers/explainQuery/explainQuery.d.ts +2 -3
  193. package/dist/store/reducers/explainQuery/explainQuery.js +23 -2
  194. package/dist/store/reducers/explainQuery/explainQuery.js.map +1 -1
  195. package/dist/store/reducers/explainQuery/types.d.ts +1 -0
  196. package/dist/store/reducers/explainQuery/utils.d.ts +1 -1
  197. package/dist/store/reducers/explainQuery/utils.js.map +1 -1
  198. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +58 -58
  199. package/dist/store/reducers/heatmap.d.ts +2 -2
  200. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  201. package/dist/store/reducers/index.d.ts +3 -3
  202. package/dist/store/reducers/network/network.d.ts +2 -2
  203. package/dist/store/reducers/node/node.d.ts +3 -3
  204. package/dist/store/reducers/node/selectors.d.ts +1 -1
  205. package/dist/store/reducers/nodes/nodes.d.ts +3 -4
  206. package/dist/store/reducers/nodes/nodes.js +1 -17
  207. package/dist/store/reducers/nodes/nodes.js.map +1 -1
  208. package/dist/store/reducers/nodes/types.d.ts +1 -6
  209. package/dist/store/reducers/nodes/utils.d.ts +1 -4
  210. package/dist/store/reducers/nodes/utils.js +1 -41
  211. package/dist/store/reducers/nodes/utils.js.map +1 -1
  212. package/dist/store/reducers/nodesList.d.ts +3 -3
  213. package/dist/store/reducers/overview/overview.d.ts +2 -2
  214. package/dist/store/reducers/partitions/partitions.d.ts +2 -2
  215. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -3
  216. package/dist/store/reducers/pdisk/pdisk.js +1 -21
  217. package/dist/store/reducers/pdisk/pdisk.js.map +1 -1
  218. package/dist/store/reducers/pdisk/utils.d.ts +0 -3
  219. package/dist/store/reducers/pdisk/utils.js +0 -22
  220. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  221. package/dist/store/reducers/preview.d.ts +2 -2
  222. package/dist/store/reducers/schema/schema.d.ts +3 -3
  223. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +2 -2
  224. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  225. package/dist/store/reducers/storage/requestStorageData.d.ts +5 -0
  226. package/dist/store/reducers/storage/requestStorageData.js +12 -0
  227. package/dist/store/reducers/storage/requestStorageData.js.map +1 -0
  228. package/dist/store/reducers/storage/selectors.js +1 -1
  229. package/dist/store/reducers/storage/storage.d.ts +6 -4
  230. package/dist/store/reducers/storage/storage.js +6 -6
  231. package/dist/store/reducers/storage/storage.js.map +1 -1
  232. package/dist/store/reducers/storage/types.d.ts +11 -23
  233. package/dist/store/reducers/storage/utils.d.ts +3 -2
  234. package/dist/store/reducers/storage/utils.js +52 -26
  235. package/dist/store/reducers/storage/utils.js.map +1 -1
  236. package/dist/store/reducers/tableData.d.ts +1 -1
  237. package/dist/store/reducers/tablet.d.ts +7 -7
  238. package/dist/store/reducers/tablets.d.ts +13 -13
  239. package/dist/store/reducers/tenant/constants.d.ts +1 -0
  240. package/dist/store/reducers/tenant/constants.js +1 -0
  241. package/dist/store/reducers/tenant/constants.js.map +1 -1
  242. package/dist/store/reducers/tenant/tenant.d.ts +5 -2
  243. package/dist/store/reducers/tenant/tenant.js +12 -0
  244. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  245. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  246. package/dist/store/reducers/tenantOverview/topNodes/topNodes.d.ts +2 -2
  247. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  248. package/dist/store/reducers/tenants/selectors.d.ts +27 -27
  249. package/dist/store/reducers/tenants/tenants.d.ts +2 -2
  250. package/dist/store/reducers/topic.d.ts +44 -44
  251. package/dist/store/reducers/trace.d.ts +4 -5
  252. package/dist/store/reducers/trace.js +5 -8
  253. package/dist/store/reducers/trace.js.map +1 -1
  254. package/dist/store/reducers/vdisk/utils.d.ts +0 -2
  255. package/dist/store/reducers/vdisk/utils.js +0 -10
  256. package/dist/store/reducers/vdisk/utils.js.map +1 -1
  257. package/dist/store/reducers/vdisk/vdisk.d.ts +8 -5
  258. package/dist/store/reducers/vdisk/vdisk.js +17 -32
  259. package/dist/store/reducers/vdisk/vdisk.js.map +1 -1
  260. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  261. package/dist/store/reducers/viewSchema/viewSchema.js +1 -1
  262. package/dist/store/reducers/viewSchema/viewSchema.js.map +1 -1
  263. package/dist/styles/mixins.scss +45 -0
  264. package/dist/types/api/capabilities.d.ts +1 -1
  265. package/dist/types/api/cluster.d.ts +31 -1
  266. package/dist/types/api/cluster.js +3 -1
  267. package/dist/types/api/cluster.js.map +1 -1
  268. package/dist/types/api/featureFlags.d.ts +13 -0
  269. package/dist/types/api/featureFlags.js +2 -0
  270. package/dist/types/api/featureFlags.js.map +1 -0
  271. package/dist/types/api/meta.d.ts +6 -4
  272. package/dist/types/api/pdisk.d.ts +1 -1
  273. package/dist/types/api/storage.d.ts +132 -6
  274. package/dist/types/api/storage.js +1 -5
  275. package/dist/types/api/storage.js.map +1 -1
  276. package/dist/types/api/trace.d.ts +16 -6
  277. package/dist/types/api/trace.js +7 -1
  278. package/dist/types/api/trace.js.map +1 -1
  279. package/dist/types/api/vdisk.d.ts +1 -1
  280. package/dist/types/store/executeQuery.d.ts +25 -3
  281. package/dist/types/store/executeQuery.js +5 -1
  282. package/dist/types/store/executeQuery.js.map +1 -1
  283. package/dist/utils/constants.d.ts +0 -1
  284. package/dist/utils/constants.js +0 -1
  285. package/dist/utils/constants.js.map +1 -1
  286. package/dist/utils/disks/helpers.d.ts +4 -1
  287. package/dist/utils/disks/helpers.js +7 -1
  288. package/dist/utils/disks/helpers.js.map +1 -1
  289. package/dist/utils/monaco/yql/generateSuggestions.js +8 -3
  290. package/dist/utils/monaco/yql/generateSuggestions.js.map +1 -1
  291. package/dist/utils/nodes.d.ts +1 -2
  292. package/dist/utils/nodes.js.map +1 -1
  293. package/dist/utils/storage.d.ts +2 -21
  294. package/dist/utils/storage.js +14 -19
  295. package/dist/utils/storage.js.map +1 -1
  296. package/dist/utils/versions/parseNodesToVersionsValues.d.ts +1 -1
  297. package/dist/utils/versions/parseNodesToVersionsValues.js +3 -2
  298. package/dist/utils/versions/parseNodesToVersionsValues.js.map +1 -1
  299. package/package.json +2 -6
  300. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.d.ts +0 -9
  301. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.js +0 -9
  302. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.js.map +0 -1
  303. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.scss +0 -3
  304. package/dist/containers/Cluster/i18n/ru.json +0 -16
  305. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +0 -4
  306. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.js +0 -29
  307. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.js.map +0 -1
  308. package/dist/store/reducers/tenantOverview/topStorageGroups/types.d.ts +0 -4
  309. package/dist/store/reducers/tenantOverview/topStorageGroups/types.js +0 -2
  310. package/dist/store/reducers/tenantOverview/topStorageGroups/types.js.map +0 -1
  311. package/dist/store/reducers/tenantOverview/topStorageGroups/utils.d.ts +0 -3
  312. package/dist/store/reducers/tenantOverview/topStorageGroups/utils.js +0 -13
  313. package/dist/store/reducers/tenantOverview/topStorageGroups/utils.js.map +0 -1
  314. package/dist/types/api/compute.d.ts +0 -60
  315. package/dist/types/api/compute.js +0 -6
  316. package/dist/types/api/compute.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"YdbInternalUser.js","sourceRoot":"","sources":["../../../../src/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,MAAM,EAAE,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AACxF,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,UAAU,eAAe;IAC3B,MAAM,EAAC,IAAI,EAAE,OAAO,EAAC,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE1E,MAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IAEvD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,OAAO,CAAC,IAAI,CACR,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAC,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,CAAC,CACrF,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,MAAM,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACf,eAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,aAClC,cAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,YAAG,IAAI,CAAC,cAAc,CAAC,GAAO,EACzE,OAAO,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,YAAG,OAAO,GAAO,IACxD,EACL,OAAO,CAAC,CAAC,CAAC,CACP,KAAC,MAAM,IAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,YAAY,YAC9E,KAAC,IAAI,IAAC,IAAI,EAAE,oBAAoB,GAAI,GAC/B,CACZ,CAAC,CAAC,CAAC,CACA,KAAC,MAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,OAAO,EAAE,gBAAgB,YAEzB,KAAC,IAAI,IAAC,IAAI,EAAE,kBAAkB,GAAI,GAC7B,CACZ,IACC,CACT,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"YdbInternalUser.js","sourceRoot":"","sources":["../../../../src/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAE5C,OAAO,MAAM,EAAE,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uDAAuD,CAAC;AACxF,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,wBAAwB,CAAC;AAEhC,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC;AAErC,MAAM,UAAU,eAAe,CAAC,EAAC,KAAK,EAAmB;IACrD,MAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IAEvD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC1B,OAAO,CAAC,IAAI,CACR,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,EAAC,SAAS,EAAE,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,CAAC,CACrF,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,MAAM,CAAC,SAAS,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACf,eAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,aAClC,cAAK,SAAS,EAAE,CAAC,CAAC,yBAAyB,CAAC,YAAG,IAAI,CAAC,cAAc,CAAC,GAAO,EACzE,KAAK,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,YAAG,KAAK,GAAO,IACpD,EACL,KAAK,CAAC,CAAC,CAAC,CACL,KAAC,MAAM,IAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,YAAY,YAC9E,KAAC,IAAI,IAAC,IAAI,EAAE,oBAAoB,GAAI,GAC/B,CACZ,CAAC,CAAC,CAAC,CACA,KAAC,MAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,EAC5B,OAAO,EAAE,gBAAgB,YAEzB,KAAC,IAAI,IAAC,IAAI,EAAE,kBAAkB,GAAI,GAC7B,CACZ,IACC,CACT,CAAC;AACN,CAAC"}
@@ -8,10 +8,9 @@ import { AutoRefreshControl } from '../../components/AutoRefreshControl/AutoRefr
8
8
  import { EntityStatus } from '../../components/EntityStatus/EntityStatus';
9
9
  import { InternalLink } from '../../components/InternalLink';
10
10
  import routes, { getLocationObjectFromHref } from '../../routes';
11
- import { clusterApi, updateDefaultClusterTab } from '../../store/reducers/cluster/cluster';
11
+ import { clusterApi, selectClusterTitle, updateDefaultClusterTab, } from '../../store/reducers/cluster/cluster';
12
12
  import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
13
13
  import { cn } from '../../utils/cn';
14
- import { CLUSTER_DEFAULT_TITLE } from '../../utils/constants';
15
14
  import { useTypedDispatch, useTypedSelector } from '../../utils/hooks';
16
15
  import { parseVersionsToVersionToColorMap } from '../../utils/versions';
17
16
  import { NodesWrapper } from '../Nodes/NodesWrapper';
@@ -23,7 +22,6 @@ import { clusterTabs, clusterTabsIds, getClusterPath, isClusterTab } from './uti
23
22
  import './Cluster.scss';
24
23
  const b = cn('cluster');
25
24
  export function Cluster({ additionalClusterProps, additionalTenantsProps, additionalNodesProps, additionalVersionsProps, }) {
26
- var _a, _b;
27
25
  const container = React.useRef(null);
28
26
  const dispatch = useTypedDispatch();
29
27
  const activeTabId = useClusterTab();
@@ -31,12 +29,12 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps, additi
31
29
  clusterName: StringParam,
32
30
  backend: StringParam,
33
31
  });
32
+ const clusterTitle = useTypedSelector((state) => selectClusterTitle(state, clusterName !== null && clusterName !== void 0 ? clusterName : undefined));
34
33
  const { data: { clusterData: cluster = {}, groupsStats } = {}, isLoading: infoLoading, error, } = clusterApi.useGetClusterInfoQuery(clusterName !== null && clusterName !== void 0 ? clusterName : undefined);
35
34
  const clusterError = error && typeof error === 'object' ? error : undefined;
36
- const { Name } = cluster;
37
35
  React.useEffect(() => {
38
36
  dispatch(setHeaderBreadcrumbs('cluster', {}));
39
- }, [dispatch, Name]);
37
+ }, [dispatch]);
40
38
  const versionToColor = React.useMemo(() => {
41
39
  if (additionalVersionsProps === null || additionalVersionsProps === void 0 ? void 0 : additionalVersionsProps.getVersionToColorMap) {
42
40
  return additionalVersionsProps === null || additionalVersionsProps === void 0 ? void 0 : additionalVersionsProps.getVersionToColorMap();
@@ -44,24 +42,18 @@ export function Cluster({ additionalClusterProps, additionalTenantsProps, additi
44
42
  return parseVersionsToVersionToColorMap(cluster === null || cluster === void 0 ? void 0 : cluster.Versions);
45
43
  }, [additionalVersionsProps, cluster]);
46
44
  const getClusterTitle = () => {
47
- var _a;
48
45
  if (infoLoading) {
49
46
  return _jsx(Skeleton, { className: b('title-skeleton') });
50
47
  }
51
- return (_jsx(EntityStatus, { size: "m", status: cluster === null || cluster === void 0 ? void 0 : cluster.Overall, name: (_a = cluster === null || cluster === void 0 ? void 0 : cluster.Name) !== null && _a !== void 0 ? _a : CLUSTER_DEFAULT_TITLE, className: b('title') }));
48
+ return (_jsx(EntityStatus, { size: "m", status: cluster === null || cluster === void 0 ? void 0 : cluster.Overall, name: clusterTitle, className: b('title') }));
52
49
  };
53
- const clusterTitle = (_b = (_a = cluster === null || cluster === void 0 ? void 0 : cluster.Name) !== null && _a !== void 0 ? _a : clusterName) !== null && _b !== void 0 ? _b : CLUSTER_DEFAULT_TITLE;
54
50
  const activeTab = React.useMemo(() => clusterTabs.find(({ id }) => id === activeTabId), [activeTabId]);
55
51
  return (_jsxs("div", { className: b(), ref: container, children: [_jsx(Helmet, { defaultTitle: `${clusterTitle} — YDB Monitoring`, titleTemplate: `%s — ${clusterTitle} — YDB Monitoring`, children: activeTab ? _jsx("title", { children: activeTab.title }) : null }), _jsx("div", { className: b('header'), children: getClusterTitle() }), _jsx("div", { className: b('tabs'), children: _jsx(Tabs, { size: "l", allowNotSelected: true, activeTab: activeTabId, items: clusterTabs, wrapTo: ({ id }, node) => {
56
52
  const path = getClusterPath(id, { clusterName, backend });
57
53
  return (_jsx(InternalLink, { to: path, onClick: () => {
58
54
  dispatch(updateDefaultClusterTab(id));
59
55
  }, children: node }, id));
60
- } }) }), _jsxs("div", { children: [_jsx("div", { className: b('sticky-wrapper'), children: _jsx(AutoRefreshControl, { className: b('auto-refresh-control') }) }), _jsxs(Switch, { children: [_jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.overview))
61
- .pathname, children: _jsx(ClusterInfo, { cluster: cluster, groupsStats: groupsStats, versionToColor: versionToColor, loading: infoLoading, error: clusterError, additionalClusterProps: additionalClusterProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.tenants))
62
- .pathname, children: _jsx(Tenants, { additionalTenantsProps: additionalTenantsProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.nodes)).pathname, children: _jsx(NodesWrapper, { parentContainer: container.current, additionalNodesProps: additionalNodesProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.storage))
63
- .pathname, children: _jsx(StorageWrapper, { parentContainer: container.current, additionalNodesProps: additionalNodesProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.versions))
64
- .pathname, children: _jsx(Versions, { versionToColor: versionToColor }) }), _jsx(Route, { render: () => (_jsx(Redirect, { to: getLocationObjectFromHref(getClusterPath(activeTabId)) })) })] })] })] }));
56
+ } }) }), _jsx("div", { className: b('sticky-wrapper'), children: _jsx(AutoRefreshControl, { className: b('auto-refresh-control') }) }), _jsxs(Switch, { children: [_jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.overview)).pathname, children: _jsx(ClusterInfo, { cluster: cluster, groupsStats: groupsStats, versionToColor: versionToColor, loading: infoLoading, error: clusterError, additionalClusterProps: additionalClusterProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.tenants)).pathname, children: _jsx(Tenants, { additionalTenantsProps: additionalTenantsProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.nodes)).pathname, children: _jsx(NodesWrapper, { parentContainer: container.current, additionalNodesProps: additionalNodesProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.storage)).pathname, children: _jsx(StorageWrapper, { parentContainer: container.current, additionalNodesProps: additionalNodesProps }) }), _jsx(Route, { path: getLocationObjectFromHref(getClusterPath(clusterTabsIds.versions)).pathname, children: _jsx(Versions, { versionToColor: versionToColor }) }), _jsx(Route, { render: () => (_jsx(Redirect, { to: getLocationObjectFromHref(getClusterPath(activeTabId)) })) })] })] }));
65
57
  }
66
58
  function useClusterTab() {
67
59
  const dispatch = useTypedDispatch();
@@ -1 +1 @@
1
- {"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../../../src/containers/Cluster/Cluster.tsx"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@
41
41
  position: sticky;
42
42
  z-index: 4;
43
43
  top: 56px;
44
+ left: 0;
44
45
  }
45
46
 
46
47
  &__auto-refresh-control {
@@ -1,125 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
- import { ContentWithPopup } from '../../../components/ContentWithPopup/ContentWithPopup';
4
2
  import { ResponseError } from '../../../components/Errors/ResponseError';
5
3
  import { InfoViewer } from '../../../components/InfoViewer/InfoViewer';
6
4
  import { InfoViewerSkeleton } from '../../../components/InfoViewerSkeleton/InfoViewerSkeleton';
7
- import { LinkWithIcon } from '../../../components/LinkWithIcon/LinkWithIcon';
8
- import { ProgressViewer } from '../../../components/ProgressViewer/ProgressViewer';
9
- import { Tablet } from '../../../components/Tablet';
10
- import { Tags } from '../../../components/Tags';
11
5
  import { backend, customBackend } from '../../../store';
12
- import { nodesApi } from '../../../store/reducers/nodes/nodes';
13
- import { formatBytes, getSizeWithSignificantDigits } from '../../../utils/bytesParsers';
14
- import { cn } from '../../../utils/cn';
15
6
  import { DEVELOPER_UI_TITLE } from '../../../utils/constants';
16
- import { formatStorageValues } from '../../../utils/dataFormatters/dataFormatters';
17
7
  import { useTypedSelector } from '../../../utils/hooks';
18
- import { parseNodeGroupsToVersionsValues, parseNodesToVersionsValues } from '../../../utils/versions';
19
- import { VersionsBar } from '../VersionsBar/VersionsBar';
20
- import i18n from '../i18n';
21
- import { compareTablets } from './utils';
8
+ import { b } from './shared';
9
+ import { getInfo, useGetVersionValues } from './utils';
22
10
  import './ClusterInfo.scss';
23
- const b = cn('cluster-info');
24
- const GroupsStatsPopupContent = ({ stats }) => {
25
- const { diskType, erasure, allocatedSize, availableSize } = stats;
26
- const sizeToConvert = getSizeWithSignificantDigits(Math.max(allocatedSize, availableSize), 2);
27
- const convertedAllocatedSize = formatBytes({ value: allocatedSize, size: sizeToConvert });
28
- const convertedAvailableSize = formatBytes({ value: availableSize, size: sizeToConvert });
29
- const usage = Math.round((allocatedSize / (allocatedSize + availableSize)) * 100);
30
- const info = [
31
- {
32
- label: i18n('disk-type'),
33
- value: diskType,
34
- },
35
- {
36
- label: i18n('erasure'),
37
- value: erasure,
38
- },
39
- {
40
- label: i18n('allocated'),
41
- value: convertedAllocatedSize,
42
- },
43
- {
44
- label: i18n('available'),
45
- value: convertedAvailableSize,
46
- },
47
- {
48
- label: i18n('usage'),
49
- value: usage + '%',
50
- },
51
- ];
52
- return (_jsx(InfoViewer, { dots: true, info: info, className: b('groups-stats-popup-content'), size: "s" }));
53
- };
54
- const DiskGroupsStatsBars = ({ stats }) => {
55
- return (_jsx("div", { className: b('storage-groups-stats'), children: Object.values(stats).map((erasureStats) => (_jsx(ContentWithPopup, { placement: ['right'], content: _jsx(GroupsStatsPopupContent, { stats: erasureStats }), children: _jsx(ProgressViewer, { className: b('groups-stats-bar'), value: erasureStats.createdGroups, capacity: erasureStats.totalGroups }) }, erasureStats.erasure))) }));
56
- };
57
- const getGroupsStatsFields = (groupsStats) => {
58
- return Object.keys(groupsStats).map((diskType) => {
59
- return {
60
- label: i18n('storage-groups', { diskType }),
61
- value: _jsx(DiskGroupsStatsBars, { stats: groupsStats[diskType] }),
62
- };
63
- });
64
- };
65
- const getInfo = (cluster, versionsValues, groupsStats, additionalInfo, links) => {
66
- const info = [];
67
- if (cluster.DataCenters) {
68
- info.push({
69
- label: i18n('dc'),
70
- value: _jsx(Tags, { tags: cluster.DataCenters }),
71
- });
72
- }
73
- if (cluster.SystemTablets) {
74
- const tablets = cluster.SystemTablets.slice(0).sort(compareTablets);
75
- info.push({
76
- label: i18n('tablets'),
77
- value: (_jsx("div", { className: b('system-tablets'), children: tablets.map((tablet, tabletIndex) => (_jsx(Tablet, { tablet: tablet }, tabletIndex))) })),
78
- });
79
- }
80
- if (cluster.Tenants) {
81
- info.push({
82
- label: i18n('databases'),
83
- value: cluster.Tenants,
84
- });
85
- }
86
- info.push({
87
- label: i18n('nodes'),
88
- value: _jsx(ProgressViewer, { value: cluster === null || cluster === void 0 ? void 0 : cluster.NodesAlive, capacity: cluster === null || cluster === void 0 ? void 0 : cluster.NodesTotal }),
89
- }, {
90
- label: i18n('load'),
91
- value: _jsx(ProgressViewer, { value: cluster === null || cluster === void 0 ? void 0 : cluster.LoadAverage, capacity: cluster === null || cluster === void 0 ? void 0 : cluster.NumberOfCpus }),
92
- }, {
93
- label: i18n('storage-size'),
94
- value: (_jsx(ProgressViewer, { value: cluster === null || cluster === void 0 ? void 0 : cluster.StorageUsed, capacity: cluster === null || cluster === void 0 ? void 0 : cluster.StorageTotal, formatValues: formatStorageValues })),
95
- });
96
- if (Object.keys(groupsStats).length) {
97
- info.push(...getGroupsStatsFields(groupsStats));
98
- }
99
- info.push(...additionalInfo, {
100
- label: i18n('links'),
101
- value: (_jsx("div", { className: b('links'), children: links.map(({ title, url }) => (_jsx(LinkWithIcon, { title: title, url: url }, title))) })),
102
- }, {
103
- label: i18n('versions'),
104
- value: _jsx(VersionsBar, { versionsValues: versionsValues }),
105
- });
106
- return info;
107
- };
108
11
  export const ClusterInfo = ({ cluster, versionToColor, groupsStats = {}, loading, error, additionalClusterProps = {}, }) => {
109
12
  const singleClusterMode = useTypedSelector((state) => state.singleClusterMode);
110
- const { currentData } = nodesApi.useGetNodesQuery({
111
- tablets: false,
112
- group: 'Version',
113
- });
114
- const versionsValues = React.useMemo(() => {
115
- if (!currentData) {
116
- return [];
117
- }
118
- if (Array.isArray(currentData.NodeGroups)) {
119
- return parseNodeGroupsToVersionsValues(currentData.NodeGroups, versionToColor);
120
- }
121
- return parseNodesToVersionsValues(currentData.Nodes, versionToColor);
122
- }, [currentData, versionToColor]);
13
+ const versionsValues = useGetVersionValues(cluster, versionToColor);
123
14
  let internalLink = backend + '/internal';
124
15
  if (singleClusterMode && !customBackend) {
125
16
  internalLink = `/internal`;
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterInfo.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterInfo/ClusterInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,gBAAgB,EAAC,MAAM,uDAAuD,CAAC;AACvF,OAAO,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AAEvE,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAC,YAAY,EAAC,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAC,cAAc,EAAC,MAAM,mDAAmD,CAAC;AACjF,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAC;AAClD,OAAO,EAAC,IAAI,EAAC,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAMtD,OAAO,EAAC,QAAQ,EAAC,MAAM,qCAAqC,CAAC;AAK7D,OAAO,EAAC,WAAW,EAAE,4BAA4B,EAAC,MAAM,6BAA6B,CAAC;AACtF,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,mBAAmB,EAAC,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,+BAA+B,EAAE,0BAA0B,EAAC,MAAM,yBAAyB,CAAC;AACpG,OAAO,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AACvD,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC;AAEvC,OAAO,oBAAoB,CAAC;AAE5B,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;AAM7B,MAAM,uBAAuB,GAAG,CAAC,EAAC,KAAK,EAA+B,EAAE,EAAE;IACtE,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAC,GAAG,KAAK,CAAC;IAEhE,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9F,MAAM,sBAAsB,GAAG,WAAW,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;IACxF,MAAM,sBAAsB,GAAG,WAAW,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;IAExF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAElF,MAAM,IAAI,GAAG;QACT;YACI,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,QAAQ;SAClB;QACD;YACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,KAAK,EAAE,OAAO;SACjB;QACD;YACI,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,sBAAsB;SAChC;QACD;YACI,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,sBAAsB;SAChC;QACD;YACI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;YACpB,KAAK,EAAE,KAAK,GAAG,GAAG;SACrB;KACJ,CAAC;IAEF,OAAO,CACH,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,4BAA4B,CAAC,EAAE,IAAI,EAAC,GAAG,GAAG,CAC9F,CAAC;AACN,CAAC,CAAC;AAMF,MAAM,mBAAmB,GAAG,CAAC,EAAC,KAAK,EAAuB,EAAE,EAAE;IAC1D,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,YACpC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACxC,KAAC,gBAAgB,IACb,SAAS,EAAE,CAAC,OAAO,CAAC,EAEpB,OAAO,EAAE,KAAC,uBAAuB,IAAC,KAAK,EAAE,YAAY,GAAI,YAEzD,KAAC,cAAc,IACX,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,KAAK,EAAE,YAAY,CAAC,aAAa,EACjC,QAAQ,EAAE,YAAY,CAAC,WAAW,GACpC,IAPG,YAAY,CAAC,OAAO,CAQV,CACtB,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,WAA+B,EAAE,EAAE;IAC7D,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC7C,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAC,QAAQ,EAAC,CAAC;YACzC,KAAK,EAAE,KAAC,mBAAmB,IAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAI;SAC/D,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,CACZ,OAAqB,EACrB,cAA8B,EAC9B,WAA+B,EAC/B,cAAgC,EAChC,KAAoB,EACtB,EAAE;IACA,MAAM,IAAI,GAAqB,EAAE,CAAC;IAElC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;YACjB,KAAK,EAAE,KAAC,IAAI,IAAC,IAAI,EAAE,OAAO,CAAC,WAAW,GAAI;SAC7C,CAAC,CAAC;IACP,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,KAAK,EAAE,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,YAC9B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAClC,KAAC,MAAM,IAAmB,MAAM,EAAE,MAAM,IAA3B,WAAW,CAAoB,CAC/C,CAAC,GACA,CACT;SACJ,CAAC,CAAC;IACP,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC;YACN,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,IAAI,CACL;QACI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,KAAK,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,GAAI;KACvF,EACD;QACI,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,KAAC,cAAc,IAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,GAAI;KAC1F,EACD;QACI,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC;QAC3B,KAAK,EAAE,CACH,KAAC,cAAc,IACX,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAC3B,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,EAC/B,YAAY,EAAE,mBAAmB,GACnC,CACL;KACJ,CACJ,CAAC;IAEF,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,CAAC,IAAI,CACL,GAAG,cAAc,EACjB;QACI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;QACpB,KAAK,EAAE,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACrB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC,EAAE,EAAE,CAAC,CACzB,KAAC,YAAY,IAAa,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAA7B,KAAK,CAA4B,CACvD,CAAC,GACA,CACT;KACJ,EACD;QACI,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC;QACvB,KAAK,EAAE,KAAC,WAAW,IAAC,cAAc,EAAE,cAAc,GAAI;KACzD,CACJ,CAAC;IAEF,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAWF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EACxB,OAAO,EACP,cAAc,EACd,WAAW,GAAG,EAAE,EAChB,OAAO,EACP,KAAK,EACL,sBAAsB,GAAG,EAAE,GACZ,EAAE,EAAE;IACnB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE/E,MAAM,EAAC,WAAW,EAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QAC5C,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,SAAS;KACnB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,+BAA+B,CAAC,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACnF,CAAC;QACD,OAAO,0BAA0B,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC,EAAE,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAElC,IAAI,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;IAEzC,IAAI,iBAAiB,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,YAAY,GAAG,WAAW,CAAC;IAC/B,CAAC;IAED,MAAM,EAAC,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAC,GAAG,sBAAsB,CAAC;IAEvD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;QAC1E,EAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAC;QAC9C,GAAG,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,KAAC,kBAAkB,IAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,GAAI,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,GAAI,CAAC;IACzD,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACd,KAAK,CAAC,CAAC,CAAC,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,EACtE,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,UAAU,EAAE,GAAO,IAC7C,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"ClusterInfo.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterInfo/ClusterInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,0CAA0C,CAAC;AACvE,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,2DAA2D,CAAC;AAC7F,OAAO,EAAC,OAAO,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAMtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAC,OAAO,EAAE,mBAAmB,EAAC,MAAM,SAAS,CAAC;AAErD,OAAO,oBAAoB,CAAC;AAW5B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EACxB,OAAO,EACP,cAAc,EACd,WAAW,GAAG,EAAE,EAChB,OAAO,EACP,KAAK,EACL,sBAAsB,GAAG,EAAE,GACZ,EAAE,EAAE;IACnB,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE/E,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAEpE,IAAI,YAAY,GAAG,OAAO,GAAG,WAAW,CAAC;IAEzC,IAAI,iBAAiB,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,YAAY,GAAG,WAAW,CAAC;IAC/B,CAAC;IAED,MAAM,EAAC,IAAI,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAC,GAAG,sBAAsB,CAAC;IAEvD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE;QAC1E,EAAC,KAAK,EAAE,kBAAkB,EAAE,GAAG,EAAE,YAAY,EAAC;QAC9C,GAAG,KAAK;KACX,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,KAAC,kBAAkB,IAAC,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,GAAI,CAAC;QACrE,CAAC;QAED,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,GAAI,CAAC;IACzD,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACd,KAAK,CAAC,CAAC,CAAC,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GAAI,CAAC,CAAC,CAAC,IAAI,EACtE,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,UAAU,EAAE,GAAO,IAC7C,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -47,24 +47,17 @@
47
47
  gap: var(--g-spacing-2);
48
48
  }
49
49
 
50
- &__storage-groups-stats {
51
- display: flex;
52
- flex-direction: column;
53
- gap: 11px;
54
- }
55
-
56
- &__groups-stats-bar {
57
- cursor: pointer;
58
- }
59
-
60
- &__groups-stats-popup-content {
61
- padding: 12px;
62
- }
63
-
64
50
  &__clipboard-button {
65
51
  display: flex;
66
52
  align-items: center;
67
53
 
68
54
  margin-left: 5px;
69
55
  }
56
+ &__dc-count {
57
+ text-transform: lowercase;
58
+ }
59
+ &__nodes-states {
60
+ display: flex;
61
+ gap: var(--g-spacing-half);
62
+ }
70
63
  }
@@ -0,0 +1,7 @@
1
+ import type { DiskGroupsStats } from '../../../../../store/reducers/cluster/types';
2
+ import './DiskGroupsStatsBars.scss';
3
+ interface DiskGroupsStatsProps {
4
+ stats: DiskGroupsStats;
5
+ }
6
+ export declare const DiskGroupsStatsBars: ({ stats }: DiskGroupsStatsProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { ContentWithPopup } from '../../../../../components/ContentWithPopup/ContentWithPopup';
3
+ import { InfoViewer } from '../../../../../components/InfoViewer';
4
+ import { ProgressViewer } from '../../../../../components/ProgressViewer/ProgressViewer';
5
+ import { formatBytes, getSizeWithSignificantDigits } from '../../../../../utils/bytesParsers';
6
+ import { cn } from '../../../../../utils/cn';
7
+ import i18n from '../../../i18n';
8
+ import './DiskGroupsStatsBars.scss';
9
+ const b = cn('ydb-disk-groups-stats');
10
+ export const DiskGroupsStatsBars = ({ stats }) => {
11
+ return (_jsx("div", { className: b(), children: Object.values(stats).map((erasureStats) => (_jsx(ContentWithPopup, { placement: ['right'], content: _jsx(GroupsStatsPopupContent, { stats: erasureStats }), children: _jsx(ProgressViewer, { className: b('bar'), value: erasureStats.createdGroups, capacity: erasureStats.totalGroups }) }, erasureStats.erasure))) }));
12
+ };
13
+ function GroupsStatsPopupContent({ stats }) {
14
+ const { diskType, erasure, allocatedSize, availableSize } = stats;
15
+ const sizeToConvert = getSizeWithSignificantDigits(Math.max(allocatedSize, availableSize), 2);
16
+ const convertedAllocatedSize = formatBytes({ value: allocatedSize, size: sizeToConvert });
17
+ const convertedAvailableSize = formatBytes({ value: availableSize, size: sizeToConvert });
18
+ const usage = Math.round((allocatedSize / (allocatedSize + availableSize)) * 100);
19
+ const info = [
20
+ {
21
+ label: i18n('disk-type'),
22
+ value: diskType,
23
+ },
24
+ {
25
+ label: i18n('erasure'),
26
+ value: erasure,
27
+ },
28
+ {
29
+ label: i18n('allocated'),
30
+ value: convertedAllocatedSize,
31
+ },
32
+ {
33
+ label: i18n('available'),
34
+ value: convertedAvailableSize,
35
+ },
36
+ {
37
+ label: i18n('usage'),
38
+ value: usage + '%',
39
+ },
40
+ ];
41
+ return _jsx(InfoViewer, { dots: true, info: info, className: b('popup-content'), size: "s" });
42
+ }
43
+ //# sourceMappingURL=DiskGroupsStatsBars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiskGroupsStatsBars.js","sourceRoot":"","sources":["../../../../../../src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStatsBars.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,6DAA6D,CAAC;AAC7F,OAAO,EAAC,UAAU,EAAC,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,yDAAyD,CAAC;AAKvF,OAAO,EAAC,WAAW,EAAE,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAC5F,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,IAAI,MAAM,eAAe,CAAC;AAEjC,OAAO,4BAA4B,CAAC;AAEpC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAC;AAMtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAC,KAAK,EAAuB,EAAE,EAAE;IACjE,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,EAAE,YACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CACxC,KAAC,gBAAgB,IACb,SAAS,EAAE,CAAC,OAAO,CAAC,EAEpB,OAAO,EAAE,KAAC,uBAAuB,IAAC,KAAK,EAAE,YAAY,GAAI,YAEzD,KAAC,cAAc,IACX,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,EACnB,KAAK,EAAE,YAAY,CAAC,aAAa,EACjC,QAAQ,EAAE,YAAY,CAAC,WAAW,GACpC,IAPG,YAAY,CAAC,OAAO,CAQV,CACtB,CAAC,GACA,CACT,CAAC;AACN,CAAC,CAAC;AAMF,SAAS,uBAAuB,CAAC,EAAC,KAAK,EAA+B;IAClE,MAAM,EAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAC,GAAG,KAAK,CAAC;IAEhE,MAAM,aAAa,GAAG,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9F,MAAM,sBAAsB,GAAG,WAAW,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;IACxF,MAAM,sBAAsB,GAAG,WAAW,CAAC,EAAC,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAC,CAAC,CAAC;IAExF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IAElF,MAAM,IAAI,GAAG;QACT;YACI,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,QAAQ;SAClB;QACD;YACI,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC;YACtB,KAAK,EAAE,OAAO;SACjB;QACD;YACI,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,sBAAsB;SAChC;QACD;YACI,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YACxB,KAAK,EAAE,sBAAsB;SAChC;QACD;YACI,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC;YACpB,KAAK,EAAE,KAAK,GAAG,GAAG;SACrB;KACJ,CAAC;IAEF,OAAO,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,EAAC,GAAG,GAAG,CAAC;AAC1F,CAAC"}
@@ -0,0 +1,11 @@
1
+ .ydb-disk-groups-stats {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--g-spacing-3);
5
+ &__bar {
6
+ cursor: pointer;
7
+ }
8
+ &__popup-content {
9
+ padding: var(--g-spacing-3);
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ import type { EFlag } from '../../../../../types/api/enums';
2
+ import './NodesState.scss';
3
+ interface NodesStateProps {
4
+ state: EFlag;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare function NodesState({ state, children }: NodesStateProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../../../../utils/cn';
3
+ import './NodesState.scss';
4
+ const b = cn('ydb-nodes-state');
5
+ export function NodesState({ state, children }) {
6
+ return _jsx("div", { className: b({ [state.toLowerCase()]: true }), children: children });
7
+ }
8
+ //# sourceMappingURL=NodesState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodesState.js","sourceRoot":"","sources":["../../../../../../src/containers/Cluster/ClusterInfo/components/NodesState/NodesState.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAE3C,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAOhC,MAAM,UAAU,UAAU,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAkB;IACzD,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,EAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,EAAC,CAAC,YAAG,QAAQ,GAAO,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,16 @@
1
+ @import '../../../../../styles/mixins.scss';
2
+
3
+ .ydb-nodes-state {
4
+ display: flex;
5
+ justify-content: center;
6
+ align-items: center;
7
+
8
+ min-width: 30px;
9
+ padding: 0 var(--g-spacing-1);
10
+
11
+ color: var(--entity-state-font-color);
12
+ border: 1px solid var(--entity-state-border-color);
13
+ border-radius: var(--g-spacing-1);
14
+ background-color: var(--entity-state-background-color);
15
+ @include entity-state-colors();
16
+ }
@@ -0,0 +1 @@
1
+ export declare const b: import("@bem-react/classname").ClassNameFormatter;
@@ -0,0 +1,3 @@
1
+ import { cn } from '../../../utils/cn';
2
+ export const b = cn('cluster-info');
3
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterInfo/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AAErC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC"}
@@ -1,2 +1,14 @@
1
+ import type { InfoViewerItem } from '../../../components/InfoViewer/InfoViewer';
2
+ import type { ClusterGroupsStats } from '../../../store/reducers/cluster/types';
3
+ import type { ClusterLink } from '../../../types/additionalProps';
4
+ import type { TClusterInfo } from '../../../types/api/cluster';
1
5
  import type { TTabletStateInfo } from '../../../types/api/tablet';
6
+ import type { VersionToColorMap, VersionValue } from '../../../types/versions';
2
7
  export declare const compareTablets: (tablet1: TTabletStateInfo, tablet2: TTabletStateInfo) => 0 | 1 | -1;
8
+ export declare const getInfo: (cluster: TClusterInfo, versionsValues: VersionValue[], groupsStats: ClusterGroupsStats, additionalInfo: InfoViewerItem[], links: ClusterLink[]) => InfoViewerItem[];
9
+ export declare const useGetVersionValues: (cluster?: TClusterInfo, versionToColor?: VersionToColorMap) => {
10
+ title: string;
11
+ version: string;
12
+ color: string | undefined;
13
+ value: number;
14
+ }[];
@@ -1,4 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { skipToken } from '@reduxjs/toolkit/query';
4
+ import { LinkWithIcon } from '../../../components/LinkWithIcon/LinkWithIcon';
5
+ import { ProgressViewer } from '../../../components/ProgressViewer/ProgressViewer';
6
+ import { Tablet } from '../../../components/Tablet';
7
+ import { Tags } from '../../../components/Tags';
8
+ import { nodesApi } from '../../../store/reducers/nodes/nodes';
9
+ import { isClusterInfoV2 } from '../../../types/api/cluster';
1
10
  import { EType } from '../../../types/api/tablet';
11
+ import { formatStorageValues } from '../../../utils/dataFormatters/dataFormatters';
12
+ import { parseNodeGroupsToVersionsValues, parseNodesToVersionsValues } from '../../../utils/versions';
13
+ import { VersionsBar } from '../VersionsBar/VersionsBar';
14
+ import i18n from '../i18n';
15
+ import { DiskGroupsStatsBars } from './components/DiskGroupsStatsBars/DiskGroupsStatsBars';
16
+ import { NodesState } from './components/NodesState/NodesState';
17
+ import { b } from './shared';
18
+ const COLORS_PRIORITY = {
19
+ Green: 5,
20
+ Blue: 4,
21
+ Yellow: 3,
22
+ Orange: 2,
23
+ Red: 1,
24
+ Grey: 0,
25
+ };
2
26
  export const compareTablets = (tablet1, tablet2) => {
3
27
  if (tablet1.Type === EType.TxAllocator) {
4
28
  return 1;
@@ -8,4 +32,125 @@ export const compareTablets = (tablet1, tablet2) => {
8
32
  }
9
33
  return 0;
10
34
  };
35
+ const getGroupsStatsFields = (groupsStats) => {
36
+ return Object.keys(groupsStats).map((diskType) => {
37
+ return {
38
+ label: i18n('storage-groups', { diskType }),
39
+ value: _jsx(DiskGroupsStatsBars, { stats: groupsStats[diskType] }),
40
+ };
41
+ });
42
+ };
43
+ const getDCInfo = (cluster) => {
44
+ var _a;
45
+ if (isClusterInfoV2(cluster) && cluster.MapDataCenters) {
46
+ return Object.entries(cluster.MapDataCenters).map(([dc, count]) => (_jsxs(React.Fragment, { children: [dc, ": ", _jsx("span", { className: b('dc-count'), children: i18n('quantity', { count }) })] }, dc)));
47
+ }
48
+ return (_a = cluster.DataCenters) === null || _a === void 0 ? void 0 : _a.filter(Boolean);
49
+ };
50
+ const getStorageStats = (cluster) => {
51
+ if (isClusterInfoV2(cluster) && cluster.MapDataCenters) {
52
+ const { MapStorageTotal, MapStorageUsed } = cluster;
53
+ const storageTypesSet = new Set(Object.keys(MapStorageTotal !== null && MapStorageTotal !== void 0 ? MapStorageTotal : []).concat(Object.keys(MapStorageUsed !== null && MapStorageUsed !== void 0 ? MapStorageUsed : [])));
54
+ if (storageTypesSet.size > 0) {
55
+ return Array.from(storageTypesSet).reduce((acc, storageType) => {
56
+ acc[storageType] = {
57
+ used: MapStorageUsed === null || MapStorageUsed === void 0 ? void 0 : MapStorageUsed[storageType],
58
+ total: MapStorageTotal === null || MapStorageTotal === void 0 ? void 0 : MapStorageTotal[storageType],
59
+ };
60
+ return acc;
61
+ }, {});
62
+ }
63
+ }
64
+ return { _default: { used: cluster === null || cluster === void 0 ? void 0 : cluster.StorageUsed, total: cluster === null || cluster === void 0 ? void 0 : cluster.StorageTotal } };
65
+ };
66
+ export const getInfo = (cluster, versionsValues, groupsStats, additionalInfo, links) => {
67
+ const info = [];
68
+ const dataCenters = getDCInfo(cluster);
69
+ if (dataCenters === null || dataCenters === void 0 ? void 0 : dataCenters.length) {
70
+ info.push({
71
+ label: i18n('dc'),
72
+ value: _jsx(Tags, { tags: dataCenters }),
73
+ });
74
+ }
75
+ if (cluster.SystemTablets) {
76
+ const tablets = cluster.SystemTablets.slice(0).sort(compareTablets);
77
+ info.push({
78
+ label: i18n('tablets'),
79
+ value: (_jsx("div", { className: b('system-tablets'), children: tablets.map((tablet, tabletIndex) => (_jsx(Tablet, { tablet: tablet }, tabletIndex))) })),
80
+ });
81
+ }
82
+ if (cluster.Tenants) {
83
+ info.push({
84
+ label: i18n('databases'),
85
+ value: cluster.Tenants,
86
+ });
87
+ }
88
+ info.push({
89
+ label: i18n('nodes'),
90
+ value: _jsx(ProgressViewer, { value: cluster === null || cluster === void 0 ? void 0 : cluster.NodesAlive, capacity: cluster === null || cluster === void 0 ? void 0 : cluster.NodesTotal }),
91
+ });
92
+ if (isClusterInfoV2(cluster) && cluster.MapNodeStates) {
93
+ const arrayNodesStates = Object.entries(cluster.MapNodeStates);
94
+ // sort stack to achieve order "green, orange, yellow, red, blue, grey"
95
+ arrayNodesStates.sort((a, b) => COLORS_PRIORITY[b[0]] - COLORS_PRIORITY[a[0]]);
96
+ const nodesStates = arrayNodesStates.map(([state, count]) => {
97
+ return (_jsx(NodesState, { state: state, children: count }, state));
98
+ });
99
+ info.push({
100
+ label: i18n('nodes-state'),
101
+ value: _jsx("div", { className: b('nodes-states'), children: nodesStates }),
102
+ });
103
+ }
104
+ info.push({
105
+ label: i18n('load'),
106
+ value: _jsx(ProgressViewer, { value: cluster === null || cluster === void 0 ? void 0 : cluster.LoadAverage, capacity: cluster === null || cluster === void 0 ? void 0 : cluster.NumberOfCpus }),
107
+ });
108
+ const storageStats = getStorageStats(cluster);
109
+ Object.entries(storageStats).forEach(([type, stats]) => {
110
+ let label = i18n('storage-size');
111
+ if (type !== '_default') {
112
+ label += `, ${type}`;
113
+ }
114
+ info.push({
115
+ label: label,
116
+ value: (_jsx(ProgressViewer, { value: stats.used, capacity: stats.total, formatValues: formatStorageValues })),
117
+ });
118
+ });
119
+ if (Object.keys(groupsStats).length) {
120
+ info.push(...getGroupsStatsFields(groupsStats));
121
+ }
122
+ info.push(...additionalInfo, {
123
+ label: i18n('links'),
124
+ value: (_jsx("div", { className: b('links'), children: links.map(({ title, url }) => (_jsx(LinkWithIcon, { title: title, url: url }, title))) })),
125
+ }, {
126
+ label: i18n('versions'),
127
+ value: (_jsx(VersionsBar, { versionsValues: versionsValues.filter((el) => el.title !== 'unknown') })),
128
+ });
129
+ return info;
130
+ };
131
+ export const useGetVersionValues = (cluster, versionToColor) => {
132
+ const { currentData } = nodesApi.useGetNodesQuery(isClusterInfoV2(cluster)
133
+ ? skipToken
134
+ : {
135
+ tablets: false,
136
+ group: 'Version',
137
+ });
138
+ const versionsValues = React.useMemo(() => {
139
+ if (isClusterInfoV2(cluster) && cluster.MapVersions) {
140
+ const groups = Object.entries(cluster.MapVersions).map(([version, count]) => ({
141
+ name: version,
142
+ count,
143
+ }));
144
+ return parseNodeGroupsToVersionsValues(groups, versionToColor, cluster.NodesTotal);
145
+ }
146
+ if (!currentData) {
147
+ return [];
148
+ }
149
+ if (Array.isArray(currentData.NodeGroups)) {
150
+ return parseNodeGroupsToVersionsValues(currentData.NodeGroups, versionToColor, cluster === null || cluster === void 0 ? void 0 : cluster.NodesTotal);
151
+ }
152
+ return parseNodesToVersionsValues(currentData.Nodes, versionToColor);
153
+ }, [currentData, versionToColor, cluster]);
154
+ return versionsValues;
155
+ };
11
156
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterInfo/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,2BAA2B,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAyB,EAAE,OAAyB,EAAE,EAAE;IACnF,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC;IACb,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC;IACd,CAAC;IAED,OAAO,CAAC,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterInfo/utils.tsx"],"names":[],"mappings":"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"}