ydb-embedded-ui 11.5.0 → 11.7.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 (284) hide show
  1. package/dist/components/ErrorBoundary/utils.js +1 -1
  2. package/dist/components/ErrorBoundary/utils.js.map +1 -1
  3. package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +1 -1
  4. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +2 -1
  5. package/dist/components/NodeHostWrapper/NodeHostWrapper.js.map +1 -1
  6. package/dist/components/NodeId/NodeId.d.ts +5 -0
  7. package/dist/components/NodeId/NodeId.js +9 -0
  8. package/dist/components/NodeId/NodeId.js.map +1 -0
  9. package/dist/components/PDiskPopup/PDiskPopup.js +3 -1
  10. package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
  11. package/dist/components/PaginatedTable/PaginatedTable.scss +6 -0
  12. package/dist/components/ProgressWrapper/SingleProgress.js +3 -3
  13. package/dist/components/ProgressWrapper/SingleProgress.js.map +1 -1
  14. package/dist/components/ProgressWrapper/StackProgress.js +3 -3
  15. package/dist/components/ProgressWrapper/StackProgress.js.map +1 -1
  16. package/dist/components/QueriesActivityBar/QueriesActivityCharts.js +5 -5
  17. package/dist/components/QueriesActivityBar/QueriesActivityCharts.js.map +1 -1
  18. package/dist/components/ShardsTable/columns.js +4 -5
  19. package/dist/components/ShardsTable/columns.js.map +1 -1
  20. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js +6 -6
  21. package/dist/components/SpeedMultiMeter/SpeedMultiMeter.js.map +1 -1
  22. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  23. package/dist/components/VDisk/VDisk.js +5 -1
  24. package/dist/components/VDisk/VDisk.js.map +1 -1
  25. package/dist/components/VDisk/utils.d.ts +3 -1
  26. package/dist/components/VDisk/utils.js +7 -20
  27. package/dist/components/VDisk/utils.js.map +1 -1
  28. package/dist/components/VDiskInfo/VDiskInfo.js +52 -45
  29. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  30. package/dist/components/VDiskInfo/i18n/en.json +1 -0
  31. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
  32. package/dist/components/VDiskPopup/VDiskPopup.js +43 -31
  33. package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
  34. package/dist/components/VDiskPopup/i18n/en.json +21 -0
  35. package/dist/components/VDiskPopup/i18n/index.d.ts +1 -0
  36. package/dist/components/VDiskPopup/i18n/index.js +5 -0
  37. package/dist/components/VDiskPopup/i18n/index.js.map +1 -0
  38. package/dist/components/VersionsBar/VersionsBar.d.ts +4 -1
  39. package/dist/components/VersionsBar/VersionsBar.js +17 -9
  40. package/dist/components/VersionsBar/VersionsBar.js.map +1 -1
  41. package/dist/components/VersionsBar/VersionsBar.scss +52 -2
  42. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +1 -1
  43. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -1
  44. package/dist/components/nodesColumns/columns.d.ts +3 -0
  45. package/dist/components/nodesColumns/columns.js +9 -0
  46. package/dist/components/nodesColumns/columns.js.map +1 -1
  47. package/dist/components/nodesColumns/constants.d.ts +3 -0
  48. package/dist/components/nodesColumns/constants.js +14 -0
  49. package/dist/components/nodesColumns/constants.js.map +1 -1
  50. package/dist/components/nodesColumns/i18n/en.json +1 -0
  51. package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
  52. package/dist/containers/App/Content.js +13 -4
  53. package/dist/containers/App/Content.js.map +1 -1
  54. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.d.ts +3 -2
  55. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +3 -2
  56. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  57. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js +12 -2
  58. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js.map +1 -1
  59. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.d.ts +8 -0
  60. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js +54 -0
  61. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js.map +1 -0
  62. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +27 -0
  63. package/dist/containers/Cluster/i18n/en.json +8 -0
  64. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  65. package/dist/containers/Clusters/Clusters.scss +0 -4
  66. package/dist/containers/Clusters/columns.js +3 -2
  67. package/dist/containers/Clusters/columns.js.map +1 -1
  68. package/dist/containers/Header/Header.js +56 -8
  69. package/dist/containers/Header/Header.js.map +1 -1
  70. package/dist/containers/Header/breadcrumbs.d.ts +1 -0
  71. package/dist/containers/Header/breadcrumbs.js +27 -15
  72. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  73. package/dist/containers/Header/i18n/en.json +5 -2
  74. package/dist/containers/Header/i18n/index.d.ts +1 -1
  75. package/dist/containers/Heatmap/Heatmap.js +2 -1
  76. package/dist/containers/Heatmap/Heatmap.js.map +1 -1
  77. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +3 -1
  78. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js.map +1 -1
  79. package/dist/containers/Node/Node.js +14 -9
  80. package/dist/containers/Node/Node.js.map +1 -1
  81. package/dist/containers/Nodes/Nodes.js +34 -6
  82. package/dist/containers/Nodes/Nodes.js.map +1 -1
  83. package/dist/containers/Nodes/NodesControls/NodesControls.js +3 -1
  84. package/dist/containers/Nodes/NodesControls/NodesControls.js.map +1 -1
  85. package/dist/containers/Nodes/columns/columns.js +2 -1
  86. package/dist/containers/Nodes/columns/columns.js.map +1 -1
  87. package/dist/containers/Nodes/useNodesPageQueryParams.js +5 -1
  88. package/dist/containers/Nodes/useNodesPageQueryParams.js.map +1 -1
  89. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js +6 -5
  90. package/dist/containers/PDiskPage/PDiskSpaceDistribution/PDiskSpaceDistribution.js.map +1 -1
  91. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js +9 -1
  92. package/dist/containers/Storage/PaginatedStorageGroups/StorageGroupsControls.js.map +1 -1
  93. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +15 -2
  94. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js.map +1 -1
  95. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.d.ts +3 -0
  96. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js +15 -0
  97. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/constants.js.map +1 -1
  98. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js +24 -6
  99. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/hooks.js.map +1 -1
  100. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/en.json +1 -0
  101. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/i18n/index.d.ts +1 -1
  102. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js +2 -1
  103. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/columns.js.map +1 -1
  104. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js +14 -3
  105. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.js.map +1 -1
  106. package/dist/containers/Storage/utils/index.js +3 -1
  107. package/dist/containers/Storage/utils/index.js.map +1 -1
  108. package/dist/containers/StorageGroupPage/StorageGroupPage.js +6 -4
  109. package/dist/containers/StorageGroupPage/StorageGroupPage.js.map +1 -1
  110. package/dist/containers/Tablet/Tablet.js +3 -1
  111. package/dist/containers/Tablet/Tablet.js.map +1 -1
  112. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +5 -3
  113. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -1
  114. package/dist/containers/Tablet/components/TabletInfo/i18n/index.d.ts +1 -1
  115. package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -1
  116. package/dist/containers/Tablet/components/TabletTable/TabletTable.js +4 -3
  117. package/dist/containers/Tablet/components/TabletTable/TabletTable.js.map +1 -1
  118. package/dist/containers/Tablets/TabletsTable.js +7 -5
  119. package/dist/containers/Tablets/TabletsTable.js.map +1 -1
  120. package/dist/containers/Tenant/Diagnostics/Consumers/columns/columns.js +2 -1
  121. package/dist/containers/Tenant/Diagnostics/Consumers/columns/columns.js.map +1 -1
  122. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +6 -3
  123. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  124. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -0
  125. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +9 -3
  126. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
  127. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.d.ts +1 -1
  128. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js +4 -1
  129. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/Credentials.js.map +1 -1
  130. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.js +21 -5
  131. package/dist/containers/Tenant/Diagnostics/Overview/TransferInfo/TransferInfo.js.map +1 -1
  132. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -2
  133. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js.map +1 -1
  134. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +5 -4
  135. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js.map +1 -1
  136. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.d.ts +1 -1
  137. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -0
  138. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  139. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +3 -2
  140. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
  141. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +3 -1
  142. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -1
  143. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +0 -4
  144. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  145. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +13 -1
  146. package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
  147. package/dist/containers/Tenant/TenantPages.d.ts +2 -5
  148. package/dist/containers/Tenant/TenantPages.js +0 -4
  149. package/dist/containers/Tenant/TenantPages.js.map +1 -1
  150. package/dist/containers/Tenant/useTenantQueryParams.js +2 -2
  151. package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -1
  152. package/dist/containers/Tenant/utils/constants.js +1 -1
  153. package/dist/containers/Tenant/utils/constants.js.map +1 -1
  154. package/dist/containers/Tenants/Tenants.js +7 -7
  155. package/dist/containers/Tenants/Tenants.js.map +1 -1
  156. package/dist/containers/Tenants/Tenants.scss +0 -4
  157. package/dist/containers/VDiskPage/VDiskPage.js +40 -25
  158. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  159. package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.d.ts +3 -1
  160. package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js +10 -11
  161. package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js.map +1 -1
  162. package/dist/containers/VDiskPage/VDiskTablets/columns.js +6 -1
  163. package/dist/containers/VDiskPage/VDiskTablets/columns.js.map +1 -1
  164. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.d.ts +4 -4
  165. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js +21 -10
  166. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js.map +1 -1
  167. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.scss +2 -40
  168. package/dist/containers/Versions/NodesTable/NodesTable.js +9 -2
  169. package/dist/containers/Versions/NodesTable/NodesTable.js.map +1 -1
  170. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.d.ts +6 -3
  171. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js +23 -15
  172. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js.map +1 -1
  173. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.scss +9 -43
  174. package/dist/containers/Versions/Versions.js +90 -19
  175. package/dist/containers/Versions/Versions.js.map +1 -1
  176. package/dist/containers/Versions/Versions.scss +6 -39
  177. package/dist/containers/Versions/VersionsBlock/VersionsBlock.d.ts +9 -0
  178. package/dist/containers/Versions/VersionsBlock/VersionsBlock.js +9 -0
  179. package/dist/containers/Versions/VersionsBlock/VersionsBlock.js.map +1 -0
  180. package/dist/containers/Versions/VersionsBlock/VersionsBlock.scss +7 -0
  181. package/dist/containers/Versions/constants.d.ts +12 -0
  182. package/dist/containers/Versions/constants.js +12 -0
  183. package/dist/containers/Versions/constants.js.map +1 -0
  184. package/dist/containers/Versions/groupNodes.js +5 -3
  185. package/dist/containers/Versions/groupNodes.js.map +1 -1
  186. package/dist/containers/Versions/i18n/en.json +12 -3
  187. package/dist/containers/Versions/i18n/index.d.ts +1 -1
  188. package/dist/containers/Versions/types.d.ts +3 -2
  189. package/dist/containers/Versions/types.js.map +1 -1
  190. package/dist/containers/Versions/utils.d.ts +1 -1
  191. package/dist/containers/Versions/utils.js +8 -8
  192. package/dist/containers/Versions/utils.js.map +1 -1
  193. package/dist/routes.d.ts +5 -7
  194. package/dist/routes.js +1 -1
  195. package/dist/routes.js.map +1 -1
  196. package/dist/services/api/viewer.d.ts +12 -11
  197. package/dist/services/api/viewer.js +11 -12
  198. package/dist/services/api/viewer.js.map +1 -1
  199. package/dist/store/reducers/authentication/authentication.d.ts +5 -0
  200. package/dist/store/reducers/authentication/authentication.js +4 -2
  201. package/dist/store/reducers/authentication/authentication.js.map +1 -1
  202. package/dist/store/reducers/authentication/types.d.ts +1 -0
  203. package/dist/store/reducers/capabilities/capabilities.d.ts +125 -0
  204. package/dist/store/reducers/capabilities/capabilities.js +1 -0
  205. package/dist/store/reducers/capabilities/capabilities.js.map +1 -1
  206. package/dist/store/reducers/capabilities/hooks.d.ts +76 -1
  207. package/dist/store/reducers/capabilities/hooks.js +7 -2
  208. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  209. package/dist/store/reducers/cluster/cluster.js +5 -1
  210. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  211. package/dist/store/reducers/header/types.d.ts +3 -1
  212. package/dist/store/reducers/node/node.d.ts +1 -0
  213. package/dist/store/reducers/node/node.js +2 -2
  214. package/dist/store/reducers/node/node.js.map +1 -1
  215. package/dist/store/reducers/nodes/types.d.ts +1 -0
  216. package/dist/store/reducers/nodesList.d.ts +268 -4
  217. package/dist/store/reducers/nodesList.js +4 -4
  218. package/dist/store/reducers/nodesList.js.map +1 -1
  219. package/dist/store/reducers/pdisk/pdisk.js +1 -1
  220. package/dist/store/reducers/pdisk/pdisk.js.map +1 -1
  221. package/dist/store/reducers/query/query.d.ts +48 -4
  222. package/dist/store/reducers/query/query.js +10 -9
  223. package/dist/store/reducers/query/query.js.map +1 -1
  224. package/dist/store/reducers/storage/types.d.ts +2 -0
  225. package/dist/store/reducers/storage/utils.js +1 -0
  226. package/dist/store/reducers/storage/utils.js.map +1 -1
  227. package/dist/store/reducers/tablet.d.ts +1 -0
  228. package/dist/store/reducers/tablet.js +3 -3
  229. package/dist/store/reducers/tablet.js.map +1 -1
  230. package/dist/store/reducers/tablets.d.ts +1 -1
  231. package/dist/store/reducers/tablets.js +1 -1
  232. package/dist/store/reducers/tablets.js.map +1 -1
  233. package/dist/store/reducers/tenant/constants.d.ts +0 -1
  234. package/dist/store/reducers/tenant/constants.js +0 -1
  235. package/dist/store/reducers/tenant/constants.js.map +1 -1
  236. package/dist/store/reducers/tenant/tenant.d.ts +4 -1
  237. package/dist/store/reducers/tenant/tenant.js +14 -1
  238. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  239. package/dist/store/reducers/tenants/utils.js +2 -2
  240. package/dist/store/reducers/tenants/utils.js.map +1 -1
  241. package/dist/store/reducers/vdisk/utils.d.ts +5 -7
  242. package/dist/store/reducers/vdisk/utils.js +9 -9
  243. package/dist/store/reducers/vdisk/utils.js.map +1 -1
  244. package/dist/store/reducers/vdisk/vdisk.d.ts +11 -6
  245. package/dist/store/reducers/vdisk/vdisk.js +19 -10
  246. package/dist/store/reducers/vdisk/vdisk.js.map +1 -1
  247. package/dist/types/api/capabilities.d.ts +3 -0
  248. package/dist/types/api/cluster.d.ts +23 -0
  249. package/dist/types/api/cluster.js +10 -0
  250. package/dist/types/api/cluster.js.map +1 -1
  251. package/dist/types/api/nodes.d.ts +3 -2
  252. package/dist/types/api/nodes.js.map +1 -1
  253. package/dist/types/api/storage.d.ts +3 -2
  254. package/dist/types/api/systemState.d.ts +0 -3
  255. package/dist/types/api/vdisk.d.ts +0 -8
  256. package/dist/types/api/vdisk.js.map +1 -1
  257. package/dist/types/api/whoami.d.ts +3 -1
  258. package/dist/uiFactory/types.d.ts +2 -0
  259. package/dist/uiFactory/uiFactory.js +1 -0
  260. package/dist/uiFactory/uiFactory.js.map +1 -1
  261. package/dist/utils/hooks/useIsUserAllowedToMakeChanges.d.ts +1 -0
  262. package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js +4 -1
  263. package/dist/utils/hooks/useIsUserAllowedToMakeChanges.js.map +1 -1
  264. package/dist/utils/versions/parseNodesToVersionsValues.d.ts +3 -3
  265. package/dist/utils/versions/parseNodesToVersionsValues.js +18 -32
  266. package/dist/utils/versions/parseNodesToVersionsValues.js.map +1 -1
  267. package/dist/utils/versions/parseVersion.js +0 -4
  268. package/dist/utils/versions/parseVersion.js.map +1 -1
  269. package/dist/utils/versions/types.d.ts +0 -6
  270. package/dist/utils/yaMetrica.d.ts +22 -0
  271. package/dist/utils/yaMetrica.js +49 -0
  272. package/dist/utils/yaMetrica.js.map +1 -0
  273. package/package.json +1 -1
  274. package/dist/containers/Cluster/VersionsBar/VersionsBar.d.ts +0 -10
  275. package/dist/containers/Cluster/VersionsBar/VersionsBar.js +0 -9
  276. package/dist/containers/Cluster/VersionsBar/VersionsBar.js.map +0 -1
  277. package/dist/containers/Cluster/VersionsBar/VersionsBar.scss +0 -27
  278. package/dist/containers/Tenant/Acl/Acl.d.ts +0 -1
  279. package/dist/containers/Tenant/Acl/Acl.js +0 -15
  280. package/dist/containers/Tenant/Acl/Acl.js.map +0 -1
  281. package/dist/containers/Tenant/Acl/i18n/en.json +0 -4
  282. package/dist/containers/Tenant/Acl/i18n/index.d.ts +0 -2
  283. package/dist/containers/Tenant/Acl/i18n/index.js +0 -5
  284. package/dist/containers/Tenant/Acl/i18n/index.js.map +0 -1
