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
@@ -51,28 +51,23 @@
51
51
  &_expert-mode {
52
52
  --entity-state-compact-background-color: var(--entity-state-background-color);
53
53
 
54
- &#{$block}_grey {
55
- --entity-state-background-color: var(--g-color-base-generic-medium);
56
- --entity-state-border-color: none;
57
- --entity-state-fill-color: var(--g-color-base-neutral-medium);
58
-
59
- border: none;
60
-
61
- &#{$block}_highlighted {
62
- --entity-state-background-color: var(--g-color-base-generic-medium-hover);
63
- --entity-state-fill-color: var(--g-color-base-neutral-medium-hover);
64
- }
65
- }
66
-
67
54
  &#{$block}_light-grey {
55
+ --entity-state-font-color: var(--g-color-text-secondary);
68
56
  --entity-state-border-color: var(--g-color-line-generic);
69
57
  --entity-state-background-color: var(--g-color-base-neutral-light);
58
+ --entity-state-fill-color: var(--g-color-base-neutral-light);
70
59
  --entity-state-icon-color: var(--g-color-text-secondary);
71
60
 
72
61
  border: $border-width solid var(--entity-state-border-color);
73
62
 
63
+ &#{$block}_striped,
64
+ &#{$block}_borderless {
65
+ border: none;
66
+ }
67
+
74
68
  &#{$block}_highlighted {
75
69
  --entity-state-background-color: var(--g-color-base-neutral-light-hover);
70
+ --entity-state-fill-color: var(--g-color-base-neutral-light-hover);
76
71
  }
77
72
 
78
73
  &#{$block}_mode-space {
@@ -104,7 +99,7 @@
104
99
  }
105
100
  }
106
101
 
107
- &_legend-inactive {
102
+ &_borderless {
108
103
  border: none;
109
104
  }
110
105
 
@@ -139,6 +134,36 @@
139
134
  --entity-state-icon-color: var(--g-color-text-info);
140
135
  }
141
136
 
137
+ &_mode-drivetype {
138
+ @each $type, $theme, $intensity in (ssd misc medium, hdd utility light, nvme info light) {
139
+ &#{$block}_#{$type} {
140
+ --entity-state-background-color: var(--g-color-base-#{$theme}-#{$intensity});
141
+ --ydb-progress-bar-font-color: var(--g-color-text-#{$theme});
142
+
143
+ &#{$block}_highlighted {
144
+ --entity-state-background-color: var(
145
+ --g-color-base-#{$theme}-#{$intensity}-hover
146
+ );
147
+ }
148
+ }
149
+ }
150
+ #{$block}__text-label {
151
+ overflow: hidden;
152
+ flex-shrink: 1;
153
+
154
+ min-width: 0;
155
+ padding-right: var(--g-spacing-1);
156
+
157
+ white-space: nowrap;
158
+
159
+ mask-image: linear-gradient(
160
+ to right,
161
+ #000 calc(100% - var(--g-spacing-1)),
162
+ transparent
163
+ );
164
+ }
165
+ }
166
+
142
167
  &_mode-all {
143
168
  &#{$block}_green {
144
169
  --entity-state-background-color: transparent;
@@ -193,22 +218,6 @@
193
218
  }
194
219
  }
195
220
 
196
- &#{$block}_grey {
197
- --entity-state-background-color: var(--g-color-base-neutral-medium);
198
- --entity-state-border-color: none;
199
- --entity-state-fill-color: var(--g-color-base-neutral-medium);
200
-
201
- border: none;
202
-
203
- &#{$block}_highlighted {
204
- --entity-state-background-color: var(--g-color-base-neutral-medium-hover);
205
- --entity-state-border-color: none;
206
- --entity-state-fill-color: var(--g-color-base-neutral-medium-hover);
207
-
208
- border: none;
209
- }
210
- }
211
-
212
221
  #{$block}__fill-bar {
213
222
  border-radius: calc(var(--disk-border-radius, var(--g-border-radius-m)) - 1px) 0 0
