ydb-embedded-ui 22.3.0 → 22.4.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 (302) hide show
  1. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.d.ts +10 -1
  2. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js +75 -13
  3. package/dist/components/DiskCapacityInfo/DiskCapacityInfo.js.map +1 -1
  4. package/dist/components/DiskCapacityInfo/i18n/index.d.ts +1 -1
  5. package/dist/components/DiskPopup/DiskPopup.d.ts +25 -0
  6. package/dist/components/DiskPopup/DiskPopup.js +44 -0
  7. package/dist/components/DiskPopup/DiskPopup.js.map +1 -0
  8. package/dist/components/DiskPopup/DiskPopup.scss +203 -0
  9. package/dist/components/DiskPopup/i18n/en.json +3 -0
  10. package/dist/components/DiskPopup/i18n/index.d.ts +2 -0
  11. package/dist/components/DiskPopup/i18n/index.js +4 -0
  12. package/dist/components/DiskPopup/i18n/index.js.map +1 -0
  13. package/dist/components/DiskStatus/DiskStatus.d.ts +31 -0
  14. package/dist/components/DiskStatus/DiskStatus.js +61 -0
  15. package/dist/components/DiskStatus/DiskStatus.js.map +1 -0
  16. package/dist/components/DiskStatus/DiskStatus.scss +59 -0
  17. package/dist/components/DiskStatus/i18n/en.json +6 -0
  18. package/dist/components/DiskStatus/i18n/index.d.ts +2 -0
  19. package/dist/components/DiskStatus/i18n/index.js +4 -0
  20. package/dist/components/DiskStatus/i18n/index.js.map +1 -0
  21. package/dist/components/EntityStatus/EntityStatus.d.ts +1 -0
  22. package/dist/components/EntityStatus/EntityStatus.js +1 -1
  23. package/dist/components/EntityStatus/EntityStatus.js.map +1 -1
  24. package/dist/components/EvictVDiskButton/i18n/en.json +1 -1
  25. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  26. package/dist/components/HoverPopup/HoverPopup.d.ts +2 -1
  27. package/dist/components/HoverPopup/HoverPopup.js +49 -17
  28. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  29. package/dist/components/HoverPopup/usePopupPriority.d.ts +4 -0
  30. package/dist/components/HoverPopup/usePopupPriority.js +30 -0
  31. package/dist/components/HoverPopup/usePopupPriority.js.map +1 -0
  32. package/dist/components/PDiskInfo/PDiskLogSize.d.ts +5 -0
  33. package/dist/components/PDiskInfo/PDiskLogSize.js +20 -0
  34. package/dist/components/PDiskInfo/PDiskLogSize.js.map +1 -0
  35. package/dist/components/PDiskInfo/PDiskLogSize.scss +12 -0
  36. package/dist/components/PDiskInfo/getPDiskDetails.d.ts +4 -0
  37. package/dist/components/PDiskInfo/getPDiskDetails.js +33 -0
  38. package/dist/components/PDiskInfo/getPDiskDetails.js.map +1 -0
  39. package/dist/components/PDiskInfo/i18n/en.json +64 -2
  40. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  41. package/dist/components/PDiskInfo/statuses.d.ts +7 -0
  42. package/dist/components/PDiskInfo/statuses.js +185 -0
  43. package/dist/components/PDiskInfo/statuses.js.map +1 -0
  44. package/dist/components/PDiskPopup/PDiskPopup.d.ts +4 -7
  45. package/dist/components/PDiskPopup/PDiskPopup.js +28 -99
  46. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  47. package/dist/components/PDiskPopup/i18n/en.json +2 -12
  48. package/dist/components/PDiskPopup/i18n/index.d.ts +1 -1
  49. package/dist/components/StorageGroupInfo/StorageGroupInfo.d.ts +3 -3
  50. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +78 -218
  51. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  52. package/dist/components/StorageGroupInfo/StorageGroupInfo.scss +21 -0
  53. package/dist/components/StorageGroupInfo/i18n/en.json +1 -9
  54. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  55. package/dist/components/VDisk/VDisk.d.ts +2 -1
  56. package/dist/components/VDisk/VDisk.js +23 -32
  57. package/dist/components/VDisk/VDisk.js.map +1 -1
  58. package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +1 -1
  59. package/dist/components/VDisk/VDiskWithDonorsStack.js +2 -1
  60. package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
  61. package/dist/components/VDisk/getFlagStatusText.d.ts +2 -0
  62. package/dist/components/VDisk/getFlagStatusText.js +18 -0
  63. package/dist/components/VDisk/getFlagStatusText.js.map +1 -0
  64. package/dist/components/VDisk/i18n/en.json +1 -1
  65. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  66. package/dist/components/VDiskInfo/getVDiskDetails.d.ts +5 -0
  67. package/dist/components/VDiskInfo/getVDiskDetails.js +29 -0
  68. package/dist/components/VDiskInfo/getVDiskDetails.js.map +1 -0
  69. package/dist/components/VDiskInfo/i18n/en.json +3 -1
  70. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  71. package/dist/components/VDiskPopup/VDiskPopup.d.ts +6 -8
  72. package/dist/components/VDiskPopup/VDiskPopup.js +106 -240
  73. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  74. package/dist/components/VDiskPopup/VDiskPopup.scss +3 -10
  75. package/dist/components/VDiskPopup/i18n/en.json +6 -22
  76. package/dist/components/VDiskPopup/i18n/index.d.ts +1 -1
  77. package/dist/components/VDiskStatus/VDiskReplicationStatus.d.ts +8 -0
  78. package/dist/components/VDiskStatus/VDiskReplicationStatus.js +32 -0
  79. package/dist/components/VDiskStatus/VDiskReplicationStatus.js.map +1 -0
  80. package/dist/components/VDiskStatus/VDiskStatus.d.ts +16 -0
  81. package/dist/components/VDiskStatus/VDiskStatus.js +20 -0
  82. package/dist/components/VDiskStatus/VDiskStatus.js.map +1 -0
  83. package/dist/components/VDiskStatus/VDiskStatus.scss +32 -0
  84. package/dist/components/VDiskStatus/i18n/en.json +33 -0
  85. package/dist/components/VDiskStatus/i18n/index.d.ts +1 -0
  86. package/dist/components/VDiskStatus/i18n/index.js +5 -0
  87. package/dist/components/VDiskStatus/i18n/index.js.map +1 -0
  88. package/dist/components/VDiskStatus/index.d.ts +2 -0
  89. package/dist/components/VDiskStatus/index.js +3 -0
  90. package/dist/components/VDiskStatus/index.js.map +1 -0
  91. package/dist/components/VDiskStatus/statuses.d.ts +4 -0
  92. package/dist/components/VDiskStatus/statuses.js +120 -0
  93. package/dist/components/VDiskStatus/statuses.js.map +1 -0
  94. package/dist/components/capacityMetricsColumns/i18n/en.json +4 -4
  95. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js +6 -1
  96. package/dist/containers/Cluster/ClusterDrawerHealthcheck.js.map +1 -1
  97. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js +1 -1
  98. package/dist/containers/Clusters/ClusterDrawerHealthcheck.js.map +1 -1
  99. package/dist/containers/Header/Header.js +8 -2
  100. package/dist/containers/Header/Header.js.map +1 -1
  101. package/dist/containers/Header/StorageGroupLeftControls.d.ts +1 -0
  102. package/dist/containers/Header/StorageGroupLeftControls.js +23 -0
  103. package/dist/containers/Header/StorageGroupLeftControls.js.map +1 -0
  104. package/dist/containers/Header/i18n/en.json +3 -1
  105. package/dist/containers/Header/i18n/index.d.ts +1 -1
  106. package/dist/containers/Operations/constants.d.ts +1 -1
  107. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +4 -4
  108. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
  109. package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
  110. package/dist/containers/Storage/Disks/Disks.js +36 -9
  111. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  112. package/dist/containers/Storage/PDisk/PDisk.d.ts +2 -1
  113. package/dist/containers/Storage/PDisk/PDisk.js +2 -2
  114. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  115. package/dist/containers/Storage/PDisk/i18n/index.d.ts +1 -1
  116. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +7 -2
  117. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  118. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  119. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.scss +14 -82
  120. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  121. package/dist/containers/Storage/StorageGroupStateLabel.d.ts +4 -0
  122. package/dist/containers/Storage/StorageGroupStateLabel.js +9 -0
  123. package/dist/containers/Storage/StorageGroupStateLabel.js.map +1 -0
  124. package/dist/containers/Storage/utils/getStorageGroupStateLabel.d.ts +2 -0
  125. package/dist/containers/Storage/utils/getStorageGroupStateLabel.js +35 -0
  126. package/dist/containers/Storage/utils/getStorageGroupStateLabel.js.map +1 -0
  127. package/dist/containers/StorageGroupPage/StorageGroupPage.js +17 -12
  128. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  129. package/dist/containers/StorageGroupPage/StorageGroupPage.scss +9 -13
  130. package/dist/containers/StorageGroupPage/i18n/en.json +3 -1
  131. package/dist/containers/StorageGroupPage/i18n/index.d.ts +1 -1
  132. package/dist/containers/Tenant/Diagnostics/Overview/Overview.d.ts +2 -1
  133. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +4 -1
  134. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  135. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.d.ts +2 -1
  136. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.js +11 -2
  137. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.js.map +1 -1
  138. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.d.ts +2 -1
  139. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js +9 -8
  140. package/dist/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.js.map +1 -1
  141. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.d.ts +16 -1
  142. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.js +56 -19
  143. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.js.map +1 -1
  144. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/en.json +5 -1
  145. package/dist/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/index.d.ts +1 -1
  146. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  147. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.d.ts +3 -1
  148. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js +3 -3
  149. package/dist/containers/Tenant/Healthcheck/components/HealthcheckDrawer.js.map +1 -1
  150. package/dist/containers/Tenant/TenantDrawerHealthcheck.js +8 -1
  151. package/dist/containers/Tenant/TenantDrawerHealthcheck.js.map +1 -1
  152. package/dist/containers/Tenants/DatabaseDrawerHealthcheck.js +8 -1
  153. package/dist/containers/Tenants/DatabaseDrawerHealthcheck.js.map +1 -1
  154. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  155. package/dist/lib.d.ts +1 -1
  156. package/dist/lib.js.map +1 -1
  157. package/dist/store/configureStore.d.ts +2 -2
  158. package/dist/store/defaultStore.d.ts +1 -1
  159. package/dist/store/reducers/header/types.d.ts +1 -1
  160. package/dist/store/reducers/index.d.ts +2 -2
  161. package/dist/store/reducers/pdisk/types.d.ts +1 -0
  162. package/dist/store/reducers/pdisk/utils.js +6 -1
  163. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  164. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +1 -0
  165. package/dist/store/reducers/storage/prepareGroupsDisks.js +7 -18
  166. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  167. package/dist/store/reducers/storage/utils.js +4 -0
  168. package/dist/store/reducers/storage/utils.js.map +1 -1
  169. package/dist/store/reducers/streamingQuery/streamingQuery.js +2 -4
  170. package/dist/store/reducers/streamingQuery/streamingQuery.js.map +1 -1
  171. package/dist/styles/mixins.scss +22 -0
  172. package/dist/types/api/pdisk.d.ts +4 -0
  173. package/dist/types/api/pdisk.js.map +1 -1
  174. package/dist/types/api/vdisk.d.ts +8 -0
  175. package/dist/types/api/vdisk.js +7 -0
  176. package/dist/types/api/vdisk.js.map +1 -1
  177. package/dist/types/store/nodesList.d.ts +4 -2
  178. package/dist/uiFactory/types.d.ts +5 -2
  179. package/dist/utils/bytesParsers/formatBytes.d.ts +3 -1
  180. package/dist/utils/bytesParsers/formatBytes.js +12 -3
  181. package/dist/utils/bytesParsers/formatBytes.js.map +1 -1
  182. package/dist/utils/disks/constants.d.ts +1 -0
  183. package/dist/utils/disks/constants.js +4 -0
  184. package/dist/utils/disks/constants.js.map +1 -1
  185. package/dist/utils/disks/diskInfo/getDiskLocationItems.d.ts +16 -0
  186. package/dist/utils/disks/diskInfo/getDiskLocationItems.js +30 -0
  187. package/dist/utils/disks/diskInfo/getDiskLocationItems.js.map +1 -0
  188. package/dist/utils/disks/diskInfo/i18n/en.json +9 -0
  189. package/dist/utils/disks/diskInfo/i18n/index.d.ts +2 -0
  190. package/dist/utils/disks/diskInfo/i18n/index.js +4 -0
  191. package/dist/utils/disks/diskInfo/i18n/index.js.map +1 -0
  192. package/dist/utils/disks/iconCalculators.d.ts +5 -0
  193. package/dist/utils/disks/iconCalculators.js +1 -1
  194. package/dist/utils/disks/iconCalculators.js.map +1 -1
  195. package/dist/utils/disks/prepareDisks.d.ts +6 -2
  196. package/dist/utils/disks/prepareDisks.js +22 -35
  197. package/dist/utils/disks/prepareDisks.js.map +1 -1
  198. package/dist/utils/disks/types.d.ts +9 -2
  199. package/dist/utils/hooks/useNodeMetadata.d.ts +2 -0
  200. package/dist/utils/hooks/useNodeMetadata.js +15 -0
  201. package/dist/utils/hooks/useNodeMetadata.js.map +1 -0
  202. package/dist/utils/nodes.js +6 -2
  203. package/dist/utils/nodes.js.map +1 -1
  204. package/dist/utils/storageMetrics.d.ts +2 -2
  205. package/dist/utils/storageMetrics.js +22 -10
  206. package/dist/utils/storageMetrics.js.map +1 -1
  207. package/dist/utils/timeParsers/formatDuration.d.ts +4 -1
  208. package/dist/utils/timeParsers/formatDuration.js +16 -1
  209. package/dist/utils/timeParsers/formatDuration.js.map +1 -1
  210. package/dist/utils/timeParsers/i18n/en.json +5 -1
  211. package/dist/utils/timeParsers/i18n/index.d.ts +1 -1
  212. package/dist/utils/timeParsers/i18n/ru.json +5 -1
  213. package/package.json +2 -2
  214. package/src/components/DiskCapacityInfo/DiskCapacityInfo.tsx +106 -15
  215. package/src/components/DiskPopup/DiskPopup.scss +203 -0
  216. package/src/components/DiskPopup/DiskPopup.tsx +123 -0
  217. package/src/components/DiskPopup/i18n/en.json +3 -0
  218. package/src/components/DiskPopup/i18n/index.ts +5 -0
  219. package/src/components/DiskStatus/DiskStatus.scss +59 -0
  220. package/src/components/DiskStatus/DiskStatus.tsx +149 -0
  221. package/src/components/DiskStatus/i18n/en.json +6 -0
  222. package/src/components/DiskStatus/i18n/index.ts +5 -0
  223. package/src/components/EntityStatus/EntityStatus.tsx +1 -1
  224. package/src/components/EvictVDiskButton/i18n/en.json +1 -1
  225. package/src/components/HoverPopup/HoverPopup.tsx +67 -20
  226. package/src/components/HoverPopup/usePopupPriority.ts +39 -0
  227. package/src/components/PDiskInfo/PDiskLogSize.scss +12 -0
  228. package/src/components/PDiskInfo/PDiskLogSize.tsx +37 -0
  229. package/src/components/PDiskInfo/getPDiskDetails.tsx +37 -0
  230. package/src/components/PDiskInfo/i18n/en.json +64 -8
  231. package/src/components/PDiskInfo/statuses.ts +209 -0
  232. package/src/components/PDiskPopup/PDiskPopup.tsx +62 -147
  233. package/src/components/PDiskPopup/i18n/en.json +2 -12
  234. package/src/components/StorageGroupInfo/StorageGroupInfo.scss +21 -0
  235. package/src/components/StorageGroupInfo/StorageGroupInfo.tsx +121 -260
  236. package/src/components/StorageGroupInfo/i18n/en.json +1 -9
  237. package/src/components/VDisk/VDisk.tsx +31 -34
  238. package/src/components/VDisk/VDiskWithDonorsStack.tsx +2 -0
  239. package/src/components/VDisk/getFlagStatusText.ts +19 -0
  240. package/src/components/VDisk/i18n/en.json +1 -1
  241. package/src/components/VDiskInfo/getVDiskDetails.tsx +41 -0
  242. package/src/components/VDiskInfo/i18n/en.json +3 -10
  243. package/src/components/VDiskPopup/VDiskPopup.scss +3 -10
  244. package/src/components/VDiskPopup/VDiskPopup.tsx +197 -421
  245. package/src/components/VDiskPopup/i18n/en.json +6 -22
  246. package/src/components/VDiskStatus/VDiskReplicationStatus.tsx +77 -0
  247. package/src/components/VDiskStatus/VDiskStatus.scss +32 -0
  248. package/src/components/VDiskStatus/VDiskStatus.tsx +38 -0
  249. package/src/components/VDiskStatus/i18n/en.json +33 -0
  250. package/src/components/VDiskStatus/i18n/index.ts +7 -0
  251. package/src/components/VDiskStatus/index.ts +7 -0
  252. package/src/components/VDiskStatus/statuses.ts +139 -0
  253. package/src/components/capacityMetricsColumns/i18n/en.json +4 -4
  254. package/src/containers/Cluster/ClusterDrawerHealthcheck.tsx +6 -0
  255. package/src/containers/Clusters/ClusterDrawerHealthcheck.tsx +1 -0
  256. package/src/containers/Header/Header.tsx +11 -3
  257. package/src/containers/Header/StorageGroupLeftControls.tsx +38 -0
  258. package/src/containers/Header/i18n/en.json +3 -1
  259. package/src/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.tsx +13 -2
  260. package/src/containers/Storage/Disks/Disks.tsx +66 -12
  261. package/src/containers/Storage/PDisk/PDisk.tsx +3 -0
  262. package/src/containers/Storage/PaginatedStorageGroupsTable/columns/columns.tsx +24 -3
  263. package/src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.scss +14 -82
  264. package/src/containers/Storage/StorageGroupStateLabel.tsx +22 -0
  265. package/src/containers/Storage/utils/getStorageGroupStateLabel.ts +49 -0
  266. package/src/containers/StorageGroupPage/StorageGroupPage.scss +9 -13
  267. package/src/containers/StorageGroupPage/StorageGroupPage.tsx +53 -25
  268. package/src/containers/StorageGroupPage/i18n/en.json +3 -1
  269. package/src/containers/Tenant/Diagnostics/Overview/Overview.tsx +5 -1
  270. package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/SchemaObjectInfo.tsx +12 -1
  271. package/src/containers/Tenant/Diagnostics/Overview/SchemaObjectInfo/prepareSchemaObjectInfo.tsx +11 -10
  272. package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/StreamingQueryInfo.tsx +83 -20
  273. package/src/containers/Tenant/Diagnostics/Overview/StreamingQueryInfo/i18n/en.json +5 -1
  274. package/src/containers/Tenant/Healthcheck/components/HealthcheckDrawer.tsx +5 -2
  275. package/src/containers/Tenant/TenantDrawerHealthcheck.tsx +10 -0
  276. package/src/containers/Tenants/DatabaseDrawerHealthcheck.tsx +10 -0
  277. package/src/lib.ts +1 -0
  278. package/src/store/reducers/header/types.ts +3 -1
  279. package/src/store/reducers/pdisk/types.ts +1 -0
  280. package/src/store/reducers/pdisk/utils.ts +6 -3
  281. package/src/store/reducers/storage/prepareGroupsDisks.ts +7 -22
  282. package/src/store/reducers/storage/utils.ts +4 -0
  283. package/src/store/reducers/streamingQuery/streamingQuery.ts +2 -4
  284. package/src/styles/mixins.scss +22 -0
  285. package/src/types/api/pdisk.ts +4 -0
  286. package/src/types/api/vdisk.ts +9 -0
  287. package/src/types/store/nodesList.ts +7 -7
  288. package/src/uiFactory/types.ts +9 -2
  289. package/src/utils/bytesParsers/formatBytes.ts +23 -4
  290. package/src/utils/disks/constants.ts +5 -0
  291. package/src/utils/disks/diskInfo/getDiskLocationItems.ts +50 -0
  292. package/src/utils/disks/diskInfo/i18n/en.json +9 -0
  293. package/src/utils/disks/diskInfo/i18n/index.ts +5 -0
  294. package/src/utils/disks/iconCalculators.ts +1 -1
  295. package/src/utils/disks/prepareDisks.ts +21 -47
  296. package/src/utils/disks/types.ts +10 -2
  297. package/src/utils/hooks/useNodeMetadata.ts +21 -0
  298. package/src/utils/nodes.ts +6 -1
  299. package/src/utils/storageMetrics.ts +27 -14
  300. package/src/utils/timeParsers/formatDuration.ts +22 -1
  301. package/src/utils/timeParsers/i18n/en.json +5 -1
  302. package/src/utils/timeParsers/i18n/ru.json +5 -1
