ydb-embedded-ui 22.3.0 → 22.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +3 -2
  2. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +19 -4
  3. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js.map +1 -1
  4. package/dist/components/CopyableValue/CopyableValue.d.ts +10 -0
  5. package/dist/components/CopyableValue/CopyableValue.js +10 -0
  6. package/dist/components/CopyableValue/CopyableValue.js.map +1 -0
  7. package/dist/components/CopyableValue/CopyableValue.scss +16 -0
  8. package/dist/components/CopyableValue/i18n/en.json +3 -0
  9. package/dist/components/CopyableValue/i18n/index.d.ts +2 -0
  10. package/dist/components/CopyableValue/i18n/index.js +6 -0
  11. package/dist/components/CopyableValue/i18n/index.js.map +1 -0
  12. package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +2 -1
  13. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +2 -1
  14. package/dist/components/CriticalActionDialog/CriticalActionDialog.js.map +1 -1
  15. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.d.ts +8 -19
  16. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +68 -92
  17. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -1
  18. package/dist/components/DiskCapacityInfo/i18n/en.json +0 -1
  19. package/dist/components/DiskCapacityInfo/i18n/index.d.ts +1 -1
  20. package/dist/components/DiskPopup/DiskPopup.d.ts +25 -0
  21. package/dist/components/DiskPopup/DiskPopup.js +44 -0
  22. package/dist/components/DiskPopup/DiskPopup.js.map +1 -0
  23. package/dist/components/DiskPopup/DiskPopup.scss +203 -0
  24. package/dist/components/DiskPopup/i18n/en.json +3 -0
  25. package/dist/components/DiskPopup/i18n/index.d.ts +2 -0
  26. package/dist/components/DiskPopup/i18n/index.js +4 -0
  27. package/dist/components/DiskPopup/i18n/index.js.map +1 -0
  28. package/dist/components/DiskStatus/DiskStatus.d.ts +31 -0
  29. package/dist/components/DiskStatus/DiskStatus.js +61 -0
  30. package/dist/components/DiskStatus/DiskStatus.js.map +1 -0
  31. package/dist/components/DiskStatus/DiskStatus.scss +59 -0
  32. package/dist/components/DiskStatus/i18n/en.json +6 -0
  33. package/dist/components/DiskStatus/i18n/index.d.ts +2 -0
  34. package/dist/components/DiskStatus/i18n/index.js +4 -0
  35. package/dist/components/DiskStatus/i18n/index.js.map +1 -0
  36. package/dist/components/EntityStatus/EntityStatus.d.ts +19 -6
  37. package/dist/components/EntityStatus/EntityStatus.js +6 -2
  38. package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
  39. package/dist/components/EntityStatus/EntityStatus.scss +5 -0
  40. package/dist/components/EvictVDiskButton/EvictVDiskButton.d.ts +5 -2
  41. package/dist/components/EvictVDiskButton/EvictVDiskButton.js +3 -2
  42. package/dist/components/EvictVDiskButton/EvictVDiskButton.js.map +1 -1
  43. package/dist/components/EvictVDiskButton/i18n/en.json +2 -2
  44. package/dist/components/FullNodeViewer/FullNodeViewer.js +4 -7
  45. package/dist/components/FullNodeViewer/FullNodeViewer.js.map +1 -1
  46. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  47. package/dist/components/HoverPopup/HoverPopup.d.ts +3 -1
  48. package/dist/components/HoverPopup/HoverPopup.js +131 -28
  49. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  50. package/dist/components/HoverPopup/usePopupPriority.d.ts +4 -0
  51. package/dist/components/HoverPopup/usePopupPriority.js +30 -0
  52. package/dist/components/HoverPopup/usePopupPriority.js.map +1 -0
  53. package/dist/components/MemoryViewer/MemoryViewer.d.ts +3 -1
  54. package/dist/components/MemoryViewer/MemoryViewer.js +25 -16
  55. package/dist/components/MemoryViewer/MemoryViewer.js.map +1 -1
  56. package/dist/components/MemoryViewer/i18n/en.json +4 -3
  57. package/dist/components/MemoryViewer/i18n/index.d.ts +1 -1
  58. package/dist/components/MemoryViewer/utils.d.ts +4 -2
  59. package/dist/components/MemoryViewer/utils.js +11 -11
  60. package/dist/components/MemoryViewer/utils.js.map +1 -1
  61. package/dist/components/PDiskInfo/PDiskInfo.d.ts +4 -9
  62. package/dist/components/PDiskInfo/PDiskInfo.js +32 -144
  63. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  64. package/dist/components/PDiskInfo/PDiskInfo.scss +15 -0
  65. package/dist/components/PDiskInfo/PDiskLogSize.d.ts +5 -0
  66. package/dist/components/PDiskInfo/PDiskLogSize.js +20 -0
  67. package/dist/components/PDiskInfo/PDiskLogSize.js.map +1 -0
  68. package/dist/components/PDiskInfo/PDiskLogSize.scss +12 -0
  69. package/dist/components/PDiskInfo/getPDiskDetails.d.ts +4 -0
  70. package/dist/components/PDiskInfo/getPDiskDetails.js +33 -0
  71. package/dist/components/PDiskInfo/getPDiskDetails.js.map +1 -0
  72. package/dist/components/PDiskInfo/i18n/en.json +69 -4
  73. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  74. package/dist/components/PDiskInfo/statuses.d.ts +7 -0
  75. package/dist/components/PDiskInfo/statuses.js +194 -0
  76. package/dist/components/PDiskInfo/statuses.js.map +1 -0
  77. package/dist/components/PDiskPopup/PDiskPopup.d.ts +4 -7
  78. package/dist/components/PDiskPopup/PDiskPopup.js +28 -99
  79. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  80. package/dist/components/PDiskPopup/i18n/en.json +2 -12
  81. package/dist/components/PDiskPopup/i18n/index.d.ts +1 -1
  82. package/dist/components/Search/Search.js +3 -1
  83. package/dist/components/Search/Search.js.map +1 -1
  84. package/dist/components/StorageGroupInfo/StorageGroupInfo.d.ts +3 -3
  85. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +73 -218
  86. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  87. package/dist/components/StorageGroupInfo/StorageGroupInfo.scss +21 -0
  88. package/dist/components/StorageGroupInfo/i18n/en.json +1 -9
  89. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  90. package/dist/components/TenantNameWrapper/i18n/index.d.ts +1 -1
  91. package/dist/components/VDisk/VDisk.d.ts +2 -1
  92. package/dist/components/VDisk/VDisk.js +24 -33
  93. package/dist/components/VDisk/VDisk.js.map +1 -1
  94. package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +1 -1
  95. package/dist/components/VDisk/VDiskWithDonorsStack.js +2 -1
  96. package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
  97. package/dist/components/VDisk/getFlagStatusText.d.ts +2 -0
  98. package/dist/components/VDisk/getFlagStatusText.js +18 -0
  99. package/dist/components/VDisk/getFlagStatusText.js.map +1 -0
  100. package/dist/components/VDisk/i18n/en.json +1 -1
  101. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  102. package/dist/components/VDiskInfo/VDiskInfo.d.ts +3 -7
  103. package/dist/components/VDiskInfo/VDiskInfo.js +57 -235
  104. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  105. package/dist/components/VDiskInfo/VDiskInfo.scss +19 -3
  106. package/dist/components/VDiskInfo/getVDiskDetails.d.ts +11 -0
  107. package/dist/components/VDiskInfo/getVDiskDetails.js +42 -0
  108. package/dist/components/VDiskInfo/getVDiskDetails.js.map +1 -0
  109. package/dist/components/VDiskInfo/i18n/en.json +5 -12
  110. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  111. package/dist/components/VDiskPopup/VDiskPopup.d.ts +7 -8
  112. package/dist/components/VDiskPopup/VDiskPopup.js +91 -241
  113. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  114. package/dist/components/VDiskPopup/VDiskPopup.scss +3 -10
  115. package/dist/components/VDiskPopup/i18n/en.json +4 -22
  116. package/dist/components/VDiskPopup/i18n/index.d.ts +1 -1
  117. package/dist/components/VDiskStatus/VDiskReplicationStatus.d.ts +8 -0
  118. package/dist/components/VDiskStatus/VDiskReplicationStatus.js +32 -0
  119. package/dist/components/VDiskStatus/VDiskReplicationStatus.js.map +1 -0
  120. package/dist/components/VDiskStatus/VDiskStatus.d.ts +16 -0
  121. package/dist/components/VDiskStatus/VDiskStatus.js +20 -0
  122. package/dist/components/VDiskStatus/VDiskStatus.js.map +1 -0
  123. package/dist/components/VDiskStatus/VDiskStatus.scss +36 -0
  124. package/dist/components/VDiskStatus/i18n/en.json +33 -0
  125. package/dist/components/VDiskStatus/i18n/index.d.ts +1 -0
  126. package/dist/components/VDiskStatus/i18n/index.js +5 -0
  127. package/dist/components/VDiskStatus/i18n/index.js.map +1 -0
  128. package/dist/components/VDiskStatus/index.d.ts +2 -0
  129. package/dist/components/VDiskStatus/index.js +3 -0
  130. package/dist/components/VDiskStatus/index.js.map +1 -0
  131. package/dist/components/VDiskStatus/statuses.d.ts +4 -0
  132. package/dist/components/VDiskStatus/statuses.js +120 -0
  133. package/dist/components/VDiskStatus/statuses.js.map +1 -0
  134. package/dist/components/capacityMetricsColumns/i18n/en.json +4 -4
  135. package/dist/components/nodesColumns/columns.d.ts +1 -0
  136. package/dist/components/nodesColumns/columns.js +13 -6
  137. package/dist/components/nodesColumns/columns.js.map +1 -1
  138. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js +6 -1
  139. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js.map +1 -1
  140. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js +1 -1
  141. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js.map +1 -1
  142. package/dist/containers/Clusters/Clusters.js +35 -6
  143. package/dist/containers/Clusters/Clusters.js.map +1 -1
  144. package/dist/containers/Clusters/Clusters.scss +24 -6
  145. package/dist/containers/Clusters/columns.js +9 -4
  146. package/dist/containers/Clusters/columns.js.map +1 -1
  147. package/dist/containers/Clusters/i18n/en.json +6 -0
  148. package/dist/containers/Clusters/i18n/index.d.ts +1 -1
  149. package/dist/containers/Header/Header.js +16 -2
  150. package/dist/containers/Header/Header.js.map +1 -1
  151. package/dist/containers/Header/HeaderLeftControls.js +3 -1
  152. package/dist/containers/Header/HeaderLeftControls.js.map +1 -1
  153. package/dist/containers/Header/PDiskLeftControls.d.ts +1 -0
  154. package/dist/containers/Header/PDiskLeftControls.js +24 -0
  155. package/dist/containers/Header/PDiskLeftControls.js.map +1 -0
  156. package/dist/containers/Header/StorageGroupLeftControls.d.ts +1 -0
  157. package/dist/containers/Header/StorageGroupLeftControls.js +23 -0
  158. package/dist/containers/Header/StorageGroupLeftControls.js.map +1 -0
  159. package/dist/containers/Header/VDiskLeftControls.d.ts +1 -0
  160. package/dist/containers/Header/VDiskLeftControls.js +23 -0
  161. package/dist/containers/Header/VDiskLeftControls.js.map +1 -0
  162. package/dist/containers/Header/breadcrumbs.js +5 -2
  163. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  164. package/dist/containers/Header/i18n/en.json +6 -1
  165. package/dist/containers/Header/i18n/index.d.ts +1 -1
  166. package/dist/containers/Nodes/NodesControls/NodesControls.js +1 -1
  167. package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
  168. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +5 -3
  169. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
  170. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js +4 -2
  171. package/dist/containers/Nodes/PaginatedNodes/NodesComponent.js.map +1 -1
  172. package/dist/containers/Nodes/useDebouncedSearch.d.ts +2 -0
  173. package/dist/containers/Nodes/useDebouncedSearch.js +11 -0
  174. package/dist/containers/Nodes/useDebouncedSearch.js.map +1 -0
  175. package/dist/containers/Operations/constants.d.ts +1 -1
  176. package/dist/containers/PDiskPage/PDiskPage.js +30 -31
  177. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  178. package/dist/containers/PDiskPage/PDiskPage.scss +22 -11
  179. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +7 -7
  180. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
  181. package/dist/containers/PDiskPage/PDiskStorageDetails.d.ts +6 -0
  182. package/dist/containers/PDiskPage/PDiskStorageDetails.js +28 -0
  183. package/dist/containers/PDiskPage/PDiskStorageDetails.js.map +1 -0
  184. package/dist/containers/PDiskPage/PDiskStorageDetails.scss +51 -0
  185. package/dist/containers/PDiskPage/i18n/en.json +2 -0
  186. package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
  187. package/dist/containers/Storage/Disks/Disks.js +36 -9
  188. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  189. package/dist/containers/Storage/PDisk/PDisk.d.ts +2 -1
  190. package/dist/containers/Storage/PDisk/PDisk.js +2 -2
  191. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  192. package/dist/containers/Storage/PDisk/i18n/index.d.ts +1 -1
  193. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +7 -2
  194. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  195. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  196. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.scss +14 -82
  197. package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +1 -1
  198. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  199. package/dist/containers/Storage/StorageGroupStateLabel.d.ts +4 -0
  200. package/dist/containers/Storage/StorageGroupStateLabel.js +9 -0
  201. package/dist/containers/Storage/StorageGroupStateLabel.js.map +1 -0
  202. package/dist/containers/Storage/useStorageQueryParams.d.ts +4 -4
  203. package/dist/containers/Storage/utils/getStorageGroupStateLabel.d.ts +2 -0
  204. package/dist/containers/Storage/utils/getStorageGroupStateLabel.js +35 -0
  205. package/dist/containers/Storage/utils/getStorageGroupStateLabel.js.map +1 -0
  206. package/dist/containers/StorageGroupPage/StorageGroupPage.js +20 -13
  207. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  208. package/dist/containers/StorageGroupPage/StorageGroupPage.scss +18 -12
  209. package/dist/containers/StorageGroupPage/i18n/en.json +2 -1
  210. package/dist/containers/StorageGroupPage/i18n/index.d.ts +1 -1
  211. package/dist/containers/Tenant/Diagnostics/Overview/Overview.d.ts +2 -1
  212. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +4 -1
  213. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  214. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.d.ts +2 -1
  215. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.js +11 -2
  216. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.js.map +1 -1
  217. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.d.ts +2 -1
  218. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js +9 -8
  219. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js.map +1 -1
  220. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.d.ts +16 -1
  221. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.js +56 -19
  222. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.js.map +1 -1
  223. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/en.json +5 -1
  224. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/index.d.ts +1 -1
  225. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/ManagePartitioningDialog/i18n/index.d.ts +1 -1
  226. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -12
  227. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  228. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  229. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/i18n/index.d.ts +1 -1
  230. package/dist/containers/Tenant/Healthcheck/Healthcheck.scss +6 -1
  231. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.d.ts +3 -1
  232. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js +3 -3
  233. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js.map +1 -1
  234. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js +2 -2
  235. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js.map +1 -1
  236. package/dist/containers/Tenant/TenantDrawerHealthcheck.js +17 -2
  237. package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
  238. package/dist/containers/Tenants/DatabaseDrawerHealthcheck.js +8 -1
  239. package/dist/containers/Tenants/DatabaseDrawerHealthcheck.js.map +1 -1
  240. package/dist/containers/VDiskPage/VDiskPage.js +33 -33
  241. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  242. package/dist/containers/VDiskPage/VDiskPage.scss +21 -8
  243. package/dist/containers/VDiskPage/VDiskStorageDetails.js +27 -29
  244. package/dist/containers/VDiskPage/VDiskStorageDetails.js.map +1 -1
  245. package/dist/containers/VDiskPage/VDiskStorageDetails.scss +24 -93
  246. package/dist/containers/VDiskPage/i18n/en.json +3 -12
  247. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  248. package/dist/lib.d.ts +1 -1
  249. package/dist/lib.js.map +1 -1
  250. package/dist/store/configureStore.d.ts +2 -2
  251. package/dist/store/defaultStore.d.ts +1 -1
  252. package/dist/store/reducers/cluster/parseFields.js +1 -0
  253. package/dist/store/reducers/cluster/parseFields.js.map +1 -1
  254. package/dist/store/reducers/clusters/clusters.js +1 -0
  255. package/dist/store/reducers/clusters/clusters.js.map +1 -1
  256. package/dist/store/reducers/clusters/selectors.d.ts +1 -0
  257. package/dist/store/reducers/clusters/selectors.js +4 -1
  258. package/dist/store/reducers/clusters/selectors.js.map +1 -1
  259. package/dist/store/reducers/clusters/types.d.ts +2 -0
  260. package/dist/store/reducers/header/types.d.ts +1 -1
  261. package/dist/store/reducers/index.d.ts +2 -2
  262. package/dist/store/reducers/pdisk/types.d.ts +1 -0
  263. package/dist/store/reducers/pdisk/utils.js +6 -1
  264. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  265. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +2 -1
  266. package/dist/store/reducers/storage/prepareGroupsDisks.js +9 -19
  267. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  268. package/dist/store/reducers/storage/utils.js +14 -3
  269. package/dist/store/reducers/storage/utils.js.map +1 -1
  270. package/dist/store/reducers/streamingQuery/streamingQuery.js +2 -4
  271. package/dist/store/reducers/streamingQuery/streamingQuery.js.map +1 -1
  272. package/dist/store/reducers/vdisk/types.d.ts +1 -1
  273. package/dist/store/reducers/vdisk/utils.js +5 -5
  274. package/dist/store/reducers/vdisk/utils.js.map +1 -1
  275. package/dist/styles/mixins.scss +22 -0
  276. package/dist/types/api/meta.d.ts +1 -0
  277. package/dist/types/api/nodesList.d.ts +2 -0
  278. package/dist/types/api/pdisk.d.ts +4 -0
  279. package/dist/types/api/pdisk.js.map +1 -1
  280. package/dist/types/api/vdisk.d.ts +8 -0
  281. package/dist/types/api/vdisk.js +7 -0
  282. package/dist/types/api/vdisk.js.map +1 -1
  283. package/dist/types/store/nodesList.d.ts +4 -2
  284. package/dist/uiFactory/types.d.ts +5 -2
  285. package/dist/utils/bytesParsers/formatBytes.d.ts +3 -1
  286. package/dist/utils/bytesParsers/formatBytes.js +12 -3
  287. package/dist/utils/bytesParsers/formatBytes.js.map +1 -1
  288. package/dist/utils/disks/constants.d.ts +1 -0
  289. package/dist/utils/disks/constants.js +4 -0
  290. package/dist/utils/disks/constants.js.map +1 -1
  291. package/dist/utils/disks/diskInfo/getDiskLocationItems.d.ts +16 -0
  292. package/dist/utils/disks/diskInfo/getDiskLocationItems.js +30 -0
  293. package/dist/utils/disks/diskInfo/getDiskLocationItems.js.map +1 -0
  294. package/dist/utils/disks/diskInfo/i18n/en.json +9 -0
  295. package/dist/utils/disks/diskInfo/i18n/index.d.ts +2 -0
  296. package/dist/utils/disks/diskInfo/i18n/index.js +4 -0
  297. package/dist/utils/disks/diskInfo/i18n/index.js.map +1 -0
  298. package/dist/utils/disks/iconCalculators.d.ts +5 -0
  299. package/dist/utils/disks/iconCalculators.js +1 -1
  300. package/dist/utils/disks/iconCalculators.js.map +1 -1
  301. package/dist/utils/disks/prepareDisks.d.ts +6 -2
  302. package/dist/utils/disks/prepareDisks.js +22 -35
  303. package/dist/utils/disks/prepareDisks.js.map +1 -1
  304. package/dist/utils/disks/types.d.ts +9 -2
  305. package/dist/utils/hooks/useDatabaseHealthcheckAvailable.d.ts +2 -0
  306. package/dist/utils/hooks/useDatabaseHealthcheckAvailable.js +6 -0
  307. package/dist/utils/hooks/useDatabaseHealthcheckAvailable.js.map +1 -0
  308. package/dist/utils/hooks/useNodeMetadata.d.ts +2 -0
  309. package/dist/utils/hooks/useNodeMetadata.js +15 -0
  310. package/dist/utils/hooks/useNodeMetadata.js.map +1 -0
  311. package/dist/utils/memory.d.ts +5 -0
  312. package/dist/utils/memory.js +9 -0
  313. package/dist/utils/memory.js.map +1 -0
  314. package/dist/utils/nodes.js +6 -2
  315. package/dist/utils/nodes.js.map +1 -1
  316. package/dist/utils/storageMetrics.d.ts +3 -2
  317. package/dist/utils/storageMetrics.js +30 -10
  318. package/dist/utils/storageMetrics.js.map +1 -1
  319. package/dist/utils/timeParsers/formatDuration.d.ts +4 -1
  320. package/dist/utils/timeParsers/formatDuration.js +16 -1
  321. package/dist/utils/timeParsers/formatDuration.js.map +1 -1
  322. package/dist/utils/timeParsers/i18n/en.json +5 -1
  323. package/dist/utils/timeParsers/i18n/index.d.ts +1 -1
  324. package/dist/utils/timeParsers/i18n/ru.json +5 -1
  325. package/package.json +2 -2
  326. package/src/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.tsx +22 -3
  327. package/src/components/CopyableValue/CopyableValue.scss +16 -0
  328. package/src/components/CopyableValue/CopyableValue.tsx +40 -0
  329. package/src/components/CopyableValue/i18n/en.json +3 -0
  330. package/src/components/CopyableValue/i18n/index.ts +8 -0
  331. package/src/components/CriticalActionDialog/CriticalActionDialog.tsx +3 -0
  332. package/src/components/DiskCapacityInfo/DiskCapacityInfo.tsx +75 -129
  333. package/src/components/DiskCapacityInfo/i18n/en.json +0 -1
  334. package/src/components/DiskPopup/DiskPopup.scss +203 -0
  335. package/src/components/DiskPopup/DiskPopup.tsx +123 -0
  336. package/src/components/DiskPopup/i18n/en.json +3 -0
  337. package/src/components/DiskPopup/i18n/index.ts +5 -0
  338. package/src/components/DiskStatus/DiskStatus.scss +59 -0
  339. package/src/components/DiskStatus/DiskStatus.tsx +149 -0
  340. package/src/components/DiskStatus/i18n/en.json +6 -0
  341. package/src/components/DiskStatus/i18n/index.ts +5 -0
  342. package/src/components/EntityStatus/EntityStatus.scss +5 -0
  343. package/src/components/EntityStatus/EntityStatus.tsx +39 -6
  344. package/src/components/EvictVDiskButton/EvictVDiskButton.tsx +10 -2
  345. package/src/components/EvictVDiskButton/i18n/en.json +2 -2
  346. package/src/components/FullNodeViewer/FullNodeViewer.tsx +4 -9
  347. package/src/components/HoverPopup/HoverPopup.tsx +157 -34
  348. package/src/components/HoverPopup/usePopupPriority.ts +39 -0
  349. package/src/components/MemoryViewer/MemoryViewer.tsx +30 -17
  350. package/src/components/MemoryViewer/i18n/en.json +4 -3
  351. package/src/components/MemoryViewer/utils.ts +19 -12
  352. package/src/components/PDiskInfo/PDiskInfo.scss +15 -0
  353. package/src/components/PDiskInfo/PDiskInfo.tsx +51 -243
  354. package/src/components/PDiskInfo/PDiskLogSize.scss +12 -0
  355. package/src/components/PDiskInfo/PDiskLogSize.tsx +41 -0
  356. package/src/components/PDiskInfo/getPDiskDetails.tsx +37 -0
  357. package/src/components/PDiskInfo/i18n/en.json +69 -10
  358. package/src/components/PDiskInfo/statuses.ts +222 -0
  359. package/src/components/PDiskPopup/PDiskPopup.tsx +62 -147
  360. package/src/components/PDiskPopup/i18n/en.json +2 -12
  361. package/src/components/Search/Search.tsx +5 -2
  362. package/src/components/StorageGroupInfo/StorageGroupInfo.scss +21 -0
  363. package/src/components/StorageGroupInfo/StorageGroupInfo.tsx +119 -263
  364. package/src/components/StorageGroupInfo/i18n/en.json +1 -9
  365. package/src/components/VDisk/VDisk.tsx +34 -36
  366. package/src/components/VDisk/VDiskWithDonorsStack.tsx +2 -0
  367. package/src/components/VDisk/getFlagStatusText.ts +19 -0
  368. package/src/components/VDisk/i18n/en.json +1 -1
  369. package/src/components/VDiskInfo/VDiskInfo.scss +19 -3
  370. package/src/components/VDiskInfo/VDiskInfo.tsx +119 -341
  371. package/src/components/VDiskInfo/getVDiskDetails.tsx +63 -0
  372. package/src/components/VDiskInfo/i18n/en.json +5 -21
  373. package/src/components/VDiskPopup/VDiskPopup.scss +3 -10
  374. package/src/components/VDiskPopup/VDiskPopup.tsx +192 -424
  375. package/src/components/VDiskPopup/i18n/en.json +4 -22
  376. package/src/components/VDiskStatus/VDiskReplicationStatus.tsx +77 -0
  377. package/src/components/VDiskStatus/VDiskStatus.scss +36 -0
  378. package/src/components/VDiskStatus/VDiskStatus.tsx +49 -0
  379. package/src/components/VDiskStatus/i18n/en.json +33 -0
  380. package/src/components/VDiskStatus/i18n/index.ts +7 -0
  381. package/src/components/VDiskStatus/index.ts +7 -0
  382. package/src/components/VDiskStatus/statuses.ts +139 -0
  383. package/src/components/capacityMetricsColumns/i18n/en.json +4 -4
  384. package/src/components/nodesColumns/columns.tsx +26 -12
  385. package/src/containers/Cluster/ClusterDrawerHealthcheck.tsx +6 -0
  386. package/src/containers/Clusters/ClusterDrawerHealthcheck.tsx +1 -0
  387. package/src/containers/Clusters/Clusters.scss +24 -6
  388. package/src/containers/Clusters/Clusters.tsx +74 -5
  389. package/src/containers/Clusters/columns.tsx +36 -6
  390. package/src/containers/Clusters/i18n/en.json +6 -0
  391. package/src/containers/Header/Header.tsx +19 -3
  392. package/src/containers/Header/HeaderLeftControls.tsx +3 -1
  393. package/src/containers/Header/PDiskLeftControls.tsx +41 -0
  394. package/src/containers/Header/StorageGroupLeftControls.tsx +38 -0
  395. package/src/containers/Header/VDiskLeftControls.tsx +40 -0
  396. package/src/containers/Header/breadcrumbs.tsx +4 -2
  397. package/src/containers/Header/i18n/en.json +6 -1
  398. package/src/containers/Nodes/NodesControls/NodesControls.tsx +1 -0
  399. package/src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx +5 -3
  400. package/src/containers/Nodes/PaginatedNodes/NodesComponent.tsx +4 -2
  401. package/src/containers/Nodes/useDebouncedSearch.ts +13 -0
  402. package/src/containers/PDiskPage/PDiskPage.scss +22 -11
  403. package/src/containers/PDiskPage/PDiskPage.tsx +88 -56
  404. package/src/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.tsx +16 -11
  405. package/src/containers/PDiskPage/PDiskStorageDetails.scss +51 -0
  406. package/src/containers/PDiskPage/PDiskStorageDetails.tsx +64 -0
  407. package/src/containers/PDiskPage/i18n/en.json +2 -0
  408. package/src/containers/Storage/Disks/Disks.tsx +66 -12
  409. package/src/containers/Storage/PDisk/PDisk.tsx +3 -0
  410. package/src/containers/Storage/PaginatedStorageGroupsTable/columns/columns.tsx +24 -3
  411. package/src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.scss +14 -82
  412. package/src/containers/Storage/StorageGroupStateLabel.tsx +22 -0
  413. package/src/containers/Storage/utils/getStorageGroupStateLabel.ts +49 -0
  414. package/src/containers/StorageGroupPage/StorageGroupPage.scss +18 -12
  415. package/src/containers/StorageGroupPage/StorageGroupPage.tsx +63 -26
  416. package/src/containers/StorageGroupPage/i18n/en.json +2 -1
  417. package/src/containers/Tenant/Diagnostics/Overview/Overview.tsx +5 -1
  418. package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.tsx +12 -1
  419. package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.tsx +11 -10
  420. package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.tsx +83 -20
  421. package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/en.json +5 -1
  422. package/src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx +5 -32
  423. package/src/containers/Tenant/Healthcheck/Healthcheck.scss +6 -1
  424. package/src/containers/Tenant/Healthcheck/components/HealthcheckDrawer.tsx +5 -2
  425. package/src/containers/Tenant/Healthcheck/components/HealthcheckIssue.tsx +18 -8
  426. package/src/containers/Tenant/TenantDrawerHealthcheck.tsx +24 -1
  427. package/src/containers/Tenants/DatabaseDrawerHealthcheck.tsx +10 -0
  428. package/src/containers/VDiskPage/VDiskPage.scss +21 -8
  429. package/src/containers/VDiskPage/VDiskPage.tsx +103 -64
  430. package/src/containers/VDiskPage/VDiskStorageDetails.scss +24 -93
  431. package/src/containers/VDiskPage/VDiskStorageDetails.tsx +50 -158
  432. package/src/containers/VDiskPage/i18n/en.json +3 -14
  433. package/src/lib.ts +1 -0
  434. package/src/store/reducers/cluster/parseFields.ts +1 -0
  435. package/src/store/reducers/clusters/clusters.ts +1 -0
  436. package/src/store/reducers/clusters/selectors.ts +4 -0
  437. package/src/store/reducers/clusters/types.ts +3 -0
  438. package/src/store/reducers/header/types.ts +3 -1
  439. package/src/store/reducers/pdisk/types.ts +1 -0
  440. package/src/store/reducers/pdisk/utils.ts +6 -3
  441. package/src/store/reducers/storage/prepareGroupsDisks.ts +9 -22
  442. package/src/store/reducers/storage/utils.ts +17 -3
  443. package/src/store/reducers/streamingQuery/streamingQuery.ts +2 -4
  444. package/src/store/reducers/vdisk/types.ts +2 -1
  445. package/src/store/reducers/vdisk/utils.ts +4 -5
  446. package/src/styles/mixins.scss +22 -0
  447. package/src/types/api/meta.ts +1 -0
  448. package/src/types/api/nodesList.ts +3 -0
  449. package/src/types/api/pdisk.ts +4 -0
  450. package/src/types/api/vdisk.ts +9 -0
  451. package/src/types/store/nodesList.ts +7 -7
  452. package/src/uiFactory/types.ts +9 -2
  453. package/src/utils/bytesParsers/formatBytes.ts +23 -4
  454. package/src/utils/disks/constants.ts +5 -0
  455. package/src/utils/disks/diskInfo/getDiskLocationItems.ts +50 -0
  456. package/src/utils/disks/diskInfo/i18n/en.json +9 -0
  457. package/src/utils/disks/diskInfo/i18n/index.ts +5 -0
  458. package/src/utils/disks/iconCalculators.ts +1 -1
  459. package/src/utils/disks/prepareDisks.ts +21 -47
  460. package/src/utils/disks/types.ts +10 -2
  461. package/src/utils/hooks/useDatabaseHealthcheckAvailable.ts +9 -0
  462. package/src/utils/hooks/useNodeMetadata.ts +21 -0
  463. package/src/utils/memory.ts +16 -0
  464. package/src/utils/nodes.ts +7 -1
  465. package/src/utils/storageMetrics.ts +38 -14
  466. package/src/utils/timeParsers/formatDuration.ts +22 -1
  467. package/src/utils/timeParsers/i18n/en.json +5 -1
  468. package/src/utils/timeParsers/i18n/ru.json +5 -1
  469. package/dist/components/VDiskInfo/getVDiskCapacityColumns.d.ts +0 -11
  470. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js +0 -52
  471. package/dist/components/VDiskInfo/getVDiskCapacityColumns.js.map +0 -1
  472. package/src/components/VDiskInfo/getVDiskCapacityColumns.tsx +0 -83
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statuses.js","sourceRoot":"","sources":["../../../src/components/PDiskInfo/statuses.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
1
  import React from 'react';