@@ -1,13 +1,16 @@
1
1
  import type { PreparedNodeSystemState } from '../../../utils/nodes';
2
- import type { VersionValue } from '../../../utils/versions/types';
2
+ import type { PreparedVersion } from '../../../utils/versions/types';
3
3
  import type { GroupedNodesItem } from '../types';
4
4
  import './NodesTreeTitle.scss';
5
5
  interface NodesTreeTitleProps {
6
6
  title?: string;
7
+ isDatabase?: boolean;
8
+ expanded?: boolean;
7
9
  nodes?: PreparedNodeSystemState[];
8
10
  items?: GroupedNodesItem[];
9
11
  versionColor?: string;
10
- versionsValues?: VersionValue[];
12
+ preparedVersions?: PreparedVersion[];
13
+ onClick?: () => void;
11
14
  }
12
- export declare const NodesTreeTitle: ({ title, nodes, items, versionColor, versionsValues, }: NodesTreeTitleProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const NodesTreeTitle: ({ title, isDatabase, expanded, nodes, items, versionColor, preparedVersions, onClick, }: NodesTreeTitleProps) => import("react/jsx-runtime").JSX.Element;
13
16
  export {};
@@ -1,21 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ClipboardButton, Progress } from '@gravity-ui/uikit';
2
+ import React from 'react';
3
+ import { ChevronDown, ChevronUp, Database } from '@gravity-ui/icons';
4
+ import { ClipboardButton, Flex, Icon, Text } from '@gravity-ui/uikit';
5
+ import { VersionsBar } from '../../../components/VersionsBar/VersionsBar';
3
6
  import { cn } from '../../../utils/cn';
