ydb-embedded-ui 21.1.0 → 22.1.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 (658) hide show
  1. package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +0 -4
  2. package/dist/components/ComponentsProvider/componentsRegistry.d.ts +0 -2
  3. package/dist/components/ComponentsProvider/componentsRegistry.js +1 -3
  4. package/dist/components/ComponentsProvider/componentsRegistry.js.map +1 -1
  5. package/dist/components/ContentWithPopup/ContentWithPopup.d.ts +1 -1
  6. package/dist/components/ContentWithPopup/ContentWithPopup.js +4 -2
  7. package/dist/components/ContentWithPopup/ContentWithPopup.js.map +1 -1
  8. package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.d.ts +2 -1
  9. package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.js +5 -2
  10. package/dist/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.js.map +1 -1
  11. package/dist/components/DiskStateProgressBar/AllModeIndicators.d.ts +2 -1
  12. package/dist/components/DiskStateProgressBar/AllModeIndicators.js +4 -2
  13. package/dist/components/DiskStateProgressBar/AllModeIndicators.js.map +1 -1
  14. package/dist/components/DiskStateProgressBar/DiskIndicator.d.ts +7 -2
  15. package/dist/components/DiskStateProgressBar/DiskIndicator.js +6 -6
  16. package/dist/components/DiskStateProgressBar/DiskIndicator.js.map +1 -1
  17. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +1 -1
  18. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  19. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +53 -45
  20. package/dist/components/DiskStateProgressBar/PDiskAllModeIndicators.js +9 -1
  21. package/dist/components/DiskStateProgressBar/PDiskAllModeIndicators.js.map +1 -1
  22. package/dist/components/EvictVDiskButton/EvictVDiskButton.js +7 -3
  23. package/dist/components/EvictVDiskButton/EvictVDiskButton.js.map +1 -1
  24. package/dist/components/FullNodeViewer/FullNodeViewer.js +40 -17
  25. package/dist/components/FullNodeViewer/FullNodeViewer.js.map +1 -1
  26. package/dist/components/FullNodeViewer/FullNodeViewer.scss +3 -3
  27. package/dist/components/FullNodeViewer/i18n/en.json +2 -1
  28. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  29. package/dist/components/HoverPopup/HoverPopup.js +36 -6
  30. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  31. package/dist/components/HoverPopup/getPopupScrollContainer.d.ts +1 -0
  32. package/dist/components/HoverPopup/getPopupScrollContainer.js +20 -0
  33. package/dist/components/HoverPopup/getPopupScrollContainer.js.map +1 -0
  34. package/dist/components/InfoViewer/InfoViewer.js +1 -1
  35. package/dist/components/InfoViewer/InfoViewer.js.map +1 -1
  36. package/dist/components/InfoViewer/formatters/pqGroup.js +6 -1
  37. package/dist/components/InfoViewer/formatters/pqGroup.js.map +1 -1
  38. package/dist/components/InfoViewer/schemaInfo/i18n/en.json +1 -0
  39. package/dist/components/InfoViewer/schemaInfo/i18n/index.d.ts +1 -1
  40. package/dist/components/InfoViewer/schemaInfo/utils.js +6 -1
  41. package/dist/components/InfoViewer/schemaInfo/utils.js.map +1 -1
  42. package/dist/components/MetricChart/reducer.d.ts +2 -2
  43. package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +4 -1
  44. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +13 -9
  45. package/dist/components/NodeHostWrapper/NodeHostWrapper.js.map +1 -1
  46. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  47. package/dist/components/PaginatedTable/KeyboardNavigation.d.ts +9 -0
  48. package/dist/components/PaginatedTable/KeyboardNavigation.js +14 -0
  49. package/dist/components/PaginatedTable/KeyboardNavigation.js.map +1 -0
  50. package/dist/components/PaginatedTable/PaginatedTable.d.ts +4 -1
  51. package/dist/components/PaginatedTable/PaginatedTable.js +77 -4
  52. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  53. package/dist/components/PaginatedTable/PaginatedTable.scss +10 -0
  54. package/dist/components/PaginatedTable/PaginatedTableWithLayout.d.ts +2 -1
  55. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js +2 -2
  56. package/dist/components/PaginatedTable/PaginatedTableWithLayout.js.map +1 -1
  57. package/dist/components/PaginatedTable/ResizeablePaginatedTable.js +2 -1
  58. package/dist/components/PaginatedTable/ResizeablePaginatedTable.js.map +1 -1
  59. package/dist/components/PaginatedTable/TableChunk.js +6 -10
  60. package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
  61. package/dist/components/PaginatedTable/TableChunksRenderer.d.ts +2 -1
  62. package/dist/components/PaginatedTable/TableChunksRenderer.js +6 -1
  63. package/dist/components/PaginatedTable/TableChunksRenderer.js.map +1 -1
  64. package/dist/components/PaginatedTable/TableRow.d.ts +3 -1
  65. package/dist/components/PaginatedTable/TableRow.js +24 -8
  66. package/dist/components/PaginatedTable/TableRow.js.map +1 -1
  67. package/dist/components/PaginatedTable/getTableChunkQueryParams.d.ts +23 -0
  68. package/dist/components/PaginatedTable/getTableChunkQueryParams.js +12 -0
  69. package/dist/components/PaginatedTable/getTableChunkQueryParams.js.map +1 -0
  70. package/dist/components/PaginatedTable/rowLookup.d.ts +8 -0
  71. package/dist/components/PaginatedTable/rowLookup.js +35 -0
  72. package/dist/components/PaginatedTable/rowLookup.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/SegmentedProgress/SegmentedProgress.d.ts +22 -1
  90. package/dist/components/SegmentedProgress/SegmentedProgress.js +44 -3
  91. package/dist/components/SegmentedProgress/SegmentedProgress.js.map +1 -1
  92. package/dist/components/SegmentedProgress/SegmentedProgress.scss +5 -0
  93. package/dist/components/ShardsTable/columns.js +6 -3
  94. package/dist/components/ShardsTable/columns.js.map +1 -1
  95. package/dist/components/ShardsTable/i18n/en.json +1 -0
  96. package/dist/components/ShardsTable/i18n/index.d.ts +1 -1
  97. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +1 -13
  98. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  99. package/dist/components/StorageGroupInfo/i18n/en.json +0 -1
  100. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  101. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.d.ts +54 -0
  102. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.js +389 -0
  103. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.js.map +1 -0
  104. package/dist/components/TableKeyboardNavigation/TableKeyboardNavigation.scss +16 -0
  105. package/dist/components/TableKeyboardNavigation/i18n/en.json +4 -0
  106. package/dist/components/TableKeyboardNavigation/i18n/index.d.ts +2 -0
  107. package/dist/components/TableKeyboardNavigation/i18n/index.js +4 -0
  108. package/dist/components/TableKeyboardNavigation/i18n/index.js.map +1 -0
  109. package/dist/components/TableKeyboardNavigation/utils.d.ts +3 -0
  110. package/dist/components/TableKeyboardNavigation/utils.js +24 -0
  111. package/dist/components/TableKeyboardNavigation/utils.js.map +1 -0
  112. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.d.ts +4 -1
  113. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js +4 -2
  114. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.js.map +1 -1
  115. package/dist/components/TenantNameWrapper/TenantNameWrapper.d.ts +3 -1
  116. package/dist/components/TenantNameWrapper/TenantNameWrapper.js +8 -12
  117. package/dist/components/TenantNameWrapper/TenantNameWrapper.js.map +1 -1
  118. package/dist/components/TenantNameWrapper/utils.d.ts +10 -0
  119. package/dist/components/TenantNameWrapper/utils.js +11 -0
  120. package/dist/components/TenantNameWrapper/utils.js.map +1 -1
  121. package/dist/components/UptimeViewer/UptimeViewer.d.ts +2 -2
  122. package/dist/components/VDisk/VDisk.d.ts +5 -1
  123. package/dist/components/VDisk/VDisk.js +84 -29
  124. package/dist/components/VDisk/VDisk.js.map +1 -1
  125. package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +4 -1
  126. package/dist/components/VDisk/VDiskWithDonorsStack.js +8 -4
  127. package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
  128. package/dist/components/VDisk/i18n/en.json +11 -0
  129. package/dist/components/VDisk/i18n/index.d.ts +1 -1
  130. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  131. package/dist/components/nodesColumns/columns.d.ts +4 -1
  132. package/dist/components/nodesColumns/columns.js +13 -0
  133. package/dist/components/nodesColumns/columns.js.map +1 -1
  134. package/dist/components/nodesColumns/constants.d.ts +2 -0
  135. package/dist/components/nodesColumns/constants.js +6 -0
  136. package/dist/components/nodesColumns/constants.js.map +1 -1
  137. package/dist/components/nodesColumns/i18n/en.json +2 -1
  138. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  139. package/dist/containers/App/App.js +3 -3
  140. package/dist/containers/App/App.js.map +1 -1
  141. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +8 -5
  142. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  143. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +8 -0
  144. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.d.ts +4 -3
  145. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js +62 -25
  146. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.js.map +1 -1
  147. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.scss +18 -0
  148. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.d.ts +22 -0
  149. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.js +49 -0
  150. package/dist/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.js.map +1 -0
  151. package/dist/containers/Cluster/i18n/en.json +13 -4
  152. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  153. package/dist/containers/Clusters/Clusters.js +11 -7
  154. package/dist/containers/Clusters/Clusters.js.map +1 -1
  155. package/dist/containers/Node/Node.js +20 -17
  156. package/dist/containers/Node/Node.js.map +1 -1
  157. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js +1 -1
  158. package/dist/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.js.map +1 -1
  159. package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js +11 -1
  160. package/dist/containers/Node/NodeNetwork/NodeNetworkTable.js.map +1 -1
  161. package/dist/containers/Node/NodePages.d.ts +3 -9
  162. package/dist/containers/Node/NodePages.js +2 -10
  163. package/dist/containers/Node/NodePages.js.map +1 -1
  164. package/dist/containers/Node/Threads/ThreadStatesBar/ThreadStatesBar.d.ts +1 -1
  165. package/dist/containers/Node/i18n/en.json +0 -3
  166. package/dist/containers/Node/i18n/index.d.ts +1 -1
  167. package/dist/containers/Nodes/NodesControls/NodesControls.js +1 -1
  168. package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
  169. package/dist/containers/Nodes/NodesTable.js +13 -2
  170. package/dist/containers/Nodes/NodesTable.js.map +1 -1
  171. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js +1 -1
  172. package/dist/containers/Nodes/PaginatedNodes/GroupedNodesComponent.js.map +1 -1
  173. package/dist/containers/Nodes/columns/columns.js +2 -1
  174. package/dist/containers/Nodes/columns/columns.js.map +1 -1
  175. package/dist/containers/Storage/Disks/Disks.d.ts +2 -1
  176. package/dist/containers/Storage/Disks/Disks.js +34 -23
  177. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  178. package/dist/containers/Storage/Disks/Disks.scss +5 -0
  179. package/dist/containers/Storage/PDisk/PDisk.d.ts +6 -9
  180. package/dist/containers/Storage/PDisk/PDisk.js +92 -37
  181. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  182. package/dist/containers/Storage/PDisk/PDisk.scss +79 -1
  183. package/dist/containers/Storage/PDisk/PDiskWithVDisks.d.ts +17 -0
  184. package/dist/containers/Storage/PDisk/PDiskWithVDisks.js +48 -0
  185. package/dist/containers/Storage/PDisk/PDiskWithVDisks.js.map +1 -0
  186. package/dist/containers/Storage/PDisk/i18n/en.json +8 -0
  187. package/dist/containers/Storage/PDisk/i18n/index.d.ts +1 -1
  188. package/dist/containers/Storage/PDisk/index.d.ts +1 -0
  189. package/dist/containers/Storage/PDisk/index.js +1 -0
  190. package/dist/containers/Storage/PDisk/index.js.map +1 -1
  191. package/dist/containers/Storage/PDisks/PDisks.d.ts +4 -1
  192. package/dist/containers/Storage/PDisks/PDisks.js +52 -6
  193. package/dist/containers/Storage/PDisks/PDisks.js.map +1 -1
  194. package/dist/containers/Storage/PaginatedStorage.js +3 -1
  195. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  196. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js +1 -2
  197. package/dist/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.js.map +1 -1
  198. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +2 -2
  199. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  200. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js +12 -4
  201. package/dist/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.js.map +1 -1
  202. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +2 -2
  203. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  204. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.d.ts +1 -1
  205. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.js +2 -3
  206. package/dist/containers/Storage/PaginatedStorageGroupsTable/getGroups.js.map +1 -1
  207. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.d.ts +1 -0
  208. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js +8 -5
  209. package/dist/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.js.map +1 -1
  210. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js +6 -3
  211. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.js.map +1 -1
  212. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js +17 -5
  213. package/dist/containers/Storage/PaginatedStorageNodes/StorageNodesControls.js.map +1 -1
  214. package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.d.ts +16 -0
  215. package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.js +68 -0
  216. package/dist/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.js.map +1 -0
  217. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.d.ts +2 -1
  218. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js +14 -2
  219. package/dist/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.js.map +1 -1
  220. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js +2 -2
  221. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -1
  222. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +7 -2
  223. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
  224. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/types.d.ts +2 -0
  225. package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.d.ts +5 -0
  226. package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.js +31 -0
  227. package/dist/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.js.map +1 -0
  228. package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.d.ts +5 -0
  229. package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.js +31 -0
  230. package/dist/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.js.map +1 -0
  231. package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.d.ts +21 -0
  232. package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.js +13 -0
  233. package/dist/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.js.map +1 -0
  234. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js +1 -0
  235. package/dist/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.js.map +1 -1
  236. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js +1 -0
  237. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js.map +1 -1
  238. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js +3 -2
  239. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js.map +1 -1
  240. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js +1 -0
  241. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js.map +1 -1
  242. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +4 -4
  243. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  244. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js +3 -3
  245. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js.map +1 -1
  246. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +1 -1
  247. package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.d.ts +4 -0
  248. package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.js +49 -0
  249. package/dist/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.js.map +1 -0
  250. package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +20 -0
  251. package/dist/containers/Storage/StorageExpertModePanel/constants.js +22 -0
  252. package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -1
  253. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +2 -2
  254. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  255. package/dist/containers/Storage/TableGroup/TableGroup.js +2 -1
  256. package/dist/containers/Storage/TableGroup/TableGroup.js.map +1 -1
  257. package/dist/containers/Storage/VDisks/VDisks.d.ts +2 -1
  258. package/dist/containers/Storage/VDisks/VDisks.js +11 -4
  259. package/dist/containers/Storage/VDisks/VDisks.js.map +1 -1
  260. package/dist/containers/Storage/VDisks/VDisks.scss +3 -0
  261. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.d.ts +1 -0
  262. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js +73 -102
  263. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js.map +1 -1
  264. package/dist/containers/Storage/useStorageQueryParams.d.ts +9 -1
  265. package/dist/containers/Storage/useStorageQueryParams.js +50 -2
  266. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  267. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.d.ts +1 -0
  268. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js +50 -13
  269. package/dist/containers/Storage/useStorageVDiskDisplayStateGetter.js.map +1 -1
  270. package/dist/containers/Storage/utils/useStorageColumnsSettings.d.ts +4 -1
  271. package/dist/containers/Storage/utils/useStorageColumnsSettings.js +49 -39
  272. package/dist/containers/Storage/utils/useStorageColumnsSettings.js.map +1 -1
  273. package/dist/containers/Storage/utils/useVirtualizedDiskList.d.ts +10 -0
  274. package/dist/containers/Storage/utils/useVirtualizedDiskList.js +131 -0
  275. package/dist/containers/Storage/utils/useVirtualizedDiskList.js.map +1 -0
  276. package/dist/containers/StorageGroupPage/StorageGroupPage.js +2 -3
  277. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  278. package/dist/containers/Tablet/Tablet.js +4 -2
  279. package/dist/containers/Tablet/Tablet.js.map +1 -1
  280. package/dist/containers/Tablet/components/TabletControls/TabletControls.js +3 -1
  281. package/dist/containers/Tablet/components/TabletControls/TabletControls.js.map +1 -1
  282. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +9 -3
  283. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
  284. package/dist/containers/Tablets/TabletsTable.js +25 -1
  285. package/dist/containers/Tablets/TabletsTable.js.map +1 -1
  286. package/dist/containers/Tablets/i18n/en.json +2 -1
  287. package/dist/containers/Tablets/i18n/index.d.ts +1 -1
  288. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationPaths/i18n/index.d.ts +1 -1
  289. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +2 -1
  290. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  291. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.d.ts +7 -0
  292. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.js +69 -0
  293. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.js.map +1 -0
  294. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/en.json +9 -0
  295. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.d.ts +2 -0
  296. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.js +5 -0
  297. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.js.map +1 -0
  298. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.d.ts +1 -0
  299. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.js +2 -0
  300. package/dist/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.js.map +1 -0
  301. package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.js +3 -3
  302. package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.js.map +1 -1
  303. package/dist/containers/Tenant/Diagnostics/Partitions/utils/constants.d.ts +2 -2
  304. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +1 -3
  305. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  306. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.d.ts +5 -5
  307. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.d.ts +2 -1
  308. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js +3 -2
  309. package/dist/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.js.map +1 -1
  310. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +1 -1
  311. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -1
  312. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +1 -1
  313. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
  314. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +1 -1
  315. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js.map +1 -1
  316. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +3 -3
  317. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js +2 -4
  318. package/dist/containers/Tenant/Diagnostics/useDiagnosticsPages.js.map +1 -1
  319. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +2 -1
  320. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js.map +1 -1
  321. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +1 -1
  322. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js.map +1 -1
  323. package/dist/containers/Tenants/TenantsTable.js +37 -6
  324. package/dist/containers/Tenants/TenantsTable.js.map +1 -1
  325. package/dist/containers/VDiskPage/VDiskPage.js +1 -1
  326. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  327. package/dist/routes.d.ts +1 -0
  328. package/dist/routes.js.map +1 -1
  329. package/dist/services/api/tablets.d.ts +6 -4
  330. package/dist/services/api/tablets.js +9 -8
  331. package/dist/services/api/tablets.js.map +1 -1
  332. package/dist/services/api/viewer.d.ts +1 -2
  333. package/dist/services/api/viewer.js +0 -11
  334. package/dist/services/api/viewer.js.map +1 -1
  335. package/dist/store/configureStore.d.ts +12 -12
  336. package/dist/store/defaultStore.d.ts +6 -6
  337. package/dist/store/reducers/api.d.ts +1 -1
  338. package/dist/store/reducers/api.js +3 -0
  339. package/dist/store/reducers/api.js.map +1 -1
  340. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  341. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  342. package/dist/store/reducers/capabilities/capabilities.d.ts +47 -47
  343. package/dist/store/reducers/capabilities/hooks.d.ts +6 -6
  344. package/dist/store/reducers/capabilities/hooks.js +8 -3
  345. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  346. package/dist/store/reducers/cluster/cluster.d.ts +5 -5
  347. package/dist/store/reducers/cluster/cluster.js +3 -2
  348. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  349. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  350. package/dist/store/reducers/clusters/clusters.js +2 -1
  351. package/dist/store/reducers/clusters/clusters.js.map +1 -1
  352. package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
  353. package/dist/store/reducers/configs.d.ts +3 -3
  354. package/dist/store/reducers/entityDataTags.d.ts +21 -0
  355. package/dist/store/reducers/entityDataTags.js +24 -0
  356. package/dist/store/reducers/entityDataTags.js.map +1 -0
  357. package/dist/store/reducers/environments/environments.d.ts +2 -2
  358. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +4 -4
  359. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +111 -111
  360. package/dist/store/reducers/heatmap.d.ts +2 -2
  361. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  362. package/dist/store/reducers/index.d.ts +8 -8
  363. package/dist/store/reducers/network/network.d.ts +2 -2
  364. package/dist/store/reducers/node/node.d.ts +2 -5
  365. package/dist/store/reducers/node/node.js +0 -12
  366. package/dist/store/reducers/node/node.js.map +1 -1
  367. package/dist/store/reducers/node/types.d.ts +0 -14
  368. package/dist/store/reducers/nodes/nodes.d.ts +2 -2
  369. package/dist/store/reducers/nodesList.d.ts +6 -264
  370. package/dist/store/reducers/nodesList.js +1 -1
  371. package/dist/store/reducers/nodesList.js.map +1 -1
  372. package/dist/store/reducers/operations.d.ts +5 -5
  373. package/dist/store/reducers/overview/overview.d.ts +2 -2
  374. package/dist/store/reducers/partitions/partitions.d.ts +3 -3
  375. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
  376. package/dist/store/reducers/planToSvg.d.ts +2 -2
  377. package/dist/store/reducers/preview.d.ts +2 -2
  378. package/dist/store/reducers/query/api.d.ts +4 -4
  379. package/dist/store/reducers/replication.d.ts +2 -2
  380. package/dist/store/reducers/schema/schema.d.ts +16 -16
  381. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +40 -40
  382. package/dist/store/reducers/settings/api.d.ts +4 -4
  383. package/dist/store/reducers/settings/constants.d.ts +4 -0
  384. package/dist/store/reducers/settings/constants.js +4 -0
  385. package/dist/store/reducers/settings/constants.js.map +1 -1
  386. package/dist/store/reducers/settings/settings.d.ts +1 -1
  387. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  388. package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
  389. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +1 -0
  390. package/dist/store/reducers/storage/prepareGroupsDisks.js +17 -13
  391. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  392. package/dist/store/reducers/storage/requestStorageData.d.ts +2 -4
  393. package/dist/store/reducers/storage/requestStorageData.js +4 -10
  394. package/dist/store/reducers/storage/requestStorageData.js.map +1 -1
  395. package/dist/store/reducers/storage/storage.d.ts +4 -6
  396. package/dist/store/reducers/storage/storage.js.map +1 -1
  397. package/dist/store/reducers/storage/types.d.ts +0 -9
  398. package/dist/store/reducers/storage/utils.d.ts +1 -2
  399. package/dist/store/reducers/storage/utils.js +11 -116
  400. package/dist/store/reducers/storage/utils.js.map +1 -1
  401. package/dist/store/reducers/storageUsage/StorageUsage.d.ts +2 -2
  402. package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
  403. package/dist/store/reducers/table/table.d.ts +4 -4
  404. package/dist/store/reducers/tableData.d.ts +2 -2
  405. package/dist/store/reducers/tableData.js.map +1 -1
  406. package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
  407. package/dist/store/reducers/tableSchemaData.d.ts +2 -2
  408. package/dist/store/reducers/tablet.d.ts +11 -8
  409. package/dist/store/reducers/tablet.js +6 -6
  410. package/dist/store/reducers/tablet.js.map +1 -1
  411. package/dist/store/reducers/tablets.d.ts +3 -3
  412. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  413. package/dist/store/reducers/tenant/tenant.js +14 -1
  414. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  415. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  416. package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.d.ts +2 -2
  417. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  418. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js +1 -1
  419. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.js.map +1 -1
  420. package/dist/store/reducers/tenants/tenants.d.ts +3 -3
  421. package/dist/store/reducers/tenants/tenants.js +2 -1
  422. package/dist/store/reducers/tenants/tenants.js.map +1 -1
  423. package/dist/store/reducers/topic/topic.d.ts +84 -84
  424. package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
  425. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  426. package/dist/store/state-url-mapping.js +5 -1
  427. package/dist/store/state-url-mapping.js.map +1 -1
  428. package/dist/types/api/capabilities.d.ts +2 -2
  429. package/dist/types/api/pdisk.d.ts +2 -0
  430. package/dist/types/api/pdisk.js.map +1 -1
  431. package/dist/types/api/schema/persQueueGroup.d.ts +2 -2
  432. package/dist/types/api/schema/schema.d.ts +15 -0
  433. package/dist/types/api/schema/schema.js.map +1 -1
  434. package/dist/types/api/schema/tableIndex.d.ts +1 -0
  435. package/dist/types/api/storage.d.ts +6 -111
  436. package/dist/types/api/storage.js.map +1 -1
  437. package/dist/types/api/vdisk.d.ts +2 -0
  438. package/dist/types/api/vdisk.js.map +1 -1
  439. package/dist/uiFactory/types.d.ts +2 -0
  440. package/dist/utils/developerUI/tabletDevUi.d.ts +1 -0
  441. package/dist/utils/developerUI/tabletDevUi.js +4 -0
  442. package/dist/utils/developerUI/tabletDevUi.js.map +1 -0
  443. package/dist/utils/disks/displayState.d.ts +2 -0
  444. package/dist/utils/disks/displayState.js.map +1 -1
  445. package/dist/utils/disks/getDiskBarTone.d.ts +2 -1
  446. package/dist/utils/disks/getDiskBarTone.js +5 -1
  447. package/dist/utils/disks/getDiskBarTone.js.map +1 -1
  448. package/dist/utils/disks/pdiskState.js +2 -2
  449. package/dist/utils/disks/pdiskState.js.map +1 -1
  450. package/dist/utils/disks/prepareDisks.js +19 -9
  451. package/dist/utils/disks/prepareDisks.js.map +1 -1
  452. package/dist/utils/disks/types.d.ts +2 -1
  453. package/dist/utils/hooks/useWhoami.d.ts +5 -5
  454. package/dist/utils/query.d.ts +1 -0
  455. package/dist/utils/query.js +6 -0
  456. package/dist/utils/query.js.map +1 -1
  457. package/package.json +1 -1
  458. package/src/components/ComponentsProvider/componentsRegistry.ts +1 -4
  459. package/src/components/ContentWithPopup/ContentWithPopup.tsx +7 -0
  460. package/src/components/DiskStateProgressBar/AllModeCapacityAlertIndicator.tsx +15 -2
  461. package/src/components/DiskStateProgressBar/AllModeIndicators.tsx +19 -6
  462. package/src/components/DiskStateProgressBar/DiskIndicator.tsx +19 -8
  463. package/src/components/DiskStateProgressBar/DiskStateProgressBar.scss +53 -45
  464. package/src/components/DiskStateProgressBar/DiskStateProgressBar.tsx +1 -1
  465. package/src/components/DiskStateProgressBar/PDiskAllModeIndicators.tsx +16 -3
  466. package/src/components/EvictVDiskButton/EvictVDiskButton.tsx +10 -3
  467. package/src/components/FullNodeViewer/FullNodeViewer.scss +3 -3
  468. package/src/components/FullNodeViewer/FullNodeViewer.tsx +81 -34
  469. package/src/components/FullNodeViewer/i18n/en.json +2 -1
  470. package/src/components/HoverPopup/HoverPopup.tsx +53 -19
  471. package/src/components/HoverPopup/getPopupScrollContainer.ts +20 -0
  472. package/src/components/InfoViewer/InfoViewer.tsx +4 -2
  473. package/src/components/InfoViewer/formatters/pqGroup.ts +6 -2
  474. package/src/components/InfoViewer/schemaInfo/i18n/en.json +1 -0
  475. package/src/components/InfoViewer/schemaInfo/utils.tsx +9 -0
  476. package/src/components/NodeHostWrapper/NodeHostWrapper.tsx +23 -13
  477. package/src/components/PaginatedTable/KeyboardNavigation.tsx +30 -0
  478. package/src/components/PaginatedTable/PaginatedTable.scss +10 -0
  479. package/src/components/PaginatedTable/PaginatedTable.tsx +128 -4
  480. package/src/components/PaginatedTable/PaginatedTableWithLayout.tsx +6 -1
  481. package/src/components/PaginatedTable/ResizeablePaginatedTable.tsx +6 -1
  482. package/src/components/PaginatedTable/TableChunk.tsx +6 -14
  483. package/src/components/PaginatedTable/TableChunksRenderer.tsx +12 -0
  484. package/src/components/PaginatedTable/TableRow.tsx +54 -20
  485. package/src/components/PaginatedTable/getTableChunkQueryParams.ts +25 -0
  486. package/src/components/PaginatedTable/rowLookup.ts +63 -0
  487. package/src/components/PaginatedTable/useKeyboardNavigation.ts +115 -0
  488. package/src/components/ResizeableDataTable/DataTableKeyboardNavigation.tsx +194 -0
  489. package/src/components/ResizeableDataTable/ResizeableDataTable.scss +10 -0
  490. package/src/components/ResizeableDataTable/ResizeableDataTable.tsx +100 -5
  491. package/src/components/ResizeableDataTable/getDataTableOrder.ts +18 -0
  492. package/src/components/Search/Search.tsx +8 -1
  493. package/src/components/SegmentedProgress/SegmentedProgress.scss +5 -0
  494. package/src/components/SegmentedProgress/SegmentedProgress.tsx +99 -10
  495. package/src/components/ShardsTable/columns.tsx +14 -5
  496. package/src/components/ShardsTable/i18n/en.json +1 -0
  497. package/src/components/StorageGroupInfo/StorageGroupInfo.tsx +0 -13
  498. package/src/components/StorageGroupInfo/i18n/en.json +0 -1
  499. package/src/components/TableKeyboardNavigation/TableKeyboardNavigation.scss +16 -0
  500. package/src/components/TableKeyboardNavigation/TableKeyboardNavigation.tsx +519 -0
  501. package/src/components/TableKeyboardNavigation/i18n/en.json +4 -0
  502. package/src/components/TableKeyboardNavigation/i18n/index.ts +5 -0
  503. package/src/components/TableKeyboardNavigation/utils.ts +36 -0
  504. package/src/components/TableWithControlsLayout/TableWithControlsLayout.tsx +26 -1
  505. package/src/components/TenantNameWrapper/TenantNameWrapper.tsx +14 -15
  506. package/src/components/TenantNameWrapper/utils.ts +26 -0
  507. package/src/components/VDisk/VDisk.tsx +115 -41
  508. package/src/components/VDisk/VDiskWithDonorsStack.tsx +18 -3
  509. package/src/components/VDisk/i18n/en.json +11 -0
  510. package/src/components/nodesColumns/columns.tsx +13 -1
  511. package/src/components/nodesColumns/constants.ts +6 -0
  512. package/src/components/nodesColumns/i18n/en.json +2 -1
  513. package/src/containers/App/App.tsx +3 -3
  514. package/src/containers/Cluster/ClusterInfo/ClusterInfo.scss +8 -0
  515. package/src/containers/Cluster/ClusterInfo/ClusterInfo.tsx +12 -11
  516. package/src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.scss +18 -0
  517. package/src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/DiskGroupsStats.tsx +143 -58
  518. package/src/containers/Cluster/ClusterInfo/components/DiskGroupsStatsBars/utils.ts +89 -0
  519. package/src/containers/Cluster/i18n/en.json +13 -4
  520. package/src/containers/Clusters/Clusters.tsx +47 -29
  521. package/src/containers/Node/Node.tsx +32 -18
  522. package/src/containers/Node/NodeNetwork/NodeNetworkControls/NodeNetworkControls.tsx +1 -0
  523. package/src/containers/Node/NodeNetwork/NodeNetworkTable.tsx +17 -0
  524. package/src/containers/Node/NodePages.ts +5 -10
  525. package/src/containers/Node/i18n/en.json +0 -4
  526. package/src/containers/Nodes/NodesControls/NodesControls.tsx +1 -0
  527. package/src/containers/Nodes/NodesTable.tsx +23 -1
  528. package/src/containers/Nodes/PaginatedNodes/GroupedNodesComponent.tsx +1 -0
  529. package/src/containers/Nodes/columns/columns.tsx +2 -0
  530. package/src/containers/Storage/Disks/Disks.scss +5 -0
  531. package/src/containers/Storage/Disks/Disks.tsx +156 -92
  532. package/src/containers/Storage/PDisk/PDisk.scss +79 -1
  533. package/src/containers/Storage/PDisk/PDisk.tsx +157 -81
  534. package/src/containers/Storage/PDisk/PDiskWithVDisks.tsx +181 -0
  535. package/src/containers/Storage/PDisk/i18n/en.json +8 -0
  536. package/src/containers/Storage/PDisk/index.ts +1 -0
  537. package/src/containers/Storage/PDisks/PDisks.tsx +157 -22
  538. package/src/containers/Storage/PaginatedStorage.tsx +4 -0
  539. package/src/containers/Storage/PaginatedStorageGroups/GroupedStorageGroupsComponent.tsx +1 -1
  540. package/src/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.tsx +3 -2
  541. package/src/containers/Storage/PaginatedStorageGroupsTable/PaginatedStorageGroupsTable.tsx +15 -6
  542. package/src/containers/Storage/PaginatedStorageGroupsTable/columns/constants.ts +2 -2
  543. package/src/containers/Storage/PaginatedStorageGroupsTable/getGroups.ts +40 -47
  544. package/src/containers/Storage/PaginatedStorageNodes/GroupedStorageNodesComponent.tsx +10 -2
  545. package/src/containers/Storage/PaginatedStorageNodes/StorageNodesComponent.tsx +6 -2
  546. package/src/containers/Storage/PaginatedStorageNodes/StorageNodesControls.tsx +76 -41
  547. package/src/containers/Storage/PaginatedStorageNodes/nodeExpertModeLayout.ts +103 -0
  548. package/src/containers/Storage/PaginatedStorageNodesTable/PaginatedStorageNodesTable.tsx +24 -1
  549. package/src/containers/Storage/PaginatedStorageNodesTable/columns/columns.tsx +3 -1
  550. package/src/containers/Storage/PaginatedStorageNodesTable/columns/hooks.ts +8 -1
  551. package/src/containers/Storage/PaginatedStorageNodesTable/columns/types.ts +2 -0
  552. package/src/containers/Storage/StorageExpertModePanel/StorageGroupsExpertModePanel.tsx +63 -0
  553. package/src/containers/Storage/StorageExpertModePanel/StorageNodesExpertModePanel.tsx +67 -0
  554. package/src/containers/Storage/StorageExpertModePanel/components/ExpertModePanelLayout.tsx +63 -0
  555. package/src/containers/Storage/StorageExpertModePanel/components/FrontQueuesLegend.tsx +1 -0
  556. package/src/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.tsx +1 -0
  557. package/src/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.tsx +3 -2
  558. package/src/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.tsx +1 -0
  559. package/src/containers/Storage/StorageExpertModePanel/components/SpaceLegend.tsx +3 -0
  560. package/src/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.tsx +7 -9
  561. package/src/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.ts +1 -1
  562. package/src/containers/Storage/StorageExpertModePanel/components/renderExpertModeLegend.tsx +58 -0
  563. package/src/containers/Storage/StorageExpertModePanel/constants.ts +26 -0
  564. package/src/containers/Storage/StorageExpertModePanel/i18n/en.json +2 -2
  565. package/src/containers/Storage/TableGroup/TableGroup.tsx +6 -1
  566. package/src/containers/Storage/VDisks/VDisks.scss +3 -0
  567. package/src/containers/Storage/VDisks/VDisks.tsx +29 -7
  568. package/src/containers/Storage/useStoragePDiskDisplayStateGetter.ts +94 -135
  569. package/src/containers/Storage/useStorageQueryParams.ts +120 -1
  570. package/src/containers/Storage/useStorageVDiskDisplayStateGetter.ts +65 -10
  571. package/src/containers/Storage/utils/useStorageColumnsSettings.ts +77 -49
  572. package/src/containers/Storage/utils/useVirtualizedDiskList.ts +156 -0
  573. package/src/containers/StorageGroupPage/StorageGroupPage.tsx +2 -6
  574. package/src/containers/Tablet/Tablet.tsx +4 -2
  575. package/src/containers/Tablet/components/TabletControls/TabletControls.tsx +7 -3
  576. package/src/containers/Tablet/components/TabletInfo/TabletInfo.tsx +13 -3
  577. package/src/containers/Tablets/TabletsTable.tsx +50 -10
  578. package/src/containers/Tablets/i18n/en.json +2 -1
  579. package/src/containers/Tenant/Diagnostics/Overview/Overview.tsx +2 -1
  580. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/ResourcePoolInfo.tsx +106 -0
  581. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/en.json +9 -0
  582. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/i18n/index.ts +7 -0
  583. package/src/containers/Tenant/Diagnostics/Overview/ResourcePoolInfo/index.ts +1 -0
  584. package/src/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.ts +3 -3
  585. package/src/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.tsx +1 -6
  586. package/src/containers/Tenant/Diagnostics/TopQueries/QueriesTableWithDrawer.tsx +6 -0
  587. package/src/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.tsx +4 -0
  588. package/src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx +7 -1
  589. package/src/containers/Tenant/Diagnostics/TopShards/TopShards.tsx +1 -1
  590. package/src/containers/Tenant/Diagnostics/useDiagnosticsPages.ts +1 -4
  591. package/src/containers/Tenant/Query/QueriesHistory/QueriesHistory.tsx +5 -0
  592. package/src/containers/Tenant/Query/SavedQueries/SavedQueries.tsx +6 -0
  593. package/src/containers/Tenants/TenantsTable.tsx +70 -12
  594. package/src/containers/VDiskPage/VDiskPage.tsx +1 -1
  595. package/src/routes.ts +1 -1
  596. package/src/services/api/tablets.ts +16 -7
  597. package/src/services/api/viewer.ts +1 -25
  598. package/src/store/reducers/api.ts +4 -0
  599. package/src/store/reducers/capabilities/hooks.ts +9 -4
  600. package/src/store/reducers/cluster/cluster.ts +3 -2
  601. package/src/store/reducers/clusters/clusters.ts +2 -1
  602. package/src/store/reducers/entityDataTags.ts +34 -0
  603. package/src/store/reducers/node/node.ts +0 -11
  604. package/src/store/reducers/node/types.ts +0 -18
  605. package/src/store/reducers/nodesList.ts +2 -3
  606. package/src/store/reducers/settings/constants.ts +4 -0
  607. package/src/store/reducers/storage/prepareGroupsDisks.ts +16 -11
  608. package/src/store/reducers/storage/requestStorageData.ts +5 -17
  609. package/src/store/reducers/storage/storage.ts +2 -6
  610. package/src/store/reducers/storage/types.ts +0 -9
  611. package/src/store/reducers/storage/utils.ts +14 -180
  612. package/src/store/reducers/tableData.ts +1 -1
  613. package/src/store/reducers/tablet.ts +25 -6
  614. package/src/store/reducers/tenant/tenant.ts +17 -1
  615. package/src/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.ts +1 -1
  616. package/src/store/reducers/tenants/tenants.ts +2 -1
  617. package/src/store/state-url-mapping.ts +5 -1
  618. package/src/types/api/capabilities.ts +2 -2
  619. package/src/types/api/pdisk.ts +2 -0
  620. package/src/types/api/schema/persQueueGroup.ts +2 -2
  621. package/src/types/api/schema/schema.ts +18 -0
  622. package/src/types/api/schema/tableIndex.ts +1 -0
  623. package/src/types/api/storage.ts +11 -131
  624. package/src/types/api/vdisk.ts +2 -0
  625. package/src/uiFactory/types.ts +3 -0
  626. package/src/utils/developerUI/tabletDevUi.ts +3 -0
  627. package/src/utils/disks/displayState.ts +2 -0
  628. package/src/utils/disks/getDiskBarTone.ts +8 -0
  629. package/src/utils/disks/pdiskState.ts +2 -2
  630. package/src/utils/disks/prepareDisks.ts +25 -9
  631. package/src/utils/disks/types.ts +2 -1
  632. package/src/utils/query.ts +7 -0
  633. package/dist/containers/Node/NodeStructure/NodeStructure.d.ts +0 -7
  634. package/dist/containers/Node/NodeStructure/NodeStructure.js +0 -76
  635. package/dist/containers/Node/NodeStructure/NodeStructure.js.map +0 -1
  636. package/dist/containers/Node/NodeStructure/NodeStructure.scss +0 -155
  637. package/dist/containers/Node/NodeStructure/PDiskTitleBadge.d.ts +0 -7
  638. package/dist/containers/Node/NodeStructure/PDiskTitleBadge.js +0 -7
  639. package/dist/containers/Node/NodeStructure/PDiskTitleBadge.js.map +0 -1
  640. package/dist/containers/Node/NodeStructure/Pdisk.d.ts +0 -10
  641. package/dist/containers/Node/NodeStructure/Pdisk.js +0 -125
  642. package/dist/containers/Node/NodeStructure/Pdisk.js.map +0 -1
  643. package/dist/containers/Storage/PDisk/PDiskVDisks.d.ts +0 -13
  644. package/dist/containers/Storage/PDisk/PDiskVDisks.js +0 -20
  645. package/dist/containers/Storage/PDisk/PDiskVDisks.js.map +0 -1
  646. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.d.ts +0 -6
  647. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +0 -66
  648. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +0 -1
  649. package/dist/store/reducers/node/selectors.d.ts +0 -47
  650. package/dist/store/reducers/node/selectors.js +0 -43
  651. package/dist/store/reducers/node/selectors.js.map +0 -1
  652. package/src/containers/Node/NodeStructure/NodeStructure.scss +0 -155
  653. package/src/containers/Node/NodeStructure/NodeStructure.tsx +0 -121
  654. package/src/containers/Node/NodeStructure/PDiskTitleBadge.tsx +0 -18
  655. package/src/containers/Node/NodeStructure/Pdisk.tsx +0 -274
  656. package/src/containers/Storage/PDisk/PDiskVDisks.tsx +0 -65
  657. package/src/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.tsx +0 -151
  658. package/src/store/reducers/node/selectors.ts +0 -68