@@ -1,26 +1,10 @@
1
1
  {
2
- "context_not-available": "Not available",
3
- "label_storage-pool": "StoragePool",
4
- "label_donor": "Donor",
5
- "label_node-id": "NodeId",
6
- "label_pdisk-id": "PDiskId",
7
- "label_vslot-id": "VSlotId",
8
- "label_links": "Links",
2
+ "label_storage-pool": "Storage Pool Name",
9
3
  "label_vdisk": "VDisk",
10
- "label_fresh": "Fresh",
11
- "label_level": "Level",
12
- "label_space": "Space",
13
- "label_front-queues": "FrontQueues",
14
- "label_replicated": "Replicated",
15
- "label_progress": "Progress",
16
- "label_remaining": "Remaining",
17
- "label_unsync-vdisks": "UnsyncVDisks",
18
- "label_allocated": "Allocated",
19
- "label_available": "Available",
20
- "label_read": "Read",
21
- "label_write": "Write",
22
- "label_replication": "Replication",
23
- "label_recipient": "Recipient",
4
+ "label_front-queues": "Front Queues",
5
+ "label_read": "Read Throughput",
6
+ "label_write": "Write Throughput",
24
7
  "action_open-in-developer-ui": "Open in Developer UI",
25
- "action_go-to-vdisk": "Go to VDisk"
8
+ "action_go-to-vdisk": "Go to VDisk",
9
+ "label_compaction": "Compaction"
26
10
  }