214
223
  calc(var(--disk-border-radius, var(--g-border-radius-m)) - 1px);
@@ -224,7 +233,9 @@
224
233
  }
225
234
 
226
235
  &_mode-space {
227
- &:not(#{$block}_legend-inactive):not(#{$block}_darkgrey) {
236
+ --entity-state-font-color: var(--ydb-progress-bar-font-color);
237
+
238
+ &:not(#{$block}_borderless):not(#{$block}_darkgrey) {
228
239
  --entity-state-stripe-border-color: var(--entity-state-border-color);
229
240
  }
230
241
 
@@ -315,16 +326,6 @@
315
326
  }
316
327
  }
317
328
 
318
- &#{$block}_grey {
319
- --entity-state-background-color: var(--ydb-space-no-data-bg);
320
- --entity-state-fill-color: var(--ydb-space-no-data-fill-color);
321
-
322
- &#{$block}_highlighted {
323
- --entity-state-background-color: var(--ydb-space-no-data-bg-hover);
324
- --entity-state-fill-color: var(--ydb-space-no-data-fill-color-hover);
325
- }
326
- }
327
-
328
329
  &#{$block}_light-grey {
329
330
  --entity-state-icon-color: var(--ydb-progress-bar-font-color);
330
331
  }
@@ -386,6 +387,24 @@
386
387
  }
387
388
  }
388
389
 
390
+ // Keep N/D colors independent from expert mode-specific backgrounds.
391
+ &_grey {
392
+ --ydb-progress-bar-font-color: var(--g-color-text-primary);
393
+ --entity-state-font-color: var(--g-color-text-primary);
394
+ --entity-state-icon-color: var(--g-color-text-secondary);
395
+ --entity-state-border-color: none;
396
+ --entity-state-background-color: var(--g-color-base-neutral-medium);
397
+ --entity-state-fill-color: var(--g-color-base-neutral-medium);
398
+
399
+ color: var(--g-color-text-primary);
400
+ border: none;
401
+
402
+ &#{$block}_highlighted {
403
+ --entity-state-background-color: var(--g-color-base-neutral-medium-hover);
404
+ --entity-state-fill-color: var(--g-color-base-neutral-medium-hover);
405
+ }
406
+ }
407
+
389
408
  &_compact {
390
409
  min-width: 8px;
391
410
  height: var(--progress-bar-compact-height);
@@ -478,6 +497,8 @@
478
497
  }
479
498
 
480
499
  &__all-mode-indicators {
500
+ --all-mode-indicators-padding: var(--g-spacing-1);
501
+
481
502
  position: absolute;
482
503
  z-index: 2;
483
504
  inset: 0;
@@ -488,13 +509,20 @@
488
509
  column-gap: var(--g-spacing-1);
489
510
 
490
511
  box-sizing: border-box;
491
- padding-inline: calc(var(--g-spacing-1) - $border-width);
512
+ padding-inline: calc(var(--all-mode-indicators-padding) - $border-width);
492
513
 
493
514
  pointer-events: none;
494
515
 
495
516
  #{$block}_grey &,
496
517
  #{$block}_striped & {
497
- padding-inline: var(--g-spacing-1);
518
+ padding-inline: var(--all-mode-indicators-padding);
519
+ }
520
+
521
+ &_size_s {
522
+ --all-mode-indicators-padding: var(--g-spacing-half);
523
+
524
+ grid-template-columns: 14px 8px 13px;
525
+ column-gap: var(--g-spacing-half);
498
526
  }
499
527
  }
500
528
 
@@ -524,10 +552,15 @@
524
552
  display: inline-flex;
525
553
  justify-content: center;
526
554
  align-items: center;
555
+
556
+ &_size_s {
557
+ font-size: 10px;
558
+ line-height: 12px;
559
+ }
527
560
  }
528
561
 