7
+ import i18n from '../i18n';
4
8
  import './NodesTreeTitle.scss';
5
9
  const b = cn('ydb-versions-nodes-tree-title');
6
- export const NodesTreeTitle = ({ title, nodes, items, versionColor, versionsValues, }) => {
7
- let nodesAmount;
8
- if (items) {
9
- nodesAmount = items.reduce((acc, curr) => {
10
- if (!curr.nodes) {
11
- return acc;
12
- }
13
- return acc + curr.nodes.length;
14
- }, 0);
15
- }
16
- else {
17
- nodesAmount = nodes ? nodes.length : 0;
18
- }
19
- return (_jsxs("div", { className: b('overview'), children: [_jsxs("div", { className: b('overview-container'), children: [versionColor ? (_jsx("div", { className: b('version-color'), style: { background: versionColor } })) : null, title ? (_jsxs("span", { className: b('overview-title'), children: [title, _jsx(ClipboardButton, { text: title, size: "s", className: b('clipboard-button'), view: "normal" })] })) : null] }), _jsxs("div", { className: b('overview-info'), children: [_jsxs("div", { children: [_jsx("span", { className: b('info-value'), children: nodesAmount }), _jsx("span", { className: b('info-label', { margin: 'left' }), children: "Nodes" })] }), versionsValues ? (_jsxs("div", { className: b('version-progress'), children: [_jsx("span", { className: b('info-label', { margin: 'right' }), children: "Versions" }), _jsx(Progress, { size: "s", value: 100, stack: versionsValues })] })) : null] })] }));
10
+ export const NodesTreeTitle = ({ title, isDatabase, expanded, nodes, items, versionColor, preparedVersions, onClick, }) => {
11
+ const nodesAmount = React.useMemo(() => {
12
+ if (items) {
13
+ return items.reduce((acc, curr) => {
14
+ if (!curr.nodes) {
15
+ return acc;
16
+ }
17
+ return acc + curr.nodes.length;
18
+ }, 0);
19
+ }
20
+ else {
21
+ return nodes ? nodes.length : 0;
22
+ }
23
+ }, [items, nodes]);
24
+ return (_jsxs("div", { className: b('overview'), onClick: onClick, children: [_jsxs(Flex, { gap: 2, alignItems: 'center', children: [versionColor && !isDatabase ? (_jsx("div", { className: b('version-color'), style: { background: versionColor } })) : null, isDatabase ? _jsx(Icon, { data: Database }) : null, title ? (_jsxs(React.Fragment, { children: [title, _jsx(ClipboardButton, { text: title, size: "s", className: b('clipboard-button'), view: "flat", onClickCapture: (e) => {
25
+ e.preventDefault();
26
+ e.stopPropagation();
27
+ } })] })) : null, _jsx(Text, { variant: "body-2", color: "hint", children: i18n('nodes-count', { count: nodesAmount }) })] }), _jsxs(Flex, { alignItems: 'center', gap: 4, children: [preparedVersions ? (_jsx("div", { className: b('version-progress'), children: _jsx(VersionsBar, { preparedVersions: preparedVersions, withTitles: false }) })) : null, _jsx(Icon, { className: b('icon'), data: expanded ? ChevronUp : ChevronDown })] })] }));
20
28
  };
21
29
  //# sourceMappingURL=NodesTreeTitle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodesTreeTitle.js","sourceRoot":"","sources":["../../../../src/containers/Versions/NodesTreeTitle/NodesTreeTitle.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,eAAe,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AAKrC,OAAO,uBAAuB,CAAC;AAE/B,MAAM,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAC;AAU9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,KAAK,EACL,YAAY,EACZ,cAAc,GACI,EAAE,EAAE;IACtB,IAAI,WAAW,CAAC;IAChB,IAAI,KAAK,EAAE,CAAC;QACR,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YACrC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACnC,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,aACzB,eAAK,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,aAClC,YAAY,CAAC,CAAC,CAAC,CACZ,cAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,EAAC,UAAU,EAAE,YAAY,EAAC,GAAI,CAC5E,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,CAAC,CAAC,CACL,gBAAM,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,aAC/B,KAAK,EACN,KAAC,eAAe,IACZ,IAAI,EAAE,KAAK,EACX,IAAI,EAAC,GAAG,EACR,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAChC,IAAI,EAAC,QAAQ,GACf,IACC,CACV,CAAC,CAAC,CAAC,IAAI,IACN,EACN,eAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC9B,0BACI,eAAM,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,YAAG,WAAW,GAAQ,EACtD,eAAM,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,sBAAc,IAC9D,EACL,cAAc,CAAC,CAAC,CAAC,CACd,eAAK,SAAS,EAAE,CAAC,CAAC,kBAAkB,CAAC,aACjC,eAAM,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,yBAAiB,EACpE,KAAC,QAAQ,IAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,GAAI,IACtD,CACT,CAAC,CAAC,CAAC,IAAI,IACN,IACJ,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"NodesTreeTitle.js","sourceRoot":"","sources":["../../../../src/containers/Versions/NodesTreeTitle/NodesTreeTitle.tsx"],"names":[],"mappings":"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"}
@@ -5,54 +5,26 @@
5
5
  align-items: center;
6
6
 
7
7
  width: 100%;
8
- }
9
-
10
- &__overview-info {
11
- display: flex;
12
- align-items: center;
13
-
14
- margin-left: 25px;
15
-
16
- & > *:not(:first-child) {
17
- margin-left: 30px;
18
- }
19
- }
20
-
21
- &__overview-container {
22
- display: flex;
23
- align-items: center;
24
- }
8
+ padding: var(--g-spacing-4);
25
9
 
