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
@@ -3,7 +3,8 @@ import type { ButtonProps, PopoverProps } from '@gravity-ui/uikit';
3
3
  interface ButtonWithConfirmDialogProps<T, K> {
4
4
  children: React.ReactNode;
5
5
  onConfirmAction: (isRetry?: boolean) => Promise<T>;
6
- onConfirmActionSuccess?: (() => Promise<K>) | VoidFunction;
6
+ onConfirmActionSuccess?: ((isDialogOpen: boolean) => Promise<K>) | ((isDialogOpen: boolean) => void);
7
+ onDialogOpen?: () => VoidFunction;
7
8
  dialogHeader: string;
8
9
  dialogText?: string;
9
10
  dialogWarning?: string;
@@ -19,5 +20,5 @@ interface ButtonWithConfirmDialogProps<T, K> {
19
20
  popoverPlacement?: PopoverProps['placement'];
20
21
  popoverDisabled?: PopoverProps['disabled'];
21
22
  }
22
- export declare function ButtonWithConfirmDialog<T, K>({ children, onConfirmAction, onConfirmActionSuccess, dialogHeader, dialogText, dialogWarning, applyButtonText, retryButtonText, buttonDisabled, buttonView, buttonWidth, buttonClassName, withPopover, popoverContent, popoverPlacement, popoverDisabled, applyButtonView, }: ButtonWithConfirmDialogProps<T, K>): import("react/jsx-runtime").JSX.Element;
23
+ export declare function ButtonWithConfirmDialog<T, K>({ children, onConfirmAction, onConfirmActionSuccess, onDialogOpen, dialogHeader, dialogText, dialogWarning, applyButtonText, retryButtonText, buttonDisabled, buttonView, buttonWidth, buttonClassName, withPopover, popoverContent, popoverPlacement, popoverDisabled, applyButtonView, }: ButtonWithConfirmDialogProps<T, K>): import("react/jsx-runtime").JSX.Element;
23
24
  export {};
@@ -3,18 +3,27 @@ import React from 'react';
3
3
  import { Button, Popover } from '@gravity-ui/uikit';
4
4
  import { CriticalActionDialog } from '../CriticalActionDialog/CriticalActionDialog';
5
5
  import { isErrorWithRetry } from '../CriticalActionDialog/utils';
6
- export function ButtonWithConfirmDialog({ children, onConfirmAction, onConfirmActionSuccess, dialogHeader, dialogText, dialogWarning, applyButtonText, retryButtonText, buttonDisabled = false, buttonView = 'action', buttonWidth, buttonClassName, withPopover = false, popoverContent, popoverPlacement = 'right', popoverDisabled = true, applyButtonView, }) {
6
+ export function ButtonWithConfirmDialog({ children, onConfirmAction, onConfirmActionSuccess, onDialogOpen, dialogHeader, dialogText, dialogWarning, applyButtonText, retryButtonText, buttonDisabled = false, buttonView = 'action', buttonWidth, buttonClassName, withPopover = false, popoverContent, popoverPlacement = 'right', popoverDisabled = true, applyButtonView, }) {
7
7
  const [isConfirmDialogVisible, setIsConfirmDialogVisible] = React.useState(false);
8
8
  const [buttonLoading, setButtonLoading] = React.useState(false);
9
9
  const [withRetry, setWithRetry] = React.useState(false);
10
+ const dialogInteraction = React.useRef();
11
+ const releaseDialog = React.useCallback(() => {
12
+ var _a;
13
+ const interaction = dialogInteraction.current;
14
+ dialogInteraction.current = undefined;
15
+ (_a = interaction === null || interaction === void 0 ? void 0 : interaction.release) === null || _a === void 0 ? void 0 : _a.call(interaction);
16
+ }, []);
17
+ React.useEffect(() => releaseDialog, [releaseDialog]);
10
18
  const handleConfirmAction = async (isRetry) => {
11
19
  setButtonLoading(true);
12
20
  await onConfirmAction(isRetry);
13
21
  };
14
22
  const handleConfirmActionSuccess = async () => {
23
+ var _a, _b;
15
24
  setWithRetry(false);
16
25
  try {
17
- await (onConfirmActionSuccess === null || onConfirmActionSuccess === void 0 ? void 0 : onConfirmActionSuccess());
26
+ await (onConfirmActionSuccess === null || onConfirmActionSuccess === void 0 ? void 0 : onConfirmActionSuccess((_b = (_a = dialogInteraction.current) === null || _a === void 0 ? void 0 : _a.open) !== null && _b !== void 0 ? _b : false));
18
27
  }
19
28
  finally {
20
29
  setButtonLoading(false);
@@ -25,7 +34,10 @@ export function ButtonWithConfirmDialog({ children, onConfirmAction, onConfirmAc
25
34
  setButtonLoading(false);
26
35
  };
27
36
  const renderButton = () => {
28
- return (_jsx(Button, { onClick: () => setIsConfirmDialogVisible(true), view: buttonView, width: buttonWidth, disabled: buttonDisabled, loading: !buttonDisabled && buttonLoading, className: buttonClassName, children: children }));
37
+ return (_jsx(Button, { onClick: () => {
38
+ dialogInteraction.current = { open: true, release: onDialogOpen === null || onDialogOpen === void 0 ? void 0 : onDialogOpen() };
39
+ setIsConfirmDialogVisible(true);
40
+ }, view: buttonView, width: buttonWidth, disabled: buttonDisabled, loading: !buttonDisabled && buttonLoading, className: buttonClassName, children: children }));
29
41
  };
30
42
  // keep <span>: if button is disabled, popover won't open without this wrapper
31
43
  const renderContent = () => {
@@ -35,7 +47,10 @@ export function ButtonWithConfirmDialog({ children, onConfirmAction, onConfirmAc
35
47
  return renderButton();
36
48
  };
37
49
  return (_jsxs(React.Fragment, { children: [_jsx(CriticalActionDialog, { visible: isConfirmDialogVisible, header: dialogHeader, description: dialogText, warningText: dialogWarning, applyButtonText: applyButtonText, withRetry: withRetry, retryButtonText: retryButtonText, onConfirm: handleConfirmAction, applyButtonView: applyButtonView, onConfirmActionSuccess: handleConfirmActionSuccess, onConfirmActionError: handleConfirmActionError, onClose: () => {
50
+ if (dialogInteraction.current) {
51
+ dialogInteraction.current.open = false;
52
+ }
38
53
  setIsConfirmDialogVisible(false);
39
- } }), renderContent()] }));
54
+ }, onTransitionOutComplete: releaseDialog }), renderContent()] }));
40
55
  }