529
- &__all-mode-capacity-alert-indicator-icon {
530
- color: rgba(162, 162, 162, 1);
562
+ &__all-mode-missing-data-indicator-icon {
563
+ color: var(--g-color-text-hint);
531
564
  }
532
565
 
533
566
  &__all-mode-front-queues-indicator-slot {
@@ -575,13 +608,22 @@
575
608
 
576
609
  color: var(--ydb-progress-bar-font-color);
577
610
 
611
+ &_text,
612
+ &_compact {
613
+ color: var(--g-color-text-primary);
614
+ @include mixins.text-caption-2();
615
+ }
616
+
578
617
  &_text {
579
618
  margin-right: var(--g-spacing-1);
580
619
  }
581
620
 
582
621
  &_compact {
622
+ overflow: hidden;
623
+
624
+ min-width: 0;
583
625
  margin-right: auto;
584
- margin-left: var(--g-spacing-1);
626
+ margin-left: var(--progress-bar-compact-placeholder-margin-left, var(--g-spacing-1));
585
627
  }
586
628
  }
587
629
 
@@ -605,6 +647,10 @@
605
647
  }
606
648
  }
607
649
 
650
+ &__all-mode-compaction-icons_size_s {
651
+ margin-left: 0;
652
+ }
653
+
608
654
  &__icon {
609
655
  position: relative;
610
656
  z-index: 2;
@@ -613,6 +659,10 @@
613
659
 
614
660
  color: var(--entity-state-icon-color, var(--entity-state-border-color));
615
661
 
662
+ &_missing-data {
663
+ color: var(--g-color-text-hint);
664
+ }
665
+
616
666
  &_overlap-top-left {
617
667
  position: absolute;
618
668
  z-index: 3;
@@ -67,8 +67,8 @@ export function DiskStateProgressBar({
67
67
  striped,
68
68
  filled,
69
69
  highlighted,
70
+ borderless,
70
71
  'all-mode-has-issues': mode === 'all' && strongFill,
71
- 'legend-inactive': borderless,
72
72
  'overlap-icon-at-top-left': overflowVisible,
73
73
  [getToneModifier(tone)]: true,
74
74
  };
@@ -1,4 +1,6 @@
1
+ import {CircleQuestionFill} from '@gravity-ui/icons';
1
2
  import {Icon, Text} from '@gravity-ui/uikit';
3
+ import type {IconData} from '@gravity-ui/uikit';
2
4
 
3
5
  import {cn} from '../../utils/cn';
4
6
  import type {PDiskAllModeIndicatorsState} from '../../utils/disks/displayState';
@@ -12,6 +14,17 @@ interface PDiskAllModeIndicatorsProps {
12
14
  indicators: PDiskAllModeIndicatorsState;
13
15
  }
14
16
 
17
+ function PDiskAllModeStatusIndicator({indicator}: {indicator?: IconData}) {
18
+ if (!indicator) {
19
+ return null;
20
+ }
21
+
22
+ const className =
23
+ indicator === CircleQuestionFill ? b('all-mode-missing-data-indicator-icon') : undefined;
24
+
25
+ return <Icon className={className} data={indicator} size={12} />;
26
+ }
27
+
15
28
  export function PDiskAllModeIndicators({indicators}: PDiskAllModeIndicatorsProps) {
16
29
  return (
17
30
  <div className={b('pdisk-all-mode-indicators')}>
@@ -24,13 +37,13 @@ export function PDiskAllModeIndicators({indicators}: PDiskAllModeIndicatorsProps
24
37
  <AllModeCapacityAlertIndicator indicator={indicators.capacityAlert} />
25
38
  </Text>
26
39
  <span className={b('pdisk-all-mode-drive-indicator-slot')}>
27
- {indicators.drive && <Icon data={indicators.drive} size={12} />}
40
+ <PDiskAllModeStatusIndicator indicator={indicators.drive} />
28
41
  </span>
29
42
  <span className={b('pdisk-all-mode-decommit-indicator-slot')}>
30
- {indicators.decommit && <Icon data={indicators.decommit} size={12} />}
43
+ <PDiskAllModeStatusIndicator indicator={indicators.decommit} />
31
44
  </span>
32
45
  <span className={b('pdisk-all-mode-maintenance-indicator-slot')}>
33
- {indicators.maintenance && <Icon data={indicators.maintenance} size={12} />}
46
+ <PDiskAllModeStatusIndicator indicator={indicators.maintenance} />
34
47
  </span>
35
48
  <span className={b('pdisk-all-mode-device-indicator-slot')}>
36
49
  {indicators.device && <DiskIconGroup icons={indicators.device} />}
@@ -4,7 +4,10 @@ import {ArrowsOppositeToDots} from '@gravity-ui/icons';
4
4
  import {Icon} from '@gravity-ui/uikit';
5
5
  import {isNil} from 'lodash';
6
6
 
7
- import {useDiskPagesAvailable} from '../../store/reducers/capabilities/hooks';
7
+ import {
8
+ useDiskPagesAvailable,
9
+ useTabletDevUiSecurePath,
10
+ } from '../../store/reducers/capabilities/hooks';
8
11
  import type {ModifyDiskResponse} from '../../types/api/modifyDisk';
9
12
  import type {TVDiskID} from '../../types/api/vdisk';
10
13
  import {useIsUserAllowedToMakeChanges} from '../../utils/hooks/useIsUserAllowedToMakeChanges';
@@ -37,6 +40,7 @@ export const EvictVDiskButton = ({
37
40
  }: EvictVDiskButtonProps) => {
38
41
  const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges();
39
42
  const newDiskApiAvailable = useDiskPagesAvailable();
43
+ const useSecurePath = useTabletDevUiSecurePath();
40
44
 
41
45
  const handleEvictVDisk = React.useCallback(
42
46
  async (isRetry?: boolean) => {
@@ -54,7 +58,10 @@ export const EvictVDiskButton = ({
54
58
  if (newDiskApiAvailable) {
55
59
  response = await window.api.vdisk.evictVDisk(requestParams);
56
60
  } else {
57
- response = await window.api.tablets.evictVDiskOld(requestParams);
61
+ response = await window.api.tablets.evictVDiskOld({
62
+ ...requestParams,
63
+ useSecurePath,
64
+ });
58
65
  }
59
66
 
60
67
  if (response?.result === false) {
@@ -65,7 +72,7 @@ export const EvictVDiskButton = ({
65
72
  throw err;
66
73
  }
67
74
  },
68
- [vDiskId, newDiskApiAvailable],
75
+ [vDiskId, newDiskApiAvailable, useSecurePath],
69
76
  );
70
77
 
71
78
  return (
@@ -17,10 +17,10 @@
17
17
 
18
18
  grid-template-columns: 110px 110px;
19
19
  }
20
- }
21
20
 
22
- .info-viewer__label {
23
- min-width: 100px;
21
+ &_ram {
22
+ align-items: flex-start;
23
+ }
24
24
  }
25
25
 
26
26
  &__section-title {
@@ -2,13 +2,16 @@ import {Flex} from '@gravity-ui/uikit';
2
2
 
3
3
  import type {PreparedNode} from '../../store/reducers/node/types';
4
4
  import {cn} from '../../utils/cn';
5
+ import {EMPTY_DATA_PLACEHOLDER} from '../../utils/constants';
6
+ import {formatStorageValues} from '../../utils/dataFormatters/dataFormatters';
5
7
  import {useNodeDeveloperUIHref} from '../../utils/hooks/useNodeDeveloperUIHref';
6
- import {InfoViewer} from '../InfoViewer/InfoViewer';
7
- import type {InfoViewerItem} from '../InfoViewer/InfoViewer';
8
+ import {isNumeric} from '../../utils/utils';
8
9
  import {LinkWithIcon} from '../LinkWithIcon/LinkWithIcon';
9
10
  import {PoolUsage} from '../PoolUsage/PoolUsage';
10
11
  import {ProgressViewer} from '../ProgressViewer/ProgressViewer';
11
12
  import {NodeUptime} from '../UptimeViewer/UptimeViewer';
13
+ import type {YDBDefinitionListItem} from '../YDBDefinitionList/YDBDefinitionList';
14
+ import {YDBDefinitionList} from '../YDBDefinitionList/YDBDefinitionList';
12
15
 
13
16
  import i18n from './i18n';
14
17
 
@@ -24,68 +27,108 @@ const getLoadAverageIntervalTitle = (index: number) => {
24
27
  return [i18n('la-interval-1m'), i18n('la-interval-5m'), i18n('la-interval-15m')][index];
25
28
  };
26
29
 
30
+ const formatMemoryValues = (value?: number, total?: number) =>
31
+ formatStorageValues(value, total, 'gb', undefined, true);
32
+
27
33
  // eslint-disable-next-line complexity
28
34
  export const FullNodeViewer = ({node, className}: FullNodeViewerProps) => {
29
35
  const developerUIHref = useNodeDeveloperUIHref(node);
30
36
 
31
- const commonInfo: InfoViewerItem[] = [];
37
+ const commonInfo: YDBDefinitionListItem[] = [];
32
38
 
33
39
  if (node?.Tenants?.length) {
34
- commonInfo.push({label: i18n('database'), value: node.Tenants[0]});
40
+ commonInfo.push({
41
+ name: i18n('database'),
42
+ content: node.Tenants[0] || EMPTY_DATA_PLACEHOLDER,
43
+ });
35
44
  }
36
45
 
37
46
  commonInfo.push(
38
- {label: i18n('version'), value: node?.Version},
47
+ {name: i18n('version'), content: node?.Version || EMPTY_DATA_PLACEHOLDER},
39
48
  {
40
- label: i18n('uptime'),
41
- value: <NodeUptime StartTime={node?.StartTime} DisconnectTime={node?.DisconnectTime} />,
49
+ name: i18n('uptime'),
50
+ content: (
51
+ <NodeUptime StartTime={node?.StartTime} DisconnectTime={node?.DisconnectTime} />
52
+ ),
53
+ },
54
+ {
55
+ name: i18n('dc'),
56
+ content: node?.DataCenterDescription || node?.DC || EMPTY_DATA_PLACEHOLDER,
42
57
  },
43
- {label: i18n('dc'), value: node?.DataCenterDescription || node?.DC},
44
58
  );
45
59
 
46
60
  if (node?.Rack) {
47
- commonInfo.push({label: i18n('rack'), value: node?.Rack});
61
+ commonInfo.push({name: i18n('rack'), content: node.Rack});
48
62
  }
49
63
 
50
64
  if (developerUIHref) {
51
65
  commonInfo.push({
52
- label: i18n('links'),
53
- value: <LinkWithIcon url={developerUIHref} title={i18n('developer-ui')} />,
66
+ name: i18n('links'),
67
+ content: <LinkWithIcon url={developerUIHref} title={i18n('developer-ui')} />,
54
68
  });
55
69
  }
56
70
 
57
71
  const endpointsInfo = node?.Endpoints?.map(({Name, Address}) => ({
58
- label: Name,
59
- value: Address,
72
+ name: Name || EMPTY_DATA_PLACEHOLDER,
73
+ content: Address || EMPTY_DATA_PLACEHOLDER,
60
74
  }));
61
75
 
62
- const averageInfo = node?.LoadAveragePercents?.map((load, loadIndex) => ({
63
- label: getLoadAverageIntervalTitle(loadIndex),
64
- value: (
65
- <ProgressViewer value={load} percents={true} colorizeProgress={true} capacity={100} />
66
- ),
67
- }));
76
+ const averageInfo =
77
+ node?.LoadAveragePercents?.map((load, loadIndex) => ({
78
+ name: getLoadAverageIntervalTitle(loadIndex),
79
+ content: (
80
+ <ProgressViewer
81
+ value={load}
82
+ percents={true}
83
+ colorizeProgress={true}
84
+ capacity={100}
85
+ />
86
+ ),
87
+ })) ?? [];
68
88
 
69
89
  if (!node) {
70
90
  return <div className="error">{i18n('no-data')}</div>;
71
91
  }
72
92
 
93
+ const memoryUsed = isNumeric(node.MemoryUsed) ? Number(node.MemoryUsed) : undefined;
94
+ const memoryLimit = isNumeric(node.MemoryLimit) ? Number(node.MemoryLimit) : undefined;
95
+ const hasMemoryUsed =
96
+ memoryUsed !== undefined && Number.isFinite(memoryUsed) && memoryUsed >= 0;
97
+ const hasMemoryLimit =
98
+ memoryLimit !== undefined && Number.isFinite(memoryLimit) && memoryLimit > 0;
99
+
100
+ const renderMemory = () => {
101
+ if (!hasMemoryUsed) {
102
+ return EMPTY_DATA_PLACEHOLDER;
103
+ }
104
+ if (!hasMemoryLimit) {
105
+ return formatMemoryValues(memoryUsed)[0];
106
+ }
107
+
108
+ return (
109
+ <ProgressViewer
110
+ value={memoryUsed}
111
+ capacity={memoryLimit}
112
+ formatValues={formatMemoryValues}
113
+ colorizeProgress
114
+ />
115
+ );
116
+ };
117
+
73
118
  return (
74
119
  <div className={b(null, className)}>
75
120
  <Flex wrap gap={4}>
76
121
  <Flex direction="column" gap={2}>
77
- <InfoViewer
78
- title={i18n('title.common-info')}
79
- className={b('section')}
80
- info={commonInfo}
81
- />
122
+ <div className={b('section')}>
123
+ <div className={b('section-title')}>{i18n('title.common-info')}</div>
124
+ <YDBDefinitionList items={commonInfo} nameMaxWidth={100} compact />
125
+ </div>
82
126
 
83
127
  {endpointsInfo && endpointsInfo.length ? (
84
- <InfoViewer
85
- title={i18n('title.endpoints')}
86
- className={b('section')}
87
- info={endpointsInfo}
88
- />
128
+ <div className={b('section')}>
129
+ <div className={b('section-title')}>{i18n('title.endpoints')}</div>
130
+ <YDBDefinitionList items={endpointsInfo} nameMaxWidth={100} compact />
131
+ </div>
89
132
  ) : null}
90
133
  </Flex>
91
134
 
@@ -99,11 +142,15 @@ export const FullNodeViewer = ({node, className}: FullNodeViewerProps) => {
99
142
  </div>
100
143
  </div>
101
144
 
102
- <InfoViewer
103
- title={i18n('title.load-average')}
104
- className={b('section', {average: true})}
105
- info={averageInfo}
106
- />
145
+ <div className={b('section', {average: true})}>
146
+ <div className={b('section-title')}>{i18n('title.load-average')}</div>
147
+ <YDBDefinitionList items={averageInfo} nameMaxWidth={100} compact />
148
+ </div>
149
+
150
+ <div className={b('section', {ram: true})} data-qa="node-ram">
151
+ <div className={b('section-title')}>{i18n('title_ram')}</div>
152
+ {renderMemory()}
153
+ </div>
107
154
  </Flex>
108
155
 
109
156
  {node.Roles && node.Roles.length ? (
@@ -17,5 +17,6 @@
17
17
  "title.endpoints": "Endpoints",
18
18
  "title.roles": "Roles",
19
19
  "title.pools": "Pools",
20
- "title.load-average": "Load average"
20
+ "title.load-average": "Load average",
21
+ "title_ram": "RAM"
21
22
  }
@@ -5,6 +5,7 @@ import {Popup} from '@gravity-ui/uikit';
5
5
  import debounce from 'lodash/debounce';
6
6
 
7
7
  import {YDB_POPOVER_CLASS_NAME} from '../../utils/constants';
8
+ import {useEventHandler} from '../../utils/hooks/useEventHandler';
8
9
 
9
10
  import {getPopupScrollContainer} from './getPopupScrollContainer';
10
11
 
@@ -62,22 +63,19 @@ export const HoverPopup = ({
62
63
 
63
64
  const reportedOpenRef = React.useRef(false);
64
65
 
65
- const reportOpen = React.useCallback(
66
- (nextOpen: boolean, force = false) => {
67
- if (!force && reportedOpenRef.current === nextOpen) {
68
- return;
69
- }
70
-
71
- reportedOpenRef.current = nextOpen;
72
-
73
- if (nextOpen) {
74
- onShowPopup?.();
75
- } else {
76
- onHidePopup?.();
77
- }
78
- },
79
- [onShowPopup, onHidePopup],
80
- );
66
+ const reportOpen = useEventHandler((nextOpen: boolean, force = false) => {
67
+ if (!force && reportedOpenRef.current === nextOpen) {
68
+ return;
69
+ }
70
+
71
+ reportedOpenRef.current = nextOpen;
72
+
73
+ if (nextOpen) {
74
+ onShowPopup?.();
75
+ } else {
76
+ onHidePopup?.();
77
+ }
78
+ });
81
79
 
82
80
  const debouncedHandleShowPopup = React.useMemo(
83
81
  () =>
@@ -101,6 +99,13 @@ export const HoverPopup = ({
101
99
  [delayClose, reportOpen, hidePopup],
102
100
  );
103
101
 
102
+ React.useEffect(() => {
103
+ return () => {
104
+ debouncedHandleShowPopup.cancel();
105
+ debouncedHandleHidePopup.cancel();
106
+ };
107
+ }, [debouncedHandleShowPopup, debouncedHandleHidePopup]);
108
+
104
109
  const closePopup = React.useCallback(() => {
105
110
  debouncedHandleShowPopup.cancel();
106
111
  debouncedHandleHidePopup.cancel();
@@ -47,7 +47,7 @@ export const InfoViewer = ({
47
47
  {info && info.length > 0 ? (
48
48
  <div className={b('items')}>
49
49
  {info.map((data, infoIndex) => (
50
- <div className={b('row')} key={infoIndex}>
50
+ <div className={b('row')} key={infoIndex} data-qa="info-viewer-row">
51
51
  <div className={b('label')}>
52
52
  <div className={b('label-text', {multiline: multilineLabels})}>
53
53
  {data.label}
@@ -55,7 +55,9 @@ export const InfoViewer = ({
55
55
  {dots && <div className={b('dots')} />}
56
56
  </div>
57
57
 
58
- <div className={b('value')}>{data.value}</div>
58
+ <div className={b('value')} data-qa="info-viewer-value">
59
+ {data.value}
60
+ </div>
59
61
  </div>
60
62
  ))}
61
63
  </div>
@@ -26,8 +26,12 @@ export const formatPQGroupItem = createInfoFormatter<TPersQueueGroupDescription>
26
26
  values: {
27
27
  Partitions: (value) => formatNumber(value?.length || 0),
28
28
  PQTabletConfig: (value) => {
29
- const hours =
30
- Math.round((value.PartitionConfig.LifetimeSeconds / HOUR_IN_SECONDS) * 100) / 100;
29
+ const lifetimeSeconds = value?.PartitionConfig?.LifetimeSeconds;
30
+ if (typeof lifetimeSeconds !== 'number' || !Number.isFinite(lifetimeSeconds)) {
31
+ return EMPTY_DATA_PLACEHOLDER;
32
+ }
33
+
34
+ const hours = Math.round((lifetimeSeconds / HOUR_IN_SECONDS) * 100) / 100;
31
35
  return `${formatNumber(hours)} hours`;
32
36
  },
33
37
  },
@@ -34,6 +34,7 @@
34
34
  "field_filter_length_min": "Filter Length Min",
35
35
  "field_filter_length_max": "Filter Length Max",
36
36
  "field_use_filter_snowball": "Filter Snowball",
37
+ "field_use_filter_superlemmer": "Filter Superlemmer",
37
38
  "filter_enabled": "Enabled",
38
39
  "filter_disabled": "Disabled",
39
40