2
+ import type { NodeMetadata } from '../../types/store/nodesList';
2
3
  import type { PreparedPDisk } from '../../utils/disks/types';
3
- import type { YDBDefinitionListHeaderLabel, YDBDefinitionListItem } from '../YDBDefinitionList/YDBDefinitionList';
4
- export declare const preparePDiskData: (data: PreparedPDisk, nodeData?: {
5
- Host?: string;
6
- DC?: string;
7
- }, capacityMetricsEnabled?: boolean) => YDBDefinitionListItem[];
8
- export declare const preparePDiskHeaderLabels: (data: PreparedPDisk) => YDBDefinitionListHeaderLabel[];
9
4
  export declare const buildPDiskFooter: (data: PreparedPDisk, withDeveloperUILink?: boolean) => React.ReactNode | null;
10
5
  interface PDiskPopupProps {
11
6
  data: PreparedPDisk;
7
+ nodeData?: NodeMetadata;
12
8
  }
13
- export declare const PDiskPopup: ({ data }: PDiskPopupProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare function PDiskPopupContent({ data, nodeData: parentNodeData }: PDiskPopupProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function PDiskPopup(props: PDiskPopupProps): import("react/jsx-runtime").JSX.Element;
14
11
  export {};
@@ -1,103 +1,27 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { Wrench } from '@gravity-ui/icons';
4
- import { Flex, Label } from '@gravity-ui/uikit';
4
+ import { Divider, Flex } from '@gravity-ui/uikit';
5
5
  import { isNil } from 'lodash';
6
6
  import { getPDiskPagePath } from '../../routes';
7
7
  import { useBlobStorageCapacityMetricsEnabled } from '../../store/reducers/capabilities/hooks';
8
- import { selectNodesMap } from '../../store/reducers/nodesList';
9
- import { EFlag } from '../../types/api/enums';
10
- import { BRAND_BUTTON_CLASS, EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
8
+ import { BRAND_BUTTON_CLASS } from '../../utils/constants';
11
9
  import { createPDiskDeveloperUILink, useHasDeveloperUi } from '../../utils/developerUI/developerUI';
12
- import { getStateSeverity } from '../../utils/disks/calculatePDiskSeverity';
13
- import { NUMERIC_SEVERITY_TO_LABEL_VIEW } from '../../utils/disks/constants';
14
- import { formatPDiskType } from '../../utils/disks/getPDiskType';
15
- import { useTypedSelector } from '../../utils/hooks';
16
- import { useDatabaseFromQuery } from '../../utils/hooks/useDatabaseFromQuery';
17
- import { bytesToGB, isNumeric } from '../../utils/utils';
18
- import { getPDiskCapacityInfoItems, toDefinitionListItems, } from '../DiskCapacityInfo/DiskCapacityInfo';
10
+ import { getDiskLocationItems } from '../../utils/disks/diskInfo/getDiskLocationItems';
11
+ import { useNodeMetadata } from '../../utils/hooks/useNodeMetadata';
12
+ import { getPDiskCapacityItems } from '../DiskCapacityInfo/DiskCapacityInfo';
13
+ import { DiskPopup, DiskPopupHeader, DiskPopupLocation, DiskPopupPanel, } from '../DiskPopup/DiskPopup';
14
+ import { DiskStatusLabel } from '../DiskStatus/DiskStatus';
19
15
  import { InternalLinkButton } from '../InternalLinkButton';
20
16
  import { LinkWithIcon } from '../LinkWithIcon/LinkWithIcon';
21
- import { StatusIcon } from '../StatusIcon/StatusIcon';
17
+ import { getPDiskLogItems, getPDiskRuntimeItems } from '../PDiskInfo/getPDiskDetails';
18
+ import { getPDiskDecommitLabel, getPDiskDriveLabel, getPDiskMaintenanceLabel, getPDiskStateLabel, } from '../PDiskInfo/statuses';
22
19
  import { YDBDefinitionList } from '../YDBDefinitionList/YDBDefinitionList';
23
20
  import { pDiskPopupKeyset } from './i18n';
24
- const errorColors = [EFlag.Orange, EFlag.Red, EFlag.Yellow];
25
- export const preparePDiskData = (data, nodeData, capacityMetricsEnabled = false) => {
26
- const { AvailableSize, TotalSize, NodeId, Path, Realtime, Type, Device } = data;
27
- const pdiskData = [
28
- {
29
- name: pDiskPopupKeyset('label_type'),
30
- content: formatPDiskType(Type) || pDiskPopupKeyset('value_unknown'),
31
- },
32
- ];
33
- if (NodeId) {
34
- pdiskData.push({
35
- name: pDiskPopupKeyset('label_node-id'),
36
- content: NodeId,
37
- copyText: NodeId,
38
- });
39
- }
40
- if (nodeData === null || nodeData === void 0 ? void 0 : nodeData.Host) {
41
- pdiskData.push({
42
- name: pDiskPopupKeyset('label_host'),
43
- content: nodeData.Host,
44
- copyText: nodeData.Host,
45
- });
46
- }
47
- if (nodeData === null || nodeData === void 0 ? void 0 : nodeData.DC) {
48
- pdiskData.push({ name: pDiskPopupKeyset('label_dc'), content: _jsx(Label, { children: nodeData.DC }) });
49
- }
50
- if (Path) {
51
- pdiskData.push({ name: pDiskPopupKeyset('label_path'), content: Path, copyText: Path });
52
- }
53
- if (capacityMetricsEnabled) {
54
- pdiskData.push(...toDefinitionListItems(getPDiskCapacityInfoItems(data, {
55
- withUsage: true,
56
- withCapacityAlert: true,
57
- })));
58
- }
59
- else if (isNumeric(TotalSize) && isNumeric(AvailableSize)) {
60
- pdiskData.push({
61
- name: pDiskPopupKeyset('label_available'),
62
- content: `${bytesToGB(AvailableSize)} ${pDiskPopupKeyset('value_of')} ${bytesToGB(TotalSize)}`,
63
- });
64
- }
65
- if (Realtime && errorColors.includes(Realtime)) {
66
- pdiskData.push({
67
- name: pDiskPopupKeyset('label_realtime'),
68
- content: _jsx(StatusIcon, { mode: "icons", status: Realtime }),
69
- });
70
- }
71
- if (Device && errorColors.includes(Device)) {
72
- pdiskData.push({
73
- name: pDiskPopupKeyset('label_device'),
74
- content: _jsx(StatusIcon, { mode: "icons", status: Device }),
75
- });
76
- }
77
- return pdiskData;
78
- };
79
- export const preparePDiskHeaderLabels = (data) => {
80
- const labels = [];
81
- const { State } = data;
82
- if (!State) {
83
- labels.push({
84
- id: 'state',
85
- value: pDiskPopupKeyset('context_not-available'),
86
- });
87
- return labels;
88
- }
89
- if (State) {
90
- const severity = getStateSeverity(State);
91
- const { theme, icon } = NUMERIC_SEVERITY_TO_LABEL_VIEW[severity];
92
- labels.push({
93
- id: 'state',
94
- value: State,
95
- theme: theme,
96
- icon: icon,
97
- });
98
- }
99
- return labels;
100
- };
21
+ function getStorageItems(data, capacityMetricsEnabled) {
22
+ const items = getPDiskCapacityItems(data, { useWhiteboardSize: capacityMetricsEnabled }).filter(({ id }) => capacityMetricsEnabled || id === 'space');
23
+ return [...items, ...getPDiskLogItems(data)];
24
+ }
101
25
  export const buildPDiskFooter = (data, withDeveloperUILink) => {
102
26
  const { NodeId, PDiskId } = data;
103
27
  if (isNil(NodeId) || isNil(PDiskId)) {
@@ -112,16 +36,21 @@ export const buildPDiskFooter = (data, withDeveloperUILink) => {
112
36
  const pDiskPagePath = getPDiskPagePath(PDiskId, NodeId);
113
37
  return (_jsxs(Flex, { direction: "column", gap: 5, alignItems: "flex-start", children: [pDiskInternalViewerPath && (_jsx(LinkWithIcon, { title: pDiskPopupKeyset('action_open-in-developer-ui'), url: pDiskInternalViewerPath, icon: Wrench, hideEndIcon: true })), _jsx(InternalLinkButton, { href: pDiskPagePath, view: "action", size: "m", className: BRAND_BUTTON_CLASS, children: pDiskPopupKeyset('action_go-to-pdisk') })] }));
114
38
  };
115
- export const PDiskPopup = ({ data }) => {
116
- const database = useDatabaseFromQuery();
39
+ export function PDiskPopupContent({ data, nodeData: parentNodeData }) {
40
+ const nodeData = useNodeMetadata(data.NodeId, parentNodeData);
117
41
  const hasDeveloperUi = useHasDeveloperUi();
118
42
  const capacityMetricsEnabled = useBlobStorageCapacityMetricsEnabled();
119
- const nodesMap = useTypedSelector((state) => selectNodesMap(state, database));
120
- const nodeData = isNil(data.NodeId) ? undefined : nodesMap === null || nodesMap === void 0 ? void 0 : nodesMap.get(data.NodeId);
121
- const info = React.useMemo(() => preparePDiskData(data, nodeData, capacityMetricsEnabled), [data, nodeData, capacityMetricsEnabled]);
122
- const headerLabels = React.useMemo(() => preparePDiskHeaderLabels(data), [data]);
123
- const footer = React.useMemo(() => buildPDiskFooter(data, hasDeveloperUi), [data, hasDeveloperUi]);
124
- const pdiskId = data.StringifiedId;
125
- return (_jsx(YDBDefinitionList, { compact: true, title: "PDisk", titleSuffix: { title: pdiskId !== null && pdiskId !== void 0 ? pdiskId : EMPTY_DATA_PLACEHOLDER, copyText: pdiskId }, items: info, headerLabels: headerLabels, footer: footer, nameMaxWidth: capacityMetricsEnabled ? 220 : 100 }));
126
- };
43
+ const storageItems = getStorageItems(data, capacityMetricsEnabled);
44
+ const locationItems = getDiskLocationItems(data, nodeData);
45
+ const statusLabels = [
46
+ { id: 'state', label: getPDiskStateLabel(data.State) },
47
+ { id: 'drive', label: getPDiskDriveLabel(data.DriveStatus) },
48
+ { id: 'decommit', label: getPDiskDecommitLabel(data.DecommitStatus) },
49
+ { id: 'maintenance', label: getPDiskMaintenanceLabel(data.MaintenanceStatus) },
50
+ ];
51
+ return (_jsxs(DiskPopupPanel, { footer: buildPDiskFooter(data, hasDeveloperUi), children: [_jsx(DiskPopupHeader, { title: pDiskPopupKeyset('label_pdisk'), id: data.StringifiedId, type: data.Type, statuses: statusLabels.map(({ id, label }) => label ? _jsx(DiskStatusLabel, { ...label, size: "xs" }, id) : null) }), _jsx(DiskPopupLocation, { items: locationItems }), _jsx(YDBDefinitionList, { items: getPDiskRuntimeItems(data), nameMaxWidth: 150 }), storageItems.length > 0 && (_jsxs(React.Fragment, { children: [_jsx(Divider, {}), _jsx(YDBDefinitionList, { items: storageItems, nameMaxWidth: 150 })] }))] }));
52
+ }
53
+ export function PDiskPopup(props) {
54
+ return (_jsx(DiskPopup, { children: _jsx(PDiskPopupContent, { ...props }) }));
55
+ }
127
56
  //# sourceMappingURL=PDiskPopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PDiskPopup.js","sourceRoot":"","sources":["../../../src/components/PDiskPopup/PDiskPopup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDiskPopup.js","sourceRoot":"","sources":["../../../src/components/PDiskPopup/PDiskPopup.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,5 @@
1
1
  {
2
- "context_not-available": "Not available",
3
- "label_type": "Type",
4
- "label_node-id": "Node Id",
5
- "label_host": "Host",
6
- "label_dc": "DC",
7
- "label_path": "Path",
8
- "label_available": "Available",
9
- "label_realtime": "Realtime",
10
- "label_device": "Device",
11
- "value_unknown": "unknown",
12
- "value_of": "of",
13
2
  "action_open-in-developer-ui": "Open in Developer UI",
14
- "action_go-to-pdisk": "Go to PDisk"
3
+ "action_go-to-pdisk": "Go to PDisk",
4
+ "label_pdisk": "PDisk"
15
5
  }
@@ -1 +1 @@
1
- export declare const pDiskPopupKeyset: (key: "label_node-id" | "context_not-available" | "label_type" | "label_host" | "label_dc" | "label_path" | "label_available" | "label_realtime" | "label_device" | "value_unknown" | "value_of" | "action_open-in-developer-ui" | "action_go-to-pdisk", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const pDiskPopupKeyset: (key: "action_open-in-developer-ui" | "action_go-to-pdisk" | "label_pdisk", params?: import("@gravity-ui/i18n").Params) => string;
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
+ import { TextInput } from '@gravity-ui/uikit';
3
4
  import { cn } from '../../utils/cn';
4
5
  import { DebouncedTextInput } from '../DebouncedInput/DebouncedTextInput';
5
6
  import { useTableSearch } from '../TableKeyboardNavigation/TableKeyboardNavigation';
@@ -12,6 +13,7 @@ export const Search = ({ onChange, value = '', width, className, debounce, input
12
13
  const onUpdate = React.useCallback((newValue) => {
13
14
  onChange(newValue);
14
15
  }, [onChange]);
15
- return (_jsx(DebouncedTextInput, { debounce: debounce, hasClear: true, autoFocus: true, controlRef: controlRef, style: { width }, className: b(null, className), value: value, onUpdate: onUpdate, ...props }));
16
+ const Input = debounce === 0 ? TextInput : DebouncedTextInput;
17
+ return (_jsx(Input, { ...(debounce === 0 ? {} : { debounce }), hasClear: true, autoFocus: true, controlRef: controlRef, style: { width }, className: b(null, className), value: value, onUpdate: onUpdate, ...props }));
16
18
  };
17
19
  //# sourceMappingURL=Search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,oDAAoD,CAAC;AAElF,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAW3B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACnB,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,GAAG,KAAK,EACE,EAAE,EAAE;IACd,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,CAAC;IACtC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,QAAgB,EAAE,EAAE;QACjB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,OAAO,CACH,KAAC,kBAAkB,IACf,QAAQ,EAAE,QAAQ,EAClB,QAAQ,QACR,SAAS,QACT,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,EAAC,KAAK,EAAC,EACd,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,KACd,KAAK,GACX,CACL,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"Search.js","sourceRoot":"","sources":["../../../src/components/Search/Search.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,cAAc,EAAC,MAAM,oDAAoD,CAAC;AAElF,OAAO,eAAe,CAAC;AAEvB,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;AAW3B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EACnB,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,KAAK,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,GAAG,KAAK,EACE,EAAE,EAAE;IACd,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAmB,IAAI,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,CAAC;IACtC,cAAc,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAC9B,CAAC,QAAgB,EAAE,EAAE;QACjB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,EACD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,MAAM,KAAK,GAAG,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAE9D,OAAO,CACH,KAAC,KAAK,OACE,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,QAAQ,EAAC,CAAC,EACtC,QAAQ,QACR,SAAS,QACT,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,EAAC,KAAK,EAAC,EACd,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,KACd,KAAK,GACX,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { PreparedStorageGroup } from '../../store/reducers/storage/types';
2
- import type { InfoViewerProps } from '../InfoViewer/InfoViewer';
3
- interface StorageGroupInfoProps extends Omit<InfoViewerProps, 'info'> {
2
+ import './StorageGroupInfo.scss';
3
+ interface StorageGroupInfoProps {
4
4
  data?: PreparedStorageGroup;
5
5
  className?: string;
6
6
  }
7
- export declare function StorageGroupInfo({ data, className, ...infoViewerProps }: StorageGroupInfoProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function StorageGroupInfo({ data, className }: StorageGroupInfoProps): import("react/jsx-runtime").JSX.Element;
8
8
  export {};
@@ -1,233 +1,88 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Flex } from '@gravity-ui/uikit';
2
+ import { Flex, Text, Tooltip } from '@gravity-ui/uikit';
3
3
  import { useBlobStorageCapacityMetricsEnabled } from '../../store/reducers/capabilities/hooks';
4
- import { valueIsDefined } from '../../utils';
5
- import { formatStorageValuesToGb } from '../../utils/dataFormatters/dataFormatters';
6
- import { getDocsLink } from '../../utils/docs';
4
+ import { isNonEmptyValue } from '../../utils';
5
+ import { formatBytes } from '../../utils/bytesParsers';
6
+ import { cn } from '../../utils/cn';
7
+ import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
8
+ import { formatMetricPercent, formatStorageMetricPair, formatStorageThroughput, } from '../../utils/storageMetrics';
7
9
  import { formatToMs } from '../../utils/timeParsers';
8
- import { bytesToSpeed } from '../../utils/utils';
9
- import { getStorageGroupCapacityInfoItems, toInfoViewerItems, } from '../DiskCapacityInfo/DiskCapacityInfo';
10
+ import { parseOptionalNonNegativeNumber } from '../../utils/utils';
11
+ import { getStorageGroupCapacityInfoItems } from '../DiskCapacityInfo/DiskCapacityInfo';
10
12
  import diskCapacityInfoKeyset from '../DiskCapacityInfo/i18n';
11
- import { InfoViewer } from '../InfoViewer';
12
13
  import { StatusIcon } from '../StatusIcon/StatusIcon';
13
- import { TitleWithHelpMark } from '../TitleWithHelpmark/TitleWithHelpmark';
14
+ import { YDBDefinitionList } from '../YDBDefinitionList/YDBDefinitionList';
14
15
  import { CAPACITY_CONFIGURATION_HELP_TEXT } from '../capacityMetricsColumns/constants';
15
16
  import { formatCapacityUnitCount } from '../capacityMetricsColumns/formatters';
16
17
  import { storageGroupInfoKeyset } from './i18n';
17
- // eslint-disable-next-line complexity
18
- export function StorageGroupInfo({ data, className, ...infoViewerProps }) {
18
+ import './StorageGroupInfo.scss';
19
+ const b = cn('ydb-storage-group-info');
20
+ export function StorageGroupInfo({ data, className }) {
19
21
  const capacityMetricsEnabled = useBlobStorageCapacityMetricsEnabled();
20
- const { Encryption, Overall, DiskSpace, MediaType, ErasureSpecies, Used, Limit, Usage, Read, Write, GroupGeneration, AllocationUnits, State, MissingDisks, Available, LatencyPutTabletLogMs, LatencyPutUserDataMs, LatencyGetFastMs, GroupSizeInUnits, } = data || {};
21
- const distributedStorageChannelDocsLink = getDocsLink('distributedStorageChannel');
22
- const allocationUnitsLabel = (_jsx(TitleWithHelpMark, { header: storageGroupInfoKeyset('allocation-units'), note: storageGroupInfoKeyset('context_allocation-units'), docsLink: distributedStorageChannelDocsLink }));
22
+ const { PoolName, GroupGeneration, ErasureSpecies, MissingDisks, LatencyPutTabletLogMs, LatencyPutUserDataMs, LatencyGetFastMs, Read, Write, GroupSizeInUnits, Used, Limit, Available, Usage, DiskSpace, } = data || {};
23
+ const configurationItems = [
24
+ {
25
+ name: storageGroupInfoKeyset('field_pool-name'),
26
+ content: PoolName ? (_jsx(Tooltip, { content: PoolName, children: _jsx(Text, { ellipsisLines: 2, wordBreak: "break-word", children: PoolName }) })) : (EMPTY_DATA_PLACEHOLDER),
27
+ },
28
+ ...[
29
+ [storageGroupInfoKeyset('group-generation'), GroupGeneration],
30
+ [storageGroupInfoKeyset('erasure-species'), ErasureSpecies],
31
+ [storageGroupInfoKeyset('missing-disks'), MissingDisks],
32
+ ].map(([name, value]) => ({
33
+ name,
34
+ content: isNonEmptyValue(value) ? value : EMPTY_DATA_PLACEHOLDER,
35
+ })),
36
+ ];
37
+ const latencyItems = [
38
+ [storageGroupInfoKeyset('latency-put-tablet-log'), LatencyPutTabletLogMs],
39
+ [storageGroupInfoKeyset('latency-put-user-data'), LatencyPutUserDataMs],
40
+ [storageGroupInfoKeyset('latency-get-fast'), LatencyGetFastMs],
41
+ ].map(([name, value]) => {
42
+ const latency = parseOptionalNonNegativeNumber(value);
43
+ return {
44
+ name,
45
+ content: latency === undefined ? EMPTY_DATA_PLACEHOLDER : formatToMs(latency),
46
+ };
47
+ });
48
+ const throughputItems = [
49
+ [storageGroupInfoKeyset('read-throughput'), Read],
50
+ [storageGroupInfoKeyset('write-throughput'), Write],
51
+ ].map(([name, value]) => ({
52
+ name,
53
+ content: formatStorageThroughput(value),
54
+ }));
55
+ const capacityItems = [];
23
56
  if (capacityMetricsEnabled) {
24
- const configurationInfo = [];
25
- const runtimeInfo = [];
26
- if (valueIsDefined(GroupGeneration)) {
27
- configurationInfo.push({
28
- label: storageGroupInfoKeyset('group-generation'),
29
- value: GroupGeneration,
30
- });
31
- }
32
- if (valueIsDefined(ErasureSpecies)) {
33
- configurationInfo.push({
34
- label: storageGroupInfoKeyset('erasure-species'),
35
- value: ErasureSpecies,
36
- });
37
- }
38
- if (valueIsDefined(MediaType)) {
39
- configurationInfo.push({
40
- label: storageGroupInfoKeyset('media-type'),
41
- value: MediaType,
42
- });
43
- }
44
- if (valueIsDefined(Encryption)) {
45
- configurationInfo.push({
46
- label: storageGroupInfoKeyset('encryption'),
47
- value: Encryption ? storageGroupInfoKeyset('yes') : storageGroupInfoKeyset('no'),
48
- });
49
- }
50
- configurationInfo.push({
51
- label: (_jsx(TitleWithHelpMark, { header: diskCapacityInfoKeyset('field_group-size-in-units'), note: CAPACITY_CONFIGURATION_HELP_TEXT.GroupSizeInUnits })),
52
- value: formatCapacityUnitCount(GroupSizeInUnits),
53
- });
54
- if (valueIsDefined(Overall)) {
55
- runtimeInfo.push({
56
- label: storageGroupInfoKeyset('overall'),
57
- value: _jsx(StatusIcon, { status: Overall }),
58
- });
59
- }
60
- if (valueIsDefined(State)) {
61
- runtimeInfo.push({ label: storageGroupInfoKeyset('state'), value: State });
62
- }
63
- if (valueIsDefined(MissingDisks)) {
64
- runtimeInfo.push({
65
- label: storageGroupInfoKeyset('missing-disks'),
66
- value: MissingDisks,
67
- });
68
- }
69
- if (valueIsDefined(Used) && valueIsDefined(Limit)) {
70
- const usedNum = Number(Used);
71
- const limitNum = Number(Limit);
72
- const hasSpaceData = Number.isFinite(usedNum) && Number.isFinite(limitNum);
73
- runtimeInfo.push({
74
- label: storageGroupInfoKeyset('used-space'),
75
- value: hasSpaceData
76
- ? formatStorageValuesToGb(usedNum, limitNum).join(' / ')
77
- : storageGroupInfoKeyset('no-data'),
78
- });
79
- }
80
- if (valueIsDefined(Available)) {
81
- runtimeInfo.push({
82
- label: storageGroupInfoKeyset('available'),
83
- value: formatStorageValuesToGb(Number(Available)),
84
- });
85
- }
86
- if (valueIsDefined(AllocationUnits)) {
87
- runtimeInfo.push({
88
- label: allocationUnitsLabel,
89
- value: AllocationUnits,
90
- });
91
- }
92
- runtimeInfo.push(...toInfoViewerItems(getStorageGroupCapacityInfoItems(data)));
93
- if (valueIsDefined(LatencyPutTabletLogMs)) {
94
- runtimeInfo.push({
95
- label: storageGroupInfoKeyset('latency-put-tablet-log'),
96
- value: formatToMs(LatencyPutTabletLogMs),
97
- });
98
- }
99
- if (valueIsDefined(LatencyPutUserDataMs)) {
100
- runtimeInfo.push({
101
- label: storageGroupInfoKeyset('latency-put-user-data'),
102
- value: formatToMs(LatencyPutUserDataMs),
103
- });
104
- }
105
- if (valueIsDefined(LatencyGetFastMs)) {
106
- runtimeInfo.push({
107
- label: storageGroupInfoKeyset('latency-get-fast'),
108
- value: formatToMs(LatencyGetFastMs),
109
- });
110
- }
111
- if (valueIsDefined(Read)) {
112
- runtimeInfo.push({
113
- label: storageGroupInfoKeyset('read-throughput'),
114
- value: bytesToSpeed(Number(Read)),
115
- });
116
- }
117
- if (valueIsDefined(Write)) {
118
- runtimeInfo.push({
119
- label: storageGroupInfoKeyset('write-throughput'),
120
- value: bytesToSpeed(Number(Write)),
121
- });
122
- }
123
- return (_jsxs(Flex, { className: className, gap: 2, direction: "row", wrap: true, children: [_jsx(InfoViewer, { info: configurationInfo, ...infoViewerProps }), _jsx(InfoViewer, { info: runtimeInfo, ...infoViewerProps })] }));
124
- }
125
- const storageGroupInfoFirstColumn = [];
126
- if (valueIsDefined(GroupGeneration)) {
127
- storageGroupInfoFirstColumn.push({
128
- label: storageGroupInfoKeyset('group-generation'),
129
- value: GroupGeneration,
130
- });
131
- }
132
- if (valueIsDefined(ErasureSpecies)) {
133
- storageGroupInfoFirstColumn.push({
134
- label: storageGroupInfoKeyset('erasure-species'),
135
- value: ErasureSpecies,
136
- });
137
- }
138
- if (valueIsDefined(MediaType)) {
139
- storageGroupInfoFirstColumn.push({
140
- label: storageGroupInfoKeyset('media-type'),
141
- value: MediaType,
142
- });
143
- }
144
- if (valueIsDefined(Encryption)) {
145
- storageGroupInfoFirstColumn.push({
146
- label: storageGroupInfoKeyset('encryption'),
147
- value: Encryption ? storageGroupInfoKeyset('yes') : storageGroupInfoKeyset('no'),
148
- });
149
- }
150
- if (valueIsDefined(Overall)) {
151
- storageGroupInfoFirstColumn.push({
152
- label: storageGroupInfoKeyset('overall'),
153
- value: _jsx(StatusIcon, { status: Overall }),
154
- });
155
- }
156
- if (valueIsDefined(State)) {
157
- storageGroupInfoFirstColumn.push({ label: storageGroupInfoKeyset('state'), value: State });
158
- }
159
- if (valueIsDefined(MissingDisks)) {
160
- storageGroupInfoFirstColumn.push({
161
- label: storageGroupInfoKeyset('missing-disks'),
162
- value: MissingDisks,
163
- });
164
- }
165
- const storageGroupInfoSecondColumn = [];
166
- if (valueIsDefined(Used) && valueIsDefined(Limit)) {
167
- const usedNum = Number(Used);
168
- const limitNum = Number(Limit);
169
- const hasSpaceData = Number.isFinite(usedNum) && Number.isFinite(limitNum);
170
- storageGroupInfoSecondColumn.push({
171
- label: storageGroupInfoKeyset('used-space'),
172
- value: hasSpaceData
173
- ? formatStorageValuesToGb(usedNum, limitNum).join(' / ')
174
- : storageGroupInfoKeyset('no-data'),
175
- });
176
- }
177
- if (valueIsDefined(Available)) {
178
- storageGroupInfoSecondColumn.push({
179
- label: storageGroupInfoKeyset('available'),
180
- value: formatStorageValuesToGb(Number(Available)),
181
- });
182
- }
183
- if (valueIsDefined(Usage)) {
184
- storageGroupInfoSecondColumn.push({
185
- label: storageGroupInfoKeyset('usage'),
186
- value: `${Usage.toFixed(2)}%`,
187
- });
188
- }
189
- if (valueIsDefined(DiskSpace)) {
190
- storageGroupInfoSecondColumn.push({
191
- label: storageGroupInfoKeyset('disk-space'),
192
- value: _jsx(StatusIcon, { status: DiskSpace }),
193
- });
194
- }
195
- if (valueIsDefined(LatencyPutTabletLogMs)) {
196
- storageGroupInfoSecondColumn.push({
197
- label: storageGroupInfoKeyset('latency-put-tablet-log'),
198
- value: formatToMs(LatencyPutTabletLogMs),
199
- });
200
- }
201
- if (valueIsDefined(LatencyPutUserDataMs)) {
202
- storageGroupInfoSecondColumn.push({
203
- label: storageGroupInfoKeyset('latency-put-user-data'),
204
- value: formatToMs(LatencyPutUserDataMs),
205
- });
206
- }
207
- if (valueIsDefined(LatencyGetFastMs)) {
208
- storageGroupInfoSecondColumn.push({
209
- label: storageGroupInfoKeyset('latency-get-fast'),
210
- value: formatToMs(LatencyGetFastMs),
211
- });
212
- }
213
- if (valueIsDefined(AllocationUnits)) {
214
- storageGroupInfoSecondColumn.push({
215
- label: allocationUnitsLabel,
216
- value: AllocationUnits,
217
- });
218
- }
219
- if (valueIsDefined(Read)) {
220
- storageGroupInfoSecondColumn.push({
221
- label: storageGroupInfoKeyset('read-throughput'),
222
- value: bytesToSpeed(Number(Read)),
223
- });
57
+ capacityItems.push({
58
+ name: diskCapacityInfoKeyset('field_group-size-in-units'),
59
+ content: formatCapacityUnitCount(GroupSizeInUnits),
60
+ note: CAPACITY_CONFIGURATION_HELP_TEXT.GroupSizeInUnits,
61
+ });
62
+ }
63
+ capacityItems.push({
64
+ name: storageGroupInfoKeyset('used-space'),
65
+ content: formatStorageMetricPair(Used, Limit, 2),
66
+ }, {
67
+ name: storageGroupInfoKeyset('available'),
68
+ content: formatBytes({
69
+ value: parseOptionalNonNegativeNumber(Available),
70
+ size: 'gb',
71
+ fixedDecimalPlaces: 2,
72
+ }) || EMPTY_DATA_PLACEHOLDER,
73
+ });
74
+ if (capacityMetricsEnabled) {
75
+ capacityItems.push(...getStorageGroupCapacityInfoItems(data));
224
76
  }
225
- if (valueIsDefined(Write)) {
226
- storageGroupInfoSecondColumn.push({
227
- label: storageGroupInfoKeyset('write-throughput'),
228
- value: bytesToSpeed(Number(Write)),
77
+ else {
78
+ capacityItems.push({
79
+ name: storageGroupInfoKeyset('usage'),
80
+ content: formatMetricPercent(Usage, 2),
81
+ }, {
82
+ name: storageGroupInfoKeyset('disk-space'),
83
+ content: DiskSpace ? _jsx(StatusIcon, { status: DiskSpace }) : EMPTY_DATA_PLACEHOLDER,
229
84
  });
230
85
  }
231
- return (_jsxs(Flex, { className: className, gap: 2, direction: "row", wrap: true, children: [_jsx(InfoViewer, { info: storageGroupInfoFirstColumn, ...infoViewerProps }), _jsx(InfoViewer, { info: storageGroupInfoSecondColumn, ...infoViewerProps })] }));
86
+ return (_jsxs(Flex, { className: b(null, className), wrap: "wrap", children: [_jsxs(Flex, { direction: "column", gap: 4, className: b('configuration'), children: [_jsx(YDBDefinitionList, { items: configurationItems, nameMaxWidth: 200 }), _jsx(YDBDefinitionList, { items: latencyItems, nameMaxWidth: 200 }), _jsx(YDBDefinitionList, { items: throughputItems, nameMaxWidth: 200 })] }), _jsx(YDBDefinitionList, { items: capacityItems, nameMaxWidth: 200, wrapperClassName: b('capacity') })] }));
232
87
  }
233
88
  //# sourceMappingURL=StorageGroupInfo.js.map