ydb-embedded-ui 6.21.0 → 6.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (459) hide show
  1. package/dist/components/AutoRefreshControl/i18n/index.d.ts +1 -1
  2. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.d.ts +2 -1
  3. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +2 -2
  4. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  5. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +4 -0
  6. package/dist/components/GroupInfo/i18n/index.d.ts +1 -1
  7. package/dist/components/PDiskInfo/PDiskInfo.js +1 -3
  8. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  9. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  10. package/dist/components/PDiskPopup/PDiskPopup.d.ts +2 -4
  11. package/dist/components/PDiskPopup/PDiskPopup.js +10 -5
  12. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  13. package/dist/components/PaginatedTable/PaginatedTable.d.ts +2 -1
  14. package/dist/components/PaginatedTable/PaginatedTable.js +9 -7
  15. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  16. package/dist/components/PaginatedTable/TableChunk.d.ts +2 -1
  17. package/dist/components/PaginatedTable/TableChunk.js +5 -2
  18. package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
  19. package/dist/components/QueryResultTable/Cell/Cell.js +1 -4
  20. package/dist/components/QueryResultTable/Cell/Cell.js.map +1 -1
  21. package/dist/components/QueryResultTable/QueryResultTable.js +11 -16
  22. package/dist/components/QueryResultTable/QueryResultTable.js.map +1 -1
  23. package/dist/components/QueryResultTable/utils/getColumnWidth.d.ts +7 -0
  24. package/dist/components/QueryResultTable/utils/getColumnWidth.js +16 -0
  25. package/dist/components/QueryResultTable/utils/getColumnWidth.js.map +1 -0
  26. package/dist/components/QueryResultTable/utils/getColumnWidth.test.d.ts +1 -0
  27. package/dist/components/QueryResultTable/utils/getColumnWidth.test.js +32 -0
  28. package/dist/components/QueryResultTable/utils/getColumnWidth.test.js.map +1 -0
  29. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +7 -7
  30. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  31. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  32. package/dist/components/TableSkeleton/TableSkeleton.d.ts +2 -1
  33. package/dist/components/TableSkeleton/TableSkeleton.js +5 -1
  34. package/dist/components/TableSkeleton/TableSkeleton.js.map +1 -1
  35. package/dist/components/TableSkeleton/TableSkeleton.scss +7 -1
  36. package/dist/components/VDisk/VDisk.d.ts +2 -3
  37. package/dist/components/VDisk/VDisk.js +2 -2
  38. package/dist/components/VDisk/VDisk.js.map +1 -1
  39. package/dist/components/VDiskInfo/VDiskInfo.js +1 -3
  40. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  41. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  42. package/dist/components/VDiskPopup/VDiskPopup.d.ts +1 -3
  43. package/dist/components/VDiskPopup/VDiskPopup.js +7 -2
  44. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  45. package/dist/containers/App/App.scss +1 -1
  46. package/dist/containers/Cluster/Cluster.js +1 -1
  47. package/dist/containers/Cluster/Cluster.js.map +1 -1
  48. package/dist/containers/Cluster/Cluster.scss +2 -3
  49. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  50. package/dist/containers/Clusters/Clusters.js +3 -3
  51. package/dist/containers/Clusters/Clusters.js.map +1 -1
  52. package/dist/containers/Clusters/columns.js +2 -2
  53. package/dist/containers/Clusters/columns.js.map +1 -1
  54. package/dist/containers/Clusters/constants.d.ts +4 -4
  55. package/dist/containers/Clusters/constants.js +3 -3
  56. package/dist/containers/Clusters/constants.js.map +1 -1
  57. package/dist/containers/Header/breadcrumbs.js +2 -3
  58. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  59. package/dist/containers/Node/Node.js +14 -4
  60. package/dist/containers/Node/Node.js.map +1 -1
  61. package/dist/containers/Node/NodePages.js +4 -5
  62. package/dist/containers/Node/NodePages.js.map +1 -1
  63. package/dist/containers/Nodes/Nodes.js +10 -11
  64. package/dist/containers/Nodes/Nodes.js.map +1 -1
  65. package/dist/containers/Nodes/PaginatedNodes.js +10 -11
  66. package/dist/containers/Nodes/PaginatedNodes.js.map +1 -1
  67. package/dist/containers/Nodes/{getNodesColumns.d.ts → columns/columns.d.ts} +3 -10
  68. package/dist/containers/Nodes/{getNodesColumns.js → columns/columns.js} +37 -39
  69. package/dist/containers/Nodes/columns/columns.js.map +1 -0
  70. package/dist/containers/Nodes/columns/constants.d.ts +41 -0
  71. package/dist/containers/Nodes/columns/constants.js +83 -0
  72. package/dist/containers/Nodes/columns/constants.js.map +1 -0
  73. package/dist/containers/Nodes/columns/hooks.d.ts +6 -0
  74. package/dist/containers/Nodes/columns/hooks.js +11 -0
  75. package/dist/containers/Nodes/columns/hooks.js.map +1 -0
  76. package/dist/containers/Nodes/columns/i18n/en.json +17 -0
  77. package/dist/containers/Nodes/columns/i18n/index.d.ts +2 -0
  78. package/dist/containers/Nodes/columns/i18n/index.js +5 -0
  79. package/dist/containers/Nodes/columns/i18n/index.js.map +1 -0
  80. package/dist/containers/Nodes/columns/types.d.ts +9 -0
  81. package/dist/containers/Nodes/columns/types.js +2 -0
  82. package/dist/containers/Nodes/columns/types.js.map +1 -0
  83. package/dist/containers/Nodes/getNodes.d.ts +3 -2
  84. package/dist/containers/Nodes/getNodes.js +6 -3
  85. package/dist/containers/Nodes/getNodes.js.map +1 -1
  86. package/dist/containers/PDiskPage/PDiskPage.js +12 -10
  87. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  88. package/dist/containers/PDiskPage/PDiskPage.scss +14 -14
  89. package/dist/containers/PDiskPage/i18n/en.json +1 -1
  90. package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
  91. package/dist/containers/ReduxTooltip/ReduxTooltip.js +7 -7
  92. package/dist/containers/ReduxTooltip/ReduxTooltip.js.map +1 -1
  93. package/dist/containers/Storage/Disks/Disks.d.ts +3 -3
  94. package/dist/containers/Storage/Disks/Disks.js +6 -7
  95. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  96. package/dist/containers/Storage/PDisk/PDisk.d.ts +5 -4
  97. package/dist/containers/Storage/PDisk/PDisk.js +3 -2
  98. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  99. package/dist/containers/Storage/PDisk/PDisk.scss +1 -1
  100. package/dist/containers/Storage/PaginatedStorage.d.ts +5 -6
  101. package/dist/containers/Storage/PaginatedStorage.js +9 -54
  102. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  103. package/dist/containers/Storage/PaginatedStorageGroups.d.ts +3 -0
  104. package/dist/containers/Storage/PaginatedStorageGroups.js +84 -0
  105. package/dist/containers/Storage/PaginatedStorageGroups.js.map +1 -0
  106. package/dist/containers/Storage/PaginatedStorageNodes.d.ts +3 -0
  107. package/dist/containers/Storage/PaginatedStorageNodes.js +98 -0
  108. package/dist/containers/Storage/PaginatedStorageNodes.js.map +1 -0
  109. package/dist/containers/Storage/Storage.d.ts +4 -4
  110. package/dist/containers/Storage/Storage.js +46 -67
  111. package/dist/containers/Storage/Storage.js.map +1 -1
  112. package/dist/containers/Storage/Storage.scss +4 -0
  113. package/dist/containers/Storage/StorageControls/StorageControls.d.ts +6 -16
  114. package/dist/containers/Storage/StorageControls/StorageControls.js +18 -9
  115. package/dist/containers/Storage/StorageControls/StorageControls.js.map +1 -1
  116. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroupsTable.d.ts +22 -0
  117. package/dist/containers/Storage/StorageGroups/{PaginatedStorageGroups.js → PaginatedStorageGroupsTable.js} +24 -8
  118. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroupsTable.js.map +1 -0
  119. package/dist/containers/Storage/StorageGroups/StorageGroupsTable.d.ts +14 -0
  120. package/dist/containers/Storage/StorageGroups/{StorageGroups.js → StorageGroupsTable.js} +5 -6
  121. package/dist/containers/Storage/StorageGroups/StorageGroupsTable.js.map +1 -0
  122. package/dist/containers/Storage/StorageGroups/columns/columns.d.ts +4 -0
  123. package/dist/containers/Storage/StorageGroups/columns/{getStorageGroupsColumns.js → columns.js} +66 -89
  124. package/dist/containers/Storage/StorageGroups/columns/columns.js.map +1 -0
  125. package/dist/containers/Storage/StorageGroups/columns/constants.d.ts +54 -0
  126. package/dist/containers/Storage/StorageGroups/columns/constants.js +120 -0
  127. package/dist/containers/Storage/StorageGroups/columns/constants.js.map +1 -0
  128. package/dist/containers/Storage/StorageGroups/columns/hooks.d.ts +7 -3
  129. package/dist/containers/Storage/StorageGroups/columns/hooks.js +21 -16
  130. package/dist/containers/Storage/StorageGroups/columns/hooks.js.map +1 -1
  131. package/dist/containers/Storage/StorageGroups/columns/i18n/en.json +21 -0
  132. package/dist/containers/Storage/StorageGroups/columns/i18n/index.d.ts +2 -0
  133. package/dist/containers/Storage/StorageGroups/columns/i18n/index.js +5 -0
  134. package/dist/containers/Storage/StorageGroups/columns/i18n/index.js.map +1 -0
  135. package/dist/containers/Storage/StorageGroups/columns/types.d.ts +5 -7
  136. package/dist/containers/Storage/StorageGroups/getGroups.js +10 -6
  137. package/dist/containers/Storage/StorageGroups/getGroups.js.map +1 -1
  138. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodesTable.d.ts +23 -0
  139. package/dist/containers/Storage/StorageNodes/{PaginatedStorageNodes.js → PaginatedStorageNodesTable.js} +24 -9
  140. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodesTable.js.map +1 -0
  141. package/dist/containers/Storage/StorageNodes/StorageNodes.scss +1 -27
  142. package/dist/containers/Storage/StorageNodes/StorageNodesTable.d.ts +16 -0
  143. package/dist/containers/Storage/StorageNodes/{StorageNodes.js → StorageNodesTable.js} +9 -9
  144. package/dist/containers/Storage/StorageNodes/StorageNodesTable.js.map +1 -0
  145. package/dist/containers/Storage/StorageNodes/columns/StorageNodesColumns.scss +24 -0
  146. package/dist/containers/Storage/StorageNodes/columns/columns.d.ts +39 -0
  147. package/dist/containers/Storage/StorageNodes/{getStorageNodesColumns.js → columns/columns.js} +20 -31
  148. package/dist/containers/Storage/StorageNodes/columns/columns.js.map +1 -0
  149. package/dist/containers/Storage/StorageNodes/columns/constants.d.ts +34 -0
  150. package/dist/containers/Storage/StorageNodes/columns/constants.js +74 -0
  151. package/dist/containers/Storage/StorageNodes/columns/constants.js.map +1 -0
  152. package/dist/containers/Storage/StorageNodes/columns/hooks.d.ts +43 -0
  153. package/dist/containers/Storage/StorageNodes/columns/hooks.js +18 -0
  154. package/dist/containers/Storage/StorageNodes/columns/hooks.js.map +1 -0
  155. package/dist/containers/Storage/StorageNodes/columns/i18n/en.json +11 -0
  156. package/dist/containers/Storage/StorageNodes/columns/i18n/index.d.ts +2 -0
  157. package/dist/containers/Storage/StorageNodes/columns/i18n/index.js +5 -0
  158. package/dist/containers/Storage/StorageNodes/columns/i18n/index.js.map +1 -0
  159. package/dist/containers/Storage/StorageNodes/columns/types.d.ts +11 -0
  160. package/dist/containers/Storage/StorageNodes/columns/types.js +2 -0
  161. package/dist/containers/Storage/StorageNodes/columns/types.js.map +1 -0
  162. package/dist/containers/Storage/StorageNodes/getNodes.d.ts +2 -2
  163. package/dist/containers/Storage/StorageNodes/getNodes.js +13 -9
  164. package/dist/containers/Storage/StorageNodes/getNodes.js.map +1 -1
  165. package/dist/containers/Storage/StorageNodes/shared.js +1 -1
  166. package/dist/containers/Storage/StorageNodes/shared.js.map +1 -1
  167. package/dist/containers/Storage/StorageWrapper.d.ts +0 -2
  168. package/dist/containers/Storage/StorageWrapper.js.map +1 -1
  169. package/dist/containers/Storage/TableGroup/TableGroup.d.ts +12 -0
  170. package/dist/containers/Storage/TableGroup/TableGroup.js +21 -0
  171. package/dist/containers/Storage/TableGroup/TableGroup.js.map +1 -0
  172. package/dist/containers/Storage/TableGroup/TableGroup.scss +49 -0
  173. package/dist/containers/Storage/TableGroup/useExpandedTableGroups.d.ts +5 -0
  174. package/dist/containers/Storage/TableGroup/useExpandedTableGroups.js +28 -0
  175. package/dist/containers/Storage/TableGroup/useExpandedTableGroups.js.map +1 -0
  176. package/dist/containers/Storage/i18n/en.json +4 -1
  177. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  178. package/dist/containers/Storage/i18n/index.js +1 -2
  179. package/dist/containers/Storage/i18n/index.js.map +1 -1
  180. package/dist/containers/Storage/shared.d.ts +2 -0
  181. package/dist/containers/Storage/shared.js +9 -0
  182. package/dist/containers/Storage/shared.js.map +1 -1
  183. package/dist/containers/Storage/useStorageQueryParams.d.ts +18 -0
  184. package/dist/containers/Storage/useStorageQueryParams.js +64 -0
  185. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -0
  186. package/dist/containers/Storage/utils/index.d.ts +6 -2
  187. package/dist/containers/Storage/utils/index.js +17 -11
  188. package/dist/containers/Storage/utils/index.js.map +1 -1
  189. package/dist/containers/StorageGroupPage/StorageGroupPage.js +14 -57
  190. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  191. package/dist/containers/StorageGroupPage/StorageGroupPage.scss +14 -17
  192. package/dist/containers/StorageGroupPage/i18n/en.json +1 -2
  193. package/dist/containers/StorageGroupPage/i18n/index.d.ts +1 -1
  194. package/dist/containers/Tablets/i18n/index.d.ts +1 -1
  195. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +17 -3
  196. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js.map +1 -1
  197. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +1 -1
  198. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  199. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +6 -3
  200. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +4 -4
  201. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  202. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +10 -3
  203. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js.map +1 -1
  204. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +2 -3
  205. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  206. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +4 -4
  207. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  208. package/dist/containers/Tenant/Diagnostics/Partitions/utils/index.d.ts +2 -2
  209. package/dist/containers/Tenant/Diagnostics/Partitions/utils/index.js +5 -5
  210. package/dist/containers/Tenant/Diagnostics/Partitions/utils/index.js.map +1 -1
  211. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +12 -5
  212. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js.map +1 -1
  213. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +12 -5
  214. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js.map +1 -1
  215. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +13 -5
  216. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js.map +1 -1
  217. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +8 -2
  218. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  219. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -1
  220. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js.map +1 -1
  221. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  222. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.d.ts +5 -0
  223. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js +21 -0
  224. package/dist/containers/Tenant/Diagnostics/TopQueries/RunningQueriesData.js.map +1 -0
  225. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.d.ts +1 -3
  226. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +32 -37
  227. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js.map +1 -1
  228. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.d.ts +6 -0
  229. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +33 -0
  230. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -0
  231. package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.d.ts +2 -0
  232. package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.js +26 -0
  233. package/dist/containers/Tenant/Diagnostics/TopQueries/getTopQueriesColumns.js.map +1 -1
  234. package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/en.json +7 -1
  235. package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/index.d.ts +1 -1
  236. package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/index.js +1 -2
  237. package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/index.js.map +1 -1
  238. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +71 -62
  239. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  240. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +6 -7
  241. package/dist/containers/Tenant/ObjectSummary/ObjectTree.d.ts +6 -0
  242. package/dist/containers/Tenant/ObjectSummary/ObjectTree.js +25 -0
  243. package/dist/containers/Tenant/ObjectSummary/ObjectTree.js.map +1 -0
  244. package/dist/containers/Tenant/ObjectSummary/SchemaActions.d.ts +1 -0
  245. package/dist/containers/Tenant/ObjectSummary/SchemaActions.js +18 -0
  246. package/dist/containers/Tenant/ObjectSummary/SchemaActions.js.map +1 -0
  247. package/dist/containers/Tenant/ObjectSummary/__test__/transformPath.test.js +27 -3
  248. package/dist/containers/Tenant/ObjectSummary/__test__/transformPath.test.js.map +1 -1
  249. package/dist/containers/Tenant/ObjectSummary/i18n/en.json +21 -0
  250. package/dist/containers/Tenant/ObjectSummary/i18n/index.d.ts +2 -0
  251. package/dist/containers/Tenant/ObjectSummary/i18n/index.js +5 -0
  252. package/dist/containers/Tenant/ObjectSummary/i18n/index.js.map +1 -0
  253. package/dist/containers/Tenant/ObjectSummary/shared.d.ts +1 -0
  254. package/dist/containers/Tenant/ObjectSummary/shared.js +3 -0
  255. package/dist/containers/Tenant/ObjectSummary/shared.js.map +1 -0
  256. package/dist/containers/Tenant/ObjectSummary/transformPath.d.ts +2 -0
  257. package/dist/containers/Tenant/ObjectSummary/transformPath.js +10 -0
  258. package/dist/containers/Tenant/ObjectSummary/transformPath.js.map +1 -1
  259. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +14 -12
  260. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js.map +1 -1
  261. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.scss +8 -0
  262. package/dist/containers/Tenant/Query/ExecuteResult/i18n/en.json +3 -1
  263. package/dist/containers/Tenant/Query/ExecuteResult/i18n/index.d.ts +1 -1
  264. package/dist/containers/Tenant/Query/NewSQL/NewSQL.d.ts +1 -0
  265. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +135 -0
  266. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -0
  267. package/dist/containers/Tenant/Query/NewSQL/i18n/en.json +32 -0
  268. package/dist/containers/Tenant/Query/NewSQL/i18n/index.d.ts +2 -0
  269. package/dist/containers/Tenant/Query/NewSQL/i18n/index.js +5 -0
  270. package/dist/containers/Tenant/Query/NewSQL/i18n/index.js.map +1 -0
  271. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +2 -1
  272. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
  273. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +1 -0
  274. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.js +3 -1
  275. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.js.map +1 -1
  276. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js +5 -10
  277. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js.map +1 -1
  278. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.js +5 -3
  279. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.js.map +1 -1
  280. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js +6 -10
  281. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js.map +1 -1
  282. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +11 -2
  283. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  284. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.scss +1 -0
  285. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.d.ts +1 -0
  286. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.js +1 -1
  287. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsSelect.js.map +1 -1
  288. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.d.ts +3 -0
  289. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js +3 -0
  290. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js.map +1 -1
  291. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +3 -0
  292. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.d.ts +1 -1
  293. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +3 -0
  294. package/dist/containers/Tenant/Schema/SchemaTree/SchemaTree.js +1 -1
  295. package/dist/containers/Tenant/Schema/SchemaTree/SchemaTree.js.map +1 -1
  296. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js +10 -2
  297. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js.map +1 -1
  298. package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.d.ts +2 -1
  299. package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.js.map +1 -1
  300. package/dist/containers/Tenant/Tenant.js +7 -3
  301. package/dist/containers/Tenant/Tenant.js.map +1 -1
  302. package/dist/containers/Tenant/utils/newSQLQueryActions.d.ts +27 -0
  303. package/dist/containers/Tenant/utils/newSQLQueryActions.js +35 -0
  304. package/dist/containers/Tenant/utils/newSQLQueryActions.js.map +1 -0
  305. package/dist/containers/Tenant/utils/newSQLQueryTemplates.d.ts +24 -0
  306. package/dist/containers/Tenant/utils/newSQLQueryTemplates.js +228 -0
  307. package/dist/containers/Tenant/utils/newSQLQueryTemplates.js.map +1 -0
  308. package/dist/containers/Tenant/utils/schema.js +1 -0
  309. package/dist/containers/Tenant/utils/schema.js.map +1 -1
  310. package/dist/containers/Tenant/utils/schemaActions.d.ts +1 -1
  311. package/dist/containers/Tenant/utils/schemaActions.js +8 -6
  312. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  313. package/dist/containers/Tenant/utils/{queryTemplates.js → schemaQueryTemplates.js} +1 -1
  314. package/dist/containers/Tenant/utils/schemaQueryTemplates.js.map +1 -0
  315. package/dist/containers/UserSettings/i18n/en.json +0 -2
  316. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  317. package/dist/containers/UserSettings/settings.d.ts +0 -1
  318. package/dist/containers/UserSettings/settings.js +2 -7
  319. package/dist/containers/UserSettings/settings.js.map +1 -1
  320. package/dist/containers/VDiskPage/VDiskPage.d.ts +0 -3
  321. package/dist/containers/VDiskPage/VDiskPage.js +9 -33
  322. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  323. package/dist/containers/VDiskPage/VDiskPage.scss +10 -19
  324. package/dist/containers/VDiskPage/i18n/en.json +1 -1
  325. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  326. package/dist/services/api.d.ts +16 -5
  327. package/dist/services/api.js +53 -14
  328. package/dist/services/api.js.map +1 -1
  329. package/dist/services/settings.d.ts +2 -2
  330. package/dist/services/settings.js +2 -3
  331. package/dist/services/settings.js.map +1 -1
  332. package/dist/store/configureStore.d.ts +2 -2
  333. package/dist/store/defaultStore.d.ts +1 -1
  334. package/dist/store/reducers/capabilities/capabilities.d.ts +8 -1
  335. package/dist/store/reducers/capabilities/capabilities.js +6 -1
  336. package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
  337. package/dist/store/reducers/capabilities/hooks.d.ts +2 -0
  338. package/dist/store/reducers/capabilities/hooks.js +6 -0
  339. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  340. package/dist/store/reducers/executeQuery.js +3 -0
  341. package/dist/store/reducers/executeQuery.js.map +1 -1
  342. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +4 -0
  343. package/dist/store/reducers/executeTopQueries/executeTopQueries.js +27 -1
  344. package/dist/store/reducers/executeTopQueries/executeTopQueries.js.map +1 -1
  345. package/dist/store/reducers/index.d.ts +2 -2
  346. package/dist/store/reducers/nodes/nodes.d.ts +2 -2
  347. package/dist/store/reducers/nodes/nodes.js.map +1 -1
  348. package/dist/store/reducers/nodes/types.d.ts +3 -24
  349. package/dist/store/reducers/nodesList.d.ts +5 -5
  350. package/dist/store/reducers/nodesList.js +2 -2
  351. package/dist/store/reducers/nodesList.js.map +1 -1
  352. package/dist/store/reducers/overview/overview.js +5 -1
  353. package/dist/store/reducers/overview/overview.js.map +1 -1
  354. package/dist/store/reducers/pdisk/pdisk.js +29 -2
  355. package/dist/store/reducers/pdisk/pdisk.js.map +1 -1
  356. package/dist/store/reducers/pdisk/utils.js +1 -1
  357. package/dist/store/reducers/pdisk/utils.js.map +1 -1
  358. package/dist/store/reducers/storage/requestStorageData.d.ts +3 -3
  359. package/dist/store/reducers/storage/requestStorageData.js.map +1 -1
  360. package/dist/store/reducers/storage/selectors.d.ts +2 -3
  361. package/dist/store/reducers/storage/selectors.js +1 -27
  362. package/dist/store/reducers/storage/selectors.js.map +1 -1
  363. package/dist/store/reducers/storage/storage.d.ts +4 -4
  364. package/dist/store/reducers/storage/storage.js.map +1 -1
  365. package/dist/store/reducers/storage/types.d.ts +19 -10
  366. package/dist/store/reducers/storage/utils.js +27 -3
  367. package/dist/store/reducers/storage/utils.js.map +1 -1
  368. package/dist/store/reducers/tablet.js +5 -3
  369. package/dist/store/reducers/tablet.js.map +1 -1
  370. package/dist/store/reducers/tablets.d.ts +3 -3
  371. package/dist/store/reducers/tablets.js +4 -4
  372. package/dist/store/reducers/tablets.js.map +1 -1
  373. package/dist/store/reducers/tooltip.d.ts +1 -1
  374. package/dist/styles/mixins.scss +3 -3
  375. package/dist/types/api/capabilities.d.ts +1 -1
  376. package/dist/types/api/common.d.ts +1 -0
  377. package/dist/types/api/nodes.d.ts +34 -0
  378. package/dist/types/api/nodes.js.map +1 -1
  379. package/dist/types/api/query.d.ts +1 -0
  380. package/dist/types/api/storage.d.ts +29 -8
  381. package/dist/types/store/nodesList.d.ts +1 -1
  382. package/dist/types/store/query.d.ts +5 -8
  383. package/dist/utils/constants.d.ts +0 -8
  384. package/dist/utils/constants.js +0 -9
  385. package/dist/utils/constants.js.map +1 -1
  386. package/dist/utils/filters.d.ts +2 -1
  387. package/dist/utils/filters.js +1 -4
  388. package/dist/utils/filters.js.map +1 -1
  389. package/dist/utils/hooks/useChangedQuerySettings.d.ts +2 -2
  390. package/dist/utils/hooks/useChangedQuerySettings.js +2 -1
  391. package/dist/utils/hooks/useChangedQuerySettings.js.map +1 -1
  392. package/dist/utils/hooks/useLastQueryExecutionSettings.d.ts +15 -2
  393. package/dist/utils/hooks/useLastQueryExecutionSettings.js +8 -9
  394. package/dist/utils/hooks/useLastQueryExecutionSettings.js.map +1 -1
  395. package/dist/utils/hooks/useQueryExecutionSettings.d.ts +15 -2
  396. package/dist/utils/hooks/useQueryExecutionSettings.js +5 -7
  397. package/dist/utils/hooks/useQueryExecutionSettings.js.map +1 -1
  398. package/dist/utils/hooks/useSelectedColumns.d.ts +8 -0
  399. package/dist/utils/hooks/useSelectedColumns.js +40 -0
  400. package/dist/utils/hooks/useSelectedColumns.js.map +1 -0
  401. package/dist/utils/nodes.d.ts +5 -24
  402. package/dist/utils/nodes.js +20 -23
  403. package/dist/utils/nodes.js.map +1 -1
  404. package/dist/utils/query.d.ts +129 -0
  405. package/dist/utils/query.js +33 -1
  406. package/dist/utils/query.js.map +1 -1
  407. package/dist/utils/storage.d.ts +1 -1
  408. package/dist/utils/storage.js +2 -0
  409. package/dist/utils/storage.js.map +1 -1
  410. package/dist/utils/utils.js +2 -1
  411. package/dist/utils/utils.js.map +1 -1
  412. package/package.json +2 -1
  413. package/dist/containers/Clusters/useSelectedColumns.d.ts +0 -7
  414. package/dist/containers/Clusters/useSelectedColumns.js +0 -26
  415. package/dist/containers/Clusters/useSelectedColumns.js.map +0 -1
  416. package/dist/containers/Nodes/getNodesColumns.js.map +0 -1
  417. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.d.ts +0 -6
  418. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js +0 -30
  419. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js.map +0 -1
  420. package/dist/containers/PDiskPage/PDiskGroups/utils.d.ts +0 -2
  421. package/dist/containers/PDiskPage/PDiskGroups/utils.js +0 -14
  422. package/dist/containers/PDiskPage/PDiskGroups/utils.js.map +0 -1
  423. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.d.ts +0 -14
  424. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.js.map +0 -1
  425. package/dist/containers/Storage/StorageGroups/StorageGroups.d.ts +0 -13
  426. package/dist/containers/Storage/StorageGroups/StorageGroups.js.map +0 -1
  427. package/dist/containers/Storage/StorageGroups/columns/getStorageGroupsColumns.d.ts +0 -21
  428. package/dist/containers/Storage/StorageGroups/columns/getStorageGroupsColumns.js.map +0 -1
  429. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodes.d.ts +0 -17
  430. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodes.js.map +0 -1
  431. package/dist/containers/Storage/StorageNodes/StorageNodes.d.ts +0 -19
  432. package/dist/containers/Storage/StorageNodes/StorageNodes.js.map +0 -1
  433. package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.d.ts +0 -50
  434. package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js.map +0 -1
  435. package/dist/containers/Storage/UsageFilter/UsageFilter.d.ts +0 -14
  436. package/dist/containers/Storage/UsageFilter/UsageFilter.js +0 -39
  437. package/dist/containers/Storage/UsageFilter/UsageFilter.js.map +0 -1
  438. package/dist/containers/Storage/UsageFilter/UsageFilter.scss +0 -38
  439. package/dist/containers/Storage/UsageFilter/i18n/en.json +0 -5
  440. package/dist/containers/Storage/UsageFilter/i18n/index.d.ts +0 -2
  441. package/dist/containers/Storage/UsageFilter/i18n/index.js +0 -6
  442. package/dist/containers/Storage/UsageFilter/i18n/index.js.map +0 -1
  443. package/dist/containers/Storage/UsageFilter/i18n/ru.json +0 -5
  444. package/dist/containers/Storage/UsageFilter/index.d.ts +0 -1
  445. package/dist/containers/Storage/UsageFilter/index.js +0 -2
  446. package/dist/containers/Storage/UsageFilter/index.js.map +0 -1
  447. package/dist/containers/Storage/i18n/ru.json +0 -6
  448. package/dist/containers/Tenant/Diagnostics/TopQueries/i18n/ru.json +0 -4
  449. package/dist/containers/Tenant/utils/queryTemplates.js.map +0 -1
  450. package/dist/containers/VDiskPage/utils.d.ts +0 -2
  451. package/dist/containers/VDiskPage/utils.js +0 -7
  452. package/dist/containers/VDiskPage/utils.js.map +0 -1
  453. package/dist/store/reducers/describe.d.ts +0 -7
  454. package/dist/store/reducers/describe.js +0 -25
  455. package/dist/store/reducers/describe.js.map +0 -1
  456. package/dist/store/reducers/tenantOverview/topNodes/topNodes.d.ts +0 -4
  457. package/dist/store/reducers/tenantOverview/topNodes/topNodes.js +0 -27
  458. package/dist/store/reducers/tenantOverview/topNodes/topNodes.js.map +0 -1
  459. /package/dist/containers/Tenant/utils/{queryTemplates.d.ts → schemaQueryTemplates.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/containers/Storage/StorageNodes/columns/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,2BAA2B,CAAC;AAE9C,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { Column as DataTableColumn } from '@gravity-ui/react-data-table';
2
+ import type { Column as PaginatedTableColumn } from '../../../../components/PaginatedTable';
3
+ import type { PreparedStorageNode, VisibleEntities } from '../../../../store/reducers/storage/types';
4
+ import type { AdditionalNodesProps } from '../../../../types/additionalProps';
5
+ export type StorageNodesColumn = PaginatedTableColumn<PreparedStorageNode> & DataTableColumn<PreparedStorageNode>;
6
+ export interface GetStorageNodesColumnsParams {
7
+ additionalNodesProps: AdditionalNodesProps | undefined;
8
+ visibleEntities?: VisibleEntities;
9
+ database?: string;
10
+ groupId?: string;
11
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/containers/Storage/StorageNodes/columns/types.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
1
  import type { FetchData } from '../../../components/PaginatedTable';
2
- import type { NodesApiRequestParams } from '../../../store/reducers/nodes/types';
3
2
  import type { PreparedStorageNode, PreparedStorageNodeFilters } from '../../../store/reducers/storage/types';
4
- export declare const getStorageNodes: FetchData<PreparedStorageNode, PreparedStorageNodeFilters, Pick<NodesApiRequestParams, 'type' | 'storage'>>;
3
+ import type { NodesRequestParams } from '../../../types/api/nodes';
4
+ export declare const getStorageNodes: FetchData<PreparedStorageNode, PreparedStorageNodeFilters, Pick<NodesRequestParams, 'type' | 'storage'>>;
@@ -1,24 +1,28 @@
1
1
  import { prepareStorageNodesResponse } from '../../../store/reducers/storage/utils';
2
- import { getUptimeParamValue } from '../../../utils/nodes';
3
- const getConcurrentId = (limit, offset) => {
4
- return `getStorageNodes|offset${offset}|limit${limit}`;
5
- };
2
+ import { prepareSortValue } from '../../../utils/filters';
3
+ import { getUptimeParamValue, isSortableNodesProperty } from '../../../utils/nodes';
6
4
  export const getStorageNodes = async (params) => {
7
5
  const { type = 'static', storage = true, limit, offset, sortParams, filters } = params;
8
- const { searchValue, nodesUptimeFilter, visibleEntities, database } = filters !== null && filters !== void 0 ? filters : {};
6
+ const { searchValue, nodesUptimeFilter, visibleEntities, database, nodeId, groupId, filterGroup, filterGroupBy, } = filters !== null && filters !== void 0 ? filters : {};
9
7
  const { sortOrder, columnId } = sortParams !== null && sortParams !== void 0 ? sortParams : {};
8
+ const sort = isSortableNodesProperty(columnId)
9
+ ? prepareSortValue(columnId, sortOrder)
10
+ : undefined;
10
11
  const response = await window.api.getNodes({
11
12
  type,
12
13
  storage,
13
14
  limit,
14
15
  offset,
15
- sortOrder,
16
- sortValue: columnId,
16
+ sort,
17
17
  filter: searchValue,
18
18
  uptime: getUptimeParamValue(nodesUptimeFilter),
19
- visibleEntities,
19
+ with: visibleEntities,
20
20
  database,
21
- }, { concurrentId: getConcurrentId(limit, offset) });
21
+ node_id: nodeId,
22
+ group_id: groupId,
23
+ filter_group: filterGroup,
24
+ filter_group_by: filterGroupBy,
25
+ });
22
26
  const preparedResponse = prepareStorageNodesResponse(response);
23
27
  return {
24
28
  data: preparedResponse.nodes || [],
@@ -1 +1 @@
1
- {"version":3,"file":"getNodes.js","sourceRoot":"","sources":["../../../../src/containers/Storage/StorageNodes/getNodes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAGzD,MAAM,eAAe,GAAG,CAAC,KAAc,EAAE,MAAe,EAAE,EAAE;IACxD,OAAO,yBAAyB,MAAM,SAAS,KAAK,EAAE,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAIxB,KAAK,EAAE,MAAM,EAAE,EAAE;IACjB,MAAM,EAAC,IAAI,GAAG,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAC,GAAG,MAAM,CAAC;IACrF,MAAM,EAAC,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,EAAC,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAClF,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IAE/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CACtC;QACI,IAAI;QACJ,OAAO;QACP,KAAK;QACL,MAAM;QACN,SAAS;QACT,SAAS,EAAE,QAA0B;QACrC,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAC9C,eAAe;QACf,QAAQ;KACX,EACD,EAAC,YAAY,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAC,CACjD,CAAC;IACF,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO;QACH,IAAI,EAAE,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;KACrC,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"getNodes.js","sourceRoot":"","sources":["../../../../src/containers/Storage/StorageNodes/getNodes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAC,2BAA2B,EAAC,MAAM,uCAAuC,CAAC;AAElF,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,sBAAsB,CAAC;AAElF,MAAM,CAAC,MAAM,eAAe,GAIxB,KAAK,EAAE,MAAM,EAAE,EAAE;IACjB,MAAM,EAAC,IAAI,GAAG,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAC,GAAG,MAAM,CAAC;IACrF,MAAM,EACF,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACR,MAAM,EACN,OAAO,EACP,WAAW,EACX,aAAa,GAChB,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;IAClB,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAC,GAAG,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC;IAE/C,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,CAAC;QAC1C,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACvC,IAAI;QACJ,OAAO;QACP,KAAK;QACL,MAAM;QACN,IAAI;QACJ,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,mBAAmB,CAAC,iBAAiB,CAAC;QAC9C,IAAI,EAAE,eAAe;QACrB,QAAQ;QACR,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,OAAO;QACjB,YAAY,EAAE,WAAW;QACzB,eAAe,EAAE,aAAa;KACjC,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAC/D,OAAO;QACH,IAAI,EAAE,gBAAgB,CAAC,KAAK,IAAI,EAAE;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;QAClC,KAAK,EAAE,gBAAgB,CAAC,KAAK,IAAI,CAAC;KACrC,CAAC;AACN,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { cn } from '../../../utils/cn';
2
2
  import { isUnavailableNode } from '../../../utils/nodes';
3
- export const b = cn('global-storage-nodes');
3
+ export const b = cn('ydb-storage-nodes');
4
4
  export const getRowUnavailableClassName = (row) => b('node', { unavailable: isUnavailableNode(row) });
5
5
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/containers/Storage/StorageNodes/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAwB,EAAE,EAAE,CACnE,CAAC,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/containers/Storage/StorageNodes/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAwB,EAAE,EAAE,CACnE,CAAC,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC"}
@@ -1,9 +1,7 @@
1
- import type { AdditionalNodesProps } from '../../types/additionalProps';
2
1
  interface StorageWrapperProps {
3
2
  database?: string;
4
3
  nodeId?: string;
5
4
  parentContainer?: Element | null;
6
- additionalNodesProps?: AdditionalNodesProps;
7
5
  }
8
6
  export declare const StorageWrapper: ({ parentContainer, ...props }: StorageWrapperProps) => import("react/jsx-runtime").JSX.Element;
9
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"StorageWrapper.js","sourceRoot":"","sources":["../../../src/containers/Storage/StorageWrapper.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AASlC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAC,eAAe,EAAE,GAAG,KAAK,EAAsB,EAAE,EAAE;IAC/E,MAAM,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAU,wBAAwB,CAAC,CAAC;IAE3E,IAAI,kBAAkB,EAAE,CAAC;QACrB,OAAO,KAAC,gBAAgB,IAAC,eAAe,EAAE,eAAe,KAAM,KAAK,GAAI,CAAC;IAC7E,CAAC;IAED,OAAO,KAAC,OAAO,OAAK,KAAK,GAAI,CAAC;AAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"StorageWrapper.js","sourceRoot":"","sources":["../../../src/containers/Storage/StorageWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAQlC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAC,eAAe,EAAE,GAAG,KAAK,EAAsB,EAAE,EAAE;IAC/E,MAAM,CAAC,kBAAkB,CAAC,GAAG,UAAU,CAAU,wBAAwB,CAAC,CAAC;IAE3E,IAAI,kBAAkB,EAAE,CAAC;QACrB,OAAO,KAAC,gBAAgB,IAAC,eAAe,EAAE,eAAe,KAAM,KAAK,GAAI,CAAC;IAC7E,CAAC;IAED,OAAO,KAAC,OAAO,OAAK,KAAK,GAAI,CAAC;AAClC,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import './TableGroup.scss';
3
+ interface TableGroupProps {
4
+ children?: React.ReactNode;
5
+ title: string;
6
+ entityName: string;
7
+ count: string | number;
8
+ expanded: boolean;
9
+ onIsExpandedChange: (name: string, isExpanded: boolean) => void;
10
+ }
11
+ export declare function TableGroup({ children, title, entityName, count, expanded, onIsExpandedChange, }: TableGroupProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ArrowToggle, Label, Text } from '@gravity-ui/uikit';
3
+ import { cn } from '../../../utils/cn';
4
+ import './TableGroup.scss';
5
+ const b = cn('ydb-table-group');
6
+ export function TableGroup({ children, title, entityName, count, expanded = false, onIsExpandedChange, }) {
7
+ const toggleCollapsed = () => {
8
+ onIsExpandedChange(title, !expanded);
9
+ };
10
+ const renderTitle = () => {
11
+ return (_jsx("button", { onClick: toggleCollapsed, className: b('button'), title: title, children: _jsxs("div", { className: b('title-wrapper'), children: [_jsx(ArrowToggle, { direction: expanded ? 'top' : 'bottom' }), _jsxs("div", { className: b('title'), children: [_jsx(Text, { variant: "subheader-2", children: title }), _jsxs(Text, { variant: "body-2", color: "secondary", className: b('count'), children: [entityName, ": ", _jsx(Label, { theme: "normal", children: count })] })] })] }) }));
12
+ };
13
+ const renderContent = () => {
14
+ if (expanded) {
15
+ return _jsx("div", { className: b('content'), children: children });
16
+ }
17
+ return null;
18
+ };
19
+ return (_jsxs("div", { className: b(null), children: [renderTitle(), renderContent()] }));
20
+ }
21
+ //# sourceMappingURL=TableGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableGroup.js","sourceRoot":"","sources":["../../../../src/containers/Storage/TableGroup/TableGroup.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,WAAW,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AAErC,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC;AAYhC,MAAM,UAAU,UAAU,CAAC,EACvB,QAAQ,EACR,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,kBAAkB,GACJ;IACd,MAAM,eAAe,GAAG,GAAG,EAAE;QACzB,kBAAkB,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACrB,OAAO,CACH,iBAAQ,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,YAClE,eAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC9B,KAAC,WAAW,IAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAI,EACvD,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACtB,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,YAAE,KAAK,GAAQ,EAC1C,MAAC,IAAI,IAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACzD,UAAU,QAAG,KAAC,KAAK,IAAC,KAAK,EAAC,QAAQ,YAAE,KAAK,GAAS,IAChD,IACL,IACJ,GACD,CACZ,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAG,QAAQ,GAAO,CAAC;QAC1D,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,aAClB,WAAW,EAAE,EACb,aAAa,EAAE,IACd,CACT,CAAC;AACN,CAAC"}
@@ -0,0 +1,49 @@
1
+ .ydb-table-group {
2
+ display: flex;
3
+ flex-direction: column;
4
+
5
+ width: 100%;
6
+ margin-bottom: 20px;
7
+
8
+ border: 1px solid var(--g-color-line-generic);
9
+ border-radius: var(--g-spacing-2);
10
+
11
+ &__button {
12
+ padding: 8px 0;
13
+
14
+ cursor: pointer;
15
+
16
+ border: unset;
17
+ background: unset;
18
+ }
19
+
20
+ &__title-wrapper {
21
+ position: sticky;
22
+ left: 0;
23
+
24
+ display: flex;
25
+ flex-direction: row;
26
+ justify-content: flex-start;
27
+ align-items: center;
28
+ gap: var(--g-spacing-2);
29
+
30
+ width: max-content;
31
+ padding-left: 20px;
32
+ }
33
+
34
+ &__title {
35
+ display: flex;
36
+ flex-direction: row;
37
+ gap: var(--g-spacing-4);
38
+ }
39
+
40
+ &__count {
41
+ display: flex;
42
+ flex-direction: row;
43
+ gap: var(--g-spacing-3);
44
+ }
45
+
46
+ &__content {
47
+ padding: 12px 0 20px 20px;
48
+ }
49
+ }
@@ -0,0 +1,5 @@
1
+ import type { TableGroup } from '../../../store/reducers/storage/types';
2
+ export declare function useExpandedGroups(groups?: TableGroup[]): {
3
+ expandedGroups: Record<string, boolean>;
4
+ setIsGroupExpanded: (name: string, isExpanded: boolean) => void;
5
+ };
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ export function useExpandedGroups(groups) {
3
+ const [expandedGroups, setExpandedGroups] = React.useState({});
4
+ React.useEffect(() => {
5
+ if (groups === null || groups === void 0 ? void 0 : groups.length) {
6
+ setExpandedGroups((previousExpandedGroups) => {
7
+ return groups.reduce((result, { name }) => {
8
+ const previousValue = previousExpandedGroups[name];
9
+ // Preserve previously expanded groups on groups list change
10
+ return {
11
+ ...result,
12
+ [name]: previousValue !== null && previousValue !== void 0 ? previousValue : false,
13
+ };
14
+ }, {});
15
+ });
16
+ }
17
+ }, [groups]);
18
+ const setIsGroupExpanded = React.useCallback((name, isExpanded) => {
19
+ setExpandedGroups((previousExpandedGroups) => {
20
+ return {
21
+ ...previousExpandedGroups,
22
+ [name]: isExpanded,
23
+ };
24
+ });
25
+ }, []);
26
+ return { expandedGroups, setIsGroupExpanded };
27
+ }
28
+ //# sourceMappingURL=useExpandedTableGroups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandedTableGroups.js","sourceRoot":"","sources":["../../../../src/containers/Storage/TableGroup/useExpandedTableGroups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,UAAU,iBAAiB,CAAC,MAAqB;IACnD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAExF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;YACjB,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,EAAE;gBACzC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAC,IAAI,EAAC,EAAE,EAAE;oBACpC,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;oBAEnD,4DAA4D;oBAC5D,OAAO;wBACH,GAAG,MAAM;wBACT,CAAC,IAAI,CAAC,EAAE,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,KAAK;qBACjC,CAAC;gBACN,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAY,EAAE,UAAmB,EAAE,EAAE;QAC/E,iBAAiB,CAAC,CAAC,sBAAsB,EAAE,EAAE;YACzC,OAAO;gBACH,GAAG,sBAAsB;gBACzB,CAAC,IAAI,CAAC,EAAE,UAAU;aACrB,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAC,cAAc,EAAE,kBAAkB,EAAC,CAAC;AAChD,CAAC"}
@@ -2,5 +2,8 @@
2
2
  "groups": "Groups",
3
3
  "nodes": "Nodes",
4
4
  "controls_groups-search-placeholder": "Group ID, Pool name",
5
- "controls_nodes-search-placeholder": "Node ID, FQDN"
5
+ "controls_nodes-search-placeholder": "Node ID, FQDN",
6
+ "controls_group-by-placeholder": "Group by:",
7
+ "no-nodes": "No such nodes",
8
+ "no-groups": "No such groups"
6
9
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "nodes" | "groups" | "controls_groups-search-placeholder" | "controls_nodes-search-placeholder", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "nodes" | "groups" | "controls_groups-search-placeholder" | "controls_nodes-search-placeholder" | "controls_group-by-placeholder" | "no-nodes" | "no-groups", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -1,6 +1,5 @@
1
1
  import { registerKeysets } from '../../../utils/i18n';
2
2
  import en from './en.json';
3
- import ru from './ru.json';
4
3
  const COMPONENT = 'ydb-storage';
5
- export default registerKeysets(COMPONENT, { ru, en });
4
+ export default registerKeysets(COMPONENT, { en });
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/Storage/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/Storage/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,aAAa,CAAC;AAEhC,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -1 +1,3 @@
1
+ import type { RenderErrorMessage } from '../../components/PaginatedTable';
1
2
  export declare const b: import("@bem-react/classname").ClassNameFormatter;
3
+ export declare const renderPaginatedTableErrorMessage: RenderErrorMessage;
@@ -1,3 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AccessDenied } from '../../components/Errors/403';
3
+ import { ResponseError } from '../../components/Errors/ResponseError';
1
4
  import { cn } from '../../utils/cn';
2
5
  export const b = cn('global-storage');
6
+ export const renderPaginatedTableErrorMessage = (error) => {
7
+ if (error.status === 403) {
8
+ return _jsx(AccessDenied, { position: "left" });
9
+ }
10
+ return _jsx(ResponseError, { error: error });
11
+ };
3
12
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/containers/Storage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/containers/Storage/shared.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,uCAAuC,CAAC;AAEpE,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAElC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,gCAAgC,GAAuB,CAAC,KAAK,EAAE,EAAE;IAC1E,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACvB,OAAO,KAAC,YAAY,IAAC,QAAQ,EAAC,MAAM,GAAG,CAAC;IAC5C,CAAC;IAED,OAAO,KAAC,aAAa,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;AAC3C,CAAC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { StorageType, VisibleEntities } from '../../store/reducers/storage/types';
2
+ import { NodesUptimeFilterValues } from '../../utils/nodes';
3
+ export declare function useStorageQueryParams(): {
4
+ storageType: "nodes" | "groups";
5
+ visibleEntities: "space" | "missing" | "all";
6
+ searchValue: string;
7
+ nodesUptimeFilter: NodesUptimeFilterValues;
8
+ storageGroupsGroupByParam: import("../../types/api/storage").GroupsGroupByField | undefined;
9
+ storageNodesGroupByParam: import("../../types/api/nodes").NodesGroupByField | undefined;
10
+ handleTextFilterChange: (value: string) => void;
11
+ handleVisibleEntitiesChange: (value: VisibleEntities) => void;
12
+ handleStorageTypeChange: (value: StorageType) => void;
13
+ handleUptimeFilterChange: (value: NodesUptimeFilterValues) => void;
14
+ handleStorageGroupsGroupByParamChange: (value: string) => void;
15
+ handleStorageNodesGroupByParamChange: (value: string) => void;
16
+ handleShowAllGroups: () => void;
17
+ handleShowAllNodes: () => void;
18
+ };
@@ -0,0 +1,64 @@
1
+ import { StringParam, useQueryParams } from 'use-query-params';
2
+ import { storageTypeSchema, visibleEntitiesSchema } from '../../store/reducers/storage/types';
3
+ import { NodesUptimeFilterValues, nodesUptimeFilterValuesSchema } from '../../utils/nodes';
4
+ import { storageGroupsGroupByParamSchema } from './StorageGroups/columns/constants';
5
+ import { storageNodesGroupByParamSchema } from './StorageNodes/columns/constants';
6
+ export function useStorageQueryParams() {
7
+ var _a;
8
+ const [queryParams, setQueryParams] = useQueryParams({
9
+ type: StringParam,
10
+ visible: StringParam,
11
+ search: StringParam,
12
+ uptimeFilter: StringParam,
13
+ storageNodesGroupBy: StringParam,
14
+ storageGroupsGroupBy: StringParam,
15
+ });
16
+ const storageType = storageTypeSchema.parse(queryParams.type);
17
+ const visibleEntities = visibleEntitiesSchema.parse(queryParams.visible);
18
+ const searchValue = (_a = queryParams.search) !== null && _a !== void 0 ? _a : '';
19
+ const nodesUptimeFilter = nodesUptimeFilterValuesSchema.parse(queryParams.uptimeFilter);
20
+ const storageGroupsGroupByParam = storageGroupsGroupByParamSchema.parse(queryParams.storageGroupsGroupBy);
21
+ const storageNodesGroupByParam = storageNodesGroupByParamSchema.parse(queryParams.storageNodesGroupBy);
22
+ const handleTextFilterChange = (value) => {
23
+ setQueryParams({ search: value || undefined }, 'replaceIn');
24
+ };
25
+ const handleVisibleEntitiesChange = (value) => {
26
+ setQueryParams({ visible: value }, 'replaceIn');
27
+ };
28
+ const handleStorageTypeChange = (value) => {
29
+ setQueryParams({ type: value }, 'replaceIn');
30
+ };
31
+ const handleUptimeFilterChange = (value) => {
32
+ setQueryParams({ uptimeFilter: value }, 'replaceIn');
33
+ };
34
+ const handleStorageGroupsGroupByParamChange = (value) => {
35
+ setQueryParams({ storageGroupsGroupBy: value }, 'replaceIn');
36
+ };
37
+ const handleStorageNodesGroupByParamChange = (value) => {
38
+ setQueryParams({ storageNodesGroupBy: value }, 'replaceIn');
39
+ };
40
+ const handleShowAllGroups = () => {
41
+ handleVisibleEntitiesChange('all');
42
+ };
43
+ const handleShowAllNodes = () => {
44
+ handleVisibleEntitiesChange('all');
45
+ handleUptimeFilterChange(NodesUptimeFilterValues.All);
46
+ };
47
+ return {
48
+ storageType,
49
+ visibleEntities,
50
+ searchValue,
51
+ nodesUptimeFilter,
52
+ storageGroupsGroupByParam,
53
+ storageNodesGroupByParam,
54
+ handleTextFilterChange,
55
+ handleVisibleEntitiesChange,
56
+ handleStorageTypeChange,
57
+ handleUptimeFilterChange,
58
+ handleStorageGroupsGroupByParamChange,
59
+ handleStorageNodesGroupByParamChange,
60
+ handleShowAllGroups,
61
+ handleShowAllNodes,
62
+ };
63
+ }
64
+ //# sourceMappingURL=useStorageQueryParams.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStorageQueryParams.js","sourceRoot":"","sources":["../../../src/containers/Storage/useStorageQueryParams.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,12 @@
1
1
  import type { NodesSortParams } from '../../../store/reducers/nodes/types';
2
2
  import type { PreparedStorageGroup, StorageSortParams, VisibleEntities } from '../../../store/reducers/storage/types';
3
- import { EFlag } from '../../../types/api/enums';
3
+ import type { PreparedVDisk } from '../../../utils/disks/types';
4
4
  export declare const getDegradedSeverity: (group: PreparedStorageGroup) => "success" | "danger" | "warning" | undefined;
5
5
  export declare const getUsageSeverityForStorageGroup: (value: number) => "success" | "danger" | "warning" | undefined;
6
- export declare const getUsageSeverityForEntityStatus: (value: number) => EFlag.Green | EFlag.Yellow | EFlag.Red | undefined;
7
6
  export declare const defaultSortNode: NodesSortParams;
8
7
  export declare function getDefaultSortGroup(visibleEntities: VisibleEntities): StorageSortParams;
8
+ export type VDiskViewContext = {
9
+ groupId?: string;
10
+ nodeId?: string;
11
+ };
12
+ export declare function isVdiskActive(vDisk: PreparedVDisk, viewContext?: VDiskViewContext): boolean;
@@ -1,8 +1,9 @@
1
1
  import { ASCENDING, DESCENDING } from '@gravity-ui/react-data-table/build/esm/lib/constants';
2
2
  import { VISIBLE_ENTITIES } from '../../../store/reducers/storage/constants';
3
- import { EFlag } from '../../../types/api/enums';
3
+ import { valueIsDefined } from '../../../utils';
4
4
  import { generateEvaluator } from '../../../utils/generateEvaluator';
5
- import { NODES_SORT_VALUES } from '../../../utils/nodes';
5
+ import { NODES_COLUMNS_IDS } from '../../Nodes/columns/constants';
6
+ import { STORAGE_GROUPS_COLUMNS_IDS } from '../StorageGroups/columns/constants';
6
7
  const defaultDegradationEvaluator = generateEvaluator(1, 2, ['success', 'warning', 'danger']);
7
8
  const degradationEvaluators = {
8
9
  'block-4-2': generateEvaluator(1, 2, ['success', 'warning', 'danger']),
@@ -20,25 +21,20 @@ export const getUsageSeverityForStorageGroup = generateEvaluator(80, 85, [
20
21
  'warning',
21
22
  'danger',
22
23
  ]);
23
- export const getUsageSeverityForEntityStatus = generateEvaluator(80, 85, [
24
- EFlag.Green,
25
- EFlag.Yellow,
26
- EFlag.Red,
27
- ]);
28
24
  export const defaultSortNode = {
29
- sortValue: NODES_SORT_VALUES.NodeId,
25
+ sortValue: NODES_COLUMNS_IDS.NodeId,
30
26
  sortOrder: ASCENDING,
31
27
  };
32
28
  const defaultSortGroup = {
33
- sortValue: 'PoolName',
29
+ sortValue: STORAGE_GROUPS_COLUMNS_IDS.PoolName,
34
30
  sortOrder: ASCENDING,
35
31
  };
36
32
  const defaultSortGroupMissing = {
37
- sortValue: 'Degraded',
33
+ sortValue: STORAGE_GROUPS_COLUMNS_IDS.Degraded,
38
34
  sortOrder: DESCENDING,
39
35
  };
40
36
  const defaultSortGroupSpace = {
41
- sortValue: 'Usage',
37
+ sortValue: STORAGE_GROUPS_COLUMNS_IDS.Usage,
42
38
  sortOrder: DESCENDING,
43
39
  };
44
40
  export function getDefaultSortGroup(visibleEntities) {
@@ -50,4 +46,14 @@ export function getDefaultSortGroup(visibleEntities) {
50
46
  }
51
47
  return defaultSortGroup;
52
48
  }
49
+ export function isVdiskActive(vDisk, viewContext) {
50
+ var _a;
51
+ if (valueIsDefined((_a = vDisk.VDiskId) === null || _a === void 0 ? void 0 : _a.GroupID) && (viewContext === null || viewContext === void 0 ? void 0 : viewContext.groupId)) {
52
+ return String(vDisk.VDiskId.GroupID) === viewContext.groupId;
53
+ }
54
+ if (valueIsDefined(vDisk.NodeId) && (viewContext === null || viewContext === void 0 ? void 0 : viewContext.nodeId)) {
55
+ return String(vDisk.NodeId) === viewContext.nodeId;
56
+ }
57
+ return true;
58
+ }
53
59
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/Storage/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,UAAU,EAAC,MAAM,sDAAsD,CAAC;AAG3F,OAAO,EAAC,gBAAgB,EAAC,MAAM,2CAA2C,CAAC;AAM3E,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,MAAM,2BAA2B,GAAG,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE9F,MAAM,qBAAqB,GAAG;IAC1B,WAAW,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACtE,aAAa,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;CAC3E,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,KAAc,EAA+C,EAAE,CAC9F,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,qBAAqB,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA2B,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,cAAc,CAAC;QAC5D,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,cAAc,CAAC;QAC7C,CAAC,CAAC,2BAA2B,CAAC;IAElC,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE;IACrE,SAAS;IACT,SAAS;IACT,QAAQ;CACX,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,iBAAiB,CAAC,EAAE,EAAE,EAAE,EAAE;IACrE,KAAK,CAAC,KAAK;IACX,KAAK,CAAC,MAAM;IACZ,KAAK,CAAC,GAAG;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC5C,SAAS,EAAE,iBAAiB,CAAC,MAAM;IACnC,SAAS,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,gBAAgB,GAAsB;IACxC,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,SAAS;CACvB,CAAC;AAEF,MAAM,uBAAuB,GAAsB;IAC/C,SAAS,EAAE,UAAU;IACrB,SAAS,EAAE,UAAU;CACxB,CAAC;AAEF,MAAM,qBAAqB,GAAsB;IAC7C,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,UAAU;CACxB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,eAAgC;IAChE,IAAI,eAAe,KAAK,gBAAgB,CAAC,OAAO,EAAE,CAAC;QAC/C,OAAO,uBAAuB,CAAC;IACnC,CAAC;IACD,IAAI,eAAe,KAAK,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC7C,OAAO,qBAAqB,CAAC;IACjC,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/Storage/utils/index.ts"],"names":[],"mappings":"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"}
@@ -1,68 +1,39 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { Tabs } from '@gravity-ui/uikit';
4
3
  import { skipToken } from '@reduxjs/toolkit/query';
5
4
  import { Helmet } from 'react-helmet-async';
6
5
  import { StringParam, useQueryParams } from 'use-query-params';
7
- import { z } from 'zod';
8
6
  import { EntityPageTitle } from '../../components/EntityPageTitle/EntityPageTitle';
9
7
  import { ResponseError } from '../../components/Errors/ResponseError';
10
8
  import { InfoViewerSkeleton } from '../../components/InfoViewerSkeleton/InfoViewerSkeleton';
11
- import { InternalLink } from '../../components/InternalLink';
12
9
  import { PageMetaWithAutorefresh } from '../../components/PageMeta/PageMeta';
13
10
  import { StorageGroupInfo } from '../../components/StorageGroupInfo/StorageGroupInfo';
14
- import { getStorageGroupPath } from '../../routes';
15
- import { useStorageGroupsHandlerAvailable } from '../../store/reducers/capabilities/hooks';
11
+ import { useCapabilitiesLoaded, useStorageGroupsHandlerAvailable, } from '../../store/reducers/capabilities/hooks';
16
12
  import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
17
- import { STORAGE_TYPES } from '../../store/reducers/storage/constants';
18
13
  import { storageApi } from '../../store/reducers/storage/storage';
19
14
  import { EFlag } from '../../types/api/enums';
20
15
  import { valueIsDefined } from '../../utils';
21
16
  import { cn } from '../../utils/cn';
22
- import { DEFAULT_TABLE_SETTINGS } from '../../utils/constants';
23
17
  import { useAutoRefreshInterval, useTypedDispatch } from '../../utils/hooks';
24
- import { NodesUptimeFilterValues } from '../../utils/nodes';
25
- import { StorageGroups } from '../Storage/StorageGroups/StorageGroups';
26
- import { StorageNodes } from '../Storage/StorageNodes/StorageNodes';
18
+ import { Storage } from '../Storage/Storage';
27
19
  import { storageGroupPageKeyset } from './i18n';
28
20
  import './StorageGroupPage.scss';
29
- const STORAGE_GROUP_PAGE_TABS = [
30
- {
31
- id: STORAGE_TYPES.groups,
32
- get title() {
33
- return storageGroupPageKeyset('group');
34
- },
35
- },
36
- {
37
- id: STORAGE_TYPES.nodes,
38
- get title() {
39
- return storageGroupPageKeyset('nodes');
40
- },
41
- },
42
- ];
43
21
  const storageGroupPageCn = cn('ydb-storage-group-page');
44
- const storageGroupTabSchema = z.nativeEnum(STORAGE_TYPES).catch(STORAGE_TYPES.groups);
45
22
  export function StorageGroupPage() {
46
- var _a, _b, _c;
23
+ var _a, _b;
47
24
  const dispatch = useTypedDispatch();
48
- const [{ groupId, activeTab }] = useQueryParams({
49
- groupId: StringParam,
50
- activeTab: StringParam,
51
- });
52
- const storageGroupTab = storageGroupTabSchema.parse(activeTab);
25
+ const [{ groupId }] = useQueryParams({ groupId: StringParam });
53
26
  React.useEffect(() => {
54
27
  dispatch(setHeaderBreadcrumbs('storageGroup', { groupId }));
55
28
  }, [dispatch, groupId]);
56
29
  const [autoRefreshInterval] = useAutoRefreshInterval();
57
30
  const shouldUseGroupsHandler = useStorageGroupsHandlerAvailable();
58
- const groupQuery = storageApi.useGetStorageGroupsInfoQuery(valueIsDefined(groupId) ? { groupId, shouldUseGroupsHandler } : skipToken, {
59
- pollingInterval: autoRefreshInterval,
60
- });
61
- const nodesQuery = storageApi.useGetStorageNodesInfoQuery(groupId && storageGroupTab === STORAGE_TYPES.nodes ? { group_id: groupId } : skipToken, {
31
+ const capabilitiesLoaded = useCapabilitiesLoaded();
32
+ const groupQuery = storageApi.useGetStorageGroupsInfoQuery(valueIsDefined(groupId) ? { groupId, shouldUseGroupsHandler, with: 'all' } : skipToken, {
62
33
  pollingInterval: autoRefreshInterval,
34
+ skip: !capabilitiesLoaded,
63
35
  });
64
36
  const storageGroupData = (_b = (_a = groupQuery.data) === null || _a === void 0 ? void 0 : _a.groups) === null || _b === void 0 ? void 0 : _b[0];
65
- const nodesData = (_c = nodesQuery.data) === null || _c === void 0 ? void 0 : _c.nodes;
66
37
  const loading = groupQuery.isFetching && storageGroupData === undefined;
67
38
  const renderHelmet = () => {
68
39
  const pageTitle = groupId
@@ -86,32 +57,18 @@ export function StorageGroupPage() {
86
57
  }
87
58
  return _jsx(StorageGroupInfo, { data: storageGroupData, className: storageGroupPageCn('info') });
88
59
  };
89
- const renderTabs = () => {
90
- return (_jsx("div", { className: storageGroupPageCn('tabs'), children: _jsx(Tabs, { size: "l", items: STORAGE_GROUP_PAGE_TABS, activeTab: storageGroupTab, wrapTo: ({ id }, tabNode) => {
91
- const path = groupId
92
- ? getStorageGroupPath(groupId, { activeTab: id })
93
- : undefined;
94
- return (_jsx(InternalLink, { to: path, children: tabNode }, id));
95
- } }) }));
96
- };
97
- const renderTabsContent = () => {
98
- switch (storageGroupTab) {
99
- case 'groups': {
100
- return storageGroupData ? (_jsx(StorageGroups, { data: [storageGroupData], tableSettings: DEFAULT_TABLE_SETTINGS, visibleEntities: "all" })) : null;
101
- }
102
- case 'nodes': {
103
- return nodesData ? (_jsx(StorageNodes, { data: nodesData, tableSettings: DEFAULT_TABLE_SETTINGS, visibleEntities: "all", nodesUptimeFilter: NodesUptimeFilterValues.All })) : null;
104
- }
105
- default:
106
- return null;
60
+ const renderStorage = () => {
61
+ if (!groupId) {
62
+ return null;
107
63
  }
64
+ return (_jsxs(React.Fragment, { children: [_jsx("div", { className: storageGroupPageCn('storage-title'), children: storageGroupPageKeyset('storage') }), _jsx(Storage, { groupId: groupId })] }));
108
65
  };
109
66
  const renderError = () => {
110
- if (!groupQuery.error && !nodesQuery.error) {
67
+ if (!groupQuery.error) {
111
68
  return null;
112
69
  }
113
- return _jsx(ResponseError, { error: groupQuery.error || nodesQuery.error });
70
+ return _jsx(ResponseError, { error: groupQuery.error });
114
71
  };
115
- return (_jsxs("div", { className: storageGroupPageCn(null), children: [_jsxs("div", { className: storageGroupPageCn('info-content'), children: [renderHelmet(), renderPageMeta(), renderPageTitle(), renderError(), renderInfo(), renderTabs()] }), _jsx("div", { className: storageGroupPageCn('tabs-content'), children: renderTabsContent() })] }));
72
+ return (_jsxs("div", { className: storageGroupPageCn(null), children: [renderHelmet(), renderPageMeta(), renderPageTitle(), renderError(), renderInfo(), renderStorage()] }));
116
73
  }
117
74
  //# sourceMappingURL=StorageGroupPage.js.map