41
56
  //# sourceMappingURL=ButtonWithConfirmDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonWithConfirmDialog.js","sourceRoot":"","sources":["../../../src/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ButtonWithConfirmDialog.js","sourceRoot":"","sources":["../../../src/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type React from 'react';
2
+ import './CopyableValue.scss';
3
+ interface CopyableValueProps {
4
+ children: React.ReactNode;
5
+ copyText?: string | null;
6
+ fieldName: string;
7
+ copyButtonLabel?: string;
8
+ }
9
+ export declare function CopyableValue({ children, copyText, fieldName, copyButtonLabel, }: CopyableValueProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ClipboardButton, Flex } from '@gravity-ui/uikit';
3
+ import { cn } from '../../utils/cn';
4
+ import i18n from './i18n';
5
+ import './CopyableValue.scss';
6
+ const b = cn('ydb-copyable-value');
7
+ export function CopyableValue({ children, copyText, fieldName, copyButtonLabel, }) {
8
+ return (_jsxs(Flex, { inline: true, alignItems: "center", className: b({ 'with-copy': Boolean(copyText) }), children: [children, copyText && (_jsx(ClipboardButton, { className: b('button'), text: copyText, size: "s", view: "flat-secondary", "aria-label": copyButtonLabel !== null && copyButtonLabel !== void 0 ? copyButtonLabel : i18n('action_copy-field', { field: fieldName }) }))] }));
9
+ }
10
+ //# sourceMappingURL=CopyableValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyableValue.js","sourceRoot":"","sources":["../../../src/components/CopyableValue/CopyableValue.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,eAAe,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;AASnC,MAAM,UAAU,aAAa,CAAC,EAC1B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,eAAe,GACE;IACjB,OAAO,CACH,MAAC,IAAI,IAAC,MAAM,QAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,EAAC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAC,CAAC,aAC1E,QAAQ,EACR,QAAQ,IAAI,CACT,KAAC,eAAe,IACZ,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAC,GAAG,EACR,IAAI,EAAC,gBAAgB,gBACT,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,CAAC,mBAAmB,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,CAAC,GAC9E,CACL,IACE,CACV,CAAC;AACN,CAAC"}
@@ -0,0 +1,16 @@
1
+ .ydb-copyable-value {
2
+ position: relative;
3
+
4
+ width: fit-content;
5
+ min-width: 0;
6
+ max-width: 100%;
7
+
8
+ &_with-copy {
9
+ padding-inline-end: var(--g-spacing-7);
10
+ }
11
+
12
+ &__button {
13
+ position: absolute;
14
+ inset-inline-end: 0;
15
+ }
16
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "action_copy-field": "Copy {{field}}"
3
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: (key: "action_copy-field", params?: import("@gravity-ui/i18n").Params) => string;
2
+ export default _default;
@@ -0,0 +1,6 @@
1
+ import { registerKeysets } from '../../../utils/i18n';
2
+ import en from './en.json';
3
+ // Shared copy controls for values in entity headers and detail lists.
4
+ const COMPONENT = 'ydb-copyable-value';
5
+ export default registerKeysets(COMPONENT, { en });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/CopyableValue/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,sEAAsE;AACtE,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -12,9 +12,10 @@ interface CriticalActionDialogProps<T> {
12
12
  applyButtonView?: ButtonView;
13
13
  withCheckBox?: boolean;
14
14
  onClose: VoidFunction;
15
+ onTransitionOutComplete?: VoidFunction;
15
16
  onConfirm: (isRetry?: boolean) => Promise<T>;
16
17
  onConfirmActionSuccess: VoidFunction;
17
18
  onConfirmActionError: (error: unknown) => void;
18
19
  }
19
- export declare function CriticalActionDialog<T>({ visible, header, description, warningText, withRetry, retryButtonText, applyButtonText, applyButtonView, withCheckBox, onClose, onConfirm, onConfirmActionSuccess, onConfirmActionError, }: CriticalActionDialogProps<T>): import("react/jsx-runtime").JSX.Element;
20
+ export declare function CriticalActionDialog<T>({ visible, header, description, warningText, withRetry, retryButtonText, applyButtonText, applyButtonView, withCheckBox, onClose, onTransitionOutComplete, onConfirm, onConfirmActionSuccess, onConfirmActionError, }: CriticalActionDialogProps<T>): import("react/jsx-runtime").JSX.Element;
20
21
  export {};
@@ -25,7 +25,7 @@ const parseError = (error) => {
25
25
  }
26
26
  return criticalActionDialogKeyset('default-error');
27
27
  };