26
- &__info-label {
27
- font-weight: 200;
10
+ cursor: pointer;
28
11
 
29
- color: var(--g-color-text-complementary);
12
+ border-radius: var(--g-border-radius-m);
30
13
 
31
- &_margin_left {
32
- margin-left: 5px;
33
- }
34
- &_margin_right {
35
- margin-right: 5px;
14
+ &:hover {
15
+ background-color: var(--g-color-base-generic-hover);
36
16
  }
37
17
  }
38
18
 
39
19
  &__version-color {
40
- width: 16px;
41
- height: 16px;
42
- margin-right: 10px;
20
+ width: 12px;
21
+ height: 12px;
43
22
 
44
23
  border-radius: 100%;
45
24
  }
46
25
 
47
26
  &__version-progress {
48
- display: flex;
49
- align-items: center;
50
-
51
27
  width: 250px;
52
-
53
- & .g-progress {
54
- width: 200px;
55
- }
56
28
  }
57
29
 
58
30
  &__overview-title {
@@ -60,14 +32,8 @@
60
32
  align-items: center;
61
33
  }
62
34
 
63
- &__clipboard-button {
64
- margin-left: 8px;
65
-
66
- opacity: 0;
35
+ &__clipboard-button,
36
+ &__icon {
67
37
  color: var(--g-color-text-secondary);
68
- .ydb-tree-view__item:hover &,
69
- &:focus-visible {
70
- opacity: 1;
71
- }
72
38
  }
73
39
  }
@@ -1,44 +1,115 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { Checkbox, SegmentedRadioGroup } from '@gravity-ui/uikit';
3
+ import { ChevronsCollapseVertical, ChevronsExpandVertical } from '@gravity-ui/icons';
4
+ import { Button, Flex, Icon, SegmentedRadioGroup, Select, Text } from '@gravity-ui/uikit';
5
+ import { StringParam, useQueryParams } from 'use-query-params';
6
+ import { z } from 'zod';
4
7
  import { LoaderWrapper } from '../../components/LoaderWrapper/LoaderWrapper';
8
+ import { VersionsBar } from '../../components/VersionsBar/VersionsBar';
5
9
  import { nodesApi } from '../../store/reducers/nodes/nodes';
6
10
  import { cn } from '../../utils/cn';
7
11
  import { useAutoRefreshInterval } from '../../utils/hooks';
8
- import { VersionsBar } from '../Cluster/VersionsBar/VersionsBar';
9
12
  import { GroupedNodesTree } from './GroupedNodesTree/GroupedNodesTree';
13
+ import { NODE_TYPES, NODE_TYPES_TITLE } from './constants';
10
14
  import { getGroupedStorageNodes, getGroupedTenantNodes, getOtherNodes } from './groupNodes';
11
15
  import i18n from './i18n';
12
16
  import { GroupByValue } from './types';
13
- import { useGetVersionValues, useVersionsDataMap } from './utils';
17
+ import { useGetPreparedVersions, useVersionsDataMap } from './utils';
14
18
  import './Versions.scss';
15
19
  const b = cn('ydb-versions');
16
20
  export function VersionsContainer({ cluster, loading }) {
17
21
  const [autoRefreshInterval] = useAutoRefreshInterval();
18
22
  const { currentData, isLoading: isNodesLoading } = nodesApi.useGetNodesQuery({ tablets: false, fieldsRequired: ['SystemState', 'SubDomainKey'] }, { pollingInterval: autoRefreshInterval });
19
23
  const versionsDataMap = useVersionsDataMap(cluster);
20
- const versionsValues = useGetVersionValues({ cluster, versionsDataMap, clusterLoading: loading });
21
- return (_jsx(LoaderWrapper, { loading: loading || isNodesLoading, children: _jsx(Versions, { versionsValues: versionsValues, nodes: currentData === null || currentData === void 0 ? void 0 : currentData.Nodes, versionsDataMap: versionsDataMap }) }));
24
+ const preparedVersions = useGetPreparedVersions({
25
+ cluster,
26
+ versionsDataMap,
27
+ clusterLoading: loading,
28
+ });
29
+ return (_jsx(LoaderWrapper, { loading: loading || isNodesLoading, children: _jsx(Versions, { preparedVersions: preparedVersions, nodes: currentData === null || currentData === void 0 ? void 0 : currentData.Nodes, versionsDataMap: versionsDataMap }) }));
22
30
  }
23
- function Versions({ versionsValues, nodes, versionsDataMap }) {
24
- const [groupByValue, setGroupByValue] = React.useState(GroupByValue.VERSION);
31
+ const nodeTypeSchema = z.nativeEnum(NODE_TYPES).catch(NODE_TYPES.storage);
32
+ const groupByValueSchema = z.nativeEnum(GroupByValue).catch(GroupByValue.VERSION);
33
+ function Versions({ preparedVersions, nodes, versionsDataMap }) {
34
+ const [{ nodeType: rawNodeType, groupBy: rawGroupByValue }, setQueryParams] = useQueryParams({
35
+ nodeType: StringParam,
36
+ groupBy: StringParam,
37
+ });
38
+ const nodeType = nodeTypeSchema.parse(rawNodeType);
39
+ const groupByValue = groupByValueSchema.parse(rawGroupByValue);
25
40
  const [expanded, setExpanded] = React.useState(false);
41
+ const tenantNodes = React.useMemo(() => {
42
+ return getGroupedTenantNodes(nodes, versionsDataMap, groupByValue);
43
+ }, [groupByValue, nodes, versionsDataMap]);
44
+ const storageNodes = React.useMemo(() => {
45
+ return getGroupedStorageNodes(nodes, versionsDataMap);
46
+ }, [nodes, versionsDataMap]);
47
+ const otherNodes = React.useMemo(() => {
48
+ return getOtherNodes(nodes, versionsDataMap);
49
+ }, [nodes, versionsDataMap]);
26
50
  const handleGroupByValueChange = (value) => {
27
- setGroupByValue(value);
51
+ setQueryParams({ groupBy: value }, 'replaceIn');
52
+ };
53
+ const handleNodeTypeChange = (value) => {
54
+ setQueryParams({ nodeType: value }, 'replaceIn');
55
+ };
56
+ const renderExpandButton = () => {
57
+ return (_jsxs(Button, { onClick: () => setExpanded((value) => !value), children: [_jsx(Icon, { data: expanded ? ChevronsCollapseVertical : ChevronsExpandVertical }), expanded ? i18n('action_collapse') : i18n('action_expand')] }));
58
+ };
59
+ const renderNodeTypeRadio = () => {
60
+ const options = [
61
+ _jsx(SegmentedRadioGroup.Option, { value: NODE_TYPES.storage, children: NODE_TYPES_TITLE.storage }),
62
+ _jsx(SegmentedRadioGroup.Option, { value: NODE_TYPES.database, children: NODE_TYPES_TITLE.database }),
63
+ ];
64
+ if (otherNodes === null || otherNodes === void 0 ? void 0 : otherNodes.length) {
65
+ options.push(_jsx(SegmentedRadioGroup.Option, { value: NODE_TYPES.other, children: NODE_TYPES_TITLE.other }));
66
+ }
67
+ return (_jsx(SegmentedRadioGroup, { value: nodeType, onUpdate: handleNodeTypeChange, children: options }));
28
68
  };
29
69
  const renderGroupControl = () => {
30
- return (_jsxs("div", { className: b('group'), children: [_jsx("span", { className: b('label'), children: "Group by:" }), _jsxs(SegmentedRadioGroup, { value: groupByValue, onUpdate: handleGroupByValueChange, children: [_jsx(SegmentedRadioGroup.Option, { value: GroupByValue.TENANT, children: GroupByValue.TENANT }), _jsx(SegmentedRadioGroup.Option, { value: GroupByValue.VERSION, children: GroupByValue.VERSION })] })] }));
70
+ if (nodeType === NODE_TYPES.database) {
71
+ const options = [
72
+ { value: GroupByValue.TENANT, content: i18n('title_database') },
73
+ { value: GroupByValue.VERSION, content: i18n('title_version') },
74
+ ];
75
+ return (_jsx(Select, { label: i18n('group-by'), value: [groupByValue], options: options, onUpdate: (values) => handleGroupByValueChange(values[0]), width: 200, size: "m" }));
76
+ }
77
+ return null;
31
78
  };
32
79
  const renderControls = () => {
33
- return (_jsxs("div", { className: b('controls'), children: [renderGroupControl(), _jsx(Checkbox, { className: b('checkbox'), onChange: () => setExpanded((value) => !value), checked: expanded, children: "All expanded" })] }));
34
- };
35
- const tenantNodes = getGroupedTenantNodes(nodes, versionsDataMap, groupByValue);
36
- const storageNodes = getGroupedStorageNodes(nodes, versionsDataMap);
37
- const otherNodes = getOtherNodes(nodes, versionsDataMap);
38
- const storageNodesContent = (storageNodes === null || storageNodes === void 0 ? void 0 : storageNodes.length) ? (_jsxs(React.Fragment, { children: [_jsx("h4", { children: i18n('title_storage') }), storageNodes.map(({ title, nodes: itemNodes, items, versionColor }) => (_jsx(GroupedNodesTree, { title: title, nodes: itemNodes, items: items, versionColor: versionColor }, `storage-nodes-${title}`)))] })) : null;
39
- const tenantNodesContent = (tenantNodes === null || tenantNodes === void 0 ? void 0 : tenantNodes.length) ? (_jsxs(React.Fragment, { children: [_jsx("h4", { children: i18n('title_database') }), renderControls(), tenantNodes.map(({ title, nodes: itemNodes, items, versionColor, versionsValues }) => (_jsx(GroupedNodesTree, { title: title, nodes: itemNodes, items: items, expanded: expanded, versionColor: versionColor, versionsValues: versionsValues }, `tenant-nodes-${title}`)))] })) : null;
40
- const otherNodesContent = (otherNodes === null || otherNodes === void 0 ? void 0 : otherNodes.length) ? (_jsxs(React.Fragment, { children: [_jsx("h4", { children: i18n('title_other') }), otherNodes.map(({ title, nodes: itemNodes, items, versionColor, versionsValues }) => (_jsx(GroupedNodesTree, { title: title, nodes: itemNodes, items: items, versionColor: versionColor, versionsValues: versionsValues }, `other-nodes-${title}`)))] })) : null;
41
- const overallContent = (_jsxs(React.Fragment, { children: [_jsx("h4", { children: i18n('title_overall') }), _jsx("div", { className: b('overall-wrapper'), children: _jsx(VersionsBar, { progressClassName: b('overall-progress'), versionsValues: versionsValues.filter((el) => el.title !== 'unknown'), size: "m" }) })] }));
42
- return (_jsxs("div", { className: b(), children: [overallContent, storageNodesContent, tenantNodesContent, otherNodesContent] }));
80
+ return (_jsxs(Flex, { gap: 3, className: b('controls'), children: [renderNodeTypeRadio(), renderGroupControl(), renderExpandButton()] }));
81
+ };
82
+ const renderStorageNodes = () => {
83
+ if (storageNodes === null || storageNodes === void 0 ? void 0 : storageNodes.length) {
84
+ return storageNodes.map(({ title, nodes: itemNodes, items, versionColor }) => (_jsx(GroupedNodesTree, { title: title, nodes: itemNodes, items: items, expanded: expanded, versionColor: versionColor }, `storage-nodes-${title}`)));
85
+ }
86
+ return null;
87
+ };
88
+ const renderDatabaseNodes = () => {
89
+ if (tenantNodes === null || tenantNodes === void 0 ? void 0 : tenantNodes.length) {
90
+ return tenantNodes.map(({ title, isDatabase, nodes: itemNodes, items, versionColor, preparedVersions: nodesVersions, }) => (_jsx(GroupedNodesTree, { title: title, isDatabase: isDatabase, nodes: itemNodes, items: items, expanded: expanded, versionColor: versionColor, preparedVersions: nodesVersions }, `tenant-nodes-${title}`)));
91
+ }
92
+ return null;
93
+ };
94
+ const renderOtherNodes = () => {
95
+ if (otherNodes === null || otherNodes === void 0 ? void 0 : otherNodes.length) {
96
+ return otherNodes.map(({ title, nodes: itemNodes, items, versionColor, preparedVersions: nodesVersions, }) => (_jsx(GroupedNodesTree, { title: title, nodes: itemNodes, items: items, versionColor: versionColor, expanded: expanded, preparedVersions: nodesVersions }, `other-nodes-${title}`)));
97
+ }
98
+ return null;
99
+ };
100
+ const renderContent = () => {
101
+ switch (nodeType) {
102
+ case NODE_TYPES.storage:
103
+ return renderStorageNodes();
104
+ case NODE_TYPES.database:
105
+ return renderDatabaseNodes();
106
+ case NODE_TYPES.other:
107
+ return renderOtherNodes();
108
+ default:
109
+ return null;
110
+ }
111
+ };
112
+ const overallContent = (_jsxs(Flex, { gap: 3, direction: 'column', className: b('overall'), children: [_jsx(Text, { variant: "subheader-3", children: i18n('title_overall') }), _jsx(VersionsBar, { preparedVersions: preparedVersions, size: "m" })] }));
113
+ return (_jsxs("div", { className: b(), children: [overallContent, renderControls(), _jsx(Flex, { direction: 'column', gap: 3, children: renderContent() })] }));
43
114
  }
44
115
  //# sourceMappingURL=Versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Versions.js","sourceRoot":"","sources":["../../../src/containers/Versions/Versions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Versions.js","sourceRoot":"","sources":["../../../src/containers/Versions/Versions.tsx"],"names":[],"mappings":"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"}
@@ -4,49 +4,16 @@
4
4
  --ydb-info-viewer-font-size: var(--g-text-body-2-font-size);
5
5
  --ydb-info-viewer-line-height: var(--g-text-body-2-line-height);
6
6
 
7
+ padding-right: var(--g-spacing-5);
8
+
7
9
  font-size: var(--ydb-info-viewer-font-size);
8
10
  line-height: var(--ydb-info-viewer-line-height);
9
11
 
10
12
  &__controls {
11
- display: flex;
12
- align-items: center;
13
-
14
- padding: 0 0 20px;
15
-
16
- #{$_} {
17
- &__label {
18
- margin-right: 10px;
19
-
20
- font-weight: 500;
21
- }
22
-
23
- &__checkbox {
24
- margin: 0;
25
- }
26
- }
27
-
28
- & > * {
29
- margin-right: 25px;
30
- }
13
+ margin-bottom: var(--g-spacing-3);
31
14
  }