@@ -1 +1 @@
1
- export declare const vDiskPopupKeyset: (key: "label_node-id" | "label_pdisk-id" | "context_not-available" | "label_available" | "action_open-in-developer-ui" | "label_storage-pool" | "label_donor" | "label_vslot-id" | "label_links" | "label_vdisk" | "label_fresh" | "label_level" | "label_space" | "label_front-queues" | "label_replicated" | "label_progress" | "label_remaining" | "label_unsync-vdisks" | "label_allocated" | "label_read" | "label_write" | "label_replication" | "label_recipient" | "action_go-to-vdisk", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const vDiskPopupKeyset: (key: "action_open-in-developer-ui" | "label_storage-pool" | "label_vdisk" | "label_front-queues" | "label_read" | "label_write" | "action_go-to-vdisk" | "label_compaction", params?: import("@gravity-ui/i18n").Params) => string;
@@ -0,0 +1,8 @@
1
+ import type { LabelProps } from '@gravity-ui/uikit';
2
+ import type { PreparedVDisk } from '../../utils/disks/types';
3
+ import './VDiskStatus.scss';
4
+ interface VDiskReplicationStatusProps extends Pick<LabelProps, 'size'> {
5
+ data: Pick<PreparedVDisk, 'DetailedReplicationStatus' | 'Replicated' | 'ReplicationProgress' | 'ReplicationSecondsRemaining'>;
6
+ }
7
+ export declare function VDiskReplicationStatus({ data, size }: VDiskReplicationStatusProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Flex, Progress } from '@gravity-ui/uikit';
4
+ import { EVDiskDetailedReplicationStatus } from '../../types/api/vdisk';
5
+ import { cn } from '../../utils/cn';
6
+ import { formatPercent } from '../../utils/dataFormatters/dataFormatters';
7
+ import { formatDurationToShortTimeFormat } from '../../utils/timeParsers';
8
+ import { parseOptionalNonNegativeNumber } from '../../utils/utils';
9
+ import { DiskStatusLabel } from '../DiskStatus/DiskStatus';
10
+ import { vDiskStatusKeyset as i18n } from './i18n';
11
+ import { getVDiskReplicationLabel } from './statuses';
12
+ import './VDiskStatus.scss';
13
+ const b = cn('ydb-vdisk-status');
14
+ export function VDiskReplicationStatus({ data, size }) {
15
+ const label = getVDiskReplicationLabel(data);
16
+ const showProgress = data.DetailedReplicationStatus === EVDiskDetailedReplicationStatus.InProgress ||
17
+ (!data.DetailedReplicationStatus && data.Replicated === false);
18
+ return (_jsxs(React.Fragment, { children: [label && _jsx(DiskStatusLabel, { ...label, size: size }), showProgress && _jsx(ReplicationProgress, { data: data, size: size })] }));
19
+ }
20
+ function ReplicationProgress({ data, size }) {
21
+ const progress = parseOptionalNonNegativeNumber(data.ReplicationProgress);
22
+ const percentage = progress !== undefined && progress <= 1 ? Math.round(progress * 100) : undefined;
23
+ const seconds = parseOptionalNonNegativeNumber(data.ReplicationSecondsRemaining);
24
+ const remaining = seconds === undefined
25
+ ? undefined
26
+ : formatDurationToShortTimeFormat(Math.ceil(seconds) * 1000, 2, { compact: true });
27
+ if (percentage === undefined && !remaining) {
28
+ return null;
29
+ }
30
+ return (_jsxs(Flex, { alignItems: "center", gap: 2, className: b('replication-progress', { size }), children: [percentage !== undefined && (_jsxs(React.Fragment, { children: [_jsx("span", { children: formatPercent(percentage / 100, 0) }), _jsx("div", { role: "progressbar", "aria-label": i18n('label_replication-progress'), "aria-valuemin": 0, "aria-valuemax": 100, "aria-valuenow": percentage, className: b('progress-bar'), children: _jsx(Progress, { value: percentage, theme: "info", size: "xs" }) })] })), remaining && _jsx("span", { children: i18n('context_remaining', { duration: remaining }) })] }));
31
+ }
32
+ //# sourceMappingURL=VDiskReplicationStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VDiskReplicationStatus.js","sourceRoot":"","sources":["../../../src/components/VDiskStatus/VDiskReplicationStatus.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { LabelProps } from '@gravity-ui/uikit';
2
+ import { EFlag } from '../../types/api/enums';
3
+ import type { EVDiskState } from '../../types/api/vdisk';
4
+ export declare function VDiskStateLabel({ state, size }: {
5
+ state?: EVDiskState;
6
+ } & Pick<LabelProps, 'size'>): import("react/jsx-runtime").JSX.Element;
7
+ export declare function VDiskDonorLabel({ donorMode, size, }: {
8
+ donorMode?: boolean;
9
+ } & Pick<LabelProps, 'size'>): import("react/jsx-runtime").JSX.Element | null;
10
+ export declare function VDiskFrontQueuesLabel({ flag }: {
11
+ flag?: EFlag;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ export declare function VDiskCompactionRankLabel({ flag, rank }: {
14
+ flag?: EFlag;
15
+ rank: 'fresh' | 'level';
16
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { EFlag } from '../../types/api/enums';
3
+ import { VDISK_LABEL_CONFIG } from '../../utils/disks/constants';
4
+ import { calculateFrontQueuesIcon } from '../../utils/disks/iconCalculators';
5
+ import { DiskFlagLabel, DiskStatusLabel } from '../DiskStatus/DiskStatus';
6
+ import { vDiskStatusKeyset as i18n } from './i18n';
7
+ import { getVDiskStateLabel } from './statuses';
8
+ export function VDiskStateLabel({ state, size }) {
9
+ return _jsx(DiskStatusLabel, { ...getVDiskStateLabel({ VDiskState: state }), size: size });
10
+ }
11
+ export function VDiskDonorLabel({ donorMode, size, }) {
12
+ return donorMode ? (_jsx(DiskStatusLabel, { value: i18n('label_donor'), ...VDISK_LABEL_CONFIG.donor, size: size })) : null;
13
+ }
14
+ export function VDiskFrontQueuesLabel({ flag }) {
15
+ return (_jsx(DiskFlagLabel, { flag: flag, icon: calculateFrontQueuesIcon({ FrontQueues: flag || EFlag.Grey }) }));
16
+ }
17
+ export function VDiskCompactionRankLabel({ flag, rank }) {
18
+ return (_jsx(DiskFlagLabel, { flag: flag, title: i18n(rank === 'fresh' ? 'label_fresh' : 'label_level') }));
19
+ }
20
+ //# sourceMappingURL=VDiskStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VDiskStatus.js","sourceRoot":"","sources":["../../../src/components/VDiskStatus/VDiskStatus.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,uBAAuB,CAAC;AAE5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAC,wBAAwB,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAE,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAExE,OAAO,EAAC,iBAAiB,IAAI,IAAI,EAAC,MAAM,QAAQ,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,eAAe,CAAC,EAAC,KAAK,EAAE,IAAI,EAAmD;IAC3F,OAAO,KAAC,eAAe,OAAK,kBAAkB,CAAC,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC5B,SAAS,EACT,IAAI,GAC2C;IAC/C,OAAO,SAAS,CAAC,CAAC,CAAC,CACf,KAAC,eAAe,IAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAM,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,GAAI,CAC5F,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EAAC,IAAI,EAAiB;IACxD,OAAO,CACH,KAAC,aAAa,IACV,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,wBAAwB,CAAC,EAAC,WAAW,EAAE,IAAI,IAAI,KAAK,CAAC,IAAI,EAAC,CAAC,GACnE,CACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EAAC,IAAI,EAAE,IAAI,EAA0C;IAC1F,OAAO,CACH,KAAC,aAAa,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,GAAI,CAC/F,CAAC;AACN,CAAC"}
@@ -0,0 +1,32 @@
1
+ @use '../../styles/mixins';
2
+
3
+ .ydb-vdisk-status {
4
+ &__replication-progress {
5
+ box-sizing: border-box;
6
+ min-height: 24px;
7
+ padding: 0 10px;
8
+
9
+ color: var(--g-color-text-info-heavy);
10
+ border-radius: var(--g-border-radius-xs);
11
+ background-color: var(--g-color-base-selection);
12
+ @include mixins.text-body-short();
13
+
14
+ &_size_xs {
15
+ min-height: 20px;
16
+ padding: 2px 6px;
17
+ }
18
+
19
+ > span {
20
+ white-space: nowrap;
21
+ }
22
+ }
23
+
24
+ &__progress-bar {
25
+ --g-progress-empty-background-color: var(--g-color-base-info-light);
26
+ --g-progress-filled-background-color: var(--g-color-base-info-heavy);
27
+
28
+ flex-shrink: 0;
29
+
30
+ width: 103px;
31
+ }
32
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "label_donor": "Donor",
3
+ "label_fresh": "Fresh Rank",
4
+ "label_level": "Level Rank",
5
+ "label_replicated": "Replicated",
6
+ "label_replication": "Replication",
7
+ "label_replication-progress": "Replication progress",
8
+ "value_ok": "Ok",
9
+ "value_in-progress": "In progress",
10
+ "value_initial": "Initial",
11
+ "value_sync-guid-recovery": "Sync Guid Recovery",
12
+ "value_pdisk-error": "PDisk Error",
13
+ "value_local-recovery-error": "Local Recovery Error",
14
+ "value_sync-guid-recovery-error": "Sync Guid Recovery Error",
15
+ "value_no-data": "No data",
16
+ "value_waiting-for-token": "Waiting for token",
17
+ "value_phantoms-only": "Phantoms only",
18
+ "label_not-replicated": "Not replicated",
19
+ "value_no-detailed-status": "No detailed status",
20
+ "context_state-ok": "The VDisk is operating normally",
21
+ "context_state-initial": "The VDisk is starting",
22
+ "context_state-sync-guid-recovery": "The VDisk is synchronizing with other VDisks of the group",
23
+ "context_state-pdisk-error": "The VDisk cannot operate because its underlying PDisk reported an error",
24
+ "context_state-local-recovery-error": "The VDisk failed to restore its state from the PDisk",
25
+ "context_state-sync-guid-recovery-error": "The VDisk failed to complete synchronization identity with other VDisks in the group",
26
+ "context_state-no-data": "The VDisk state is unknown",
27
+ "context_replicated": "The VDisk is fully replicated",
28
+ "context_not-replicated": "The VDisk isn't replicated",
29
+ "context_replication-in-progress": "Replication is in progress, data is being transferred to VDisk",
30
+ "context_replication-waiting-for-token": "Replication is waiting for a token from the broker",
31
+ "context_replication-phantoms-only": "Replication cannot finish due to phantom blobs",
32
+ "context_remaining": "{{duration}} left"
33
+ }
@@ -0,0 +1 @@
1
+ export declare const vDiskStatusKeyset: (key: "value_ok" | "value_no-data" | "value_initial" | "context_state-initial" | "label_donor" | "label_fresh" | "label_level" | "label_replicated" | "label_replication" | "label_replication-progress" | "value_in-progress" | "value_sync-guid-recovery" | "value_pdisk-error" | "value_local-recovery-error" | "value_sync-guid-recovery-error" | "value_waiting-for-token" | "value_phantoms-only" | "label_not-replicated" | "value_no-detailed-status" | "context_state-ok" | "context_state-sync-guid-recovery" | "context_state-pdisk-error" | "context_state-local-recovery-error" | "context_state-sync-guid-recovery-error" | "context_state-no-data" | "context_replicated" | "context_not-replicated" | "context_replication-in-progress" | "context_replication-waiting-for-token" | "context_replication-phantoms-only" | "context_remaining", params?: import("@gravity-ui/i18n").Params) => string;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'ydb-vdisk-status';
4
+ export const vDiskStatusKeyset = registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/VDiskStatus/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,kBAAkB,CAAC;AAErC,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { VDiskCompactionRankLabel, VDiskDonorLabel, VDiskFrontQueuesLabel, VDiskStateLabel, } from './VDiskStatus';
2
+ export { VDiskReplicationStatus } from './VDiskReplicationStatus';
@@ -0,0 +1,3 @@
1
+ export { VDiskCompactionRankLabel, VDiskDonorLabel, VDiskFrontQueuesLabel, VDiskStateLabel, } from './VDiskStatus';
2
+ export { VDiskReplicationStatus } from './VDiskReplicationStatus';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/VDiskStatus/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,eAAe,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { PreparedVDisk } from '../../utils/disks/types';
2
+ import type { DiskStatusLabelData } from '../DiskStatus/DiskStatus';
3
+ export declare function getVDiskStateLabel(data: PreparedVDisk): DiskStatusLabelData;
4
+ export declare function getVDiskReplicationLabel(data: PreparedVDisk): DiskStatusLabelData | undefined;
@@ -0,0 +1,120 @@
1
+ import { ArrowsRotateLeft, ArrowsRotateLeftSlash, Check, CirclePause, CircleQuestion, CircleStop, } from '@gravity-ui/icons';
2
+ import { EVDiskDetailedReplicationStatus, EVDiskState } from '../../types/api/vdisk';
3
+ import { NOT_AVAILABLE_SEVERITY, NUMERIC_SEVERITY_TO_LABEL_VIEW, VDISK_STATE_SEVERITY_FOR_STATE_MODE, } from '../../utils/disks/constants';
4
+ import { calculateStateIcon } from '../../utils/disks/iconCalculators';
5
+ import { parseOptionalNonNegativeNumber } from '../../utils/utils';
6
+ import { vDiskStatusKeyset as i18n } from './i18n';
7
+ export function getVDiskStateLabel(data) {
8
+ var _a;
9
+ const state = data.VDiskState;
10
+ const severity = state
11
+ ? ((_a = VDISK_STATE_SEVERITY_FOR_STATE_MODE[state]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_SEVERITY)
12
+ : NOT_AVAILABLE_SEVERITY;
13
+ if (!state || severity === NOT_AVAILABLE_SEVERITY) {
14
+ return {
15
+ value: i18n('value_no-data'),
16
+ theme: 'unknown',
17
+ icon: CircleQuestion,
18
+ tooltip: i18n('context_state-no-data'),
19
+ };
20
+ }
21
+ const labels = {
22
+ [EVDiskState.OK]: {
23
+ value: i18n('value_ok'),
24
+ tooltip: i18n('context_state-ok'),
25
+ },
26
+ [EVDiskState.Initial]: {
27
+ value: i18n('value_initial'),
28
+ tooltip: i18n('context_state-initial'),
29
+ },
30
+ [EVDiskState.SyncGuidRecovery]: {
31
+ value: i18n('value_sync-guid-recovery'),
32
+ tooltip: i18n('context_state-sync-guid-recovery'),
33
+ },
34
+ [EVDiskState.PDiskError]: {
35
+ value: i18n('value_pdisk-error'),
36
+ tooltip: i18n('context_state-pdisk-error'),
37
+ },
38
+ [EVDiskState.LocalRecoveryError]: {
39
+ value: i18n('value_local-recovery-error'),
40
+ tooltip: i18n('context_state-local-recovery-error'),
41
+ },
42
+ [EVDiskState.SyncGuidRecoveryError]: {
43
+ value: i18n('value_sync-guid-recovery-error'),
44
+ tooltip: i18n('context_state-sync-guid-recovery-error'),
45
+ },
46
+ };
47
+ const labelView = NUMERIC_SEVERITY_TO_LABEL_VIEW[severity];
48
+ return {
49
+ ...labels[state],
50
+ theme: labelView.theme,
51
+ icon: state === EVDiskState.OK ? Check : calculateStateIcon(data),
52
+ dangerHeavy: Boolean(labelView.dangerHeavy),
53
+ };
54
+ }
55
+ export function getVDiskReplicationLabel(data) {
56
+ switch (data.DetailedReplicationStatus) {
57
+ case EVDiskDetailedReplicationStatus.Replicated:
58
+ return replicatedLabel();
59
+ case EVDiskDetailedReplicationStatus.InProgress:
60
+ return {
61
+ title: i18n('label_replication'),
62
+ value: i18n('value_in-progress'),
63
+ theme: 'info',
64
+ icon: ArrowsRotateLeft,
65
+ tooltip: i18n('context_replication-in-progress'),
66
+ };
67
+ case EVDiskDetailedReplicationStatus.WaitingForToken:
68
+ return {
69
+ title: i18n('label_replication'),
70
+ value: i18n('value_waiting-for-token'),
71
+ theme: 'info',
72
+ icon: CirclePause,
73
+ tooltip: i18n('context_replication-waiting-for-token'),
74
+ };
75
+ case EVDiskDetailedReplicationStatus.PhantomsOnly:
76
+ return {
77
+ title: i18n('label_replication'),
78
+ value: i18n('value_phantoms-only'),
79
+ theme: 'info',
80
+ icon: CircleStop,
81
+ tooltip: i18n('context_replication-phantoms-only'),
82
+ };
83
+ default:
84
+ if (data.DetailedReplicationStatus) {
85
+ return undefined;
86
+ }
87
+ if (data.Replicated === true) {
88
+ return replicatedLabel();
89
+ }
90
+ if (data.Replicated === false) {
91
+ const progress = parseOptionalNonNegativeNumber(data.ReplicationProgress);
92
+ const seconds = parseOptionalNonNegativeNumber(data.ReplicationSecondsRemaining);
93
+ if ((progress !== undefined && progress <= 1) || seconds !== undefined) {
94
+ return {
95
+ title: i18n('label_replication'),
96
+ value: i18n('value_no-detailed-status'),
97
+ theme: 'info',
98
+ icon: ArrowsRotateLeft,
99
+ tooltip: i18n('context_not-replicated'),
100
+ };
101
+ }
102
+ return {
103
+ value: i18n('label_not-replicated'),
104
+ theme: 'normal',
105
+ icon: ArrowsRotateLeftSlash,
106
+ tooltip: i18n('context_not-replicated'),
107
+ };
108
+ }
109
+ return undefined;
110
+ }
111
+ }
112
+ function replicatedLabel() {
113
+ return {
114
+ value: i18n('label_replicated'),
115
+ theme: 'success',
116
+ icon: Check,
117
+ tooltip: i18n('context_replicated'),
118
+ };
119
+ }
120
+ //# sourceMappingURL=statuses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statuses.js","sourceRoot":"","sources":["../../../src/components/VDiskStatus/statuses.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@
5
5
  "field_normalized-occupancy": "Normalized Occupancy",
6
6
  "field_capacity-alert": "Capacity Alert",
7
7
  "value_implicit-unit-count": "1 (implicit)",
8
- "context_pdisk-usage": "Share of PDisk space used by VDisks. System and log reserves are not included.",
9
- "context_vdisk-slot-usage": "Percentage of VDisk space used relative to the first low-space warning. Can exceed 100%.",
10
- "context_vdisk-raw-usage": "Percentage of VDisk space used relative to its fair share on the PDisk. Can exceed 100%.",
8
+ "context_pdisk-usage": "The share of PDisk chunk space used by the residing VDisks. Doesn't include SysLog and CommonLog usage",
9
+ "context_vdisk-slot-usage": "Percentage of used VDisk space relative to the first low-space warning. Can exceed 100%.",
10
+ "context_vdisk-raw-usage": "Percentage of used VDisk space relative to its fair share on the PDisk. Can exceed 100%.",
11
11
  "context_normalized-occupancy": "Internal score used for gently handling low-space cases.",
12
- "context_capacity-alert": "Named status used for gently handling low-space cases.",
12
+ "context_capacity-alert": "The named status used for the graceful low space handling.",
13
13
  "context_group-size-in-units": "Relative capacity of this group (1 = single, 2 = double, …). Affects VDisk space quota on the PDisk.",
14
14
  "context_slot-size-in-units": "Relative size of this PDisk in the cluster (1 = single, 2 = double, …). Same units as Group Size In Units."
15
15
  }
@@ -5,6 +5,7 @@ import { selectAllHealthcheckInfo, selectCheckStatus, } from '../../store/reduce
5
5
  import { useTypedSelector } from '../../utils/hooks';
6
6
  import { Healthcheck } from '../Tenant/Healthcheck/Healthcheck';
7
7
  import { HealthcheckDrawer } from '../Tenant/Healthcheck/components/HealthcheckDrawer';
8
+ import { getDatabaseHealthcheckAssistantTarget } from '../Tenant/Healthcheck/utils';
8
9
  import i18n from './i18n';
9
10
  export function useClusterHealthcheckQueryParams() {
10
11
  const [{ showHealthcheck, issuesFilter, view, healthcheckIssue, healthcheckLeaf }, setQueryParams,] = useQueryParams({
@@ -104,6 +105,10 @@ export function ClusterDrawerHealthcheck({ children, database, clusterName, }) {
104
105
  const renderDrawerContent = React.useCallback(() => {
105
106
  return (_jsx(Healthcheck, { database: database, clusterName: clusterName, scope: "cluster", targetIssueId: healthcheckIssue !== null && healthcheckIssue !== void 0 ? healthcheckIssue : undefined, targetLeafIssueId: healthcheckLeaf !== null && healthcheckLeaf !== void 0 ? healthcheckLeaf : undefined, targetLeafIssueRef: handleTargetLeafIssueRef }));
106
107
  }, [clusterName, database, handleTargetLeafIssueRef, healthcheckIssue, healthcheckLeaf]);
107
- return (_jsx(HealthcheckDrawer, { isDrawerVisible: Boolean(showHealthcheck) && Boolean(database), onCloseDrawer: handleCloseDrawer, onTransitionInComplete: healthcheckIssue && healthcheckLeaf ? handleTransitionInComplete : undefined, renderDrawerContent: renderDrawerContent, drawerId: "cluster-healthcheck-details", storageKey: "cluster-healthcheck-details-drawer-width", title: i18n('title_healthcheck-dashboard'), status: healthcheckStatus, healthcheckData: healthcheckData, downloadFilePrefix: `${database}-healthcheck`, downloadTooltip: i18n('action_download-healthcheck'), isDownloadDisabled: !healthcheckData, children: children }));
108
+ return (_jsx(HealthcheckDrawer, { target: getDatabaseHealthcheckAssistantTarget({
109
+ database,
110
+ clusterName,
111
+ scope: 'cluster',
112
+ }), isDrawerVisible: Boolean(showHealthcheck) && Boolean(database), onCloseDrawer: handleCloseDrawer, onTransitionInComplete: healthcheckIssue && healthcheckLeaf ? handleTransitionInComplete : undefined, renderDrawerContent: renderDrawerContent, drawerId: "cluster-healthcheck-details", storageKey: "cluster-healthcheck-details-drawer-width", title: i18n('title_healthcheck-dashboard'), status: healthcheckStatus, healthcheckData: healthcheckData, downloadFilePrefix: `${database}-healthcheck`, downloadTooltip: i18n('action_download-healthcheck'), isDownloadDisabled: !healthcheckData, children: children }));
108
113
  }
109
114
  //# sourceMappingURL=ClusterDrawerHealthcheck.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterDrawerHealthcheck.js","sourceRoot":"","sources":["../../../src/containers/Cluster/ClusterDrawerHealthcheck.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClusterDrawerHealthcheck.js","sourceRoot":"","sources":["../../../src/containers/Cluster/ClusterDrawerHealthcheck.tsx"],"names":[],"mappings":"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"}
@@ -21,6 +21,6 @@ export function ClusterDrawerHealthcheck({ clusterName, isVisible, onClose, chil
21
21
  }
22
22
  return _jsx(Healthcheck, { clusterName: clusterName });
23
23
  }, [clusterName]);
24
- return (_jsx(HealthcheckDrawer, { isDrawerVisible: isVisible && Boolean(clusterName), onCloseDrawer: handleCloseDrawer, renderDrawerContent: renderDrawerContent, drawerId: "cluster-healthcheck-details", storageKey: "cluster-healthcheck-details-drawer-width", title: `${tenantI18n('title_healthcheck-dashboard')}${clusterName ? `: ${clusterName}` : ''}`, status: healthcheckStatus, healthcheckData: healthcheckData, downloadFilePrefix: `${clusterName}-cluster-healthcheck`, downloadTooltip: tenantI18n('action_download-healthcheck'), isDownloadDisabled: !healthcheckData, children: children }));
24
+ return (_jsx(HealthcheckDrawer, { target: clusterName ? { scope: 'cluster', request: { clusterName } } : undefined, isDrawerVisible: isVisible && Boolean(clusterName), onCloseDrawer: handleCloseDrawer, renderDrawerContent: renderDrawerContent, drawerId: "cluster-healthcheck-details", storageKey: "cluster-healthcheck-details-drawer-width", title: `${tenantI18n('title_healthcheck-dashboard')}${clusterName ? `: ${clusterName}` : ''}`, status: healthcheckStatus, healthcheckData: healthcheckData, downloadFilePrefix: `${clusterName}-cluster-healthcheck`, downloadTooltip: tenantI18n('action_download-healthcheck'), isDownloadDisabled: !healthcheckData, children: children }));
25
25
  }
26
26
  //# sourceMappingURL=ClusterDrawerHealthcheck.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterDrawerHealthcheck.js","sourceRoot":"","sources":["../../../src/containers/Clusters/ClusterDrawerHealthcheck.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACH,+BAA+B,EAC/B,wBAAwB,GAC3B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oDAAoD,CAAC;AACrF,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AASpE,MAAM,UAAU,wBAAwB,CAAC,EACrC,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,GACoB;IAC5B,MAAM,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEvF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,wBAAwB,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC,CACrD,CAAC;IAEF,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,+BAA+B,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC,CAC5D,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,OAAO,EAAE,CAAC;QACV,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAErE,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CAAC;IACrD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACH,KAAC,iBAAiB,IACd,eAAe,EAAE,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,EAClD,aAAa,EAAE,iBAAiB,EAChC,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAC,6BAA6B,EACtC,UAAU,EAAC,0CAA0C,EACrD,KAAK,EAAE,GAAG,UAAU,CAAC,6BAA6B,CAAC,GAC/C,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,EACvC,EAAE,EACF,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,GAAG,WAAW,sBAAsB,EACxD,eAAe,EAAE,UAAU,CAAC,6BAA6B,CAAC,EAC1D,kBAAkB,EAAE,CAAC,eAAe,YAEnC,QAAQ,GACO,CACvB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"ClusterDrawerHealthcheck.js","sourceRoot":"","sources":["../../../src/containers/Clusters/ClusterDrawerHealthcheck.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACH,+BAA+B,EAC/B,wBAAwB,GAC3B,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,oDAAoD,CAAC;AACrF,OAAO,UAAU,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AASpE,MAAM,UAAU,wBAAwB,CAAC,EACrC,WAAW,EACX,SAAS,EACT,OAAO,EACP,QAAQ,GACoB;IAC5B,MAAM,EAAC,wBAAwB,EAAE,2BAA2B,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEvF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CACjD,wBAAwB,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC,CACrD,CAAC;IAEF,MAAM,eAAe,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,+BAA+B,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC,CAC5D,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC7C,OAAO,EAAE,CAAC;QACV,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACpC,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAErE,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAC,WAAW,IAAC,WAAW,EAAE,WAAW,GAAI,CAAC;IACrD,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,CACH,KAAC,iBAAiB,IACd,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAC,WAAW,EAAC,EAAC,CAAC,CAAC,CAAC,SAAS,EAC5E,eAAe,EAAE,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,EAClD,aAAa,EAAE,iBAAiB,EAChC,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAC,6BAA6B,EACtC,UAAU,EAAC,0CAA0C,EACrD,KAAK,EAAE,GAAG,UAAU,CAAC,6BAA6B,CAAC,GAC/C,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC,CAAC,CAAC,EACvC,EAAE,EACF,MAAM,EAAE,iBAAiB,EACzB,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,GAAG,WAAW,sBAAsB,EACxD,eAAe,EAAE,UAAU,CAAC,6BAA6B,CAAC,EAC1D,kBAAkB,EAAE,CAAC,eAAe,YAEnC,QAAQ,GACO,CACvB,CAAC;AACN,CAAC"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { HeaderBreadcrumbs } from './HeaderBreadcrumbs';
3
3
  import { HeaderLeftControls } from './HeaderLeftControls';
4
4
  import { HeaderRightControls } from './HeaderRightControls';
5
+ import { StorageGroupLeftControls } from './StorageGroupLeftControls';
5
6
  import { b } from './constants';
6
7
  import { useHeaderBreadcrumbs } from './hooks/useHeaderBreadcrumbs';
7
8
  import { useHeaderData } from './hooks/useHeaderData';
@@ -33,7 +34,12 @@ export function Header() {
33
34
  if (!metaCapabilitiesLoaded) {
34
35
  return null;
35
36
  }
36
- const leftControls = database && isDatabasePage && isV2NavigationEnabled ? (_jsx(HeaderLeftControls, { database: database, databaseData: databaseData, isDatabaseDataLoading: isDatabaseDataLoading })) : null;
37
- return (_jsxs("header", { className: b(), children: [_jsx(HeaderBreadcrumbs, { breadcrumbItems: breadcrumbItems, endContent: leftControls }), _jsx(HeaderRightControls, { clusterName: clusterName, database: database, databaseData: databaseData, isDatabasePage: isDatabasePage, isClusterPage: isClusterPage, isHomePage: isHomePage, isClustersHomePage: isClustersHomePage, isDatabaseDataLoading: isDatabaseDataLoading, isAddClusterAvailable: isAddClusterAvailable, isV2NavigationEnabled: isV2NavigationEnabled, isViewerUser: isViewerUser, prepareTenantBackend: prepareTenantBackend, clusterLinks: clusterLinks, databaseLinks: databaseLinks, handleEditCluster: handleEditCluster, handleDeleteCluster: handleDeleteCluster })] }));
37
+ const renderLeftControls = () => {
38
+ if (page === 'storageGroup') {
39
+ return _jsx(StorageGroupLeftControls, {});
40
+ }
41
+ return database && isDatabasePage && isV2NavigationEnabled ? (_jsx(HeaderLeftControls, { database: database, databaseData: databaseData, isDatabaseDataLoading: isDatabaseDataLoading })) : null;
42
+ };
43
+ return (_jsxs("header", { className: b(), children: [_jsx(HeaderBreadcrumbs, { breadcrumbItems: breadcrumbItems, endContent: renderLeftControls() }), _jsx(HeaderRightControls, { clusterName: clusterName, database: database, databaseData: databaseData, isDatabasePage: isDatabasePage, isClusterPage: isClusterPage, isHomePage: isHomePage, isClustersHomePage: isClustersHomePage, isDatabaseDataLoading: isDatabaseDataLoading, isAddClusterAvailable: isAddClusterAvailable, isV2NavigationEnabled: isV2NavigationEnabled, isViewerUser: isViewerUser, prepareTenantBackend: prepareTenantBackend, clusterLinks: clusterLinks, databaseLinks: databaseLinks, handleEditCluster: handleEditCluster, handleDeleteCluster: handleDeleteCluster })] }));
38
44
  }
39
45
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,CAAC,EAAC,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAElE,OAAO,eAAe,CAAC;AAEvB,MAAM,UAAU,MAAM;IAClB,MAAM,EACF,sBAAsB,EACtB,IAAI,EACJ,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,GACrB,GAAG,oBAAoB,EAAE,CAAC;IAE3B,MAAM,EACF,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,oBAAoB,GACvB,GAAG,aAAa,CAAC;QACd,sBAAsB;QACtB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,kBAAkB;KACrB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,oBAAoB,CAAC;QACzC,IAAI;QACJ,sBAAsB;QACtB,iBAAiB;QACjB,YAAY;QACZ,qBAAqB;QACrB,mBAAmB;QACnB,gBAAgB;QAChB,yBAAyB;QACzB,sBAAsB;QACtB,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,YAAY,GACd,QAAQ,IAAI,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAClD,KAAC,kBAAkB,IACf,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC,CAAC,CAAC,IAAI,CAAC;IAEb,OAAO,CACH,kBAAQ,SAAS,EAAE,CAAC,EAAE,aAClB,KAAC,iBAAiB,IAAC,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,GAAI,EAEjF,KAAC,mBAAmB,IAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,GAC1C,IACG,CACZ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/containers/Header/Header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,CAAC,EAAC,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,oBAAoB,EAAC,MAAM,8BAA8B,CAAC;AAElE,OAAO,eAAe,CAAC;AAEvB,MAAM,UAAU,MAAM;IAClB,MAAM,EACF,sBAAsB,EACtB,IAAI,EACJ,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,kBAAkB,GACrB,GAAG,oBAAoB,EAAE,CAAC;IAE3B,MAAM,EACF,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,oBAAoB,GACvB,GAAG,aAAa,CAAC;QACd,sBAAsB;QACtB,QAAQ;QACR,WAAW;QACX,cAAc;QACd,kBAAkB;KACrB,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,oBAAoB,CAAC;QACzC,IAAI;QACJ,sBAAsB;QACtB,iBAAiB;QACjB,YAAY;QACZ,qBAAqB;QACrB,mBAAmB;QACnB,gBAAgB;QAChB,yBAAyB;QACzB,sBAAsB;QACtB,YAAY;QACZ,kBAAkB;QAClB,mBAAmB;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC1B,OAAO,KAAC,wBAAwB,KAAG,CAAC;QACxC,CAAC;QACD,OAAO,QAAQ,IAAI,cAAc,IAAI,qBAAqB,CAAC,CAAC,CAAC,CACzD,KAAC,kBAAkB,IACf,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,qBAAqB,GAC9C,CACL,CAAC,CAAC,CAAC,IAAI,CAAC;IACb,CAAC,CAAC;IAEF,OAAO,CACH,kBAAQ,SAAS,EAAE,CAAC,EAAE,aAClB,KAAC,iBAAiB,IACd,eAAe,EAAE,eAAe,EAChC,UAAU,EAAE,kBAAkB,EAAE,GAClC,EAEF,KAAC,mBAAmB,IAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,qBAAqB,EAAE,qBAAqB,EAC5C,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,mBAAmB,EAAE,mBAAmB,GAC1C,IACG,CACZ,CAAC;AACN,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function StorageGroupLeftControls(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ClipboardButton, Flex } from '@gravity-ui/uikit';
3
+ import { skipToken } from '@reduxjs/toolkit/query';
4
+ import { StringParam, useQueryParams } from 'use-query-params';
5
+ import { storageApi } from '../../store/reducers/storage/storage';
6
+ import { valueIsDefined } from '../../utils';
7
+ import { useDatabaseFromQuery } from '../../utils/hooks/useDatabaseFromQuery';
8
+ import { StorageGroupStateLabel } from '../Storage/StorageGroupStateLabel';
9
+ import { b } from './constants';
10
+ import { headerKeyset } from './i18n';
11
+ export function StorageGroupLeftControls() {
12
+ var _a, _b;
13
+ const [{ groupId }] = useQueryParams({ groupId: StringParam });
14
+ const database = useDatabaseFromQuery();
15
+ const { currentData } = storageApi.endpoints.getStorageGroupsInfo.useQueryState(valueIsDefined(groupId)
16
+ ? { groupId, with: 'all', fieldsRequired: 'all', database }
17
+ : skipToken);
18
+ if (!groupId) {
19
+ return null;
20
+ }
21
+ return (_jsxs(Flex, { alignItems: "center", gap: 2, className: b('left-controls'), children: [_jsx(ClipboardButton, { text: groupId, view: "flat-secondary", size: "s", "aria-label": headerKeyset('action_copy-group-id-from-breadcrumb'), tooltipInitialText: headerKeyset('action_copy-group-id') }), _jsx(StorageGroupStateLabel, { state: (_b = (_a = currentData === null || currentData === void 0 ? void 0 : currentData.groups) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.State, size: "xs" })] }));
22
+ }
23
+ //# sourceMappingURL=StorageGroupLeftControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StorageGroupLeftControls.js","sourceRoot":"","sources":["../../../src/containers/Header/StorageGroupLeftControls.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAE,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAC,UAAU,EAAC,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAC,cAAc,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAC;AAEzE,OAAO,EAAC,CAAC,EAAC,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,QAAQ,CAAC;AAEpC,MAAM,UAAU,wBAAwB;;IACpC,MAAM,CAAC,EAAC,OAAO,EAAC,CAAC,GAAG,cAAc,CAAC,EAAC,OAAO,EAAE,WAAW,EAAC,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,EAAC,WAAW,EAAC,GAAG,UAAU,CAAC,SAAS,CAAC,oBAAoB,CAAC,aAAa,CACzE,cAAc,CAAC,OAAO,CAAC;QACnB,CAAC,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAC;QACzD,CAAC,CAAC,SAAS,CAClB,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,MAAC,IAAI,IAAC,UAAU,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC3D,KAAC,eAAe,IACZ,IAAI,EAAE,OAAO,EACb,IAAI,EAAC,gBAAgB,EACrB,IAAI,EAAC,GAAG,gBACI,YAAY,CAAC,sCAAsC,CAAC,EAChE,kBAAkB,EAAE,YAAY,CAAC,sBAAsB,CAAC,GAC1D,EACF,KAAC,sBAAsB,IAAC,KAAK,EAAE,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,0CAAG,CAAC,CAAC,0CAAE,KAAK,EAAE,IAAI,EAAC,IAAI,GAAG,IACzE,CACV,CAAC;AACN,CAAC"}
@@ -22,5 +22,7 @@
22
22
  "description_developer-ui": "Developer interface with a full set\nof administrative functions",
23
23
  "description_connect-to-db": "Connect to database",
24
24
  "title_monitoring": "Open in {{system}}",
25
- "action_copy-path": "Copy path"
25
+ "action_copy-path": "Copy path",
26
+ "action_copy-group-id": "Copy Storage Group ID",
27
+ "action_copy-group-id-from-breadcrumb": "Copy Storage Group ID from breadcrumb"
26
28
  }
@@ -1 +1 @@
1
- export declare const headerKeyset: (key: "title_monitoring" | "breadcrumbs.clusters" | "breadcrumbs.databases" | "breadcrumbs.tenant" | "breadcrumbs.node" | "breadcrumbs.pDisk" | "breadcrumbs.vDisk" | "breadcrumbs.tablet" | "breadcrumbs.tablets" | "breadcrumbs.storageGroup" | "title_connect" | "title_add-cluster" | "action_edit-db" | "action_delete-db" | "action_edit-cluster" | "action_delete-cluster" | "action_connect-to-db" | "action_go-to-shared-db" | "status_loading-shared-db" | "action_manage" | "title_developer-ui" | "description_developer-ui" | "description_connect-to-db" | "action_copy-path", params?: import("@gravity-ui/i18n").Params) => string;
1
+ export declare const headerKeyset: (key: "title_monitoring" | "breadcrumbs.clusters" | "breadcrumbs.databases" | "breadcrumbs.tenant" | "breadcrumbs.node" | "breadcrumbs.pDisk" | "breadcrumbs.vDisk" | "breadcrumbs.tablet" | "breadcrumbs.tablets" | "breadcrumbs.storageGroup" | "title_connect" | "title_add-cluster" | "action_edit-db" | "action_delete-db" | "action_edit-cluster" | "action_delete-cluster" | "action_connect-to-db" | "action_go-to-shared-db" | "status_loading-shared-db" | "action_manage" | "title_developer-ui" | "description_developer-ui" | "description_connect-to-db" | "action_copy-path" | "action_copy-group-id" | "action_copy-group-id-from-breadcrumb", params?: import("@gravity-ui/i18n").Params) => string;
@@ -18,7 +18,7 @@ export declare const COLUMNS_TITLES: {
18
18
  readonly duration: string;
19
19
  readonly state: string;
20
20
  };
21
- export declare const BASE_COLUMNS: ("status" | "id" | "created_by" | "create_time" | "end_time" | "duration")[];
21
+ export declare const BASE_COLUMNS: ("status" | "id" | "duration" | "created_by" | "create_time" | "end_time")[];
22
22
  export declare const OPERATION_KINDS: {
23
23
  value: OperationKind;
24
24
  content: string;
@@ -4,7 +4,7 @@ import { DiskStateProgressBar } from '../../../components/DiskStateProgressBar/D
4
4
  import { HoverPopup } from '../../../components/HoverPopup/HoverPopup';
5
5
  import { InternalLink } from '../../../components/InternalLink';
6
6
  import { ProgressViewer } from '../../../components/ProgressViewer/ProgressViewer';
7
- import { VDiskInfo } from '../../../components/VDiskInfo/VDiskInfo';
7
+ import { VDiskPopup } from '../../../components/VDiskPopup/VDiskPopup';
8
8
  import { YDBDefinitionList } from '../../../components/YDBDefinitionList/YDBDefinitionList';
9
9
  import { useVDiskPagePath } from '../../../routes';
10
10
  import { valueIsDefined } from '../../../utils';
@@ -51,7 +51,7 @@ export function PDiskSpaceDistribution({ data }) {
51
51
  }, [SlotItems]);
52
52
  const renderSlots = () => {
53
53
  return SlotItems === null || SlotItems === void 0 ? void 0 : SlotItems.map((item, index) => {
54
- return (_jsx(Slot, { item: item, minNonLogTotal: minNonLogTotal, pDiskId: PDiskId, nodeId: NodeId, getVDiskPagePath: getVDiskPagePath }, index));
54
+ return (_jsx(Slot, { item: item, minNonLogTotal: minNonLogTotal, pDiskId: PDiskId, nodeId: NodeId, nodeData: { Host: data.NodeHost, DC: data.NodeDC, Rack: data.NodeRack }, getVDiskPagePath: getVDiskPagePath }, index));
55
55
  });
56
56
  };
57
57
  if (!(SlotItems === null || SlotItems === void 0 ? void 0 : SlotItems.length)) {
@@ -76,7 +76,7 @@ function getSlotHeight(item, minNonLogTotal) {
76
76
  const multiplier = Math.min(totalValue / minNonLogTotal, MAX_SLOT_HEIGHT_MULTIPLIER);
77
77
  return multiplier * BASE_SLOT_HEIGHT;
78
78
  }
79
- function Slot({ item, minNonLogTotal, nodeId, getVDiskPagePath, }) {
79
+ function Slot({ item, minNonLogTotal, nodeId, nodeData, getVDiskPagePath, }) {
80
80
  const renderContent = () => {
81
81
  if (isVDiskSlot(item)) {
82
82
  const vDiskPagePath = getVDiskPagePath === null || getVDiskPagePath === void 0 ? void 0 : getVDiskPagePath({
@@ -85,7 +85,7 @@ function Slot({ item, minNonLogTotal, nodeId, getVDiskPagePath, }) {
85
85
  });
86
86
  const isReplicatingColor = item.Severity === DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue;
87
87
  const isDonor = item.SlotData.DonorMode;
88
- return (_jsx(HoverPopup, { renderPopupContent: () => _jsx(VDiskInfo, { data: item.SlotData, withTitle: true }), contentClassName: b('vdisk-popup'), placement: ['right', 'top'], children: _jsx(InternalLink, { to: vDiskPagePath, children: _jsx(DiskStateProgressBar, { className: b('slot'), tone: getDiskBarTone({
88
+ return (_jsx(HoverPopup, { renderPopupContent: ({ onClose }) => (_jsx(VDiskPopup, { data: item.SlotData, nodeData: nodeData, onClose: onClose, view: "space-distribution" })), contentClassName: b('vdisk-popup'), placement: ['right', 'top'], children: _jsx(InternalLink, { to: vDiskPagePath, children: _jsx(DiskStateProgressBar, { className: b('slot'), tone: getDiskBarTone({
89
89
  severity: item.Severity,
90
90
  isDonor,
91
91
  }), allocation: item.UsagePercent, striped: isReplicatingColor || isDonor, content: _jsx(SlotContent, { id: item.Id, title: item.Title, used: item.Used, total: item.Total }) }) }) }));