@@ -9,7 +9,7 @@ import { useIsUserAllowedToMakeChanges } from '../../utils/hooks/useIsUserAllowe
9
9
  import { NodesUptimeFilterValues, nodesUptimeFilterValuesSchema } from '../../utils/nodes';
10
10
  import { STORAGE_GROUPS_LEGACY_CAPACITY_GROUP_BY_FIELDS, storageGroupsGroupByParamSchema, } from './PaginatedStorageGroupsTable/columns/constants';
11
11
  import { storageNodesGroupByParamSchema } from './PaginatedStorageNodesTable/columns/constants';
12
- import { PDisksGroupBy, VDisksGroupBy, pdisksGroupBySchema, vdisksGroupBySchema, } from './StorageExpertModePanel/constants';
12
+ import { PDisksGroupBy, VDisksGroupBy, nodesPdisksGroupBySchema, nodesVdisksGroupBySchema, pdisksGroupBySchema, vdisksGroupBySchema, } from './StorageExpertModePanel/constants';
13
13
  import { STORAGE_SEARCH_PARAM_BY_TYPE } from './constants';
14
14
  export function getStorageGroupByCleanupPatch({ blobMetricsEnabled, storageGroupsGroupBy, storageNodesGroupBy, }) {
15
15
  const patch = {};
@@ -31,7 +31,7 @@ export function getStorageGroupByCleanupPatch({ blobMetricsEnabled, storageGroup
31
31
  return patch;
32
32
  }
33
33
  export function useStorageQueryParams() {
34
- var _a, _b, _c, _d, _e, _f;
34
+ var _a, _b, _c, _d, _e, _f, _g, _h;
35
35
  const [queryParams, setQueryParams] = useQueryParams({
36
36
  type: StringParam,
37
37
  visible: StringParam,
@@ -44,6 +44,8 @@ export function useStorageQueryParams() {
44
44
  storageExpertMode: BooleanParam,
45
45
  vdisksGroupBy: StringParam,
46
46
  pdisksGroupBy: StringParam,
47
+ nodesVdisksGroupBy: StringParam,
48
+ nodesPdisksGroupBy: StringParam,
47
49
  });
48
50
  const [savedStorageType, setSavedStorageType] = useSetting(SETTING_KEYS.STORAGE_TYPE, STORAGE_TYPES.groups);
49
51
  const blobMetricsEnabled = useBlobStorageCapacityMetricsEnabled();
@@ -60,6 +62,10 @@ export function useStorageQueryParams() {
60
62
  const vdisksGroupBy = vdisksGroupBySchema.parse((_e = queryParams.vdisksGroupBy) !== null && _e !== void 0 ? _e : savedVDisksGroupBy);
61
63
  const [savedPDisksGroupBy, setSavedPDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_PDISKS_GROUP_BY, PDisksGroupBy.State);
62
64
  const pdisksGroupBy = pdisksGroupBySchema.parse((_f = queryParams.pdisksGroupBy) !== null && _f !== void 0 ? _f : savedPDisksGroupBy);
65
+ const [savedNodesVDisksGroupBy, setSavedNodesVDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_NODES_VDISKS_GROUP_BY, VDisksGroupBy.State);
66
+ const nodesVdisksGroupBy = nodesVdisksGroupBySchema.parse((_g = queryParams.nodesVdisksGroupBy) !== null && _g !== void 0 ? _g : savedNodesVDisksGroupBy);
67
+ const [savedNodesPDisksGroupBy, setSavedNodesPDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_NODES_PDISKS_GROUP_BY, PDisksGroupBy.State);
68
+ const nodesPdisksGroupBy = nodesPdisksGroupBySchema.parse((_h = queryParams.nodesPdisksGroupBy) !== null && _h !== void 0 ? _h : savedNodesPDisksGroupBy);
63
69
  React.useEffect(() => {
64
70
  if (queryParams.search) {
65
71
  const patch = { search: undefined };
@@ -101,6 +107,14 @@ export function useStorageQueryParams() {
101
107
  setQueryParams({ pdisksGroupBy: value }, 'replaceIn');
102
108
  setSavedPDisksGroupBy(value);
103
109
  }, [setQueryParams, setSavedPDisksGroupBy]);
110
+ const handleNodesVDisksGroupByChange = React.useCallback((value) => {
111
+ setQueryParams({ nodesVdisksGroupBy: value }, 'replaceIn');
112
+ setSavedNodesVDisksGroupBy(value);
113
+ }, [setQueryParams, setSavedNodesVDisksGroupBy]);
114
+ const handleNodesPDisksGroupByChange = React.useCallback((value) => {
115
+ setQueryParams({ nodesPdisksGroupBy: value }, 'replaceIn');
116
+ setSavedNodesPDisksGroupBy(value);
117
+ }, [setQueryParams, setSavedNodesPDisksGroupBy]);
104
118
  const handleShowAllGroups = () => {
105
119
  handleVisibleEntitiesChange('all');
106
120
  };
@@ -134,6 +148,8 @@ export function useStorageQueryParams() {
134
148
  storageExpertMode,
135
149
  vdisksGroupBy,
136
150
  pdisksGroupBy,
151
+ nodesVdisksGroupBy,
152
+ nodesPdisksGroupBy,
137
153
  handleTextFilterGroupsChange,
138
154
  handleTextFilterNodesChange,
139
155
  handleVisibleEntitiesChange,
@@ -144,6 +160,8 @@ export function useStorageQueryParams() {
144
160
  handleStorageExpertModeChange,
145
161
  handleVDisksGroupByChange,
146
162
  handlePDisksGroupByChange,
163
+ handleNodesVDisksGroupByChange,
164
+ handleNodesPDisksGroupByChange,
147
165
  handleShowAllGroups,
148
166
  handleShowAllNodes,
149
167
  };
@@ -169,6 +187,16 @@ export function usePDisksGroupByParam() {
169
187
  const [savedPDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_PDISKS_GROUP_BY, PDisksGroupBy.State);
170
188
  return React.useMemo(() => pdisksGroupBySchema.parse(queryPDisksGroupBy !== null && queryPDisksGroupBy !== void 0 ? queryPDisksGroupBy : savedPDisksGroupBy), [queryPDisksGroupBy, savedPDisksGroupBy]);
171
189
  }
190
+ export function useNodesVDisksGroupByParam() {
191
+ const [queryNodesVDisksGroupBy] = useQueryParam('nodesVdisksGroupBy', StringParam);
192
+ const [savedNodesVDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_NODES_VDISKS_GROUP_BY, VDisksGroupBy.State);
193
+ return React.useMemo(() => nodesVdisksGroupBySchema.parse(queryNodesVDisksGroupBy !== null && queryNodesVDisksGroupBy !== void 0 ? queryNodesVDisksGroupBy : savedNodesVDisksGroupBy), [queryNodesVDisksGroupBy, savedNodesVDisksGroupBy]);
194
+ }
195
+ export function useNodesPDisksGroupByParam() {
196
+ const [queryNodesPDisksGroupBy] = useQueryParam('nodesPdisksGroupBy', StringParam);
197
+ const [savedNodesPDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_NODES_PDISKS_GROUP_BY, PDisksGroupBy.State);
198
+ return React.useMemo(() => nodesPdisksGroupBySchema.parse(queryNodesPDisksGroupBy !== null && queryNodesPDisksGroupBy !== void 0 ? queryNodesPDisksGroupBy : savedNodesPDisksGroupBy), [queryNodesPDisksGroupBy, savedNodesPDisksGroupBy]);
199
+ }
172
200
  export function useSaveVDisksGroupBy() {
173
201
  const [queryVDisksGroupBy, setQueryVDisksGroupBy] = useQueryParam('vdisksGroupBy', StringParam);
174
202
  const [savedVDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_VDISKS_GROUP_BY, VDisksGroupBy.State);
@@ -189,6 +217,26 @@ export function useSavePDisksGroupBy() {
189
217
  }
190
218
  }, [normalizedPDisksGroupBy, queryPDisksGroupBy, setQueryPDisksGroupBy]);
191
219
  }
220
+ export function useSaveNodesVDisksGroupBy() {
221
+ const [queryNodesVDisksGroupBy, setQueryNodesVDisksGroupBy] = useQueryParam('nodesVdisksGroupBy', StringParam);
222
+ const [savedNodesVDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_NODES_VDISKS_GROUP_BY, VDisksGroupBy.State);
223
+ const normalizedNodesVDisksGroupBy = React.useMemo(() => nodesVdisksGroupBySchema.parse(queryNodesVDisksGroupBy !== null && queryNodesVDisksGroupBy !== void 0 ? queryNodesVDisksGroupBy : savedNodesVDisksGroupBy), [queryNodesVDisksGroupBy, savedNodesVDisksGroupBy]);
224
+ React.useEffect(() => {
225
+ if (normalizedNodesVDisksGroupBy !== queryNodesVDisksGroupBy) {
226
+ setQueryNodesVDisksGroupBy(normalizedNodesVDisksGroupBy, 'replaceIn');
227
+ }
228
+ }, [normalizedNodesVDisksGroupBy, queryNodesVDisksGroupBy, setQueryNodesVDisksGroupBy]);
229
+ }
230
+ export function useSaveNodesPDisksGroupBy() {
231
+ const [queryNodesPDisksGroupBy, setQueryNodesPDisksGroupBy] = useQueryParam('nodesPdisksGroupBy', StringParam);
232
+ const [savedNodesPDisksGroupBy] = useSetting(SETTING_KEYS.STORAGE_NODES_PDISKS_GROUP_BY, PDisksGroupBy.State);
233
+ const normalizedNodesPDisksGroupBy = React.useMemo(() => nodesPdisksGroupBySchema.parse(queryNodesPDisksGroupBy !== null && queryNodesPDisksGroupBy !== void 0 ? queryNodesPDisksGroupBy : savedNodesPDisksGroupBy), [queryNodesPDisksGroupBy, savedNodesPDisksGroupBy]);
234
+ React.useEffect(() => {
235
+ if (normalizedNodesPDisksGroupBy !== queryNodesPDisksGroupBy) {
236
+ setQueryNodesPDisksGroupBy(normalizedNodesPDisksGroupBy, 'replaceIn');
237
+ }
238
+ }, [normalizedNodesPDisksGroupBy, queryNodesPDisksGroupBy, setQueryNodesPDisksGroupBy]);
239
+ }
192
240
  export function useSaveStorageExpertMode() {
193
241
  const [queryStorageExpertMode, setQueryStorageExpertMode] = useQueryParam('storageExpertMode', BooleanParam);
194
242
  const [savedStorageExpertMode] = useSetting(SETTING_KEYS.STORAGE_EXPERT_MODE);
@@ -1 +1 @@
1
- {"version":3,"file":"useStorageQueryParams.js","sourceRoot":"","sources":["../../../src/containers/Storage/useStorageQueryParams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useStorageQueryParams.js","sourceRoot":"","sources":["../../../src/containers/Storage/useStorageQueryParams.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import type { VDiskDisplayStateGetter } from '../../utils/disks/displayState';
2
2
  export declare function useStorageVDiskDisplayStateGetter(): VDiskDisplayStateGetter;
3
+ export declare function useStorageNodesVDiskDisplayStateGetter(): VDiskDisplayStateGetter;
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { CircleXmarkFill, ClockFill } from '@gravity-ui/icons';
2
3
  import { ECapacityAlert, EFlag, isCapacityAlert } from '../../types/api/enums';
3
4
  import { EVDiskState } from '../../types/api/vdisk';
4
5
  import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY, NOT_AVAILABLE_SEVERITY, } from '../../utils/disks/constants';
@@ -6,9 +7,9 @@ import { getDefaultDiskDisplayState } from '../../utils/disks/displayState';
6
7
  import { getIconCalculator } from '../../utils/disks/getIconStrategy';
7
8
  import { getSeverityCalculator } from '../../utils/disks/getSeverityStrategy';
8
9
  import { VDisksGroupBy } from '../../utils/disks/groupBy';
9
- import { calculateCompactionIcon, calculateFrontQueuesIcon, calculateSpaceIcon, } from '../../utils/disks/iconCalculators';
10
+ import { calculateCompactionIcon, calculateFrontQueuesIcon, calculateSpaceIcon, calculateStateIcon, } from '../../utils/disks/iconCalculators';
10
11
  import { useSpaceLegendSelection } from './StorageExpertModePanel/components/useSpaceLegendSelection';
11
- import { useIsStorageExpertMode, useVDisksGroupByParam } from './useStorageQueryParams';
12
+ import { useIsStorageExpertMode, useNodesVDisksGroupByParam, useVDisksGroupByParam, } from './useStorageQueryParams';
12
13
  function getMode(groupBy) {
13
14
  switch (groupBy) {
14
15
  case VDisksGroupBy.State:
@@ -43,7 +44,7 @@ function getAllModeIndicators(vDisk, isDonor, isCapacityAlertInactive) {
43
44
  return {
44
45
  ...(capacityAlert ? { capacityAlert } : {}),
45
46
  ...(frontQueues ? { frontQueues } : {}),
46
- ...(compaction ? { compaction } : {}),
47
+ ...((compaction === null || compaction === void 0 ? void 0 : compaction.length) ? { compaction } : {}),
47
48
  };
48
49
  }
49
50
  function getAllModeDisplayState(mode, vDisk, isDonor, isCapacityAlertInactive) {
@@ -61,14 +62,22 @@ function isVDiskReplicating(mode, severity, vDisk) {
61
62
  }
62
63
  return Boolean(vDisk.VDiskState) && vDisk.Replicated === false;
63
64
  }
64
- function getMissingVDiskDisplayState(vDisk, isDonor, mode) {
65
+ function getMissingVDiskDisplayState(vDisk, isDonor, mode, showNoDataPlaceholder) {
65
66
  const isAllMode = mode === 'all';
67
+ let icon;
68
+ if (isDonor) {
69
+ icon = calculateStateIcon(vDisk, isDonor);
70
+ }
71
+ else if (mode === 'state' || isAllMode) {
72
+ icon = getKnownVDiskStateIcon(vDisk);
73
+ }
66
74
  const displayState = {
67
75
  severity: NOT_AVAILABLE_SEVERITY,
68
- icon: undefined,
76
+ icon,
69
77
  mode,
78
+ isNoData: true,
70
79
  isLegendInactive: false,
71
- showNoDataPlaceholder: true,
80
+ showNoDataPlaceholder,
72
81
  allocatedPercent: isAllMode ? vDisk.AllocatedPercent : undefined,
73
82
  showAllocatedPercentLabel: !isAllMode,
74
83
  striped: Boolean(isDonor),
@@ -79,20 +88,40 @@ function getMissingVDiskDisplayState(vDisk, isDonor, mode) {
79
88
  }
80
89
  return displayState;
81
90
  }
82
- function getExpertVDiskDisplayState({ inactiveLegendItems, isDonor, vDisk, vdisksGroupBy, }) {
91
+ function getKnownVDiskStateIcon(vDisk) {
92
+ if (vDisk.VDiskState !== undefined) {
93
+ return calculateStateIcon(vDisk);
94
+ }
95
+ switch (vDisk.Status) {
96
+ case 'ERROR':
97
+ return CircleXmarkFill;
98
+ case 'INIT_PENDING':
99
+ return ClockFill;
100
+ default:
101
+ return undefined;
102
+ }
103
+ }
104
+ function getExpertVDiskDisplayState({ inactiveLegendItems, isDonor, selectionScope, vDisk, vdisksGroupBy, }) {
105
+ var _a;
83
106
  const mode = getMode(vdisksGroupBy);
84
- if (!vDisk.VDiskId) {
85
- return getMissingVDiskDisplayState(vDisk, isDonor, mode);
107
+ if (!((_a = vDisk.HasWhiteboardData) !== null && _a !== void 0 ? _a : Boolean(vDisk.VDiskId))) {
108
+ return getMissingVDiskDisplayState(vDisk, isDonor, mode, selectionScope !== 'nodes-vdisks');
86
109
  }
87
110
  const severity = getSeverityCalculator(vdisksGroupBy)(vDisk);
88
111
  const icon = getIconCalculator(vdisksGroupBy)(vDisk, isDonor);
89
112
  const isCapacityAlertInactive = isCapacityAlert(vDisk.CapacityAlert) && inactiveLegendItems.has(vDisk.CapacityAlert);
90
113
  const allMode = getAllModeDisplayState(mode, vDisk, isDonor, isCapacityAlertInactive);
114
+ const spaceBorderless = mode === 'space' && isCapacityAlertInactive;
115
+ const stateBorderless = mode === 'state' &&
116
+ !isDonor &&
117
+ (severity === DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green ||
118
+ severity === DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow);
91
119
  const displayState = {
92
120
  severity,
93
121
  icon,
94
122
  mode,
95
123
  isLegendInactive: mode === 'space' && isCapacityAlertInactive,
124
+ borderless: spaceBorderless || stateBorderless,
96
125
  showNoDataPlaceholder: false,
97
126
  allocatedPercent: mode === 'all' ? vDisk.AllocatedPercent : undefined,
98
127
  showAllocatedPercentLabel: mode !== 'all',
@@ -104,10 +133,9 @@ function getExpertVDiskDisplayState({ inactiveLegendItems, isDonor, vDisk, vdisk
104
133
  }
105
134
  return displayState;
106
135
  }
107
- export function useStorageVDiskDisplayStateGetter() {
136
+ function useVDiskDisplayStateGetter(vdisksGroupBy, selectionScope) {
108
137
  const isExpertMode = useIsStorageExpertMode();
109
- const vdisksGroupBy = useVDisksGroupByParam();
110
- const inactiveLegendItems = useSpaceLegendSelection();
138
+ const inactiveLegendItems = useSpaceLegendSelection(selectionScope);
111
139
  return React.useCallback((vDisk, isDonor) => {
112
140
  if (!isExpertMode) {
113
141
  return getDefaultDiskDisplayState(vDisk, isDonor);
@@ -115,9 +143,18 @@ export function useStorageVDiskDisplayStateGetter() {
115
143
  return getExpertVDiskDisplayState({
116
144
  inactiveLegendItems,
117
145
  isDonor,
146
+ selectionScope,
118
147
  vDisk,
119
148
  vdisksGroupBy,
120
149
  });
121
- }, [inactiveLegendItems, isExpertMode, vdisksGroupBy]);
150
+ }, [inactiveLegendItems, isExpertMode, selectionScope, vdisksGroupBy]);
151
+ }
152
+ export function useStorageVDiskDisplayStateGetter() {
153
+ const vdisksGroupBy = useVDisksGroupByParam();
154
+ return useVDiskDisplayStateGetter(vdisksGroupBy, 'vdisks');
155
+ }
156
+ export function useStorageNodesVDiskDisplayStateGetter() {
157
+ const vdisksGroupBy = useNodesVDisksGroupByParam();
158
+ return useVDiskDisplayStateGetter(vdisksGroupBy, 'nodes-vdisks');
122
159
  }
123
160
  //# sourceMappingURL=useStorageVDiskDisplayStateGetter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStorageVDiskDisplayStateGetter.js","sourceRoot":"","sources":["../../../src/containers/Storage/useStorageVDiskDisplayStateGetter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useStorageVDiskDisplayStateGetter.js","sourceRoot":"","sources":["../../../src/containers/Storage/useStorageVDiskDisplayStateGetter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  import type { StorageNodesColumnsSettings } from '../PaginatedStorageNodesTable/columns/types';
2
2
  import type { StorageNodesPaginatedTableData } from '../types';
3
- export declare function useStorageColumnsSettings(): {
3
+ export declare function useStorageColumnsSettings({ expertMode }?: {
4
+ expertMode?: boolean | undefined;
5
+ }): {
4
6
  handleDataFetched: (data: StorageNodesPaginatedTableData) => void;
5
7
  columnsSettings: StorageNodesColumnsSettings;
8
+ rowHeight: number;
6
9
  };
@@ -1,59 +1,69 @@
1
1
  import React from 'react';
2
+ import { VDisksGroupBy } from '../../../utils/disks/groupBy';
3
+ import { NODE_EXPERT_ALL_PDISK_WIDTH, NODE_EXPERT_PDISK_WIDTH, STORAGE_NODES_DEFAULT_PDISK_HEIGHT, STORAGE_NODES_DEFAULT_ROW_HEIGHT, getNodeExpertPDiskHeight, getStorageNodesExpertRowHeight, } from '../PaginatedStorageNodes/nodeExpertModeLayout';
4
+ import { useNodesVDisksGroupByParam } from '../useStorageQueryParams';
2
5
  /**
3
6
  * Storage → Nodes → column "PDisks": size coupling notes (keep in sync)
4
7
  *
5
8
  * Data flow:
6
9
  * - `window.api.viewer.getNodes()` returns `MaximumSlotsPerDisk` / `MaximumDisksPerNode`
7
- * → `prepareStorageNodesResponse()` maps them into `columnsSettings.{maxSlotsPerDisk,maxDisksPerNode}`
8
- * (`src/store/reducers/storage/utils.ts`)
9
- * → `handleDataFetched()` calculates `pDiskWidth` and `pDiskContainerWidth` (this file)
10
- * → `PaginatedStorageNodesTable` column width uses `pDiskContainerWidth`
11
- * and each `PDisk` instance gets `width={pDiskWidth}`.
10
+ * → `prepareStorageNodesResponse()` maps them into `columnsSettings`
11
+ * → `handleDataFetched()` retains the largest dimensions observed while the table is mounted
12
+ * → this hook derives the PDisk column width, PDisk content height, and virtualized row height.
12
13
  *
13
- * Visual model:
14
- * - One PDisk cell renders a horizontal row of compact VDisks above the PDisk progress bar
15
- * (`src/containers/Storage/PDisk/PDisk.tsx`).
16
- * - Each VDisk "slot" has a hard minimum width and a gap between slots:
17
- * - slot min-width is effectively 8px:
18
- * - `--pdisk-vdisk-width: 8px` (`src/containers/Storage/PDisk/PDisk.scss`)
19
- * - `DiskStateProgressBar` compact min-width is 8px
20
- * (`src/components/DiskStateProgressBar/DiskStateProgressBar.scss`)
21
- * - gap is 2px: `--pdisk-gap-width: 2px` (`src/containers/Storage/PDisk/PDisk.scss`)
22
- *
23
- * Therefore, the `pDiskWidth` formula below MUST use the same slot/gap values,
24
- * otherwise with large `maxSlotsPerDisk` the VDisks row will overflow the PDisk width.
14
+ * Default mode keeps VDisks in one row and grows PDisk width when necessary. Expert mode uses
15
+ * rows of 8; VDisk All uses rows of 4 fixed-width disks with size indicators above them.
16
+ * nodeExpertModeLayout owns the dimensions used for both the content and virtualized rows.
25
17
  */
26
18
  const PDISK_VDISK_WIDTH = 8;
27
19
  const PDISK_GAP_WIDTH = 2;
28
- const PDISK_MIN_WIDTH = 165;
29
20
  const PDISK_MARGIN = 10;
30
21
  const MAX_SLOTS_DEFAULT = 1;
31
- const PAGNATED_TABLE_CELL_HORIZONTAL_PADDING = 10;
32
- export function useStorageColumnsSettings() {
33
- const [pDiskWidth, setPDiskWidth] = React.useState(undefined);
34
- const [pDiskContainerWidth, setPDiskContainerWidth] = React.useState(undefined);
22
+ const PAGINATED_TABLE_CELL_HORIZONTAL_PADDING = 10;
23
+ export function useStorageColumnsSettings({ expertMode = false } = {}) {
24
+ const vDisksGroupBy = useNodesVDisksGroupByParam();
25
+ const isAllVDisksLayout = expertMode && vDisksGroupBy === VDisksGroupBy.All;
26
+ const [layoutData, setLayoutData] = React.useState();
35
27
  const handleDataFetched = React.useCallback((data) => {
36
- if ((data === null || data === void 0 ? void 0 : data.columnsSettings) && !pDiskWidth) {
37
- const { maxSlotsPerDisk, maxDisksPerNode } = data.columnsSettings;
38
- const maxSlots = maxSlotsPerDisk || MAX_SLOTS_DEFAULT;
39
- const maxDisks = maxDisksPerNode || MAX_SLOTS_DEFAULT;
40
- const calculatedPDiskWidth = Math.max(maxSlots * PDISK_VDISK_WIDTH + (maxSlots - 1) * PDISK_GAP_WIDTH, PDISK_MIN_WIDTH);
41
- const calculatedPDiskContainerWidth = maxDisks * calculatedPDiskWidth +
42
- (maxDisks - 1) * PDISK_MARGIN +
43
- 2 * PAGNATED_TABLE_CELL_HORIZONTAL_PADDING;
44
- setPDiskWidth(calculatedPDiskWidth);
45
- setPDiskContainerWidth(calculatedPDiskContainerWidth);
28
+ if (!data.columnsSettings) {
29
+ return;
46
30
  }
47
- }, [pDiskWidth]);
48
- const columnsSettings = React.useMemo(() => {
49
- return {
50
- pDiskWidth: pDiskWidth || PDISK_MIN_WIDTH,
51
- pDiskContainerWidth: pDiskContainerWidth,
52
- };
53
- }, [pDiskContainerWidth, pDiskWidth]);
31
+ const nextLayoutData = data.columnsSettings;
32
+ setLayoutData((currentLayoutData) => {
33
+ var _a, _b;
34
+ const maxSlotsPerDisk = Math.max((_a = currentLayoutData === null || currentLayoutData === void 0 ? void 0 : currentLayoutData.maxSlotsPerDisk) !== null && _a !== void 0 ? _a : 0, nextLayoutData.maxSlotsPerDisk);
35
+ const maxDisksPerNode = Math.max((_b = currentLayoutData === null || currentLayoutData === void 0 ? void 0 : currentLayoutData.maxDisksPerNode) !== null && _b !== void 0 ? _b : 0, nextLayoutData.maxDisksPerNode);
36
+ if ((currentLayoutData === null || currentLayoutData === void 0 ? void 0 : currentLayoutData.maxSlotsPerDisk) === maxSlotsPerDisk &&
37
+ currentLayoutData.maxDisksPerNode === maxDisksPerNode) {
38
+ return currentLayoutData;
39
+ }
40
+ return { maxSlotsPerDisk, maxDisksPerNode };
41
+ });
42
+ }, []);
43
+ const maxSlotsPerDisk = (layoutData === null || layoutData === void 0 ? void 0 : layoutData.maxSlotsPerDisk) || MAX_SLOTS_DEFAULT;
44
+ const maxDisksPerNode = (layoutData === null || layoutData === void 0 ? void 0 : layoutData.maxDisksPerNode) || MAX_SLOTS_DEFAULT;
45
+ const expertPDiskWidth = isAllVDisksLayout
46
+ ? NODE_EXPERT_ALL_PDISK_WIDTH
47
+ : NODE_EXPERT_PDISK_WIDTH;
48
+ const pDiskWidth = expertMode
49
+ ? expertPDiskWidth
50
+ : Math.max(maxSlotsPerDisk * PDISK_VDISK_WIDTH + (maxSlotsPerDisk - 1) * PDISK_GAP_WIDTH, NODE_EXPERT_PDISK_WIDTH);
51
+ const pDiskHeight = expertMode
52
+ ? getNodeExpertPDiskHeight(maxSlotsPerDisk, isAllVDisksLayout)
53
+ : STORAGE_NODES_DEFAULT_PDISK_HEIGHT;
54
+ const rowHeight = expertMode
55
+ ? getStorageNodesExpertRowHeight(maxSlotsPerDisk, isAllVDisksLayout)
56
+ : STORAGE_NODES_DEFAULT_ROW_HEIGHT;
57
+ const pDiskContainerWidth = layoutData
58
+ ? maxDisksPerNode * pDiskWidth +
59
+ (maxDisksPerNode - 1) * PDISK_MARGIN +
60
+ 2 * PAGINATED_TABLE_CELL_HORIZONTAL_PADDING
61
+ : undefined;
62
+ const columnsSettings = React.useMemo(() => ({ pDiskWidth, pDiskContainerWidth, pDiskHeight, expertMode }), [pDiskContainerWidth, pDiskHeight, pDiskWidth, expertMode]);
54
63
  return {
55
64
  handleDataFetched,
56
65
  columnsSettings,
66
+ rowHeight,
57
67
  };
58
68
  }
59
69
  //# sourceMappingURL=useStorageColumnsSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useStorageColumnsSettings.js","sourceRoot":"","sources":["../../../../src/containers/Storage/utils/useStorageColumnsSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,sCAAsC,GAAG,EAAE,CAAC;AAElD,MAAM,UAAU,yBAAyB;IACrC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAClF,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAChE,SAAS,CACZ,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,IAAoC,EAAE,EAAE;QACrC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,KAAI,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,EAAC,eAAe,EAAE,eAAe,EAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YAChE,MAAM,QAAQ,GAAG,eAAe,IAAI,iBAAiB,CAAC;YACtD,MAAM,QAAQ,GAAG,eAAe,IAAI,iBAAiB,CAAC;YAEtD,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACjC,QAAQ,GAAG,iBAAiB,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,eAAe,EAC/D,eAAe,CAClB,CAAC;YAEF,MAAM,6BAA6B,GAC/B,QAAQ,GAAG,oBAAoB;gBAC/B,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,YAAY;gBAC7B,CAAC,GAAG,sCAAsC,CAAC;YAE/C,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACpC,sBAAsB,CAAC,6BAA6B,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC,EACD,CAAC,UAAU,CAAC,CACf,CAAC;IAEF,MAAM,eAAe,GAAgC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpE,OAAO;YACH,UAAU,EAAE,UAAU,IAAI,eAAe;YACzC,mBAAmB,EAAE,mBAAmB;SAC3C,CAAC;IACN,CAAC,EAAE,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEtC,OAAO;QACH,iBAAiB;QACjB,eAAe;KAClB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"useStorageColumnsSettings.js","sourceRoot":"","sources":["../../../../src/containers/Storage/utils/useStorageColumnsSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface DiskItem {
3
+ StringifiedId?: string;
4
+ }
5
+ export declare function useVirtualizedDiskList(disks: readonly DiskItem[], enabled?: boolean): {
6
+ containerRef: React.MutableRefObject<HTMLDivElement | null>;
7
+ shouldRenderDisk: (index: number) => boolean;
8
+ getPlaceholderProps: (index: number) => React.HTMLAttributes<HTMLDivElement> | undefined;
9
+ };
10
+ export {};
@@ -0,0 +1,131 @@
1
+ import React from 'react';
2
+ const MIN_VIRTUALIZED_DISKS_COUNT = 10;
3
+ function getDiskKey(disks, index) {
4
+ var _a;
5
+ return ((_a = disks[index]) === null || _a === void 0 ? void 0 : _a.StringifiedId) || index;
6
+ }
7
+ function getElementDiskKey(element, index) {
8
+ return element.getAttribute('data-disk-id') || index;
9
+ }
10
+ export function useVirtualizedDiskList(disks, enabled = true) {
11
+ const shouldVirtualize = enabled && disks.length >= MIN_VIRTUALIZED_DISKS_COUNT;
12
+ const containerRef = React.useRef(null);
13
+ const pendingFocusRef = React.useRef();
14
+ const [visibleKeys, setVisibleKeys] = React.useState(() => new Set());
15
+ const [lastFocusedKey, setLastFocusedKey] = React.useState();
16
+ const lastFocusedIndex = disks.findIndex((_, index) => getDiskKey(disks, index) === lastFocusedKey);
17
+ React.useEffect(() => {
18
+ if (lastFocusedKey !== undefined && lastFocusedIndex === -1) {
19
+ setLastFocusedKey(undefined);
20
+ }
21
+ }, [lastFocusedIndex, lastFocusedKey]);
22
+ const placeholderProps = React.useMemo(() => ({
23
+ // Wrappers fall back to -1 when content mounts: removing tabIndex would
24
+ // blur the placeholder before the layout effect can focus its link.
25
+ tabIndex: 0,
26
+ // Record the handoff before native focusin tracking can mount the disk
27
+ // and remove the placeholder's React event handler.
28
+ onFocusCapture: (event) => {
29
+ var _a, _b;
30
+ if (event.target !== event.currentTarget) {
31
+ return;
32
+ }
33
+ const elements = Array.from((_b = (_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.children) !== null && _b !== void 0 ? _b : []);
34
+ const index = elements.findIndex((element) => element.contains(event.currentTarget));
35
+ if (index !== -1) {
36
+ pendingFocusRef.current = {
37
+ element: event.currentTarget,
38
+ fromEnd: index === elements.length - 1,
39
+ };
40
+ setLastFocusedKey(getElementDiskKey(elements[index], index));
41
+ }
42
+ },
43
+ }), []);
44
+ React.useLayoutEffect(() => {
45
+ const pendingFocus = pendingFocusRef.current;
46
+ pendingFocusRef.current = undefined;
47
+ if (!pendingFocus || document.activeElement !== pendingFocus.element) {
48
+ return;
49
+ }
50
+ // Mount the boundary disk before handing focus to its first/last link.
51
+ const links = pendingFocus.element.querySelectorAll('a[href]');
52
+ const link = pendingFocus.fromEnd ? links[links.length - 1] : links[0];
53
+ link === null || link === void 0 ? void 0 : link.focus();
54
+ });
55
+ React.useEffect(() => {
56
+ const container = containerRef.current;
57
+ if (!container) {
58
+ return undefined;
59
+ }
60
+ const onFocus = (event) => {
61
+ const target = event.target;
62
+ if (!(target instanceof Node)) {
63
+ return;
64
+ }
65
+ const elements = Array.from(container.children);
66
+ const index = elements.findIndex((element) => element.contains(target));
67
+ if (index !== -1) {
68
+ // React restores focus before effects update after a reorder. Read
69
+ // the committed DOM identity, not an index into the previous data.
70
+ setLastFocusedKey(getElementDiskKey(elements[index], index));
71
+ }
72
+ };
73
+ container.addEventListener('focusin', onFocus);
74
+ if (!shouldVirtualize) {
75
+ return () => container.removeEventListener('focusin', onFocus);
76
+ }
77
+ // Each disk keeps one direct child as its sized placeholder.
78
+ const keysByElement = new Map(Array.from(container.children, (element, index) => [
79
+ element,
80
+ getElementDiskKey(element, index),
81
+ ]));
82
+ const intersectingKeys = new Set();
83
+ let active = true;
84
+ const observer = new IntersectionObserver((entries) => {
85
+ if (!active) {
86
+ return;
87
+ }
88
+ for (const entry of entries) {
89
+ const key = keysByElement.get(entry.target);
90
+ if (key === undefined) {
91
+ continue;
92
+ }
93
+ if (entry.isIntersecting) {
94
+ intersectingKeys.add(key);
95
+ }
96
+ else {
97
+ intersectingKeys.delete(key);
98
+ }
99
+ }
100
+ const next = new Set(intersectingKeys);
101
+ setVisibleKeys((previous) => {
102
+ return next.size === previous.size && [...next].every((key) => previous.has(key))
103
+ ? previous
104
+ : next;
105
+ });
106
+ });
107
+ keysByElement.forEach((_, element) => observer.observe(element));
108
+ return () => {
109
+ active = false;
110
+ observer.disconnect();
111
+ container.removeEventListener('focusin', onFocus);
112
+ };
113
+ }, [disks, shouldVirtualize]);
114
+ const shouldRenderDisk = (index) => !shouldVirtualize ||
115
+ visibleKeys.has(getDiskKey(disks, index)) ||
116
+ // Keep neighbors for scrolling and Tab/Shift+Tab navigation.
117
+ visibleKeys.has(getDiskKey(disks, index - 1)) ||
118
+ visibleKeys.has(getDiskKey(disks, index + 1)) ||
119
+ // Keep the last keyboard target reachable when returning from the next row.
120
+ (lastFocusedIndex !== -1 && Math.abs(index - lastFocusedIndex) <= 1);
121
+ return {
122
+ containerRef,
123
+ shouldRenderDisk,
124
+ getPlaceholderProps: (index) => shouldVirtualize &&
125
+ !shouldRenderDisk(index) &&
126
+ (index === 0 || index === disks.length - 1)
127
+ ? placeholderProps
128
+ : undefined,
129
+ };
130
+ }
131
+ //# sourceMappingURL=useVirtualizedDiskList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVirtualizedDiskList.js","sourceRoot":"","sources":["../../../../src/containers/Storage/utils/useVirtualizedDiskList.ts"],"names":[],"mappings":"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"}