32
- &__overall-wrapper {
33
- margin-top: 10px;
34
- margin-bottom: 10px;
35
- padding: 20px;
36
-
37
- border: 1px solid var(--g-color-line-generic);
38
- border-radius: 10px;
39
- }
40
- &__overall-progress {
41
- height: 20px;
42
-
43
- line-height: 20px;
44
-
45
- border-radius: 5px;
46
- .g-progress__stack {
47
- height: 20px;
48
-
49
- line-height: 20px;
50
- }
15
+ &__overall {
16
+ margin-top: var(--g-spacing-4);
17
+ margin-bottom: var(--g-spacing-6);
51
18
  }
52
19
  }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './VersionsBlock.scss';
3
+ interface VersionsBlockProps {
4
+ expanded: boolean;
5
+ renderHeader: () => React.ReactNode;
6
+ renderContent: () => React.ReactNode;
7
+ }
8
+ export declare const VersionsBlock: ({ expanded, renderHeader, renderContent }: VersionsBlockProps) => import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex } from '@gravity-ui/uikit';
3
+ import { cn } from '../../../utils/cn';
4
+ import './VersionsBlock.scss';
5
+ const b = cn('ydb-versions-block');
6
+ export const VersionsBlock = ({ expanded, renderHeader, renderContent }) => {
7
+ return (_jsxs("div", { className: b(null), children: [renderHeader(), expanded ? (_jsx(Flex, { direction: 'column', className: b('content'), children: renderContent() })) : null] }));
8
+ };
9
+ //# sourceMappingURL=VersionsBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VersionsBlock.js","sourceRoot":"","sources":["../../../../src/containers/Versions/VersionsBlock/VersionsBlock.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,EAAE,EAAC,MAAM,mBAAmB,CAAC;AAErC,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC;AAQnC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAqB,EAAE,EAAE;IACzF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,aAClB,YAAY,EAAE,EACd,QAAQ,CAAC,CAAC,CAAC,CACR,KAAC,IAAI,IAAC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAC7C,aAAa,EAAE,GACb,CACV,CAAC,CAAC,CAAC,IAAI,IACN,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ .ydb-versions-block {
2
+ &__content {
3
+ gap: var(--g-spacing-4);
4
+
5
+ padding: var(--g-spacing-4);
6
+ }
7
+ }
@@ -0,0 +1,12 @@
1
+ import type { ValueOf } from '../../types/common';
2
+ export declare const NODE_TYPES: {
3
+ storage: string;
4
+ database: string;
5
+ other: string;
6
+ };
7
+ export type NodeType = ValueOf<typeof NODE_TYPES>;
8
+ export declare const NODE_TYPES_TITLE: {
9
+ [NODE_TYPES.storage]: string;
10
+ [NODE_TYPES.database]: string;
11
+ [NODE_TYPES.other]: string;
12
+ };
@@ -0,0 +1,12 @@
1
+ import i18n from './i18n';
2
+ export const NODE_TYPES = {
3
+ storage: 'storage',
4
+ database: 'database',
5
+ other: 'other',
6
+ };
7
+ export const NODE_TYPES_TITLE = {
8
+ [NODE_TYPES.storage]: i18n('title_storage-nodes'),
9
+ [NODE_TYPES.database]: i18n('title_database-nodes'),
10
+ [NODE_TYPES.other]: i18n('title_other-nodes'),
11
+ };
12
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/containers/Versions/constants.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;CACjB,CAAC;AAIF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACjD,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC;IACnD,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;CAChD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import groupBy from 'lodash/groupBy';
2
- import { getColorFromVersionsData, parseNodesToVersionsValues } from '../../utils/versions';
2
+ import { getColorFromVersionsData, parseNodesToPreparedVersions } from '../../utils/versions';
3
3
  import { GroupByValue } from './types';
