ydb-embedded-ui 22.0.0 → 22.2.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 (520) hide show
  1. package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.d.ts +2 -1
  2. package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.js +5 -2
  3. package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.js.map +1 -1
  4. package/dist/components/DiskStateProgressBar/AllModeIndicators.d.ts +2 -1
  5. package/dist/components/DiskStateProgressBar/AllModeIndicators.js +7 -2
  6. package/dist/components/DiskStateProgressBar/AllModeIndicators.js.map +1 -1
  7. package/dist/components/DiskStateProgressBar/DiskIndicator.d.ts +7 -2
  8. package/dist/components/DiskStateProgressBar/DiskIndicator.js +10 -6
  9. package/dist/components/DiskStateProgressBar/DiskIndicator.js.map +1 -1
  10. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +1 -1
  11. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  12. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +96 -46
  13. package/dist/components/DiskStateProgressBar/PDiskAllModeIndicators.js +9 -1
  14. package/dist/components/DiskStateProgressBar/PDiskAllModeIndicators.js.map +1 -1
  15. package/dist/components/EvictVDiskButton/EvictVDiskButton.js +7 -3
  16. package/dist/components/EvictVDiskButton/EvictVDiskButton.js.map +1 -1
  17. package/dist/components/FullNodeViewer/FullNodeViewer.js +40 -17
  18. package/dist/components/FullNodeViewer/FullNodeViewer.js.map +1 -1
  19. package/dist/components/FullNodeViewer/FullNodeViewer.scss +3 -3
  20. package/dist/components/FullNodeViewer/i18n/en.json +2 -1
  21. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  22. package/dist/components/HoverPopup/HoverPopup.js +9 -2
  23. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  24. package/dist/components/InfoViewer/InfoViewer.js +1 -1
  25. package/dist/components/InfoViewer/InfoViewer.js.map +1 -1
  26. package/dist/components/InfoViewer/formatters/pqGroup.js +6 -1
  27. package/dist/components/InfoViewer/formatters/pqGroup.js.map +1 -1
  28. package/dist/components/InfoViewer/schemaInfo/i18n/en.json +1 -0
  29. package/dist/components/InfoViewer/schemaInfo/i18n/index.d.ts +1 -1
  30. package/dist/components/InfoViewer/schemaInfo/utils.js +6 -1
  31. package/dist/components/InfoViewer/schemaInfo/utils.js.map +1 -1
  32. package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +4 -1
  33. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +13 -9
  34. package/dist/components/NodeHostWrapper/NodeHostWrapper.js.map +1 -1
  35. package/dist/components/PDiskInfo/PDiskInfo.js +2 -1
  36. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  37. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  38. package/dist/components/PDiskPopup/PDiskPopup.js +5 -1
  39. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  40. package/dist/components/PaginatedTable/KeyboardNavigation.d.ts +9 -0
  41. package/dist/components/PaginatedTable/KeyboardNavigation.js +14 -0
  42. package/dist/components/PaginatedTable/KeyboardNavigation.js.map +1 -0
  43. package/dist/components/PaginatedTable/PaginatedTable.d.ts +4 -1
  44. package/dist/components/PaginatedTable/PaginatedTable.js +103 -18
  45. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  46. package/dist/components/PaginatedTable/PaginatedTable.scss +10 -0
  47. package/dist/components/PaginatedTable/PaginatedTableContext.d.ts +2 -3
  48. package/dist/components/PaginatedTable/PaginatedTableContext.js +10 -11
  49. package/dist/components/PaginatedTable/PaginatedTableContext.js.map +1 -1
  50. package/dist/components/PaginatedTable/PaginatedTableWithLayout.d.ts +2 -1
  51. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js +2 -2
  52. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js.map +1 -1
  53. package/dist/components/PaginatedTable/ResizeablePaginatedTable.js +2 -1
  54. package/dist/components/PaginatedTable/ResizeablePaginatedTable.js.map +1 -1
  55. package/dist/components/PaginatedTable/TableChunk.d.ts +1 -1
  56. package/dist/components/PaginatedTable/TableChunk.js +8 -11
  57. package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
  58. package/dist/components/PaginatedTable/TableChunksRenderer.d.ts +3 -2
  59. package/dist/components/PaginatedTable/TableChunksRenderer.js +6 -1
  60. package/dist/components/PaginatedTable/TableChunksRenderer.js.map +1 -1
  61. package/dist/components/PaginatedTable/TableRow.d.ts +3 -1
  62. package/dist/components/PaginatedTable/TableRow.js +24 -8
  63. package/dist/components/PaginatedTable/TableRow.js.map +1 -1
  64. package/dist/components/PaginatedTable/getTableChunkQueryParams.d.ts +23 -0
  65. package/dist/components/PaginatedTable/getTableChunkQueryParams.js +12 -0
  66. package/dist/components/PaginatedTable/getTableChunkQueryParams.js.map +1 -0
  67. package/dist/components/PaginatedTable/rowLookup.d.ts +8 -0
  68. package/dist/components/PaginatedTable/rowLookup.js +35 -0
  69. package/dist/components/PaginatedTable/rowLookup.js.map +1 -0
  70. package/dist/components/PaginatedTable/tableCounts.d.ts +19 -0
  71. package/dist/components/PaginatedTable/tableCounts.js +30 -0
  72. package/dist/components/PaginatedTable/tableCounts.js.map +1 -0
  73. package/dist/components/PaginatedTable/useKeyboardNavigation.d.ts +27 -0
  74. package/dist/components/PaginatedTable/useKeyboardNavigation.js +70 -0
  75. package/dist/components/PaginatedTable/useKeyboardNavigation.js.map +1 -0
  76. package/dist/components/ResizeableDataTable/DataTableKeyboardNavigation.d.ts +24 -0
  77. package/dist/components/ResizeableDataTable/DataTableKeyboardNavigation.js +144 -0
  78. package/dist/components/ResizeableDataTable/DataTableKeyboardNavigation.js.map +1 -0
  79. package/dist/components/ResizeableDataTable/ResizeableDataTable.d.ts +4 -1
  80. package/dist/components/ResizeableDataTable/ResizeableDataTable.js +28 -4
  81. package/dist/components/ResizeableDataTable/ResizeableDataTable.js.map +1 -1
  82. package/dist/components/ResizeableDataTable/ResizeableDataTable.scss +10 -0
  83. package/dist/components/ResizeableDataTable/getDataTableOrder.d.ts +2 -0
  84. package/dist/components/ResizeableDataTable/getDataTableOrder.js +12 -0
  85. package/dist/components/ResizeableDataTable/getDataTableOrder.js.map +1 -0
  86. package/dist/components/Search/Search.d.ts +2 -1
  87. package/dist/components/Search/Search.js +6 -2
  88. package/dist/components/Search/Search.js.map +1 -1
  89. package/dist/components/ShardsTable/columns.js +6 -3
  90. package/dist/components/ShardsTable/columns.js.map +1 -1
  91. package/dist/components/ShardsTable/i18n/en.json +1 -0
  92. package/dist/components/ShardsTable/i18n/index.d.ts +1 -1
  93. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.d.ts +54 -0
  94. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.js +389 -0
  95. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.js.map +1 -0
  96. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.scss +16 -0
  97. package/dist/components/TableKeyboardNavigation/i18n/en.json +4 -0
  98. package/dist/components/TableKeyboardNavigation/i18n/index.d.ts +2 -0
  99. package/dist/components/TableKeyboardNavigation/i18n/index.js +4 -0
  100. package/dist/components/TableKeyboardNavigation/i18n/index.js.map +1 -0
  101. package/dist/components/TableKeyboardNavigation/utils.d.ts +3 -0
  102. package/dist/components/TableKeyboardNavigation/utils.js +24 -0
  103. package/dist/components/TableKeyboardNavigation/utils.js.map +1 -0
  104. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.d.ts +4 -1
  105. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js +4 -2
  106. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js.map +1 -1
  107. package/dist/components/TenantNameWrapper/TenantNameWrapper.d.ts +3 -1
  108. package/dist/components/TenantNameWrapper/TenantNameWrapper.js +8 -12
  109. package/dist/components/TenantNameWrapper/TenantNameWrapper.js.map +1 -1
  110. package/dist/components/TenantNameWrapper/utils.d.ts +10 -0
  111. package/dist/components/TenantNameWrapper/utils.js +11 -0
  112. package/dist/components/TenantNameWrapper/utils.js.map +1 -1
  113. package/dist/components/UptimeViewer/UptimeViewer.d.ts +2 -2
  114. package/dist/components/VDisk/VDisk.d.ts +6 -1
  115. package/dist/components/VDisk/VDisk.js +97 -32
  116. package/dist/components/VDisk/VDisk.js.map +1 -1
  117. package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +6 -2
  118. package/dist/components/VDisk/VDiskWithDonorsStack.js +9 -4
  119. package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
  120. package/dist/components/VDisk/i18n/en.json +14 -1
  121. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  122. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  123. package/dist/components/nodesColumns/columns.d.ts +4 -1
  124. package/dist/components/nodesColumns/columns.js +13 -0
  125. package/dist/components/nodesColumns/columns.js.map +1 -1
  126. package/dist/components/nodesColumns/constants.d.ts +2 -0
  127. package/dist/components/nodesColumns/constants.js +6 -0
  128. package/dist/components/nodesColumns/constants.js.map +1 -1
  129. package/dist/components/nodesColumns/i18n/en.json +2 -1
  130. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  131. package/dist/containers/Clusters/Clusters.js +11 -7
  132. package/dist/containers/Clusters/Clusters.js.map +1 -1
  133. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js +1 -1
  134. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js.map +1 -1
  135. package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js +11 -1
  136. package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js.map +1 -1
  137. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.d.ts +1 -1
  138. package/dist/containers/Nodes/NodesControls/NodesControls.js +1 -1
  139. package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
  140. package/dist/containers/Nodes/NodesTable.js +12 -1
  141. package/dist/containers/Nodes/NodesTable.js.map +1 -1
  142. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +1 -1
  143. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
  144. package/dist/containers/Nodes/columns/columns.js +2 -1
  145. package/dist/containers/Nodes/columns/columns.js.map +1 -1
  146. package/dist/containers/Storage/Disks/Disks.d.ts +2 -1
  147. package/dist/containers/Storage/Disks/Disks.js +32 -23
  148. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  149. package/dist/containers/Storage/Disks/Disks.scss +5 -0
  150. package/dist/containers/Storage/PDisk/PDisk.d.ts +6 -9
  151. package/dist/containers/Storage/PDisk/PDisk.js +99 -37
  152. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  153. package/dist/containers/Storage/PDisk/PDisk.scss +79 -1
  154. package/dist/containers/Storage/PDisk/PDiskWithVDisks.d.ts +17 -0
  155. package/dist/containers/Storage/PDisk/PDiskWithVDisks.js +48 -0
  156. package/dist/containers/Storage/PDisk/PDiskWithVDisks.js.map +1 -0
  157. package/dist/containers/Storage/PDisk/i18n/en.json +9 -0
  158. package/dist/containers/Storage/PDisk/i18n/index.d.ts +1 -1
  159. package/dist/containers/Storage/PDisk/index.d.ts +1 -0
  160. package/dist/containers/Storage/PDisk/index.js +1 -0
  161. package/dist/containers/Storage/PDisk/index.js.map +1 -1
  162. package/dist/containers/Storage/PDisks/PDisks.d.ts +4 -1
  163. package/dist/containers/Storage/PDisks/PDisks.js +52 -6
  164. package/dist/containers/Storage/PDisks/PDisks.js.map +1 -1
  165. package/dist/containers/Storage/PaginatedStorage.js +3 -1
  166. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  167. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +1 -1
  168. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
  169. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +2 -2
  170. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  171. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js +10 -1
  172. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js.map +1 -1
  173. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  174. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.d.ts +1 -0
  175. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +8 -5
  176. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
  177. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +6 -3
  178. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -1
  179. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +17 -5
  180. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -1
  181. package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.d.ts +16 -0
  182. package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.js +68 -0
  183. package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.js.map +1 -0
  184. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.d.ts +2 -1
  185. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js +14 -2
  186. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -1
  187. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js +2 -2
  188. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -1
  189. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +7 -2
  190. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
  191. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/types.d.ts +2 -0
  192. package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.d.ts +5 -0
  193. package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.js +33 -0
  194. package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.js.map +1 -0
  195. package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.d.ts +5 -0
  196. package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.js +31 -0
  197. package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.js.map +1 -0
  198. package/dist/containers/Storage/StorageExpertModePanel/components/DriveTypeLegend.d.ts +1 -0
  199. package/dist/containers/Storage/StorageExpertModePanel/components/DriveTypeLegend.js +7 -0
  200. package/dist/containers/Storage/StorageExpertModePanel/components/DriveTypeLegend.js.map +1 -0
  201. package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.d.ts +21 -0
  202. package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.js +13 -0
  203. package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.js.map +1 -0
  204. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js +1 -0
  205. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js.map +1 -1
  206. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js +1 -0
  207. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js.map +1 -1
  208. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js +3 -2
  209. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js.map +1 -1
  210. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js +1 -0
  211. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js.map +1 -1
  212. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +4 -4
  213. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  214. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js +3 -3
  215. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js.map +1 -1
  216. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +1 -1
  217. package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.d.ts +4 -0
  218. package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.js +54 -0
  219. package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.js.map +1 -0
  220. package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +23 -0
  221. package/dist/containers/Storage/StorageExpertModePanel/constants.js +23 -0
  222. package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -1
  223. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +6 -2
  224. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  225. package/dist/containers/Storage/TableGroup/TableGroup.js +2 -1
  226. package/dist/containers/Storage/TableGroup/TableGroup.js.map +1 -1
  227. package/dist/containers/Storage/VDisks/VDisks.d.ts +2 -1
  228. package/dist/containers/Storage/VDisks/VDisks.js +11 -4
  229. package/dist/containers/Storage/VDisks/VDisks.js.map +1 -1
  230. package/dist/containers/Storage/VDisks/VDisks.scss +3 -0
  231. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.d.ts +1 -0
  232. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js +80 -102
  233. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js.map +1 -1
  234. package/dist/containers/Storage/useStorageQueryParams.d.ts +13 -5
  235. package/dist/containers/Storage/useStorageQueryParams.js +50 -2
  236. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  237. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.d.ts +1 -0
  238. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +59 -13
  239. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
  240. package/dist/containers/Storage/utils/useStorageColumnsSettings.d.ts +4 -1
  241. package/dist/containers/Storage/utils/useStorageColumnsSettings.js +49 -39
  242. package/dist/containers/Storage/utils/useStorageColumnsSettings.js.map +1 -1
  243. package/dist/containers/Storage/utils/useVirtualizedDiskList.d.ts +10 -0
  244. package/dist/containers/Storage/utils/useVirtualizedDiskList.js +131 -0
  245. package/dist/containers/Storage/utils/useVirtualizedDiskList.js.map +1 -0
  246. package/dist/containers/Tablet/Tablet.js +4 -2
  247. package/dist/containers/Tablet/Tablet.js.map +1 -1
  248. package/dist/containers/Tablet/components/TabletControls/TabletControls.js +3 -1
  249. package/dist/containers/Tablet/components/TabletControls/TabletControls.js.map +1 -1
  250. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +9 -3
  251. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
  252. package/dist/containers/Tablets/TabletsTable.js +25 -1
  253. package/dist/containers/Tablets/TabletsTable.js.map +1 -1
  254. package/dist/containers/Tablets/i18n/en.json +2 -1
  255. package/dist/containers/Tablets/i18n/index.d.ts +1 -1
  256. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/i18n/index.d.ts +1 -1
  257. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +2 -1
  258. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  259. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.d.ts +7 -0
  260. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.js +69 -0
  261. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.js.map +1 -0
  262. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/en.json +9 -0
  263. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.d.ts +2 -0
  264. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.js +5 -0
  265. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.js.map +1 -0
  266. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.d.ts +1 -0
  267. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.js +2 -0
  268. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.js.map +1 -0
  269. package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.js +3 -3
  270. package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.js.map +1 -1
  271. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.d.ts +2 -1
  272. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js +3 -2
  273. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js.map +1 -1
  274. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +1 -1
  275. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
  276. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +1 -1
  277. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
  278. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +1 -1
  279. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js.map +1 -1
  280. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +3 -3
  281. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +2 -1
  282. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js.map +1 -1
  283. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +1 -1
  284. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
  285. package/dist/containers/Tenants/TenantsTable.js +37 -6
  286. package/dist/containers/Tenants/TenantsTable.js.map +1 -1
  287. package/dist/containers/VDiskPage/VDiskPage.js +10 -2
  288. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  289. package/dist/services/api/tablets.d.ts +6 -4
  290. package/dist/services/api/tablets.js +9 -8
  291. package/dist/services/api/tablets.js.map +1 -1
  292. package/dist/store/reducers/capabilities/capabilities.d.ts +4 -4
  293. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  294. package/dist/store/reducers/capabilities/hooks.js +8 -0
  295. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  296. package/dist/store/reducers/nodesList.d.ts +3 -261
  297. package/dist/store/reducers/nodesList.js +1 -1
  298. package/dist/store/reducers/nodesList.js.map +1 -1
  299. package/dist/store/reducers/settings/constants.d.ts +4 -0
  300. package/dist/store/reducers/settings/constants.js +4 -0
  301. package/dist/store/reducers/settings/constants.js.map +1 -1
  302. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +1 -0
  303. package/dist/store/reducers/storage/prepareGroupsDisks.js +17 -13
  304. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  305. package/dist/store/reducers/storage/utils.js +11 -5
  306. package/dist/store/reducers/storage/utils.js.map +1 -1
  307. package/dist/store/reducers/table/table.js +6 -0
  308. package/dist/store/reducers/table/table.js.map +1 -1
  309. package/dist/store/reducers/tableData.d.ts +1 -1
  310. package/dist/store/reducers/tableData.js.map +1 -1
  311. package/dist/store/reducers/tablet.d.ts +3 -0
  312. package/dist/store/reducers/tablet.js +6 -6
  313. package/dist/store/reducers/tablet.js.map +1 -1
  314. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +1 -1
  315. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js.map +1 -1
  316. package/dist/store/reducers/topic/topic.js +7 -1
  317. package/dist/store/reducers/topic/topic.js.map +1 -1
  318. package/dist/types/api/capabilities.d.ts +2 -2
  319. package/dist/types/api/pdisk.d.ts +2 -0
  320. package/dist/types/api/pdisk.js.map +1 -1
  321. package/dist/types/api/schema/persQueueGroup.d.ts +2 -2
  322. package/dist/types/api/schema/schema.d.ts +15 -0
  323. package/dist/types/api/schema/schema.js.map +1 -1
  324. package/dist/types/api/schema/tableIndex.d.ts +1 -0
  325. package/dist/types/api/storage.d.ts +4 -0
  326. package/dist/types/api/storage.js.map +1 -1
  327. package/dist/types/api/vdisk.d.ts +2 -0
  328. package/dist/types/api/vdisk.js.map +1 -1
  329. package/dist/uiFactory/types.d.ts +6 -0
  330. package/dist/utils/developerUI/tabletDevUi.d.ts +1 -0
  331. package/dist/utils/developerUI/tabletDevUi.js +4 -0
  332. package/dist/utils/developerUI/tabletDevUi.js.map +1 -0
  333. package/dist/utils/disks/displayState.d.ts +5 -2
  334. package/dist/utils/disks/displayState.js.map +1 -1
  335. package/dist/utils/disks/driveType.d.ts +3 -0
  336. package/dist/utils/disks/driveType.js +27 -0
  337. package/dist/utils/disks/driveType.js.map +1 -0
  338. package/dist/utils/disks/getDiskBarTone.d.ts +4 -2
  339. package/dist/utils/disks/getDiskBarTone.js +8 -1
  340. package/dist/utils/disks/getDiskBarTone.js.map +1 -1
  341. package/dist/utils/disks/getPDiskType.d.ts +1 -0
  342. package/dist/utils/disks/getPDiskType.js +3 -0
  343. package/dist/utils/disks/getPDiskType.js.map +1 -1
  344. package/dist/utils/disks/groupBy.d.ts +1 -0
  345. package/dist/utils/disks/groupBy.js +1 -0
  346. package/dist/utils/disks/groupBy.js.map +1 -1
  347. package/dist/utils/disks/iconCalculators.d.ts +1 -1
  348. package/dist/utils/disks/iconCalculators.js +2 -2
  349. package/dist/utils/disks/iconCalculators.js.map +1 -1
  350. package/dist/utils/disks/pdiskState.js +2 -2
  351. package/dist/utils/disks/pdiskState.js.map +1 -1
  352. package/dist/utils/disks/prepareDisks.js +19 -9
  353. package/dist/utils/disks/prepareDisks.js.map +1 -1
  354. package/dist/utils/disks/types.d.ts +3 -2
  355. package/dist/utils/objectCreationMetrics.d.ts +5 -0
  356. package/dist/utils/objectCreationMetrics.js +38 -0
  357. package/dist/utils/objectCreationMetrics.js.map +1 -0
  358. package/dist/utils/query.d.ts +1 -0
  359. package/dist/utils/query.js +6 -0
  360. package/dist/utils/query.js.map +1 -1
  361. package/package.json +1 -1
  362. package/src/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.tsx +15 -2
  363. package/src/components/DiskStateProgressBar/AllModeIndicators.tsx +30 -6
  364. package/src/components/DiskStateProgressBar/DiskIndicator.tsx +27 -8
  365. package/src/components/DiskStateProgressBar/DiskStateProgressBar.scss +96 -46
  366. package/src/components/DiskStateProgressBar/DiskStateProgressBar.tsx +1 -1
  367. package/src/components/DiskStateProgressBar/PDiskAllModeIndicators.tsx +16 -3
  368. package/src/components/EvictVDiskButton/EvictVDiskButton.tsx +10 -3
  369. package/src/components/FullNodeViewer/FullNodeViewer.scss +3 -3
  370. package/src/components/FullNodeViewer/FullNodeViewer.tsx +81 -34
  371. package/src/components/FullNodeViewer/i18n/en.json +2 -1
  372. package/src/components/HoverPopup/HoverPopup.tsx +21 -16
  373. package/src/components/InfoViewer/InfoViewer.tsx +4 -2
  374. package/src/components/InfoViewer/formatters/pqGroup.ts +6 -2
  375. package/src/components/InfoViewer/schemaInfo/i18n/en.json +1 -0
  376. package/src/components/InfoViewer/schemaInfo/utils.tsx +9 -0
  377. package/src/components/NodeHostWrapper/NodeHostWrapper.tsx +23 -13
  378. package/src/components/PDiskInfo/PDiskInfo.tsx +2 -1
  379. package/src/components/PDiskPopup/PDiskPopup.tsx +5 -1
  380. package/src/components/PaginatedTable/KeyboardNavigation.tsx +30 -0
  381. package/src/components/PaginatedTable/PaginatedTable.scss +10 -0
  382. package/src/components/PaginatedTable/PaginatedTable.tsx +154 -20
  383. package/src/components/PaginatedTable/PaginatedTableContext.tsx +14 -19
  384. package/src/components/PaginatedTable/PaginatedTableWithLayout.tsx +6 -1
  385. package/src/components/PaginatedTable/ResizeablePaginatedTable.tsx +6 -1
  386. package/src/components/PaginatedTable/TableChunk.tsx +9 -16
  387. package/src/components/PaginatedTable/TableChunksRenderer.tsx +13 -1
  388. package/src/components/PaginatedTable/TableRow.tsx +54 -20
  389. package/src/components/PaginatedTable/getTableChunkQueryParams.ts +25 -0
  390. package/src/components/PaginatedTable/rowLookup.ts +63 -0
  391. package/src/components/PaginatedTable/tableCounts.ts +50 -0
  392. package/src/components/PaginatedTable/useKeyboardNavigation.ts +115 -0
  393. package/src/components/ResizeableDataTable/DataTableKeyboardNavigation.tsx +194 -0
  394. package/src/components/ResizeableDataTable/ResizeableDataTable.scss +10 -0
  395. package/src/components/ResizeableDataTable/ResizeableDataTable.tsx +100 -5
  396. package/src/components/ResizeableDataTable/getDataTableOrder.ts +18 -0
  397. package/src/components/Search/Search.tsx +8 -1
  398. package/src/components/ShardsTable/columns.tsx +14 -5
  399. package/src/components/ShardsTable/i18n/en.json +1 -0
  400. package/src/components/TableKeyboardNavigation/TableKeyboardNavigation.scss +16 -0
  401. package/src/components/TableKeyboardNavigation/TableKeyboardNavigation.tsx +519 -0
  402. package/src/components/TableKeyboardNavigation/i18n/en.json +4 -0
  403. package/src/components/TableKeyboardNavigation/i18n/index.ts +5 -0
  404. package/src/components/TableKeyboardNavigation/utils.ts +36 -0
  405. package/src/components/TableWithControlsLayout/TableWithControlsLayout.tsx +26 -1
  406. package/src/components/TenantNameWrapper/TenantNameWrapper.tsx +14 -15
  407. package/src/components/TenantNameWrapper/utils.ts +26 -0
  408. package/src/components/VDisk/VDisk.tsx +141 -44
  409. package/src/components/VDisk/VDiskWithDonorsStack.tsx +23 -4
  410. package/src/components/VDisk/i18n/en.json +14 -1
  411. package/src/components/nodesColumns/columns.tsx +13 -1
  412. package/src/components/nodesColumns/constants.ts +6 -0
  413. package/src/components/nodesColumns/i18n/en.json +2 -1
  414. package/src/containers/Clusters/Clusters.tsx +47 -29
  415. package/src/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.tsx +1 -0
  416. package/src/containers/Node/NodeNetwork/NodeNetworkTable.tsx +17 -0
  417. package/src/containers/Nodes/NodesControls/NodesControls.tsx +1 -0
  418. package/src/containers/Nodes/NodesTable.tsx +17 -1
  419. package/src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx +1 -0
  420. package/src/containers/Nodes/columns/columns.tsx +2 -0
  421. package/src/containers/Storage/Disks/Disks.scss +5 -0
  422. package/src/containers/Storage/Disks/Disks.tsx +157 -95
  423. package/src/containers/Storage/PDisk/PDisk.scss +79 -1
  424. package/src/containers/Storage/PDisk/PDisk.tsx +166 -81
  425. package/src/containers/Storage/PDisk/PDiskWithVDisks.tsx +181 -0
  426. package/src/containers/Storage/PDisk/i18n/en.json +9 -0
  427. package/src/containers/Storage/PDisk/index.ts +1 -0
  428. package/src/containers/Storage/PDisks/PDisks.tsx +157 -22
  429. package/src/containers/Storage/PaginatedStorage.tsx +4 -0
  430. package/src/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.tsx +1 -0
  431. package/src/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.tsx +3 -2
  432. package/src/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.tsx +13 -0
  433. package/src/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.tsx +10 -2
  434. package/src/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.tsx +6 -2
  435. package/src/containers/Storage/PaginatedStorageNodes/StorageNodesControls.tsx +76 -41
  436. package/src/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.ts +103 -0
  437. package/src/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.tsx +24 -1
  438. package/src/containers/Storage/PaginatedStorageNodesTable/columns/columns.tsx +3 -1
  439. package/src/containers/Storage/PaginatedStorageNodesTable/columns/hooks.ts +8 -1
  440. package/src/containers/Storage/PaginatedStorageNodesTable/columns/types.ts +2 -0
  441. package/src/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.tsx +65 -0
  442. package/src/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.tsx +67 -0
  443. package/src/containers/Storage/StorageExpertModePanel/components/DriveTypeLegend.tsx +22 -0
  444. package/src/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.tsx +63 -0
  445. package/src/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.tsx +1 -0
  446. package/src/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.tsx +1 -0
  447. package/src/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.tsx +3 -2
  448. package/src/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.tsx +1 -0
  449. package/src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.tsx +3 -0
  450. package/src/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.tsx +7 -9
  451. package/src/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.ts +1 -1
  452. package/src/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.tsx +63 -0
  453. package/src/containers/Storage/StorageExpertModePanel/constants.ts +27 -0
  454. package/src/containers/Storage/StorageExpertModePanel/i18n/en.json +6 -2
  455. package/src/containers/Storage/TableGroup/TableGroup.tsx +6 -1
  456. package/src/containers/Storage/VDisks/VDisks.scss +3 -0
  457. package/src/containers/Storage/VDisks/VDisks.tsx +29 -7
  458. package/src/containers/Storage/useStoragePDiskDisplayStateGetter.ts +102 -135
  459. package/src/containers/Storage/useStorageQueryParams.ts +120 -1
  460. package/src/containers/Storage/useStorageVDiskDisplayStateGetter.ts +75 -10
  461. package/src/containers/Storage/utils/useStorageColumnsSettings.ts +77 -49
  462. package/src/containers/Storage/utils/useVirtualizedDiskList.ts +156 -0
  463. package/src/containers/Tablet/Tablet.tsx +4 -2
  464. package/src/containers/Tablet/components/TabletControls/TabletControls.tsx +7 -3
  465. package/src/containers/Tablet/components/TabletInfo/TabletInfo.tsx +13 -3
  466. package/src/containers/Tablets/TabletsTable.tsx +50 -10
  467. package/src/containers/Tablets/i18n/en.json +2 -1
  468. package/src/containers/Tenant/Diagnostics/Overview/Overview.tsx +2 -1
  469. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.tsx +106 -0
  470. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/en.json +9 -0
  471. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.ts +7 -0
  472. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.ts +1 -0
  473. package/src/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.ts +3 -3
  474. package/src/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.tsx +6 -0
  475. package/src/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.tsx +4 -0
  476. package/src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx +7 -1
  477. package/src/containers/Tenant/Diagnostics/TopShards/TopShards.tsx +1 -1
  478. package/src/containers/Tenant/Query/QueriesHistory/QueriesHistory.tsx +5 -0
  479. package/src/containers/Tenant/Query/SavedQueries/SavedQueries.tsx +6 -0
  480. package/src/containers/Tenants/TenantsTable.tsx +70 -12
  481. package/src/containers/VDiskPage/VDiskPage.tsx +10 -2
  482. package/src/services/api/tablets.ts +16 -7
  483. package/src/store/reducers/capabilities/hooks.ts +9 -0
  484. package/src/store/reducers/nodesList.ts +2 -3
  485. package/src/store/reducers/settings/constants.ts +4 -0
  486. package/src/store/reducers/storage/prepareGroupsDisks.ts +16 -11
  487. package/src/store/reducers/storage/utils.ts +12 -5
  488. package/src/store/reducers/table/table.ts +6 -0
  489. package/src/store/reducers/tableData.ts +1 -1
  490. package/src/store/reducers/tablet.ts +25 -6
  491. package/src/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.ts +1 -1
  492. package/src/store/reducers/topic/topic.ts +7 -1
  493. package/src/types/api/capabilities.ts +2 -2
  494. package/src/types/api/pdisk.ts +2 -0
  495. package/src/types/api/schema/persQueueGroup.ts +2 -2
  496. package/src/types/api/schema/schema.ts +18 -0
  497. package/src/types/api/schema/tableIndex.ts +1 -0
  498. package/src/types/api/storage.ts +4 -0
  499. package/src/types/api/vdisk.ts +2 -0
  500. package/src/uiFactory/types.ts +6 -0
  501. package/src/utils/developerUI/tabletDevUi.ts +3 -0
  502. package/src/utils/disks/displayState.ts +5 -1
  503. package/src/utils/disks/driveType.ts +30 -0
  504. package/src/utils/disks/getDiskBarTone.ts +15 -1
  505. package/src/utils/disks/getPDiskType.ts +4 -0
  506. package/src/utils/disks/groupBy.ts +1 -0
  507. package/src/utils/disks/iconCalculators.ts +2 -2
  508. package/src/utils/disks/pdiskState.ts +2 -2
  509. package/src/utils/disks/prepareDisks.ts +25 -9
  510. package/src/utils/disks/types.ts +3 -2
  511. package/src/utils/objectCreationMetrics.ts +47 -0
  512. package/src/utils/query.ts +7 -0
  513. package/dist/containers/Storage/PDisk/PDiskVDisks.d.ts +0 -13
  514. package/dist/containers/Storage/PDisk/PDiskVDisks.js +0 -20
  515. package/dist/containers/Storage/PDisk/PDiskVDisks.js.map +0 -1
  516. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.d.ts +0 -6
  517. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +0 -66
  518. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +0 -1
  519. package/src/containers/Storage/PDisk/PDiskVDisks.tsx +0 -65
  520. package/src/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.tsx +0 -151
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { Flex, useLayoutContext } from '@gravity-ui/uikit';
4
+ import { isNil } from 'lodash';
4
5
  import { VDiskWithDonorsStack } from '../../../components/VDisk/VDiskWithDonorsStack';