28
- export function CriticalActionDialog({ visible, header, description, warningText, withRetry, retryButtonText, applyButtonText = criticalActionDialogKeyset('button-confirm'), applyButtonView, withCheckBox, onClose, onConfirm, onConfirmActionSuccess, onConfirmActionError, }) {
28
+ export function CriticalActionDialog({ visible, header, description, warningText, withRetry, retryButtonText, applyButtonText = criticalActionDialogKeyset('button-confirm'), applyButtonView, withCheckBox, onClose, onTransitionOutComplete, onConfirm, onConfirmActionSuccess, onConfirmActionError, }) {
29
29
  const [isLoading, setIsLoading] = React.useState(false);
30
30
  const [error, setError] = React.useState();
31
31
  const [checkBoxChecked, setCheckBoxChecked] = React.useState(false);
@@ -47,6 +47,7 @@ export function CriticalActionDialog({ visible, header, description, warningText
47
47
  const handleTransitionExited = () => {
48
48
  setError(undefined);
49
49
  setCheckBoxChecked(false);
50
+ onTransitionOutComplete === null || onTransitionOutComplete === void 0 ? void 0 : onTransitionOutComplete();
50
51
  };
51
52
  const renderCheckBox = () => {
52
53
  if (withCheckBox) {
@@ -1 +1 @@
1
- {"version":3,"file":"CriticalActionDialog.js","sourceRoot":"","sources":["../../../src/components/CriticalActionDialog/CriticalActionDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAGtE,OAAO,EAAC,YAAY,EAAC,MAAM,6CAA6C,CAAC;AAEzE,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,eAAe,EAAE,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAEhF,OAAO,EAAC,0BAA0B,EAAC,MAAM,QAAQ,CAAC;AAElD,OAAO,6BAA6B,CAAC;AAErC,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,EAAE;IAClC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACvB,OAAO,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,yBAAyB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACjD,OAAO,KAAC,YAAY,IAAC,YAAY,QAAC,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;QAC3D,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC,UAAU,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,OAAO,0BAA0B,CAAC,eAAe,CAAC,CAAC;AACvD,CAAC,CAAC;AAkBF,MAAM,UAAU,oBAAoB,CAAI,EACpC,OAAO,EACP,MAAM,EACN,WAAW,EACX,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,GAAG,0BAA0B,CAAC,gBAAgB,CAAC,EAC9D,eAAe,EACf,YAAY,EACZ,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,oBAAoB,GACO;IAC3B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAkB,CAAC;IAC3D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE7E,MAAM,OAAO,GAAG,KAAK,EAAE,OAAiB,EAAE,EAAE;QACxC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,OAAO,SAAS,CAAC,OAAO,CAAC;aACpB,IAAI,CAAC,GAAG,EAAE;YACP,sBAAsB,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,oBAAoB,CAAC,GAAG,CAAC,CAAC;YAC1B,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE;QAChC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,CACH,KAAC,QAAQ,IAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,kBAAkB,YAC3D,0BAA0B,CAAC,eAAe,CAAC,GACrC,CACd,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;QAC5C,IAAI,sBAAsB,GAAuB,eAAe,CAAC;QAEjE,IAAI,KAAK,EAAE,CAAC;YACR,sBAAsB,GAAG,OAAO;gBAC5B,CAAC,CAAC,eAAe,IAAI,0BAA0B,CAAC,cAAc,CAAC;gBAC/D,CAAC,CAAC,SAAS,CAAC;QACpB,CAAC;QAED,OAAO,CACH,MAAC,KAAK,CAAC,QAAQ,eACX,KAAC,MAAM,CAAC,MAAM,IAAC,OAAO,EAAE,MAAM,GAAI,EAElC,KAAC,MAAM,CAAC,IAAI,cACR,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC1B,WAAW,IAAI,KAAC,IAAI,IAAC,EAAE,EAAC,KAAK,YAAE,WAAW,GAAQ,EAClD,WAAW,IAAI,KAAC,KAAK,IAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAE,WAAW,GAAI,EAC9D,KAAK,IAAI,KAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,GAAI,EAC7D,cAAc,EAAE,IACd,GACG,EAEd,KAAC,MAAM,CAAC,MAAM,IACV,OAAO,EAAE,SAAS,EAClB,MAAM,EAAC,SAAS,EAChB,eAAe,EAAE,sBAAsB,EACvC,gBAAgB,EAAE,0BAA0B,CAAC,eAAe,CAAC,EAC7D,gBAAgB,EAAE;wBACd,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,YAAY,IAAI,CAAC,eAAe;wBAC1C,IAAI,EAAE,eAAe;wBACrB,SAAS,EAAE,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS;qBAC3E,EACD,mBAAmB,EAAE,OAAO,EAC5B,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAC/D,IACW,CACpB,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,MAAM,IACH,IAAI,EAAE,OAAO,EACb,cAAc,QACd,SAAS,EAAE,CAAC,EAAE,EACd,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,uBAAuB,EAAE,sBAAsB,YAE9C,mBAAmB,EAAE,GACjB,CACZ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"CriticalActionDialog.js","sourceRoot":"","sources":["../../../src/components/CriticalActionDialog/CriticalActionDialog.tsx"],"names":[],"mappings":"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"}
@@ -1,21 +1,10 @@
1
- import React from 'react';
2
1
  import type { PreparedStorageGroup } from '../../store/reducers/storage/types';
2
+ import type { DiskDetailItem } from '../../utils/disks/diskInfo/getDiskLocationItems';
3
3
  import type { PreparedPDisk, PreparedVDisk } from '../../utils/disks/types';
4
- import type { InfoViewerItem } from '../InfoViewer';
5
- import type { YDBDefinitionListItem } from '../YDBDefinitionList/YDBDefinitionList';
6
- export interface DiskCapacityInfoItem {
7
- id: string;
8
- title: string;
9
- value: React.ReactNode;
10
- note?: string;
11
- }
12
- export declare function getVDiskCapacityInfoItems(data: PreparedVDisk | undefined, { withRawUsage }: {
13
- withRawUsage: boolean;
14
- }): DiskCapacityInfoItem[];
15
- export declare function getPDiskCapacityInfoItems(data: PreparedPDisk | undefined, { withUsage, withCapacityAlert }: {
16
- withUsage: boolean;
17
- withCapacityAlert: boolean;
18
- }): DiskCapacityInfoItem[];
19
- export declare function getStorageGroupCapacityInfoItems(data: PreparedStorageGroup | undefined): DiskCapacityInfoItem[];
20
- export declare function toDefinitionListItems(items: DiskCapacityInfoItem[]): YDBDefinitionListItem[];
21
- export declare function toInfoViewerItems(items: DiskCapacityInfoItem[]): InfoViewerItem[];
4
+ export declare function getVDiskCapacityItems(data: PreparedVDisk, { capacityMetricsEnabled }: {
5
+ capacityMetricsEnabled: boolean;
6
+ }): DiskDetailItem[];
7
+ export declare function getPDiskCapacityItems(data: PreparedPDisk, { useWhiteboardSize }?: {
8
+ useWhiteboardSize?: boolean;
9
+ }): DiskDetailItem[];
10
+ export declare function getStorageGroupCapacityInfoItems(data: PreparedStorageGroup | undefined): DiskDetailItem[];
@@ -1,129 +1,105 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Label } from '@gravity-ui/uikit';
3
- import { isCapacityAlert } from '../../types/api/enums';
4
- import { getCapacityAlertTheme, normalizeCapacityAlert } from '../../utils/capacityAlerts';
2
+ import { normalizeCapacityAlert } from '../../utils/capacityAlerts';
5
3
  import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
6
4
  import { formatMetricCountPair, formatMetricPercent, formatNormalizedMetricPercent, formatStorageMetricPair, } from '../../utils/storageMetrics';
7
- import { TitleWithHelpMark } from '../TitleWithHelpmark/TitleWithHelpmark';
5
+ import { DiskCapacityAlertLabel } from '../DiskStatus/DiskStatus';
6
+ import { pDiskInfoKeyset } from '../PDiskInfo/i18n';
7
+ import { vDiskInfoKeyset } from '../VDiskInfo/i18n';
8
8
  import { CAPACITY_CONFIGURATION_HELP_TEXT, CAPACITY_METRICS_COLUMN_TITLES, CAPACITY_METRICS_HELP_TEXT, } from '../capacityMetricsColumns/constants';
9
9
  import { formatCapacityUnitCount } from '../capacityMetricsColumns/formatters';
10
10
  import i18n from './i18n';
11
- function getCapacityAlertValue(value) {
12
- var _a;
13
- return (_a = normalizeCapacityAlert(value)) !== null && _a !== void 0 ? _a : EMPTY_DATA_PLACEHOLDER;
14
- }
15
- function getAlertAwareUsageValue(value, capacityAlertValue) {
16
- if (value === EMPTY_DATA_PLACEHOLDER) {
17
- return value;
18
- }
19
- const capacityAlert = normalizeCapacityAlert(capacityAlertValue);
20
- const theme = isCapacityAlert(capacityAlert) ? getCapacityAlertTheme(capacityAlert) : 'normal';
21
- return _jsx(Label, { theme: theme, children: value });
22
- }
23
- export function getVDiskCapacityInfoItems(data, { withRawUsage }) {
24
- var _a;
25
- const sizeData = (_a = data === null || data === void 0 ? void 0 : data.WhiteboardSize) !== null && _a !== void 0 ? _a : data;
11
+ export function getVDiskCapacityItems(data, { capacityMetricsEnabled }) {
12
+ var _a, _b;
13
+ const size = (_b = (_a = (capacityMetricsEnabled ? data.WhiteboardSize : undefined)) !== null && _a !== void 0 ? _a : data.DisplaySize) !== null && _b !== void 0 ? _b : data;
26
14
  const items = [
15
+ {
16
+ id: 'group-size-in-units',
17
+ name: vDiskInfoKeyset('field_group-size-in-units'),
18
+ content: formatCapacityUnitCount(data.GroupSizeInUnits),
19
+ note: CAPACITY_CONFIGURATION_HELP_TEXT.GroupSizeInUnits,
20
+ },
27
21
  {
28
22
  id: 'size',
29
- title: i18n('field_size'),
30
- value: formatStorageMetricPair(sizeData === null || sizeData === void 0 ? void 0 : sizeData.AllocatedSize, sizeData === null || sizeData === void 0 ? void 0 : sizeData.SizeLimit),
23
+ name: vDiskInfoKeyset('size'),
24
+ content: formatStorageMetricPair(size.AllocatedSize, size.SizeLimit, 2),
25
+ },
26
+ {
27
+ id: 'capacity-alert',
28
+ name: vDiskInfoKeyset('field_capacity-alert'),
29
+ content: _jsx(DiskCapacityAlertLabel, { value: data.CapacityAlert }),
30
+ note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
31
31
  },
32
32
  {
33
33
  id: 'vdisk-slot-usage',
34
- title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskSlotUsage,
35
- value: getAlertAwareUsageValue(formatMetricPercent(data === null || data === void 0 ? void 0 : data.VDiskSlotUsage), data === null || data === void 0 ? void 0 : data.CapacityAlert),
34
+ name: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskSlotUsage,
35
+ content: formatMetricPercent(data.VDiskSlotUsage, 2),
36
36
  note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskSlotUsage,
37
37
  },
38
- ];
39
- if (withRawUsage) {
40
- items.push({
38
+ {
41
39
  id: 'vdisk-raw-usage',
42
- title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskRawUsage,
43
- value: formatMetricPercent(data === null || data === void 0 ? void 0 : data.VDiskRawUsage),
40
+ name: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskRawUsage,
41
+ content: formatMetricPercent(data.VDiskRawUsage, 2),
44
42
  note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskRawUsage,
45
- });
46
- }
47
- items.push({
48
- id: 'group-size-in-units',
49
- title: i18n('field_group-size-in-units'),
50
- value: formatCapacityUnitCount(data === null || data === void 0 ? void 0 : data.GroupSizeInUnits),
51
- note: CAPACITY_CONFIGURATION_HELP_TEXT.GroupSizeInUnits,
52
- }, {
53
- id: 'capacity-alert',
54
- title: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
55
- value: getCapacityAlertValue(data === null || data === void 0 ? void 0 : data.CapacityAlert),
56
- note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
57
- });
58
- return items;
43
+ },
44
+ ];
45
+ return items.filter(({ id }) => capacityMetricsEnabled || id === 'size');
59
46
  }
60
- export function getPDiskCapacityInfoItems(data, { withUsage, withCapacityAlert }) {
47
+ export function getPDiskCapacityItems(data, { useWhiteboardSize = true } = {}) {
61
48
  var _a;
62
- const sizeData = (_a = data === null || data === void 0 ? void 0 : data.WhiteboardSize) !== null && _a !== void 0 ? _a : data;
63
- const items = [
49
+ const size = useWhiteboardSize ? ((_a = data.WhiteboardSize) !== null && _a !== void 0 ? _a : data) : data;
50
+ return [
51
+ {
52
+ id: 'slot-size-in-units',
53
+ name: i18n('field_slot-size-in-units'),
54
+ content: formatCapacityUnitCount(data.SlotSizeInUnits),
55
+ note: CAPACITY_CONFIGURATION_HELP_TEXT.SlotSizeInUnits,
56
+ },
64
57
  {
65
58
  id: 'space',
66
- title: i18n('field_space'),
67
- value: formatStorageMetricPair(sizeData === null || sizeData === void 0 ? void 0 : sizeData.AllocatedSize, sizeData === null || sizeData === void 0 ? void 0 : sizeData.TotalSize),
59
+ name: i18n('field_space'),
60
+ content: formatStorageMetricPair(size.AllocatedSize, size.TotalSize, 2),
68
61
  },
69
- ];
70
- if (withUsage) {
71
- items.push({
72
- id: 'pdisk-usage',
73
- title: CAPACITY_METRICS_COLUMN_TITLES.MaxPDiskUsage,
74
- value: formatMetricPercent(data === null || data === void 0 ? void 0 : data.PDiskUsage),
75
- note: CAPACITY_METRICS_HELP_TEXT.MaxPDiskUsage,
76
- });
77
- }
78
- items.push({
79
- id: 'slots',
80
- title: i18n('field_slots'),
81
- value: formatMetricCountPair(data === null || data === void 0 ? void 0 : data.NumActiveSlots, data === null || data === void 0 ? void 0 : data.ExpectedSlotCount),
82
- }, {
83
- id: 'slot-size-in-units',
84
- title: i18n('field_slot-size-in-units'),
85
- value: formatCapacityUnitCount(data === null || data === void 0 ? void 0 : data.SlotSizeInUnits),
86
- note: CAPACITY_CONFIGURATION_HELP_TEXT.SlotSizeInUnits,
87
- });
88
- if (withCapacityAlert) {
89
- items.push({
62
+ {
90
63
  id: 'capacity-alert',
91
- title: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
92
- value: getCapacityAlertValue(data === null || data === void 0 ? void 0 : data.PDiskCapacityAlert),
64
+ name: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
65
+ content: _jsx(DiskCapacityAlertLabel, { value: data.PDiskCapacityAlert }),
93
66
  note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
94
- });
95
- }
96
- return items;
67
+ },
68
+ {
69
+ id: 'pdisk-usage',
70
+ name: CAPACITY_METRICS_COLUMN_TITLES.MaxPDiskUsage,
71
+ content: formatMetricPercent(data.PDiskUsage, 2),
72
+ note: CAPACITY_METRICS_HELP_TEXT.MaxPDiskUsage,
73
+ },
74
+ {
75
+ id: 'slots',
76
+ name: i18n('field_slots'),
77
+ content: formatMetricCountPair(data.NumActiveSlots, data.ExpectedSlotCount),
78
+ note: pDiskInfoKeyset('context_slots'),
79
+ },
80
+ ];
97
81
  }
98
82
  export function getStorageGroupCapacityInfoItems(data) {
83
+ const capacityAlert = normalizeCapacityAlert(data === null || data === void 0 ? void 0 : data.CapacityAlert);
99
84
  return [
85
+ {
86
+ id: 'capacity-alert',
87
+ name: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
88
+ content: capacityAlert ? (_jsx(DiskCapacityAlertLabel, { value: capacityAlert })) : (EMPTY_DATA_PLACEHOLDER),
89
+ note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
90
+ },
100
91
  {
101
92
  id: 'vdisk-slot-usage',
102
- title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskSlotUsage,
103
- value: getAlertAwareUsageValue(formatNormalizedMetricPercent(data === null || data === void 0 ? void 0 : data.MaxVDiskSlotUsage), data === null || data === void 0 ? void 0 : data.CapacityAlert),
93
+ name: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskSlotUsage,
94
+ content: formatNormalizedMetricPercent(data === null || data === void 0 ? void 0 : data.MaxVDiskSlotUsage),
104
95
  note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskSlotUsage,
105
96
  },
106
97
  {
107
98
  id: 'vdisk-raw-usage',
108
- title: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskRawUsage,
109
- value: formatNormalizedMetricPercent(data === null || data === void 0 ? void 0 : data.MaxVDiskRawUsage),
99
+ name: CAPACITY_METRICS_COLUMN_TITLES.MaxVDiskRawUsage,
100
+ content: formatNormalizedMetricPercent(data === null || data === void 0 ? void 0 : data.MaxVDiskRawUsage),
110
101
  note: CAPACITY_METRICS_HELP_TEXT.MaxVDiskRawUsage,
111
102
  },
112
- {
113
- id: 'capacity-alert',
114
- title: CAPACITY_METRICS_COLUMN_TITLES.CapacityAlert,
115
- value: getCapacityAlertValue(data === null || data === void 0 ? void 0 : data.CapacityAlert),
116
- note: CAPACITY_METRICS_HELP_TEXT.CapacityAlert,
117
- },
118
103
  ];
119
104
  }
120
- export function toDefinitionListItems(items) {
121
- return items.map(({ title, value, note }) => ({ name: title, content: value, note }));
122
- }
123
- export function toInfoViewerItems(items) {
124
- return items.map(({ title, value, note }) => ({
125
- label: note ? _jsx(TitleWithHelpMark, { header: title, note: note }) : title,
126
- value,
127
- }));
128
- }
129
105
  //# sourceMappingURL=DiskCapacityInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiskCapacityInfo.js","sourceRoot":"","sources":["../../../src/components/DiskCapacityInfo/DiskCapacityInfo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DiskCapacityInfo.js","sourceRoot":"","sources":["../../../src/components/DiskCapacityInfo/DiskCapacityInfo.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  {
2
- "field_size": "Size",
3
2
  "field_space": "Space",
4
3
  "field_slots": "Slots",
5
4
  "field_group-size-in-units": "Group Size In Units",
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "field_size" | "field_space" | "field_slots" | "field_group-size-in-units" | "field_slot-size-in-units", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "field_group-size-in-units" | "field_space" | "field_slots" | "field_slot-size-in-units", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import type { DiskDetailItem } from '../../utils/disks/diskInfo/getDiskLocationItems';
3
+ import './DiskPopup.scss';
4
+ export declare function DiskPopup({ children, combined, className, }: {
5
+ children: React.ReactNode;
6
+ combined?: boolean;
7
+ className?: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare function DiskPopupPanel({ children, footer, }: {
10
+ children: React.ReactNode;
11
+ footer?: React.ReactNode;
12
+ }): import("react/jsx-runtime").JSX.Element;
13
+ export declare function DiskPopupHeader({ title, id, type, statuses, }: {
14
+ title: string;
15
+ id?: string;
16
+ type?: string;
17
+ statuses: React.ReactNode;
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ export declare function DiskPopupText({ value, withLeftTrim, }: {
20
+ value?: string | number;
21
+ withLeftTrim?: boolean;
22
+ }): import("react/jsx-runtime").JSX.Element;
23
+ export declare function DiskPopupLocation({ items }: {
24
+ items: DiskDetailItem[];
25
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,44 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ClipboardButton, Flex, Text, Tooltip } from '@gravity-ui/uikit';
4
+ import { isNil } from 'lodash';
5
+ import { cn } from '../../utils/cn';
6
+ import { EMPTY_DATA_PLACEHOLDER } from '../../utils/constants';
7
+ import { DiskTypeLabel } from '../DiskStatus/DiskStatus';
8
+ import { YDBDefinitionList } from '../YDBDefinitionList/YDBDefinitionList';
9
+ import i18n from './i18n';
10
+ import './DiskPopup.scss';
11
+ const b = cn('ydb-disk-popup');
12
+ export function DiskPopup({ children, combined = false, className, }) {
13
+ return _jsx("div", { className: b({ combined }, className), children: children });
14
+ }
15
+ export function DiskPopupPanel({ children, footer, }) {
16
+ return (_jsxs("div", { className: b('panel'), children: [_jsx("div", { className: b('body'), children: children }), footer && _jsx("div", { className: b('footer'), children: footer })] }));
17
+ }
18
+ export function DiskPopupHeader({ title, id, type, statuses, }) {
19
+ return (_jsxs(React.Fragment, { children: [_jsxs(Flex, { gap: 1, alignItems: "center", wrap: "wrap", children: [_jsx(Text, { variant: "subheader-2", children: title }), _jsx(Text, { color: "secondary", children: "\u2022" }), _jsx(Text, { variant: "body-2", color: "secondary", className: b('id'), children: id || EMPTY_DATA_PLACEHOLDER }), id && (_jsx(ClipboardButton, { text: id, size: "s", view: "flat-secondary", "aria-label": i18n('action_copy-field', { field: title }) })), _jsx(DiskTypeLabel, { type: type, size: "xs" })] }), _jsx(Flex, { gap: 1, wrap: "wrap", alignItems: "center", children: statuses })] }));
20
+ }
21
+ export function DiskPopupText({ value, withLeftTrim = false, }) {
22
+ const hasValue = !isNil(value) && value !== '';
23
+ const text = hasValue ? value : EMPTY_DATA_PLACEHOLDER;
24
+ return (_jsx(Tooltip, { content: text, disabled: !hasValue, className: b('text-tooltip'), children: _jsx("span", { className: b('text', { 'with-left-trim': withLeftTrim }), tabIndex: hasValue ? 0 : undefined, children: withLeftTrim ? _jsx("span", { children: text }) : text }) }));
25
+ }
26
+ export function DiskPopupLocation({ items }) {
27
+ if (!items.length) {
28
+ return null;
29
+ }
30
+ const locationItems = items.map((item) => {
31
+ if (['fqdn', 'rack', 'datacenter'].includes(item.id)) {
32
+ return { ...item, content: _jsx(DiskPopupText, { value: item.copyText }) };
33
+ }
34
+ if (item.id === 'pdisk-path' && typeof item.copyText === 'string') {
35
+ return {
36
+ ...item,
37
+ content: _jsx(DiskPopupText, { value: item.copyText, withLeftTrim: true }),
38
+ };
39
+ }
40
+ return item;
41
+ });
42
+ return (_jsx("div", { className: b('location'), children: _jsx(YDBDefinitionList, { items: locationItems, nameMaxWidth: 100 }) }));
43
+ }
44
+ //# sourceMappingURL=DiskPopup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiskPopup.js","sourceRoot":"","sources":["../../../src/components/DiskPopup/DiskPopup.tsx"],"names":[],"mappings":"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"}