4
4
  const sortByTitle = (a, b) => { var _a; return ((_a = a.title) === null || _a === void 0 ? void 0 : _a.localeCompare(b.title || '')) || -1; };
5
5
  export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
@@ -16,6 +16,7 @@ export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
16
16
  .map((tenant) => {
17
17
  return {
18
18
  title: tenant,
19
+ isDatabase: true,
19
20
  nodes: dividedByTenant[tenant],
20
21
  };
21
22
  })
@@ -36,7 +37,7 @@ export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
36
37
  const dividedByTenant = groupBy(filteredNodes, 'Tenants');
37
38
  return Object.keys(dividedByTenant)
38
39
  .map((tenant) => {
39
- const versionsValues = parseNodesToVersionsValues(dividedByTenant[tenant], versionsDataMap);
40
+ const preparedVersions = parseNodesToPreparedVersions(dividedByTenant[tenant], versionsDataMap);
40
41
  const dividedByVersion = groupBy(dividedByTenant[tenant], 'Version');
41
42
  const preparedItems = Object.keys(dividedByVersion).map((version) => {
42
43
  return {
@@ -50,8 +51,9 @@ export const getGroupedTenantNodes = (nodes, versionsDataMap, groupByValue) => {
50
51
  }
51
52
  return {
52
53
  title: tenant,
54
+ isDatabase: true,
53
55
  items: preparedItems,
54
- versionsValues,
56
+ preparedVersions,
55
57
  };
56
58
  })
57
59
  .filter((item) => Boolean(item))
@@ -1 +1 @@
1
- {"version":3,"file":"groupNodes.js","sourceRoot":"","sources":["../../../src/containers/Versions/groupNodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groupNodes.js","sourceRoot":"","sources":["../../../src/containers/Versions/groupNodes.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAC,wBAAwB,EAAE,4BAA4B,EAAC,MAAM,sBAAsB,CAAC;AAI5F,OAAO,EAAC,YAAY,EAAC,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,GAAG,CAAC,CAAmB,EAAE,CAAmB,EAAE,EAAE,WAC7D,OAAA,CAAA,MAAA,CAAC,CAAC,KAAK,0CAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,KAAI,CAAC,CAAC,CAAA,EAAA,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,KAAwC,EACxC,eAA4C,EAC5C,YAA0B,EACI,EAAE;IAChC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,YAAY,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAEnD,OAAO,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;aAC/B,GAAG,CAA0B,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACrE,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAE1D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;iBACrC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACZ,OAAO;oBACH,KAAK,EAAE,MAAM;oBACb,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC;iBACjC,CAAC;YACN,CAAC,CAAC;iBACD,IAAI,CAAC,WAAW,CAAC,CAAC;YAEvB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,OAAO;gBACd,KAAK,EAAE,KAAK;gBACZ,YAAY,EAAE,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC;aACnE,CAAC;QACN,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACJ,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QAE1D,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;aAC9B,GAAG,CAA0B,CAAC,MAAM,EAAE,EAAE;YACrC,MAAM,gBAAgB,GAAG,4BAA4B,CACjD,eAAe,CAAC,MAAM,CAAC,EACvB,eAAe,CAClB,CAAC;YAEF,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAChE,OAAO;oBACH,KAAK,EAAE,OAAO;oBACd,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC;oBAChC,YAAY,EAAE,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC;iBACnE,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,MAAM;gBACb,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,aAAa;gBACpB,gBAAgB;aACnB,CAAC;QACN,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAA4B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACzD,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3B,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,KAAwC,EACxC,eAA4C,EACd,EAAE;IAChC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,4BAA4B,GAAG,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAEtE,OAAO,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7D,OAAO;YACH,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,4BAA4B,CAAC,OAAO,CAAC;YAC5C,YAAY,EAAE,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC;SACnE,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,KAAwC,EACxC,eAA4C,EACd,EAAE;IAChC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,8CAA8C;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CACxE,CAAC;IACF,MAAM,0BAA0B,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAElE,OAAO,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3D,OAAO;YACH,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,0BAA0B,CAAC,OAAO,CAAC;YAC1C,YAAY,EAAE,wBAAwB,CAAC,OAAO,EAAE,eAAe,CAAC;SACnE,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,aAAa,CAAC,IAAyB;;IAC5C,OAAO,OAAO,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,YAAY,CAAC,IAAyB;IAC3C,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC"}
@@ -1,6 +1,15 @@
1
1
  {
2
2
  "title_overall": "Overall",
3
- "title_storage": "Storage nodes",
4
- "title_database": "Database nodes",
5
- "title_other": "Other nodes"
3
+ "title_storage-nodes": "Storage Nodes",
4
+ "title_database-nodes": "Database Nodes",
5
+ "title_other-nodes": "Other Nodes",
6
+ "title_database": "Database",
7
+ "title_version": "Version",
8
+ "nodes-count": {
9
+ "one": "{{count}} node",
10
+ "other": "{{count}} nodes"
11
+ },
12
+ "group-by": "Group by:",
13
+ "action_expand": "Expand all",
14
+ "action_collapse": "Collapse all"
6
15
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "title_overall" | "title_storage" | "title_database" | "title_other", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "title_overall" | "title_storage-nodes" | "title_database-nodes" | "title_other-nodes" | "title_database" | "title_version" | "nodes-count" | "group-by" | "action_expand" | "action_collapse", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -1,11 +1,12 @@
1
1
  import type { NodesPreparedEntity } from '../../store/reducers/nodes/types';
2
- import type { VersionValue } from '../../utils/versions/types';
2
+ import type { PreparedVersion } from '../../utils/versions/types';
3
3
  export interface GroupedNodesItem {
4
4
  title?: string;
5
+ isDatabase?: boolean;
5
6
  nodes?: NodesPreparedEntity[];
6
7
  items?: GroupedNodesItem[];
7
8
  versionColor?: string;
8
- versionsValues?: VersionValue[];
9
+ preparedVersions?: PreparedVersion[];
9
10
  }
10
11
  export declare enum GroupByValue {
11
12
  VERSION = "Version",
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/containers/Versions/types.ts"],"names":[],"mappings":"AAWA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/containers/Versions/types.ts"],"names":[],"mappings":"AAYA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;IACnB,mCAAmB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB"}
@@ -5,6 +5,6 @@ interface UseGetVersionValuesProps {
5
5
  versionsDataMap?: VersionsDataMap;
6
6
  clusterLoading?: boolean;
7
7
  }
8
- export declare const useGetVersionValues: ({ cluster, versionsDataMap, clusterLoading, }: UseGetVersionValuesProps) => import("../../utils/versions/types").VersionValue[];
8
+ export declare function useGetPreparedVersions({ cluster, versionsDataMap, clusterLoading, }: UseGetVersionValuesProps): import("../../utils/versions/types").PreparedVersion[];
9
9
  export declare function useVersionsDataMap(cluster?: TClusterInfo): VersionsDataMap;
10
10
  export {};
@@ -5,9 +5,9 @@ import { clustersApi } from '../../store/reducers/clusters/clusters';
5
5
  import { nodesApi } from '../../store/reducers/nodes/nodes';
6
6
  import { isClusterInfoV2 } from '../../types/api/cluster';
7
7
  import { useTypedSelector } from '../../utils/hooks';
8
- import { parseNodeGroupsToVersionsValues, parseNodesToVersionsValues, parseVersionsToVersionsDataMap, } from '../../utils/versions';
8
+ import { parseNodeGroupsToPreparedVersions, parseNodesToPreparedVersions, parseVersionsToVersionsDataMap, } from '../../utils/versions';
9
9
  import { getVersionMap, getVersionsData } from '../../utils/versions/clusterVersionColors';
10
- export const useGetVersionValues = ({ cluster, versionsDataMap, clusterLoading, }) => {
10
+ export function useGetPreparedVersions({ cluster, versionsDataMap, clusterLoading, }) {
11
11
  const { currentData } = nodesApi.useGetNodesQuery(isClusterInfoV2(cluster) || clusterLoading
12
12
  ? skipToken
13
13
  : {
@@ -15,24 +15,24 @@ export const useGetVersionValues = ({ cluster, versionsDataMap, clusterLoading,
15
15
  fieldsRequired: ['SystemState', 'SubDomainKey'],
16
16
  group: 'Version',
17
17
  });
18
- const versionsValues = React.useMemo(() => {
18
+ const preparedVersions = React.useMemo(() => {
19
19
  if (isClusterInfoV2(cluster) && cluster.MapVersions) {
20
20
  const groups = Object.entries(cluster.MapVersions).map(([version, count]) => ({
21
21
  name: version,
22
22
  count,
23
23
  }));
24
- return parseNodeGroupsToVersionsValues(groups, versionsDataMap, cluster.NodesTotal);
24
+ return parseNodeGroupsToPreparedVersions(groups, versionsDataMap);
25
25
  }
26
26
  if (!currentData) {
27
27
  return [];
28
28
  }
29
29
  if (Array.isArray(currentData.NodeGroups)) {
30
- return parseNodeGroupsToVersionsValues(currentData.NodeGroups, versionsDataMap, cluster === null || cluster === void 0 ? void 0 : cluster.NodesTotal);
30
+ return parseNodeGroupsToPreparedVersions(currentData.NodeGroups, versionsDataMap);
31
31
  }
32
- return parseNodesToVersionsValues(currentData.Nodes, versionsDataMap);
32
+ return parseNodesToPreparedVersions(currentData.Nodes, versionsDataMap);
33
33
  }, [currentData, versionsDataMap, cluster]);
34
- return versionsValues;
35
- };
34
+ return preparedVersions;
35
+ }
36
36
  export function useVersionsDataMap(cluster) {
37
37
  const getVersionsDataMap = useGetClusterVersionsDataMap();
38
38
  return React.useMemo(() => {