5
6
  import { cn } from '../../../utils/cn';
6
7
  import { PDisk } from '../PDisk';
@@ -8,15 +9,42 @@ import { DISKS_POPUP_DEBOUNCE_TIMEOUT } from '../shared';
8
9
  import { useStoragePDiskDisplayStateGetter } from '../useStoragePDiskDisplayStateGetter';
9
10
  import { useStorageVDiskDisplayStateGetter } from '../useStorageVDiskDisplayStateGetter';
10
11
  import { isPdiskActive, isVdiskActive, useVDisksWithDCMargins } from '../utils';
12
+ import { useVirtualizedDiskList } from '../utils/useVirtualizedDiskList';
11
13
  import { calculateCompactVDiskWidths } from './calculateCompactVDiskWidths';
12
- import { ALL_VDISK_WIDTH, VDISKS_CONTAINER_WIDTH, getAllVDisksContainerWidth } from './constants';
14
+ import { ALL_VDISK_WIDTH, EXPERT_MODE_PDISK_WIDTH, VDISKS_CONTAINER_WIDTH, getAllVDisksContainerWidth, } from './constants';
13
15
  import './Disks.scss';
14
16
  const b = cn('ydb-storage-disks');
15
- export function Disks({ vDisks = [], viewContext, erasure, withIcon, isAllVDisksLayout, }) {
17
+ const VDiskItem = React.memo(function VDiskItem({ vDisk, highlighted, inactive, setHighlightedVDisk, compactVDiskWidth, withIcon, getDisplayState, isAllVDisksLayout, renderContent, placeholderProps, }) {
18
+ const style = isAllVDisksLayout
19
+ ? { width: ALL_VDISK_WIDTH, flexBasis: ALL_VDISK_WIDTH }
20
+ : { width: compactVDiskWidth, flexBasis: compactVDiskWidth };
21
+ return (_jsxs("div", { style: style, className: b('vdisk-item', { all: isAllVDisksLayout }), "data-disk-id": vDisk.StringifiedId, children: [isAllVDisksLayout ? (_jsx("div", { "aria-hidden": true, className: b('vdisk-size-indicator'), style: {
22
+ width: compactVDiskWidth,
23
+ visibility: renderContent ? undefined : 'hidden',
24
+ } })) : null, _jsx(VDiskWithDonorsStack, { renderContent: renderContent, placeholderProps: placeholderProps, data: vDisk, hideMainPDiskInPopup: true, compact: !isAllVDisksLayout, withIcon: withIcon, inactive: inactive, delayOpen: DISKS_POPUP_DEBOUNCE_TIMEOUT, delayClose: DISKS_POPUP_DEBOUNCE_TIMEOUT, highlightedVDisk: highlighted ? vDisk.StringifiedId : undefined, setHighlightedVDisk: setHighlightedVDisk, progressBarClassName: b('vdisk-progress-bar'), getDisplayState: getDisplayState })] }));
25
+ });
26
+ const PDiskItem = React.memo(function PDiskItem({ vDisk, viewContext, highlighted, setHighlightedVDisk, withDCMargin, withIcon, getDisplayState, renderContent, placeholderProps, }) {
27
+ var _a;
28
+ const vDiskId = vDisk.StringifiedId;
29
+ const onShowPopup = React.useCallback(() => setHighlightedVDisk === null || setHighlightedVDisk === void 0 ? void 0 : setHighlightedVDisk(vDiskId), [setHighlightedVDisk, vDiskId]);
30
+ const onHidePopup = React.useCallback(() => setHighlightedVDisk === null || setHighlightedVDisk === void 0 ? void 0 : setHighlightedVDisk(undefined), [setHighlightedVDisk]);
31
+ if (!vDisk.PDisk) {
32
+ // Preserve disk indices for focus tracking while virtualization is disabled.
33
+ return _jsx("div", { "data-disk-id": vDiskId, hidden: true });
34
+ }
35
+ return (_jsx("div", { className: b('pdisk-item', { ['with-dc-margin']: withDCMargin }), "data-disk-id": vDiskId, style: { width: (_a = getDisplayState === null || getDisplayState === void 0 ? void 0 : getDisplayState(vDisk.PDisk).width) !== null && _a !== void 0 ? _a : EXPERT_MODE_PDISK_WIDTH }, tabIndex: -1, ...(renderContent || highlighted ? undefined : placeholderProps), children: (renderContent || highlighted) && (_jsx(PDisk, { progressBarClassName: b('pdisk-progress-bar'), data: vDisk.PDisk, inactive: !isPdiskActive(vDisk.PDisk, viewContext), showPopup: highlighted, delayOpen: DISKS_POPUP_DEBOUNCE_TIMEOUT, delayClose: DISKS_POPUP_DEBOUNCE_TIMEOUT, onShowPopup: onShowPopup, onHidePopup: onHidePopup, withIcon: withIcon, highlighted: highlighted, getDisplayState: getDisplayState })) }));
36
+ });
37
+ export const Disks = React.memo(function Disks({ vDisks = [], viewContext, erasure, withIcon, isAllVDisksLayout, }) {
16
38
  const vDisksWithDCMargins = useVDisksWithDCMargins(vDisks, erasure);
17
39
  const getVDiskDisplayState = useStorageVDiskDisplayStateGetter();
18
40
  const getPDiskDisplayState = useStoragePDiskDisplayStateGetter();
19
41
  const [highlightedVDisk, setHighlightedVDisk] = React.useState();
42
+ const vDiskList = useVirtualizedDiskList(vDisks, vDisks.every((disk) => Boolean(disk.StringifiedId)));
43
+ // Missing disk identities produce non-focusable placeholders; keep all links reachable.
44
+ const pDiskList = useVirtualizedDiskList(vDisks, vDisks.every(({ PDisk: pDisk }) => !isNil(pDisk === null || pDisk === void 0 ? void 0 : pDisk.NodeId) && !isNil(pDisk === null || pDisk === void 0 ? void 0 : pDisk.PDiskId)));
45
+ React.useEffect(() => {
46
+ setHighlightedVDisk((id) => vDisks.some((disk) => disk.StringifiedId === id) ? id : undefined);
47
+ }, [vDisks]);
20
48
  const { theme: { spaceBaseSize }, } = useLayoutContext();
21
49
  const compactVDiskWidths = React.useMemo(() => calculateCompactVDiskWidths(vDisks, spaceBaseSize), [spaceBaseSize, vDisks]);
22
50
  if (!vDisks.length) {
@@ -25,25 +53,6 @@ export function Disks({ vDisks = [], viewContext, erasure, withIcon, isAllVDisks
25
53
  const vDisksContainerWidth = isAllVDisksLayout
26
54
  ? getAllVDisksContainerWidth()
27
55
  : VDISKS_CONTAINER_WIDTH;
28
- return (_jsxs("div", { className: b(null), children: [_jsx(Flex, { direction: "row", gap: 1, grow: true, style: { width: vDisksContainerWidth }, children: vDisks === null || vDisks === void 0 ? void 0 : vDisks.map((vDisk, index) => (_jsx(VDiskItem, { vDisk: vDisk, inactive: !isVdiskActive(vDisk, viewContext), highlightedVDisk: highlightedVDisk, setHighlightedVDisk: setHighlightedVDisk, compactVDiskWidth: compactVDiskWidths[index], withIcon: withIcon, getDisplayState: getVDiskDisplayState, isAllVDisksLayout: isAllVDisksLayout }, vDisk.StringifiedId || index))) }), _jsx("div", { className: b('pdisks-wrapper'), children: vDisks === null || vDisks === void 0 ? void 0 : vDisks.map((vDisk, index) => {
29
- var _a;
30
- return (_jsx(PDiskItem, { vDisk: vDisk, viewContext: viewContext, highlightedVDisk: highlightedVDisk, setHighlightedVDisk: setHighlightedVDisk, withDCMargin: vDisksWithDCMargins.includes(index), withIcon: withIcon, getDisplayState: getPDiskDisplayState }, ((_a = vDisk === null || vDisk === void 0 ? void 0 : vDisk.PDisk) === null || _a === void 0 ? void 0 : _a.StringifiedId) || index));
31
- }) })] }));
32
- }
33
- function VDiskItem({ vDisk, highlightedVDisk, inactive, setHighlightedVDisk, compactVDiskWidth, withIcon, getDisplayState, isAllVDisksLayout, }) {
34
- // Do not show PDisk popup for VDisk
35
- const vDiskToShow = { ...vDisk, PDisk: undefined };
36
- const style = isAllVDisksLayout
37
- ? { width: ALL_VDISK_WIDTH, flexBasis: ALL_VDISK_WIDTH }
38
- : { width: compactVDiskWidth, flexBasis: compactVDiskWidth };
39
- return (_jsxs("div", { style: style, className: b('vdisk-item', { all: isAllVDisksLayout }), children: [isAllVDisksLayout ? (_jsx("div", { "aria-hidden": true, className: b('vdisk-size-indicator'), style: { width: compactVDiskWidth } })) : null, _jsx(VDiskWithDonorsStack, { data: vDiskToShow, compact: !isAllVDisksLayout, withIcon: withIcon, inactive: inactive, delayOpen: DISKS_POPUP_DEBOUNCE_TIMEOUT, delayClose: DISKS_POPUP_DEBOUNCE_TIMEOUT, highlightedVDisk: highlightedVDisk, setHighlightedVDisk: setHighlightedVDisk, progressBarClassName: b('vdisk-progress-bar'), getDisplayState: getDisplayState })] }));
40
- }
41
- function PDiskItem({ vDisk, viewContext, highlightedVDisk, setHighlightedVDisk, withDCMargin, withIcon, getDisplayState, }) {
42
- const vDiskId = vDisk.StringifiedId;
43
- const isHighlighted = highlightedVDisk === vDiskId;
44
- if (!vDisk.PDisk) {
45
- return null;
46
- }
47
- return (_jsx(PDisk, { className: b('pdisk-item', { ['with-dc-margin']: withDCMargin }), progressBarClassName: b('pdisk-progress-bar'), data: vDisk.PDisk, inactive: !isPdiskActive(vDisk.PDisk, viewContext), showPopup: isHighlighted, delayOpen: DISKS_POPUP_DEBOUNCE_TIMEOUT, delayClose: DISKS_POPUP_DEBOUNCE_TIMEOUT, onShowPopup: () => setHighlightedVDisk === null || setHighlightedVDisk === void 0 ? void 0 : setHighlightedVDisk(vDiskId), onHidePopup: () => setHighlightedVDisk === null || setHighlightedVDisk === void 0 ? void 0 : setHighlightedVDisk(undefined), withIcon: withIcon, highlighted: isHighlighted, getDisplayState: getDisplayState }));
48
- }
56
+ return (_jsxs("div", { className: b(null), children: [_jsx(Flex, { direction: "row", gap: 1, grow: true, style: { width: vDisksContainerWidth }, ref: vDiskList.containerRef, children: vDisks.map((vDisk, index) => (_jsx(VDiskItem, { vDisk: vDisk, inactive: !isVdiskActive(vDisk, viewContext), highlighted: highlightedVDisk === vDisk.StringifiedId, setHighlightedVDisk: setHighlightedVDisk, compactVDiskWidth: compactVDiskWidths[index], withIcon: withIcon, getDisplayState: getVDiskDisplayState, isAllVDisksLayout: isAllVDisksLayout, renderContent: vDiskList.shouldRenderDisk(index), placeholderProps: vDiskList.getPlaceholderProps(index) }, vDisk.StringifiedId || index))) }), _jsx("div", { className: b('pdisks-wrapper'), ref: pDiskList.containerRef, children: vDisks.map((vDisk, index) => (_jsx(PDiskItem, { vDisk: vDisk, viewContext: viewContext, highlighted: highlightedVDisk === vDisk.StringifiedId, setHighlightedVDisk: setHighlightedVDisk, withDCMargin: vDisksWithDCMargins.includes(index), withIcon: withIcon, getDisplayState: getPDiskDisplayState, renderContent: pDiskList.shouldRenderDisk(index), placeholderProps: pDiskList.getPlaceholderProps(index) }, vDisk.StringifiedId || index))) })] }));
57
+ });
49
58
  //# sourceMappingURL=Disks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Disks.js","sourceRoot":"","sources":["../../../../src/containers/Storage/Disks/Disks.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Disks.js","sourceRoot":"","sources":["../../../../src/containers/Storage/Disks/Disks.tsx"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@
19
19
  flex-shrink: 0;
20
20
 
21
21
  min-width: 24px;
22
+ min-height: 20px;
22
23
 
23
24
  &_all {
24
25
  position: relative;
@@ -30,6 +31,7 @@
30
31
 
31
32
  width: 65px;
32
33
  min-width: 65px;
34
+ min-height: 24px;
33
35
  }
34
36
  }
35
37
  &__vdisk-size-indicator {
@@ -48,7 +50,10 @@
48
50
  }
49
51
 
50
52
  &__pdisk-item {
53
+ flex-shrink: 0;
54
+
51
55
  min-width: 55px;
56
+ min-height: 20px;
52
57
  margin-right: var(--g-spacing-1);
53
58
 
54
59
  &_with-dc-margin {
@@ -1,25 +1,22 @@
1
+ import React from 'react';
1
2
  import type { PDiskDisplayStateGetter } from '../../../utils/disks/displayState';
2
- import type { PreparedPDisk, PreparedVDisk } from '../../../utils/disks/types';
3
- import type { StorageViewContext } from '../types';
3
+ import type { PreparedPDisk } from '../../../utils/disks/types';
4
4
  import './PDisk.scss';
5
- interface PDiskProps {
5
+ export interface PDiskProps {
6
6
  data?: PreparedPDisk;
7
- vDisks?: PreparedVDisk[];
8
7
  showPopup?: boolean;
9
8
  onShowPopup?: VoidFunction;
10
9
  onHidePopup?: VoidFunction;
11
10
  className?: string;
12
11
  progressBarClassName?: string;
13
- viewContext?: StorageViewContext;
14
12
  width?: number;
15
13
  delayOpen?: number;
16
14
  delayClose?: number;
17
15
  withIcon?: boolean;
16
+ showTypeLabel?: boolean;
18
17
  inactive?: boolean;
19
18
  highlighted?: boolean;
20
- highlightedDisk?: string;
21
- setHighlightedDisk?: (id?: string) => void;
22
19
  getDisplayState?: PDiskDisplayStateGetter;
20
+ topContent?: React.ReactNode;
23
21
  }
24
- export declare const PDisk: ({ data, vDisks, showPopup, onShowPopup, onHidePopup, className, progressBarClassName, viewContext, width, delayOpen, delayClose, withIcon, inactive, highlighted, highlightedDisk, setHighlightedDisk, getDisplayState, }: PDiskProps) => import("react/jsx-runtime").JSX.Element;
25
- export {};
22
+ export declare const PDisk: ({ data, showPopup, onShowPopup, onHidePopup, className, progressBarClassName, width, delayOpen, delayClose, withIcon, showTypeLabel, inactive, highlighted, getDisplayState, topContent, }: PDiskProps) => import("react/jsx-runtime").JSX.Element;
@@ -9,21 +9,30 @@ import { HoverPopup } from '../../../components/HoverPopup/HoverPopup';
9
9
  import { InternalLink } from '../../../components/InternalLink';
10
10
  import { PDiskPopup } from '../../../components/PDiskPopup/PDiskPopup';
11
11
  import { getPDiskPagePath } from '../../../routes';
12
+ import { isCapacityAlert } from '../../../types/api/enums';
12
13
  import { cn } from '../../../utils/cn';
14
+ import { EMPTY_DATA_PLACEHOLDER } from '../../../utils/constants';
13
15
  import { getDefaultPDiskDisplayState } from '../../../utils/disks/displayState';
14
16
  import { getDiskBarTone } from '../../../utils/disks/getDiskBarTone';
17
+ import { formatPDiskType } from '../../../utils/disks/getPDiskType';
15
18
  import { getPDiskId, getVDiskStatusIcon } from '../../../utils/disks/helpers';
16
19
  import { isNumeric } from '../../../utils/utils';
17
20
  import { DISKS_POPUP_DEBOUNCE_TIMEOUT } from '../shared';
18
- import { PDiskVDisks } from './PDiskVDisks';
19
21
  import { i18n } from './i18n';
20
22
  import './PDisk.scss';
21
23
  const b = cn('pdisk-storage');
22
24
  const EMPTY_ALL_MODE_INDICATORS = {};
23
- function getPDiskBarContent({ allocatedPercent, hidden, isAllMode, noDataPlaceholder, showAllocatedPercentLabel, showNoDataPlaceholder, }) {
24
- if (hidden) {
25
- return null;
25
+ function PDiskNodeBarContent({ left, center, type }) {
26
+ return (_jsxs("div", { className: b('node-bar-content'), children: [_jsx("div", { className: b('node-bar-left'), children: left }), _jsx("div", { className: b('node-bar-center'), children: center }), _jsx("div", { className: b('node-bar-type'), children: type })] }));
27
+ }
28
+ function getPDiskContent({ barContent, data, hasIndicators, showAllocatedPercentLabel, showTypeLabel, isNoData, }) {
29
+ if (!showTypeLabel) {
30
+ return barContent;
26
31
  }
32
+ const showNoDataLabel = isNoData && !showAllocatedPercentLabel;
33
+ return (_jsx(PDiskNodeBarContent, { left: hasIndicators || showAllocatedPercentLabel || showNoDataLabel ? null : barContent, center: showAllocatedPercentLabel ? barContent : null, type: _jsxs(React.Fragment, { children: [showNoDataLabel ? barContent : null, _jsx(DiskBarLabel, { children: formatPDiskType(data.Type) || EMPTY_DATA_PLACEHOLDER })] }) }));
34
+ }
35
+ function getPDiskBarContent({ allocatedPercent, isAllMode, noDataPlaceholder, showAllocatedPercentLabel, showNoDataPlaceholder, }) {
27
36
  const hasAllocatedPercent = isNumeric(allocatedPercent) && allocatedPercent >= 0;
28
37
  if (hasAllocatedPercent && showAllocatedPercentLabel !== false) {
29
38
  return _jsx(DiskBarLabel, { children: `${Math.floor(allocatedPercent)}%` });
@@ -49,36 +58,24 @@ function getPDiskBarIndicator({ hidden, icon, placement, severity, withIcon, })
49
58
  showIndicator: true,
50
59
  };
51
60
  }
52
- function getAllModeOverlay(mode, indicators) {
53
- if (mode !== 'all') {
54
- return null;
55
- }
56
- return _jsx(PDiskAllModeIndicators, { indicators: indicators !== null && indicators !== void 0 ? indicators : EMPTY_ALL_MODE_INDICATORS });
61
+ function getAccessiblePDiskId(data) {
62
+ return (data.StringifiedId ||
63
+ getPDiskId({ nodeId: data.NodeId, pDiskId: data.PDiskId }) ||
64
+ i18n('context_no-data'));
57
65
  }
58
- function getAccessibleName(data, allocatedPercent, hasIssues, isAllMode, showNoDataPlaceholder) {
59
- var _a, _b;
60
- if (!isAllMode) {
61
- return undefined;
62
- }
66
+ function getAllocatedPercentAccessibleName(allocatedPercent) {
67
+ const hasAllocatedPercent = typeof allocatedPercent === 'number' &&
68
+ Number.isFinite(allocatedPercent) &&
69
+ allocatedPercent >= 0;
70
+ return hasAllocatedPercent ? `${Math.floor(allocatedPercent)}%` : i18n('context_no-data');
71
+ }
72
+ function getAllModeAccessibleName(data, allocatedPercent, hasIssues) {
63
73
  const noData = i18n('context_no-data');
64
- let allocated = noData;
65
- if (showNoDataPlaceholder !== true) {
66
- const hasAllocatedPercent = typeof allocatedPercent === 'number' &&
67
- Number.isFinite(allocatedPercent) &&
68
- allocatedPercent >= 0;
69
- if (hasAllocatedPercent) {
70
- allocated = `${Math.floor(allocatedPercent)}%`;
71
- }
72
- }
73
74
  const health = hasIssues === undefined
74
75
  ? noData
75
76
  : i18n(hasIssues ? 'context_all-mode-health-issues' : 'context_all-mode-health-healthy');
76
- const pDiskId = (_b = (_a = data.StringifiedId) !== null && _a !== void 0 ? _a : getPDiskId({
77
- nodeId: data.NodeId,
78
- pDiskId: data.PDiskId,
79
- })) !== null && _b !== void 0 ? _b : noData;
80
77
  return i18n('context_all-mode-accessible-name', {
81
- pdiskId: pDiskId,
78
+ pdiskId: getAccessiblePDiskId(data),
82
79
  health,
83
80
  state: data.State || noData,
84
81
  capacityAlert: data.PDiskCapacityAlert || noData,
@@ -87,24 +84,77 @@ function getAccessibleName(data, allocatedPercent, hasIssues, isAllMode, showNoD
87
84
  maintenance: data.MaintenanceStatus || noData,
88
85
  device: data.Device || noData,
89
86
  realtime: data.Realtime || noData,
90
- allocatedPercent: allocated,
87
+ allocatedPercent: getAllocatedPercentAccessibleName(allocatedPercent),
91
88
  });
92
89
  }
93
- export const PDisk = ({ data = {}, vDisks, showPopup, onShowPopup, onHidePopup, className, progressBarClassName, viewContext, width, delayOpen = DISKS_POPUP_DEBOUNCE_TIMEOUT, delayClose = DISKS_POPUP_DEBOUNCE_TIMEOUT, withIcon, inactive, highlighted, highlightedDisk, setHighlightedDisk, getDisplayState, }) => {
94
- var _a, _b, _c, _d, _e;
90
+ function getAccessibleName(data, { mode, allMode, isNoData, allocatedPercent, driveType }) {
91
+ if (!mode) {
92
+ return undefined;
93
+ }
94
+ if (mode === 'all') {
95
+ return getAllModeAccessibleName(data, allocatedPercent, allMode === null || allMode === void 0 ? void 0 : allMode.hasIssues);
96
+ }
97
+ const noData = i18n('context_no-data');
98
+ let diskName = i18n('context_pdisk', { pdiskId: getAccessiblePDiskId(data) });
99
+ if (isNoData) {
100
+ diskName = i18n('context_pdisk-no-whiteboard', { disk: diskName, noData });
101
+ }
102
+ const { State, Device, Realtime } = isNoData ? {} : data;
103
+ switch (mode) {
104
+ case 'driveType':
105
+ return i18n('context_drive-type-accessible-name', {
106
+ disk: diskName,
107
+ driveType: formatPDiskType(driveType) || noData,
108
+ });
109
+ case 'state':
110
+ return i18n('context_state-accessible-name', { disk: diskName, state: State || noData });
111
+ case 'space':
112
+ return i18n('context_space-accessible-name', {
113
+ disk: diskName,
114
+ capacityAlert: isCapacityAlert(data.PDiskCapacityAlert)
115
+ ? data.PDiskCapacityAlert
116
+ : noData,
117
+ allocatedPercent: getAllocatedPercentAccessibleName(allocatedPercent),
118
+ });
119
+ case 'drive':
120
+ return i18n('context_drive-accessible-name', {
121
+ disk: diskName,
122
+ drive: data.DriveStatus || noData,
123
+ });
124
+ case 'decommit':
125
+ return i18n('context_decommit-accessible-name', {
126
+ disk: diskName,
127
+ decommit: data.DecommitStatus || noData,
128
+ });
129
+ case 'maintenance':
130
+ return i18n('context_maintenance-accessible-name', {
131
+ disk: diskName,
132
+ maintenance: data.MaintenanceStatus || noData,
133
+ });
134
+ case 'device':
135
+ return i18n('context_device-accessible-name', {
136
+ disk: diskName,
137
+ device: Device || noData,
138
+ realtime: Realtime || noData,
139
+ });
140
+ default:
141
+ return undefined;
142
+ }
143
+ }
144
+ export const PDisk = ({ data = {}, showPopup, onShowPopup, onHidePopup, className, progressBarClassName, width, delayOpen = DISKS_POPUP_DEBOUNCE_TIMEOUT, delayClose = DISKS_POPUP_DEBOUNCE_TIMEOUT, withIcon, showTypeLabel, inactive, highlighted, getDisplayState, topContent, }) => {
145
+ var _a, _b, _c, _d;
95
146
  const { NodeId, PDiskId } = data;
96
147
  const pDiskIdsDefined = !isNil(NodeId) && !isNil(PDiskId);
97
148
  const anchorRef = React.useRef(null);
98
149
  const displayState = React.useMemo(() => (getDisplayState !== null && getDisplayState !== void 0 ? getDisplayState : getDefaultPDiskDisplayState)(data), [data, getDisplayState]);
99
150
  const isAllMode = displayState.mode === 'all';
100
151
  const noDataPlaceholder = displayState.showNoDataPlaceholder === false ? undefined : i18n('context_no-data');
101
- const hideBarContent = Boolean(displayState.isLegendInactive);
102
152
  const allocatedPercent = displayState.allocatedPercent;
103
153
  const hasAllocatedPercent = isNumeric(allocatedPercent) && allocatedPercent >= 0;
104
154
  const iconPlacement = (_a = displayState.iconPlacement) !== null && _a !== void 0 ? _a : 'inline';
105
- const accessibleName = getAccessibleName(data, allocatedPercent, (_b = displayState.allMode) === null || _b === void 0 ? void 0 : _b.hasIssues, isAllMode, displayState.showNoDataPlaceholder);
155
+ const accessibleName = getAccessibleName(data, displayState);
106
156
  const { leading, overflowVisible, showIndicator } = getPDiskBarIndicator({
107
- hidden: hideBarContent,
157
+ hidden: Boolean(displayState.isLegendInactive),
108
158
  icon: displayState.icon,
109
159
  placement: iconPlacement,
110
160
  severity: displayState.severity,
@@ -112,22 +162,34 @@ export const PDisk = ({ data = {}, vDisks, showPopup, onShowPopup, onHidePopup,
112
162
  });
113
163
  const barContent = getPDiskBarContent({
114
164
  allocatedPercent,
115
- hidden: hideBarContent,
116
165
  isAllMode,
117
166
  noDataPlaceholder,
118
167
  showAllocatedPercentLabel: displayState.showAllocatedPercentLabel,
119
168
  showNoDataPlaceholder: displayState.showNoDataPlaceholder,
120
169
  });
121
- const overlay = getAllModeOverlay(displayState.mode, (_c = displayState.allMode) === null || _c === void 0 ? void 0 : _c.indicators);
170
+ const showAllocatedPercentLabel = hasAllocatedPercent && displayState.showAllocatedPercentLabel !== false;
171
+ const allModeIndicators = (_c = (_b = displayState.allMode) === null || _b === void 0 ? void 0 : _b.indicators) !== null && _c !== void 0 ? _c : EMPTY_ALL_MODE_INDICATORS;
172
+ const hasAllModeIndicators = isAllMode && Object.values(allModeIndicators).some(Boolean);
173
+ const overlay = hasAllModeIndicators ? (_jsx(PDiskAllModeIndicators, { indicators: allModeIndicators })) : null;
174
+ const content = getPDiskContent({
175
+ barContent,
176
+ data,
177
+ hasIndicators: showIndicator || hasAllModeIndicators,
178
+ showAllocatedPercentLabel,
179
+ showTypeLabel,
180
+ isNoData: displayState.isNoData,
181
+ });
122
182
  const tone = getDiskBarTone({
183
+ driveType: displayState.driveType,
123
184
  severity: displayState.severity,
124
185
  showIndicator,
125
186
  indicator: displayState.icon,
187
+ isNoData: displayState.isNoData,
126
188
  });
127
189
  let pDiskPath;
128
190
  if (pDiskIdsDefined) {
129
191
  pDiskPath = getPDiskPagePath(PDiskId, NodeId);
130
192
  }
131
- return (_jsxs("div", { className: b(null, className), ref: anchorRef, style: { width: (_d = displayState.width) !== null && _d !== void 0 ? _d : width }, children: [_jsx(PDiskVDisks, { vDisks: vDisks, viewContext: viewContext, withIcon: withIcon, delayOpen: delayOpen, delayClose: delayClose, highlightedDisk: highlightedDisk, setHighlightedDisk: setHighlightedDisk }), _jsx(HoverPopup, { showPopup: showPopup, offset: { mainAxis: 2, crossAxis: 0 }, anchorRef: anchorRef, onShowPopup: onShowPopup, onHidePopup: onHidePopup, renderPopupContent: () => _jsx(PDiskPopup, { data: data }), delayOpen: delayOpen, delayClose: delayClose, children: _jsx(InternalLink, { to: pDiskPath, "aria-label": accessibleName, className: b('content'), children: _jsx(DiskStateProgressBar, { allocation: allocatedPercent, tone: tone, mode: displayState.mode, leading: leading, content: barContent, overlay: overlay, className: progressBarClassName, inactive: inactive, highlighted: highlighted, filled: hasAllocatedPercent && Number(allocatedPercent) > 0, strongFill: (_e = displayState.allMode) === null || _e === void 0 ? void 0 : _e.hasIssues, borderless: displayState.isLegendInactive, overflowVisible: overflowVisible }) }) })] }));
193
+ return (_jsxs("div", { className: b(null, className), ref: anchorRef, style: { width: width !== null && width !== void 0 ? width : displayState.width }, children: [topContent, _jsx(HoverPopup, { showPopup: showPopup, offset: { mainAxis: 2, crossAxis: 0 }, anchorRef: anchorRef, onShowPopup: onShowPopup, onHidePopup: onHidePopup, renderPopupContent: () => _jsx(PDiskPopup, { data: data }), delayOpen: delayOpen, delayClose: delayClose, children: _jsx(InternalLink, { to: pDiskPath, "aria-label": accessibleName, className: b('content'), children: _jsx(DiskStateProgressBar, { allocation: allocatedPercent, tone: tone, mode: displayState.mode, leading: leading, content: content, overlay: overlay, className: progressBarClassName, inactive: inactive, highlighted: highlighted, filled: hasAllocatedPercent && Number(allocatedPercent) > 0, strongFill: (_d = displayState.allMode) === null || _d === void 0 ? void 0 : _d.hasIssues, borderless: displayState.borderless, overflowVisible: overflowVisible }) }) })] }));
132
194
  };
133
195
  //# sourceMappingURL=PDisk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PDisk.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PDisk/PDisk.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PDisk.js","sourceRoot":"","sources":["../../../../src/containers/Storage/PDisk/PDisk.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAE7B,OAAO,EAAC,YAAY,EAAC,MAAM,uDAAuD,CAAC;AACnF,OAAO,EAAC,aAAa,EAAC,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAC,oBAAoB,EAAC,MAAM,+DAA+D,CAAC;AACnG,OAAO,EAAC,sBAAsB,EAAC,MAAM,iEAAiE,CAAC;AACvG,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAC,YAAY,EAAC,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAC,UAAU,EAAC,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAMhE,OAAO,EAAC,2BAA2B,EAAC,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAC,cAAc,EAAC,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,8BAA8B,CAAC;AAE5E,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,4BAA4B,EAAC,MAAM,WAAW,CAAC;AAEvD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;AAC9B,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAQrC,SAAS,mBAAmB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAA2B;IACvE,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,aACjC,cAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,YAAG,IAAI,GAAO,EAChD,cAAK,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,YAAG,MAAM,GAAO,EACpD,cAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,YAAG,IAAI,GAAO,IAC9C,CACT,CAAC;AACN,CAAC;AAWD,SAAS,eAAe,CAAC,EACrB,UAAU,EACV,IAAI,EACJ,aAAa,EACb,yBAAyB,EACzB,aAAa,EACb,QAAQ,GACY;IACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,eAAe,GAAG,QAAQ,IAAI,CAAC,yBAAyB,CAAC;IAE/D,OAAO,CACH,KAAC,mBAAmB,IAChB,IAAI,EAAE,aAAa,IAAI,yBAAyB,IAAI,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,EACvF,MAAM,EAAE,yBAAyB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EACrD,IAAI,EACA,MAAC,KAAK,CAAC,QAAQ,eACV,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EACpC,KAAC,YAAY,cACR,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,GAC1C,IACF,GAEvB,CACL,CAAC;AACN,CAAC;AAUD,SAAS,kBAAkB,CAAC,EACxB,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,GACE;IACvB,MAAM,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,CAAC;IACjF,IAAI,mBAAmB,IAAI,yBAAyB,KAAK,KAAK,EAAE,CAAC;QAC7D,OAAO,KAAC,YAAY,cAAE,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,GAAgB,CAAC;IAC7E,CAAC;IAED,IACI,iBAAiB;QACjB,CAAC,CAAC,mBAAmB,IAAI,qBAAqB,KAAK,IAAI,IAAI,SAAS,CAAC,EACvE,CAAC;QACC,OAAO,KAAC,YAAY,IAAC,OAAO,EAAC,aAAa,YAAE,iBAAiB,GAAgB,CAAC;IAClF,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAUD,SAAS,oBAAoB,CAAC,EAC1B,MAAM,EACN,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,GACiB;IACzB,MAAM,iBAAiB,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtE,IAAI,CAAC,QAAQ,IAAI,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO;YACH,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,KAAK;YACtB,aAAa,EAAE,KAAK;SACvB,CAAC;IACN,CAAC;IAED,OAAO;QACH,OAAO,EAAE,KAAC,aAAa,IAAC,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,GAAI;QAC1E,eAAe,EAAE,SAAS,KAAK,SAAS;QACxC,aAAa,EAAE,IAAI;KACtB,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAmB;IAC7C,OAAO,CACH,IAAI,CAAC,aAAa;QAClB,UAAU,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAC,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,CAC1B,CAAC;AACN,CAAC;AAED,SAAS,iCAAiC,CAAC,gBAAoC;IAC3E,MAAM,mBAAmB,GACrB,OAAO,gBAAgB,KAAK,QAAQ;QACpC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACjC,gBAAgB,IAAI,CAAC,CAAC;IAE1B,OAAO,mBAAmB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,wBAAwB,CAC7B,IAAmB,EACnB,gBAAoC,EACpC,SAA8B;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvC,MAAM,MAAM,GACR,SAAS,KAAK,SAAS;QACnB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CACA,SAAS,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,iCAAiC,CACnF,CAAC;IACZ,OAAO,IAAI,CAAC,kCAAkC,EAAE;QAC5C,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC;QACnC,MAAM;QACN,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,MAAM;QAC3B,aAAa,EAAE,IAAI,CAAC,kBAAkB,IAAI,MAAM;QAChD,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM;QACjC,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,MAAM;QACvC,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAI,MAAM;QAC7C,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;QAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,MAAM;QACjC,gBAAgB,EAAE,iCAAiC,CAAC,gBAAgB,CAAC;KACxE,CAAC,CAAC;AACP,CAAC;AAED,SAAS,iBAAiB,CACtB,IAAmB,EACnB,EAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAoB;IAEzE,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACjB,OAAO,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,EAAC,OAAO,EAAE,oBAAoB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC5E,IAAI,QAAQ,EAAE,CAAC;QACX,QAAQ,GAAG,IAAI,CAAC,6BAA6B,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvD,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,WAAW;YACZ,OAAO,IAAI,CAAC,oCAAoC,EAAE;gBAC9C,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,IAAI,MAAM;aAClD,CAAC,CAAC;QACP,KAAK,OAAO;YACR,OAAO,IAAI,CAAC,+BAA+B,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,EAAC,CAAC,CAAC;QAC3F,KAAK,OAAO;YACR,OAAO,IAAI,CAAC,+BAA+B,EAAE;gBACzC,IAAI,EAAE,QAAQ;gBACd,aAAa,EAAE,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC;oBACnD,CAAC,CAAC,IAAI,CAAC,kBAAkB;oBACzB,CAAC,CAAC,MAAM;gBACZ,gBAAgB,EAAE,iCAAiC,CAAC,gBAAgB,CAAC;aACxE,CAAC,CAAC;QACP,KAAK,OAAO;YACR,OAAO,IAAI,CAAC,+BAA+B,EAAE;gBACzC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,WAAW,IAAI,MAAM;aACpC,CAAC,CAAC;QACP,KAAK,UAAU;YACX,OAAO,IAAI,CAAC,kCAAkC,EAAE;gBAC5C,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,MAAM;aAC1C,CAAC,CAAC;QACP,KAAK,aAAa;YACd,OAAO,IAAI,CAAC,qCAAqC,EAAE;gBAC/C,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,IAAI,CAAC,iBAAiB,IAAI,MAAM;aAChD,CAAC,CAAC;QACP,KAAK,QAAQ;YACT,OAAO,IAAI,CAAC,gCAAgC,EAAE;gBAC1C,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM,IAAI,MAAM;gBACxB,QAAQ,EAAE,QAAQ,IAAI,MAAM;aAC/B,CAAC,CAAC;QACP;YACI,OAAO,SAAS,CAAC;IACzB,CAAC;AACL,CAAC;AAqBD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,SAAS,EACT,oBAAoB,EACpB,KAAK,EACL,SAAS,GAAG,4BAA4B,EACxC,UAAU,GAAG,4BAA4B,EACzC,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,WAAW,EACX,eAAe,EACf,UAAU,GACD,EAAE,EAAE;;IACb,MAAM,EAAC,MAAM,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CAAC,CAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,2BAA2B,CAAC,CAAC,IAAI,CAAC,EAC5D,CAAC,IAAI,EAAE,eAAe,CAAC,CAC1B,CAAC;IACF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,KAAK,KAAK,CAAC;IAC9C,MAAM,iBAAiB,GACnB,YAAY,CAAC,qBAAqB,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACvF,MAAM,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAC;IACvD,MAAM,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,MAAA,YAAY,CAAC,aAAa,mCAAI,QAAQ,CAAC;IAC7D,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC7D,MAAM,EAAC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAC,GAAG,oBAAoB,CAAC;QACnE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC;QAC9C,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,SAAS,EAAE,aAAa;QACxB,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,QAAQ;KACX,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,kBAAkB,CAAC;QAClC,gBAAgB;QAChB,SAAS;QACT,iBAAiB;QACjB,yBAAyB,EAAE,YAAY,CAAC,yBAAyB;QACjE,qBAAqB,EAAE,YAAY,CAAC,qBAAqB;KAC5D,CAAC,CAAC;IACH,MAAM,yBAAyB,GAC3B,mBAAmB,IAAI,YAAY,CAAC,yBAAyB,KAAK,KAAK,CAAC;IAC5E,MAAM,iBAAiB,GAAG,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,UAAU,mCAAI,yBAAyB,CAAC;IACxF,MAAM,oBAAoB,GAAG,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzF,MAAM,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,CACnC,KAAC,sBAAsB,IAAC,UAAU,EAAE,iBAAiB,GAAI,CAC5D,CAAC,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,OAAO,GAAG,eAAe,CAAC;QAC5B,UAAU;QACV,IAAI;QACJ,aAAa,EAAE,aAAa,IAAI,oBAAoB;QACpD,yBAAyB;QACzB,aAAa;QACb,QAAQ,EAAE,YAAY,CAAC,QAAQ;KAClC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,cAAc,CAAC;QACxB,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,aAAa;QACb,SAAS,EAAE,YAAY,CAAC,IAAI;QAC5B,QAAQ,EAAE,YAAY,CAAC,QAAQ;KAClC,CAAC,CAAC;IAEH,IAAI,SAA6B,CAAC;IAElC,IAAI,eAAe,EAAE,CAAC;QAClB,SAAS,GAAG,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,CACH,eACI,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAC7B,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,EAAC,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,YAAY,CAAC,KAAK,EAAC,aAE1C,UAAU,EACX,KAAC,UAAU,IACP,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,EACnC,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,EACpD,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,YAEtB,KAAC,YAAY,IAAC,EAAE,EAAE,SAAS,gBAAc,cAAc,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAC5E,KAAC,oBAAoB,IACjB,UAAU,EAAE,gBAAgB,EAC5B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,mBAAmB,IAAI,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAC3D,UAAU,EAAE,MAAA,YAAY,CAAC,OAAO,0CAAE,SAAS,EAC3C,UAAU,EAAE,YAAY,CAAC,UAAU,EACnC,eAAe,EAAE,eAAe,GAClC,GACS,GACN,IACX,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -24,11 +24,22 @@
24
24
  &__vdisks {
25
25
  display: flex;
26
26
  flex: 0 0 auto;
27
- gap: var(--pdisk-gap-width);
27
+ flex-direction: column;
28
28
 
29
29
  margin-bottom: 4px;
30
30
 
31
31
  white-space: nowrap;
32
+
33
+ &_expert {
34
+ gap: var(--g-spacing-half);
35
+
36
+ margin-bottom: 6px;
37
+ }
38
+ }
39
+
40
+ &__vdisks-row {
41
+ display: flex;
42
+ gap: var(--pdisk-gap-width);
32
43
  }
33
44
 
34
45
  &__vdisks-item {
@@ -36,10 +47,77 @@
36
47
 
37
48
  min-width: var(--pdisk-vdisk-width);
38
49
 
50
+ &_all {
51
+ display: flex;
52
+ flex-direction: column;
53
+ gap: 2px;
54
+ }
55
+
39
56
  .ydb-stack__item {
40
57
  .data-table__row:hover & {
41
58
  background: var(--ydb-data-table-color-hover);
42
59
  }
43
60
  }
44
61
  }
62
+
63
+ &__vdisk-size-indicator {
64
+ flex: none;
65
+ align-self: center;
66
+
67
+ max-width: 100%;
68
+ height: 2px;
69
+
70
+ border-radius: var(--g-border-radius-xs);
71
+ background: var(--g-color-base-generic-medium);
72
+ }
73
+
74
+ &__vdisk-progress-bar_expert {
75
+ --progress-bar-full-height: 14px;
76
+ --progress-bar-compact-height: 14px;
77
+ --progress-bar-compact-placeholder-margin-left: var(--g-spacing-half);
78
+ }
79
+
80
+ &__vdisk-progress-bar_all {
81
+ --disk-border-radius: 3px;
82
+
83
+ min-width: 0;
84
+ }
85
+
86
+ &__vdisk-indicator {
87
+ flex-shrink: 0;
88
+
89
+ margin: var(--g-spacing-half);
90
+ }
91
+
92
+ &__node-bar-content {
93
+ position: absolute;
94
+ z-index: 2;
95
+ inset: 0;
96
+
97
+ display: grid;
98
+ align-items: center;
99
+ grid-template-columns: 1fr auto 1fr;
100
+ }
101
+
102
+ &__node-bar-left {
103
+ justify-self: start;
104
+ }
105
+
106
+ &__node-bar-center {
107
+ justify-self: center;
108
+
109
+ .storage-disk-progress-bar__title {
110
+ margin-right: 0;
111
+ }
112
+ }
113
+
114
+ &__node-bar-type {
115
+ --ydb-progress-bar-font-color: var(--entity-state-font-color);
116
+
117
+ display: flex;
118
+ align-items: center;
119
+ justify-self: end;
120
+
121
+ gap: var(--g-spacing-1);
122
+ }
45
123
  }
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { VDiskDisplayStateGetter } from '../../../utils/disks/displayState';
3
+ import type { PreparedVDisk } from '../../../utils/disks/types';
4
+ import type { StorageViewContext } from '../types';
5
+ import type { PDiskProps } from './PDisk';
6
+ interface PDiskWithVDisksProps extends Omit<PDiskProps, 'topContent'> {
7
+ vDisks?: PreparedVDisk[];
8
+ viewContext?: StorageViewContext;
9
+ withVDiskIcons?: boolean;
10
+ getVDiskDisplayState?: VDiskDisplayStateGetter;
11
+ expertMode?: boolean;
12
+ isAllVDisksLayout?: boolean;
13
+ highlightedDisk?: string;
14
+ setHighlightedDisk?: (id?: string) => void;
15
+ }
16
+ export declare const PDiskWithVDisks: React.NamedExoticComponent<PDiskWithVDisksProps>;
17
+ export {};
@@ -0,0 +1,48 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { chunk } from 'lodash';
4
+ import { VDisk } from '../../../components/VDisk/VDisk';
5
+ import { cn } from '../../../utils/cn';
6
+ import { NODE_EXPERT_ALL_VDISKS_PER_ROW, NODE_EXPERT_ALL_VDISK_WIDTH, calculateNodeExpertVDiskRows, } from '../PaginatedStorageNodes/nodeExpertModeLayout';
7
+ import { DISKS_POPUP_DEBOUNCE_TIMEOUT } from '../shared';
8
+ import { isVdiskActive } from '../utils';
9
+ import { PDisk } from './PDisk';
10
+ const b = cn('pdisk-storage');
11
+ const NODE_EXPERT_VDISK_ICON_SIZE = 10;
12
+ const NODE_EXPERT_VDISK_ICON_GROUP_SIZE = 8;
13
+ const VDiskItem = React.memo(function VDiskItem({ vDisk, vDiskWidth, viewContext, withIcon, getVDiskDisplayState, expertMode, isAllVDisksLayout, delayOpen, delayClose, highlighted, setHighlightedDisk, }) {
14
+ const id = vDisk.StringifiedId;
15
+ const onShowPopup = React.useCallback(() => setHighlightedDisk === null || setHighlightedDisk === void 0 ? void 0 : setHighlightedDisk(id), [id, setHighlightedDisk]);
16
+ const onHidePopup = React.useCallback(() => setHighlightedDisk === null || setHighlightedDisk === void 0 ? void 0 : setHighlightedDisk(undefined), [setHighlightedDisk]);
17
+ const diskWidth = isAllVDisksLayout ? NODE_EXPERT_ALL_VDISK_WIDTH : vDiskWidth;
18
+ return (_jsxs("div", { className: b('vdisks-item', { all: isAllVDisksLayout }), style: expertMode
19
+ ? { width: diskWidth, flexBasis: diskWidth }
20
+ : {
21
+ // 1 is small enough for empty disks to be of the minimum width
22
+ // but if all of them are empty, `flex-grow: 1` would size them evenly
23
+ flexGrow: Number(vDisk.AllocatedSize) || 1,
24
+ }, children: [isAllVDisksLayout ? (_jsx("div", { "aria-hidden": true, className: b('vdisk-size-indicator'), style: { width: vDiskWidth } })) : null, _jsx(VDisk, { withIcon: withIcon, data: vDisk, inactive: !isVdiskActive(vDisk, viewContext), compact: !isAllVDisksLayout, allModeSize: isAllVDisksLayout ? 's' : undefined, delayOpen: delayOpen, delayClose: delayClose, showPopup: highlighted, onShowPopup: onShowPopup, onHidePopup: onHidePopup, highlighted: highlighted, getDisplayState: getVDiskDisplayState, iconSize: expertMode ? NODE_EXPERT_VDISK_ICON_SIZE : undefined, iconGroupSize: expertMode ? NODE_EXPERT_VDISK_ICON_GROUP_SIZE : undefined, indicatorClassName: expertMode ? b('vdisk-indicator') : undefined, progressBarClassName: expertMode
25
+ ? b('vdisk-progress-bar', {
26
+ expert: true,
27
+ all: isAllVDisksLayout,
28
+ })
29
+ : undefined })] }));
30
+ });
31
+ export const PDiskWithVDisks = React.memo(function PDiskWithVDisks({ vDisks, viewContext, withIcon, withVDiskIcons, getVDiskDisplayState, expertMode, isAllVDisksLayout, width, delayOpen = DISKS_POPUP_DEBOUNCE_TIMEOUT, delayClose = DISKS_POPUP_DEBOUNCE_TIMEOUT, highlightedDisk, setHighlightedDisk, ...pDiskProps }) {
32
+ const vDiskRows = React.useMemo(() => {
33
+ const compactVDiskRows = expertMode
34
+ ? calculateNodeExpertVDiskRows(vDisks !== null && vDisks !== void 0 ? vDisks : [], width)
35
+ : [(vDisks !== null && vDisks !== void 0 ? vDisks : []).map((vDisk) => ({ vDisk, width: undefined }))];
36
+ // All-mode size markers use the compact allocation scale; only the fixed-width cards
37
+ // are regrouped into rows of four.
38
+ return isAllVDisksLayout
39
+ ? chunk(compactVDiskRows.flat(), NODE_EXPERT_ALL_VDISKS_PER_ROW)
40
+ : compactVDiskRows;
41
+ }, [expertMode, isAllVDisksLayout, vDisks, width]);
42
+ const vDisksContent = (vDisks === null || vDisks === void 0 ? void 0 : vDisks.length) ? (_jsx("div", { className: b('vdisks', { expert: expertMode }), children: vDiskRows.map((row, rowIndex) => {
43
+ var _a, _b;
44
+ return (_jsx("div", { className: b('vdisks-row'), children: row.map(({ vDisk, width: vDiskWidth }) => (_jsx(VDiskItem, { vDisk: vDisk, vDiskWidth: vDiskWidth, viewContext: viewContext, withIcon: withVDiskIcons !== null && withVDiskIcons !== void 0 ? withVDiskIcons : withIcon, getVDiskDisplayState: getVDiskDisplayState, expertMode: expertMode, isAllVDisksLayout: isAllVDisksLayout, delayOpen: delayOpen, delayClose: delayClose, highlighted: highlightedDisk === vDisk.StringifiedId, setHighlightedDisk: setHighlightedDisk }, vDisk.StringifiedId))) }, (_b = (_a = row[0]) === null || _a === void 0 ? void 0 : _a.vDisk.StringifiedId) !== null && _b !== void 0 ? _b : rowIndex));
45
+ }) })) : null;
46
+ return (_jsx(PDisk, { ...pDiskProps, width: width, withIcon: withIcon, delayOpen: delayOpen, delayClose: delayClose, topContent: vDisksContent }));
47
+ });
48
+ //# sourceMappingURL=PDiskWithVDisks.js.map