ydb-embedded-ui 6.15.1 → 6.17.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (422) hide show
  1. package/dist/components/ContentWithPopup/ContentWithPopup.d.ts +2 -1
  2. package/dist/components/ContentWithPopup/ContentWithPopup.js +9 -2
  3. package/dist/components/ContentWithPopup/ContentWithPopup.js.map +1 -1
  4. package/dist/components/ElapsedTime/ElapsedTime.js +2 -1
  5. package/dist/components/ElapsedTime/ElapsedTime.js.map +1 -1
  6. package/dist/components/EmptyState/EmptyState.d.ts +6 -0
  7. package/dist/components/EmptyState/EmptyState.js +6 -0
  8. package/dist/components/EmptyState/EmptyState.js.map +1 -1
  9. package/dist/components/EntitiesCount/EntitiesCount.js +3 -1
  10. package/dist/components/EntitiesCount/EntitiesCount.js.map +1 -1
  11. package/dist/components/EntityPageTitle/EntityPageTitle.d.ts +11 -0
  12. package/dist/components/{DiskPageTitle/DiskPageTitle.js → EntityPageTitle/EntityPageTitle.js} +5 -5
  13. package/dist/components/EntityPageTitle/EntityPageTitle.js.map +1 -0
  14. package/dist/components/{DiskPageTitle/DiskPageTitle.scss → EntityPageTitle/EntityPageTitle.scss} +1 -1
  15. package/dist/components/ErrorBoundary/ErrorBoundary.scss +2 -0
  16. package/dist/components/FullNodeViewer/FullNodeViewer.js +1 -1
  17. package/dist/components/FullNodeViewer/FullNodeViewer.js.map +1 -1
  18. package/dist/components/InfoViewer/InfoViewer.d.ts +0 -1
  19. package/dist/components/InfoViewer/InfoViewer.js +0 -1
  20. package/dist/components/InfoViewer/InfoViewer.js.map +1 -1
  21. package/dist/components/InfoViewer/index.d.ts +1 -1
  22. package/dist/components/InfoViewer/index.js +1 -1
  23. package/dist/components/InfoViewer/index.js.map +1 -1
  24. package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.d.ts +2 -1
  25. package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.js +10 -1
  26. package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.js.map +1 -1
  27. package/dist/components/MetricChart/reducer.d.ts +2 -2
  28. package/dist/components/NodeHostWrapper/NodeHostWrapper.d.ts +2 -1
  29. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +2 -2
  30. package/dist/components/NodeHostWrapper/NodeHostWrapper.js.map +1 -1
  31. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.d.ts +9 -0
  32. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.js +9 -0
  33. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.js.map +1 -0
  34. package/dist/components/NotRenderUntilFirstVisible/NotRenderUntilFirstVisible.scss +3 -0
  35. package/dist/components/PageMeta/PageMeta.d.ts +2 -1
  36. package/dist/components/PageMeta/PageMeta.js +9 -4
  37. package/dist/components/PageMeta/PageMeta.js.map +1 -1
  38. package/dist/components/PageMeta/PageMeta.scss +9 -6
  39. package/dist/components/PaginatedTable/PaginatedTable.d.ts +5 -4
  40. package/dist/components/PaginatedTable/PaginatedTable.js +24 -116
  41. package/dist/components/PaginatedTable/PaginatedTable.js.map +1 -1
  42. package/dist/components/PaginatedTable/PaginatedTable.scss +8 -0
  43. package/dist/components/PaginatedTable/ResizeablePaginatedTable.d.ts +2 -2
  44. package/dist/components/PaginatedTable/ResizeablePaginatedTable.js.map +1 -1
  45. package/dist/components/PaginatedTable/TableChunk.d.ts +13 -5
  46. package/dist/components/PaginatedTable/TableChunk.js +53 -22
  47. package/dist/components/PaginatedTable/TableChunk.js.map +1 -1
  48. package/dist/components/PaginatedTable/TableHead.js +1 -1
  49. package/dist/components/PaginatedTable/TableHead.js.map +1 -1
  50. package/dist/components/PaginatedTable/TableRow.js +1 -1
  51. package/dist/components/PaginatedTable/TableRow.js.map +1 -1
  52. package/dist/components/PaginatedTable/types.d.ts +8 -1
  53. package/dist/components/Skeleton/Skeleton.d.ts +6 -0
  54. package/dist/components/Skeleton/Skeleton.js +11 -0
  55. package/dist/components/Skeleton/Skeleton.js.map +1 -0
  56. package/dist/components/Tablet/Tablet.js +2 -2
  57. package/dist/components/Tablet/Tablet.js.map +1 -1
  58. package/dist/components/TabletState/TabletState.d.ts +6 -0
  59. package/dist/components/TabletState/TabletState.js +7 -0
  60. package/dist/components/TabletState/TabletState.js.map +1 -0
  61. package/dist/components/TabletsStatistic/TabletsStatistic.d.ts +2 -2
  62. package/dist/components/TabletsStatistic/TabletsStatistic.js +4 -6
  63. package/dist/components/TabletsStatistic/TabletsStatistic.js.map +1 -1
  64. package/dist/components/YDBDefinitionList/YDBDefinitionList.d.ts +9 -0
  65. package/dist/components/YDBDefinitionList/YDBDefinitionList.js +23 -0
  66. package/dist/components/YDBDefinitionList/YDBDefinitionList.js.map +1 -0
  67. package/dist/{containers/Tenant/Info/View/View.scss → components/YDBDefinitionList/YDBDefinitionList.scss} +6 -6
  68. package/dist/components/YDBDefinitionList/i18n/en.json +3 -0
  69. package/dist/components/YDBDefinitionList/i18n/index.d.ts +2 -0
  70. package/dist/components/YDBDefinitionList/i18n/index.js +5 -0
  71. package/dist/components/YDBDefinitionList/i18n/index.js.map +1 -0
  72. package/dist/containers/App/Content.js +1 -7
  73. package/dist/containers/App/Content.js.map +1 -1
  74. package/dist/containers/App/appSlots.d.ts +0 -6
  75. package/dist/containers/App/appSlots.js +0 -1
  76. package/dist/containers/App/appSlots.js.map +1 -1
  77. package/dist/containers/Cluster/Cluster.js +13 -22
  78. package/dist/containers/Cluster/Cluster.js.map +1 -1
  79. package/dist/containers/Cluster/Cluster.scss +14 -0
  80. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.d.ts +3 -3
  81. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +18 -2
  82. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js.map +1 -1
  83. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  84. package/dist/containers/Header/Header.js +6 -7
  85. package/dist/containers/Header/Header.js.map +1 -1
  86. package/dist/containers/Header/breadcrumbs.js +26 -30
  87. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  88. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +2 -2
  89. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js.map +1 -1
  90. package/dist/containers/Node/Node.js +12 -6
  91. package/dist/containers/Node/Node.js.map +1 -1
  92. package/dist/containers/Node/NodePages.d.ts +2 -1
  93. package/dist/containers/Node/NodePages.js +2 -2
  94. package/dist/containers/Node/NodePages.js.map +1 -1
  95. package/dist/containers/Nodes/Nodes.d.ts +2 -1
  96. package/dist/containers/Nodes/Nodes.js +3 -2
  97. package/dist/containers/Nodes/Nodes.js.map +1 -1
  98. package/dist/containers/Nodes/NodesWrapper.d.ts +1 -0
  99. package/dist/containers/Nodes/NodesWrapper.js.map +1 -1
  100. package/dist/containers/Nodes/PaginatedNodes.d.ts +2 -1
  101. package/dist/containers/Nodes/PaginatedNodes.js +7 -18
  102. package/dist/containers/Nodes/PaginatedNodes.js.map +1 -1
  103. package/dist/containers/Nodes/getNodes.d.ts +3 -6
  104. package/dist/containers/Nodes/getNodes.js +19 -2
  105. package/dist/containers/Nodes/getNodes.js.map +1 -1
  106. package/dist/containers/Nodes/getNodesColumns.d.ts +3 -3
  107. package/dist/containers/Nodes/getNodesColumns.js +9 -9
  108. package/dist/containers/Nodes/getNodesColumns.js.map +1 -1
  109. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js +2 -2
  110. package/dist/containers/PDiskPage/PDiskGroups/PDiskGroups.js.map +1 -1
  111. package/dist/containers/PDiskPage/PDiskPage.js +4 -5
  112. package/dist/containers/PDiskPage/PDiskPage.js.map +1 -1
  113. package/dist/containers/PDiskPage/PDiskPage.scss +0 -7
  114. package/dist/containers/PDiskPage/i18n/index.d.ts +1 -1
  115. package/dist/containers/Storage/PaginatedStorage.d.ts +2 -2
  116. package/dist/containers/Storage/PaginatedStorage.js +3 -3
  117. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  118. package/dist/containers/Storage/Storage.d.ts +2 -2
  119. package/dist/containers/Storage/Storage.js +4 -4
  120. package/dist/containers/Storage/Storage.js.map +1 -1
  121. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.d.ts +2 -2
  122. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.js +5 -17
  123. package/dist/containers/Storage/StorageGroups/PaginatedStorageGroups.js.map +1 -1
  124. package/dist/containers/Storage/StorageGroups/getGroups.d.ts +3 -6
  125. package/dist/containers/Storage/StorageGroups/getGroups.js +15 -2
  126. package/dist/containers/Storage/StorageGroups/getGroups.js.map +1 -1
  127. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +1 -1
  128. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +1 -1
  129. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js.map +1 -1
  130. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodes.d.ts +2 -2
  131. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodes.js +8 -20
  132. package/dist/containers/Storage/StorageNodes/PaginatedStorageNodes.js.map +1 -1
  133. package/dist/containers/Storage/StorageNodes/StorageNodes.d.ts +2 -1
  134. package/dist/containers/Storage/StorageNodes/StorageNodes.js +2 -2
  135. package/dist/containers/Storage/StorageNodes/StorageNodes.js.map +1 -1
  136. package/dist/containers/Storage/StorageNodes/getNodes.d.ts +3 -5
  137. package/dist/containers/Storage/StorageNodes/getNodes.js +17 -2
  138. package/dist/containers/Storage/StorageNodes/getNodes.js.map +1 -1
  139. package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.d.ts +1 -1
  140. package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js +4 -4
  141. package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js.map +1 -1
  142. package/dist/containers/Storage/StorageWrapper.d.ts +1 -1
  143. package/dist/containers/Tablet/Tablet.d.ts +1 -1
  144. package/dist/containers/Tablet/Tablet.js +118 -54
  145. package/dist/containers/Tablet/Tablet.js.map +1 -1
  146. package/dist/containers/Tablet/Tablet.scss +4 -81
  147. package/dist/containers/Tablet/components/TabletControls/TabletControls.d.ts +6 -0
  148. package/dist/containers/Tablet/components/TabletControls/TabletControls.js +27 -0
  149. package/dist/containers/Tablet/components/TabletControls/TabletControls.js.map +1 -0
  150. package/dist/containers/Tablet/components/TabletControls/index.js.map +1 -0
  151. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.d.ts +7 -0
  152. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js +59 -0
  153. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.js.map +1 -0
  154. package/dist/containers/Tablet/components/TabletInfo/TabletInfo.scss +12 -0
  155. package/dist/containers/Tablet/components/TabletInfo/i18n/en.json +16 -0
  156. package/dist/containers/Tablet/components/TabletInfo/i18n/index.d.ts +1 -0
  157. package/dist/containers/Tablet/components/TabletInfo/i18n/index.js +5 -0
  158. package/dist/containers/Tablet/components/TabletInfo/i18n/index.js.map +1 -0
  159. package/dist/containers/Tablet/components/TabletInfo/index.js.map +1 -0
  160. package/dist/containers/Tablet/components/TabletStorageInfo/TabletStorageInfo.d.ts +7 -0
  161. package/dist/containers/Tablet/components/TabletStorageInfo/TabletStorageInfo.js +36 -0
  162. package/dist/containers/Tablet/components/TabletStorageInfo/TabletStorageInfo.js.map +1 -0
  163. package/dist/containers/Tablet/components/TabletStorageInfo/TabletStorageInfo.scss +78 -0
  164. package/dist/containers/Tablet/components/TabletStorageInfo/columns.d.ts +3 -0
  165. package/dist/containers/Tablet/components/TabletStorageInfo/columns.js +56 -0
  166. package/dist/containers/Tablet/components/TabletStorageInfo/columns.js.map +1 -0
  167. package/dist/containers/Tablet/components/TabletStorageInfo/i18n/en.json +7 -0
  168. package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -0
  169. package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.js +5 -0
  170. package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.js.map +1 -0
  171. package/dist/containers/Tablet/components/TabletStorageInfo/shared.d.ts +1 -0
  172. package/dist/containers/Tablet/components/TabletStorageInfo/shared.js +3 -0
  173. package/dist/containers/Tablet/components/TabletStorageInfo/shared.js.map +1 -0
  174. package/dist/containers/Tablet/components/TabletStorageInfo/types.d.ts +5 -0
  175. package/dist/containers/Tablet/components/TabletStorageInfo/types.js +2 -0
  176. package/dist/containers/Tablet/components/TabletStorageInfo/types.js.map +1 -0
  177. package/dist/containers/Tablet/components/TabletStorageInfo/utils.d.ts +3 -0
  178. package/dist/containers/Tablet/components/TabletStorageInfo/utils.js +29 -0
  179. package/dist/containers/Tablet/components/TabletStorageInfo/utils.js.map +1 -0
  180. package/dist/containers/Tablet/{TabletTable → components/TabletTable}/TabletTable.d.ts +1 -1
  181. package/dist/containers/Tablet/{TabletTable → components/TabletTable}/TabletTable.js +7 -6
  182. package/dist/containers/Tablet/components/TabletTable/TabletTable.js.map +1 -0
  183. package/dist/containers/Tablet/components/TabletTable/index.js.map +1 -0
  184. package/dist/containers/Tablet/i18n/en.json +5 -1
  185. package/dist/containers/Tablet/i18n/index.d.ts +1 -1
  186. package/dist/containers/Tablet/utils.d.ts +1 -0
  187. package/dist/containers/Tablet/utils.js +4 -0
  188. package/dist/containers/Tablet/utils.js.map +1 -0
  189. package/dist/containers/Tablets/Tablets.d.ts +2 -1
  190. package/dist/containers/Tablets/Tablets.js +100 -90
  191. package/dist/containers/Tablets/Tablets.js.map +1 -1
  192. package/dist/containers/Tablets/i18n/index.d.ts +1 -1
  193. package/dist/containers/Tenant/Acl/Acl.scss +2 -2
  194. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +10 -9
  195. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js.map +1 -1
  196. package/dist/containers/Tenant/Diagnostics/Describe/Describe.scss +13 -2
  197. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +3 -3
  198. package/dist/containers/Tenant/Diagnostics/Diagnostics.js.map +1 -1
  199. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/AsyncReplicationInfo.js +39 -20
  200. package/dist/containers/Tenant/Diagnostics/Overview/AsyncReplicationInfo/AsyncReplicationInfo.js.map +1 -1
  201. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +21 -11
  202. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js.map +1 -1
  203. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +1 -1
  204. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js.map +1 -1
  205. package/dist/containers/Tenant/Diagnostics/TopShards/getTopShardsColumns.js +2 -2
  206. package/dist/containers/Tenant/Diagnostics/TopShards/getTopShardsColumns.js.map +1 -1
  207. package/dist/containers/Tenant/Info/View/View.d.ts +0 -1
  208. package/dist/containers/Tenant/Info/View/View.js +3 -5
  209. package/dist/containers/Tenant/Info/View/View.js.map +1 -1
  210. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +3 -8
  211. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js.map +1 -1
  212. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +1 -1
  213. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
  214. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +3 -0
  215. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.js +2 -5
  216. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/SimplifiedPlan.js.map +1 -1
  217. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/utils.d.ts +0 -1
  218. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/utils.js +0 -21
  219. package/dist/containers/Tenant/Query/ExplainResult/components/SimplifiedPlan/utils.js.map +1 -1
  220. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +19 -1
  221. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js.map +1 -1
  222. package/dist/containers/Tenant/Query/Query.js +2 -14
  223. package/dist/containers/Tenant/Query/Query.js.map +1 -1
  224. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +4 -4
  225. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
  226. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js +1 -1
  227. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettings.test.js.map +1 -1
  228. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js +1 -1
  229. package/dist/containers/Tenant/Query/QueryEditorControls/utils/getChangedQueryExecutionSettingsDescription.test.js.map +1 -1
  230. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +3 -3
  231. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  232. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.d.ts +8 -8
  233. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js +6 -6
  234. package/dist/containers/Tenant/Query/QuerySettingsDialog/constants.js.map +1 -1
  235. package/dist/containers/Tenant/Query/i18n/en.json +4 -1
  236. package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
  237. package/dist/containers/Tenant/Query/utils/useSavedQueries.js +2 -1
  238. package/dist/containers/Tenant/Query/utils/useSavedQueries.js.map +1 -1
  239. package/dist/containers/Tenant/Schema/SchemaViewer/KeysView.d.ts +8 -0
  240. package/dist/containers/Tenant/Schema/SchemaViewer/KeysView.js +15 -0
  241. package/dist/containers/Tenant/Schema/SchemaViewer/KeysView.js.map +1 -0
  242. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js +7 -13
  243. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js.map +1 -1
  244. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.scss +62 -3
  245. package/dist/containers/Tenant/Schema/SchemaViewer/columns.js +3 -21
  246. package/dist/containers/Tenant/Schema/SchemaViewer/columns.js.map +1 -1
  247. package/dist/containers/Tenant/Schema/SchemaViewer/i18n/en.json +3 -2
  248. package/dist/containers/Tenant/Schema/SchemaViewer/i18n/index.d.ts +1 -1
  249. package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.js +13 -23
  250. package/dist/containers/Tenant/Schema/SchemaViewer/prepareData.js.map +1 -1
  251. package/dist/containers/Tenant/Schema/SchemaViewer/types.d.ts +2 -3
  252. package/dist/containers/Tenant/Schema/SchemaViewer/utils.d.ts +3 -0
  253. package/dist/containers/Tenant/Schema/SchemaViewer/utils.js +9 -0
  254. package/dist/containers/Tenant/Schema/SchemaViewer/utils.js.map +1 -0
  255. package/dist/containers/Tenant/utils/queryTemplates.js +6 -5
  256. package/dist/containers/Tenant/utils/queryTemplates.js.map +1 -1
  257. package/dist/containers/Tenants/Tenants.js +2 -2
  258. package/dist/containers/Tenants/Tenants.js.map +1 -1
  259. package/dist/containers/UserSettings/i18n/en.json +0 -3
  260. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  261. package/dist/containers/UserSettings/settings.d.ts +0 -1
  262. package/dist/containers/UserSettings/settings.js +2 -10
  263. package/dist/containers/UserSettings/settings.js.map +1 -1
  264. package/dist/containers/VDiskPage/VDiskPage.d.ts +4 -0
  265. package/dist/containers/VDiskPage/VDiskPage.js +17 -14
  266. package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
  267. package/dist/containers/VDiskPage/VDiskPage.scss +9 -4
  268. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
  269. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.d.ts +2 -2
  270. package/dist/containers/Versions/GroupedNodesTree/GroupedNodesTree.js.map +1 -1
  271. package/dist/containers/Versions/NodesTable/NodesTable.d.ts +2 -2
  272. package/dist/containers/Versions/NodesTable/NodesTable.js.map +1 -1
  273. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.d.ts +2 -2
  274. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js.map +1 -1
  275. package/dist/containers/Versions/Versions.js +3 -2
  276. package/dist/containers/Versions/Versions.js.map +1 -1
  277. package/dist/containers/Versions/groupNodes.d.ts +4 -4
  278. package/dist/containers/Versions/groupNodes.js.map +1 -1
  279. package/dist/containers/Versions/types.d.ts +2 -2
  280. package/dist/routes.d.ts +1 -0
  281. package/dist/routes.js +3 -0
  282. package/dist/routes.js.map +1 -1
  283. package/dist/services/api.d.ts +19 -12
  284. package/dist/services/api.js +45 -15
  285. package/dist/services/api.js.map +1 -1
  286. package/dist/services/settings.d.ts +1 -2
  287. package/dist/services/settings.js +1 -2
  288. package/dist/services/settings.js.map +1 -1
  289. package/dist/store/configureStore.d.ts +6 -10
  290. package/dist/store/defaultStore.d.ts +3 -5
  291. package/dist/store/reducers/api.d.ts +1 -1
  292. package/dist/store/reducers/api.js +1 -1
  293. package/dist/store/reducers/api.js.map +1 -1
  294. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  295. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  296. package/dist/store/reducers/capabilities/capabilities.d.ts +6 -10
  297. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  298. package/dist/store/reducers/capabilities/hooks.js +3 -0
  299. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  300. package/dist/store/reducers/cluster/cluster.d.ts +2 -2
  301. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  302. package/dist/store/reducers/describe.d.ts +2 -2
  303. package/dist/store/reducers/executeQuery.d.ts +18 -4
  304. package/dist/store/reducers/executeQuery.js +50 -5
  305. package/dist/store/reducers/executeQuery.js.map +1 -1
  306. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +2 -2
  307. package/dist/store/reducers/explainQuery/explainQuery.d.ts +2 -2
  308. package/dist/store/reducers/header/types.d.ts +7 -7
  309. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +58 -78
  310. package/dist/store/reducers/heatmap.d.ts +2 -2
  311. package/dist/store/reducers/heatmap.js +2 -2
  312. package/dist/store/reducers/heatmap.js.map +1 -1
  313. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  314. package/dist/store/reducers/index.d.ts +5 -8
  315. package/dist/store/reducers/index.js +0 -2
  316. package/dist/store/reducers/index.js.map +1 -1
  317. package/dist/store/reducers/network/network.d.ts +2 -2
  318. package/dist/store/reducers/node/node.d.ts +3 -3
  319. package/dist/store/reducers/node/selectors.d.ts +1 -2
  320. package/dist/store/reducers/nodes/nodes.d.ts +3 -3
  321. package/dist/store/reducers/nodes/types.d.ts +17 -1
  322. package/dist/store/reducers/nodes/utils.js +6 -0
  323. package/dist/store/reducers/nodes/utils.js.map +1 -1
  324. package/dist/store/reducers/nodesList.d.ts +3 -4
  325. package/dist/store/reducers/overview/overview.d.ts +2 -2
  326. package/dist/store/reducers/partitions/partitions.d.ts +2 -2
  327. package/dist/store/reducers/pdisk/pdisk.d.ts +3 -3
  328. package/dist/store/reducers/preview.d.ts +2 -2
  329. package/dist/store/reducers/schema/schema.d.ts +3 -3
  330. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +2 -2
  331. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  332. package/dist/store/reducers/storage/storage.d.ts +3 -3
  333. package/dist/store/reducers/storage/types.d.ts +15 -0
  334. package/dist/store/reducers/storage/types.js.map +1 -1
  335. package/dist/store/reducers/tableData.d.ts +14 -0
  336. package/dist/store/reducers/tableData.js +25 -0
  337. package/dist/store/reducers/tableData.js.map +1 -0
  338. package/dist/store/reducers/tablet.d.ts +20 -3
  339. package/dist/store/reducers/tablet.js +82 -13
  340. package/dist/store/reducers/tablet.js.map +1 -1
  341. package/dist/store/reducers/tablets.d.ts +15 -23
  342. package/dist/store/reducers/tablets.js +2 -20
  343. package/dist/store/reducers/tablets.js.map +1 -1
  344. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  345. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  346. package/dist/store/reducers/tenantOverview/topNodes/topNodes.d.ts +2 -2
  347. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  348. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +2 -2
  349. package/dist/store/reducers/tenants/selectors.d.ts +30 -40
  350. package/dist/store/reducers/tenants/selectors.js +9 -8
  351. package/dist/store/reducers/tenants/selectors.js.map +1 -1
  352. package/dist/store/reducers/tenants/tenants.d.ts +2 -2
  353. package/dist/store/reducers/topic.d.ts +44 -59
  354. package/dist/store/reducers/vdisk/types.d.ts +1 -1
  355. package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
  356. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  357. package/dist/store/state-url-mapping.d.ts +0 -8
  358. package/dist/store/state-url-mapping.js +0 -8
  359. package/dist/store/state-url-mapping.js.map +1 -1
  360. package/dist/styles/mixins.scss +3 -3
  361. package/dist/types/api/capabilities.d.ts +1 -1
  362. package/dist/types/api/nodes.d.ts +5 -0
  363. package/dist/types/api/nodes.js.map +1 -1
  364. package/dist/types/api/schema/shared.d.ts +1 -3
  365. package/dist/types/api/schema/shared.js.map +1 -1
  366. package/dist/types/api/schema/table.d.ts +2 -0
  367. package/dist/types/api/schema/table.js.map +1 -1
  368. package/dist/types/api/tablet.d.ts +22 -0
  369. package/dist/types/store/executeQuery.d.ts +5 -2
  370. package/dist/types/store/heatmap.d.ts +0 -1
  371. package/dist/types/store/tablets.d.ts +2 -1
  372. package/dist/utils/constants.d.ts +2 -2
  373. package/dist/utils/constants.js +2 -2
  374. package/dist/utils/constants.js.map +1 -1
  375. package/dist/utils/dataFormatters/dataFormatters.d.ts +1 -0
  376. package/dist/utils/dataFormatters/dataFormatters.js +5 -0
  377. package/dist/utils/dataFormatters/dataFormatters.js.map +1 -1
  378. package/dist/utils/developerUI/developerUI.d.ts +1 -1
  379. package/dist/utils/developerUI/developerUI.js +3 -2
  380. package/dist/utils/developerUI/developerUI.js.map +1 -1
  381. package/dist/utils/hooks/useQueryExecutionSettings.js +3 -2
  382. package/dist/utils/hooks/useQueryExecutionSettings.js.map +1 -1
  383. package/dist/utils/versions/parseNodesToVersionsValues.d.ts +7 -0
  384. package/dist/utils/versions/parseNodesToVersionsValues.js +10 -0
  385. package/dist/utils/versions/parseNodesToVersionsValues.js.map +1 -1
  386. package/package.json +2 -1
  387. package/dist/components/DiskPageTitle/DiskPageTitle.d.ts +0 -10
  388. package/dist/components/DiskPageTitle/DiskPageTitle.js.map +0 -1
  389. package/dist/components/PaginatedTable/reducer.d.ts +0 -43
  390. package/dist/components/PaginatedTable/reducer.js +0 -104
  391. package/dist/components/PaginatedTable/reducer.js.map +0 -1
  392. package/dist/containers/Tablet/TabletControls/TabletControls.d.ts +0 -7
  393. package/dist/containers/Tablet/TabletControls/TabletControls.js +0 -29
  394. package/dist/containers/Tablet/TabletControls/TabletControls.js.map +0 -1
  395. package/dist/containers/Tablet/TabletControls/index.js.map +0 -1
  396. package/dist/containers/Tablet/TabletInfo/TabletInfo.d.ts +0 -7
  397. package/dist/containers/Tablet/TabletInfo/TabletInfo.js +0 -40
  398. package/dist/containers/Tablet/TabletInfo/TabletInfo.js.map +0 -1
  399. package/dist/containers/Tablet/TabletInfo/index.js.map +0 -1
  400. package/dist/containers/Tablet/TabletTable/TabletTable.js.map +0 -1
  401. package/dist/containers/Tablet/TabletTable/index.js.map +0 -1
  402. package/dist/containers/TabletsFilters/TabletsFilters.d.ts +0 -2
  403. package/dist/containers/TabletsFilters/TabletsFilters.js +0 -91
  404. package/dist/containers/TabletsFilters/TabletsFilters.js.map +0 -1
  405. package/dist/containers/TabletsFilters/TabletsFilters.scss +0 -80
  406. package/dist/containers/TabletsFilters/i18n/en.json +0 -3
  407. package/dist/containers/TabletsFilters/i18n/index.d.ts +0 -2
  408. package/dist/containers/TabletsFilters/i18n/index.js +0 -6
  409. package/dist/containers/TabletsFilters/i18n/index.js.map +0 -1
  410. package/dist/containers/TabletsFilters/i18n/ru.json +0 -3
  411. package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +0 -5
  412. package/dist/store/reducers/clusterNodes/clusterNodes.js +0 -22
  413. package/dist/store/reducers/clusterNodes/clusterNodes.js.map +0 -1
  414. package/dist/store/reducers/tabletsFilters.d.ts +0 -45
  415. package/dist/store/reducers/tabletsFilters.js +0 -20
  416. package/dist/store/reducers/tabletsFilters.js.map +0 -1
  417. /package/dist/containers/Tablet/{TabletControls → components/TabletControls}/index.d.ts +0 -0
  418. /package/dist/containers/Tablet/{TabletControls → components/TabletControls}/index.js +0 -0
  419. /package/dist/containers/Tablet/{TabletInfo → components/TabletInfo}/index.d.ts +0 -0
  420. /package/dist/containers/Tablet/{TabletInfo → components/TabletInfo}/index.js +0 -0
  421. /package/dist/containers/Tablet/{TabletTable → components/TabletTable}/index.d.ts +0 -0
  422. /package/dist/containers/Tablet/{TabletTable → components/TabletTable}/index.js +0 -0
@@ -1,74 +1,138 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { ArrowUpRightFromSquare } from '@gravity-ui/icons';
4
- import { Link as ExternalLink, Icon } from '@gravity-ui/uikit';
3
+ import { Flex, Tabs } from '@gravity-ui/uikit';
5
4
  import { skipToken } from '@reduxjs/toolkit/query';
6
5
  import { Helmet } from 'react-helmet-async';
7
- import { useLocation, useParams } from 'react-router-dom';
8
- import { EmptyState } from '../../components/EmptyState';
9
- import { EntityStatus } from '../../components/EntityStatus/EntityStatus';
6
+ import { useParams } from 'react-router-dom';
7
+ import { StringParam, useQueryParams } from 'use-query-params';
8
+ import { z } from 'zod';
9
+ import { EmptyStateWrapper } from '../../components/EmptyState';
10
+ import { EntityPageTitle } from '../../components/EntityPageTitle/EntityPageTitle';
10
11
  import { ResponseError } from '../../components/Errors/ResponseError';
11
- import { Loader } from '../../components/Loader';
12
- import { Tag } from '../../components/Tag';
13
- import { parseQuery } from '../../routes';
14
- import { backend } from '../../store';
12
+ import { InternalLink } from '../../components/InternalLink';
13
+ import { LoaderWrapper } from '../../components/LoaderWrapper/LoaderWrapper';
14
+ import { PageMetaWithAutorefresh } from '../../components/PageMeta/PageMeta';
15
+ import { getTabletPagePath } from '../../routes';
16
+ import { selectIsUserAllowedToMakeChanges } from '../../store/reducers/authentication/authentication';
15
17
  import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
18
+ import { nodeApi } from '../../store/reducers/node/node';
16
19
  import { tabletApi } from '../../store/reducers/tablet';
20
+ import { EFlag } from '../../types/api/enums';
21
+ import { EType } from '../../types/api/tablet';
17
22
  import { cn } from '../../utils/cn';
18
- import { CLUSTER_DEFAULT_TITLE, DEVELOPER_UI_TITLE } from '../../utils/constants';
19
- import { useAutoRefreshInterval, useTypedDispatch } from '../../utils/hooks';
20
- import { TabletControls } from './TabletControls';
21
- import { TabletInfo } from './TabletInfo';
22
- import { TabletTable } from './TabletTable';
23
+ import { CLUSTER_DEFAULT_TITLE } from '../../utils/constants';
24
+ import { useAutoRefreshInterval, useTypedDispatch, useTypedSelector } from '../../utils/hooks';
25
+ import { TabletControls } from './components/TabletControls';
26
+ import { TabletInfo } from './components/TabletInfo';
27
+ import { TabletStorageInfo } from './components/TabletStorageInfo/TabletStorageInfo';
28
+ import { TabletTable } from './components/TabletTable';
23
29
  import i18n from './i18n';
30
+ import { hasHive } from './utils';
24
31
  import './Tablet.scss';
25
- export const b = cn('tablet-page');
26
- export const Tablet = () => {
27
- var _a;
28
- const isFirstDataFetchRef = React.useRef(true);
32
+ export const b = cn('ydb-tablet-page');
33
+ const TABLET_TABS_IDS = {
34
+ history: 'history',
35
+ channels: 'channels',
36
+ };
37
+ const TABLET_PAGE_TABS = [
38
+ {
39
+ id: TABLET_TABS_IDS.history,
40
+ get title() {
41
+ return i18n('label_tablet-history');
42
+ },
43
+ },
44
+ {
45
+ id: TABLET_TABS_IDS.channels,
46
+ get title() {
47
+ return i18n('label_tablet-channels');
48
+ },
49
+ isAdvanced: true,
50
+ },
51
+ ];
52
+ const tabletTabSchema = z.nativeEnum(TABLET_TABS_IDS).catch(TABLET_TABS_IDS.history);
53
+ const eTypeSchema = z.nativeEnum(EType).or(z.undefined()).catch(undefined);
54
+ export function Tablet() {
55
+ var _a, _b, _c;
29
56
  const dispatch = useTypedDispatch();
30
- const location = useLocation();
31
- const params = useParams();
32
- const { id } = params;
33
- const { nodeId: queryNodeId, tenantName: queryTenantName, type: queryTabletType, clusterName: queryClusterName, } = parseQuery(location);
57
+ const { id } = useParams();
58
+ const [{ nodeId: queryNodeId, tenantName: queryDatabase, type: queryTabletType, clusterName: queryClusterName, },] = useQueryParams({
59
+ nodeId: StringParam,
60
+ tenantName: StringParam,
61
+ type: StringParam,
62
+ clusterName: StringParam,
63
+ });
34
64
  const [autoRefreshInterval] = useAutoRefreshInterval();
35
- const { currentData, isFetching, error, refetch } = tabletApi.useGetTabletQuery({ id }, { pollingInterval: autoRefreshInterval });
65
+ const { currentData, isFetching, error } = tabletApi.useGetTabletQuery({ id, database: queryDatabase !== null && queryDatabase !== void 0 ? queryDatabase : undefined, nodeId: queryNodeId !== null && queryNodeId !== void 0 ? queryNodeId : undefined }, { pollingInterval: autoRefreshInterval });
36
66
  const loading = isFetching && currentData === undefined;
37
- const { id: tabletId, data: tablet = {}, history = [] } = currentData || {};
67
+ const { data: tablet = {}, history = [] } = currentData || {};
38
68
  const { currentData: tenantPath } = tabletApi.useGetTabletDescribeQuery(tablet.TenantId ? { tenantId: tablet.TenantId } : skipToken);
39
- const nodeId = ((_a = tablet.NodeId) === null || _a === void 0 ? void 0 : _a.toString()) || (queryNodeId === null || queryNodeId === void 0 ? void 0 : queryNodeId.toString());
40
- const tenantName = tenantPath || (queryTenantName === null || queryTenantName === void 0 ? void 0 : queryTenantName.toString());
41
- const type = tablet.Type || (queryTabletType === null || queryTabletType === void 0 ? void 0 : queryTabletType.toString());
69
+ const nodeId = (_b = (_a = tablet.NodeId) !== null && _a !== void 0 ? _a : queryNodeId) !== null && _b !== void 0 ? _b : undefined;
70
+ const database = (_c = (tenantPath || queryDatabase)) !== null && _c !== void 0 ? _c : undefined;
71
+ const nodeRole = useNodeRole(nodeId === null || nodeId === void 0 ? void 0 : nodeId.toString());
72
+ const tabletType = tablet.Type || eTypeSchema.parse(queryTabletType);
42
73
  React.useEffect(() => {
43
74
  dispatch(setHeaderBreadcrumbs('tablet', {
44
- nodeIds: nodeId ? [nodeId] : [],
45
- tenantName,
75
+ nodeId,
76
+ nodeRole,
77
+ tenantName: queryDatabase !== null && queryDatabase !== void 0 ? queryDatabase : undefined,
46
78
  tabletId: id,
47
- tabletType: type,
79
+ tabletType,
48
80
  }));
49
- }, [dispatch, tenantName, id, nodeId, type]);
50
- const renderExternalLinks = (link, index) => {
51
- return (_jsx("li", { className: b('link', { external: true }), children: _jsx(ExternalLink, { href: `${backend}${link.path}`, target: "_blank", children: link.name }) }, index));
52
- };
53
- const renderView = () => {
54
- if (loading && id !== tabletId && isFirstDataFetchRef.current) {
55
- return _jsx(Loader, { size: "l" });
56
- }
57
- if (error && !currentData) {
58
- return _jsx(ResponseError, { error: error });
59
- }
60
- if (!tablet || !Object.keys(tablet).length) {
61
- return (_jsx("div", { className: b('placeholder'), children: _jsx(EmptyState, { title: i18n('emptyState') }) }));
81
+ }, [dispatch, queryDatabase, id, nodeId, nodeRole, tabletType]);
82
+ const { Leader, Type } = tablet;
83
+ const metaItems = [];
84
+ if (database) {
85
+ metaItems.push(`${i18n('tablet.meta-database')}: ${database}`);
86
+ }
87
+ if (Type) {
88
+ metaItems.push(Type);
89
+ }
90
+ if (Leader === false) {
91
+ metaItems.push(i18n('tablet.meta-follower').toUpperCase());
92
+ }
93
+ return (_jsxs(Flex, { gap: 5, direction: "column", className: b(), children: [_jsx(Helmet, { children: _jsx("title", { children: `${id} — ${i18n('tablet.header')} — ${database || queryClusterName || CLUSTER_DEFAULT_TITLE}` }) }), _jsx(PageMetaWithAutorefresh, { items: metaItems }), _jsxs(LoaderWrapper, { loading: loading, size: "l", children: [error ? _jsx(ResponseError, { error: error }) : null, currentData ? _jsx(TabletContent, { id: id, tablet: tablet, history: history }) : null] })] }));
94
+ }
95
+ function TabletContent({ id, tablet, history, }) {
96
+ const isEmpty = !Object.keys(tablet).length;
97
+ const { Overall, HiveId } = tablet;
98
+ return (_jsxs(EmptyStateWrapper, { title: i18n('emptyState'), className: b('placeholder'), isEmpty: isEmpty, children: [_jsxs(Flex, { gap: 5, direction: "column", children: [_jsx(EntityPageTitle, { entityName: i18n('tablet.header'), status: Overall !== null && Overall !== void 0 ? Overall : EFlag.Grey, id: id }), _jsx(TabletControls, { tablet: tablet }), _jsx(TabletInfo, { tablet: tablet })] }), _jsx(TabletTabs, { id: id, hiveId: HiveId, history: history })] }));
99
+ }
100
+ function TabletTabs({ id, hiveId, history, }) {
101
+ var _a;
102
+ const [{ activeTab }, setParams] = useQueryParams({ activeTab: StringParam });
103
+ const isUserAllowedToMakeChanges = useTypedSelector(selectIsUserAllowedToMakeChanges);
104
+ const noAdvancedInfo = !isUserAllowedToMakeChanges || !hasHive(hiveId);
105
+ let tabletTab = tabletTabSchema.parse(activeTab);
106
+ if (noAdvancedInfo && ((_a = TABLET_PAGE_TABS.find((tab) => tab.id === tabletTab)) === null || _a === void 0 ? void 0 : _a.isAdvanced)) {
107
+ tabletTab = TABLET_TABS_IDS.history;
108
+ }
109
+ React.useEffect(() => {
110
+ if (activeTab !== tabletTab) {
111
+ setParams({ activeTab: tabletTab }, 'replaceIn');
62
112
  }
63
- const { TabletId, Overall, Leader } = tablet;
64
- const externalLinks = [
65
- {
66
- name: `${DEVELOPER_UI_TITLE} - tablet`,
67
- path: `/tablets?TabletID=${TabletId}`,
68
- },
69
- ];
70
- return (_jsxs("div", { className: b(), children: [error ? _jsx(ResponseError, { error: error }) : null, _jsxs("div", { className: b('pane-wrapper'), children: [_jsxs("div", { className: b('left-pane'), children: [_jsx("ul", { className: b('links'), children: externalLinks.map(renderExternalLinks) }), _jsxs("div", { className: b('row', { header: true }), children: [_jsx("span", { className: b('title'), children: i18n('tablet.header') }), _jsx(EntityStatus, { status: Overall, name: TabletId }), _jsx("a", { rel: "noopener noreferrer", className: b('link', { external: true }), href: `${backend}/tablets?TabletID=${TabletId}`, target: "_blank", children: _jsx(Icon, { data: ArrowUpRightFromSquare }) }), Leader && _jsx(Tag, { text: "Leader", type: "blue" }), _jsx("span", { className: b('loader'), children: loading && _jsx(Loader, { size: "s" }) })] }), _jsx(TabletInfo, { tablet: tablet, tenantPath: tenantName }), _jsx(TabletControls, { tablet: tablet, fetchData: refetch })] }), _jsx("div", { className: b('rigth-pane'), children: _jsx(TabletTable, { history: history }) })] })] }));
71
- };
72
- return (_jsxs(React.Fragment, { children: [_jsx(Helmet, { children: _jsx("title", { children: `${id} — ${i18n('tablet.header')} — ${tenantName || queryClusterName || CLUSTER_DEFAULT_TITLE}` }) }), renderView()] }));
73
- };
113
+ }, [activeTab, tabletTab, setParams]);
114
+ return (_jsxs(Flex, { gap: 5, direction: "column", children: [_jsx(Tabs, { size: "l", items: TABLET_PAGE_TABS.filter(({ isAdvanced }) => isAdvanced ? !noAdvancedInfo : true), activeTab: tabletTab, wrapTo: (tab, tabNode) => {
115
+ const path = getTabletPagePath(id, { activeTab: tab.id });
116
+ return (_jsx(InternalLink, { to: path, children: tabNode }, tab.id));
117
+ } }), tabletTab === 'history' ? _jsx(TabletTable, { history: history }) : null, tabletTab === 'channels' && !noAdvancedInfo ? (_jsx(Channels, { id: id, hiveId: hiveId })) : null] }));
118
+ }
119
+ function Channels({ id, hiveId }) {
120
+ const [autoRefreshInterval] = useAutoRefreshInterval();
121
+ const { currentData, error, isFetching } = tabletApi.useGetAdvancedTableInfoQuery({ id, hiveId }, {
122
+ pollingInterval: autoRefreshInterval,
123
+ });
124
+ const loading = isFetching && currentData === undefined;
125
+ return (_jsxs(LoaderWrapper, { loading: loading, size: "l", children: [error ? _jsx(ResponseError, { error: error }) : null, currentData ? _jsx(TabletStorageInfo, { data: currentData }) : null] }));
126
+ }
127
+ function useNodeRole(nodeId) {
128
+ var _a;
129
+ const { currentData: node } = nodeApi.useGetNodeInfoQuery(nodeId ? { nodeId } : skipToken);
130
+ let nodeRole;
131
+ if (node) {
132
+ // Compute nodes have tenantName, storage nodes doesn't
133
+ const isStorage = !((_a = node === null || node === void 0 ? void 0 : node.Tenants) === null || _a === void 0 ? void 0 : _a[0]);
134
+ nodeRole = isStorage ? 'Storage' : 'Compute';
135
+ }
136
+ return nodeRole;
137
+ }
74
138
  //# sourceMappingURL=Tablet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tablet.js","sourceRoot":"","sources":["../../../src/containers/Tablet/Tablet.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tablet.js","sourceRoot":"","sources":["../../../src/containers/Tablet/Tablet.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +1,10 @@
1
1
  @import '../../styles/mixins.scss';
2
2
 
3
- .tablet-page {
3
+ .ydb-tablet-page {
4
4
  $_: &;
5
- display: flex;
6
- flex-direction: column;
7
-
5
+ height: 100%;
8
6
  padding: 20px;
9
-
10
- &__tenant {
11
- margin-bottom: 20px;
12
- }
13
-
14
- &__pane-wrapper {
15
- display: flex;
16
- }
17
-
18
- &__left-pane {
19
- margin-right: 70px;
20
- }
21
- &__history-title {
22
- margin-bottom: 15px;
23
- @include body-2-typography();
24
- }
7
+ @include body-2-typography();
25
8
 
26
9
  &__placeholder {
27
10
  display: flex;
@@ -30,67 +13,7 @@
30
13
  align-items: center;
31
14
  }
32
15
 
33
- &__row {
34
- display: flex;
35
- align-items: center;
36
-
37
- &_header {
38
- margin-bottom: 20px;
39
-
40
- & #{$_}__link {
41
- margin: 0 10px 0 5px;
42
- }
43
- }
44
- }
45
-
46
- &__title {
47
- margin-right: 16px;
48
-
49
- font-weight: 500;
50
- text-transform: uppercase;
51
-
52
- @include body-2-typography();
53
- }
54
-
55
16
  &__loader {
56
- width: 25px;
57
- }
58
-
59
- .info-viewer__items {
60
- grid-template-columns: auto;
61
- }
62
-
63
- &__link {
64
- @extend .link;
65
- }
66
-
67
- &__controls {
68
- margin: 20px 0 15px;
69
- }
70
-
71
- &__control {
72
- margin-right: 15px;
73
- }
74
-
75
- &__links {
76
- display: flex;
77
-
78
- margin: 5px 0 10px;
79
- padding: 0;
80
-
81
- list-style-type: none;
82
-
83
- & > * {
84
- margin: 0 10px 0 0;
85
- }
86
- }
87
-
88
- &__top-label {
89
- margin-right: 16px;
90
-
91
- font-weight: 500;
92
- text-transform: uppercase;
93
-
94
- @include body-2-typography();
17
+ margin-left: var(--g-spacing-2);
95
18
  }
96
19
  }
@@ -0,0 +1,6 @@
1
+ import type { TTabletStateInfo } from '../../../../types/api/tablet';
2
+ interface TabletControlsProps {
3
+ tablet: TTabletStateInfo;
4
+ }
5
+ export declare const TabletControls: ({ tablet }: TabletControlsProps) => import("react/jsx-runtime").JSX.Element | null;
6
+ export {};
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ArrowRotateLeft, StopFill, TriangleRightFill } from '@gravity-ui/icons';
4
+ import { Flex, Icon } from '@gravity-ui/uikit';
5
+ import { ButtonWithConfirmDialog } from '../../../../components/ButtonWithConfirmDialog/ButtonWithConfirmDialog';
6
+ import { selectIsUserAllowedToMakeChanges } from '../../../../store/reducers/authentication/authentication';
7
+ import { tabletApi } from '../../../../store/reducers/tablet';
8
+ import { ETabletState } from '../../../../types/api/tablet';
9
+ import { useTypedSelector } from '../../../../utils/hooks';
10
+ import i18n from '../../i18n';
11
+ import { hasHive } from '../../utils';
12
+ export const TabletControls = ({ tablet }) => {
13
+ const { TabletId, HiveId } = tablet;
14
+ const isUserAllowedToMakeChanges = useTypedSelector(selectIsUserAllowedToMakeChanges);
15
+ const [killTablet] = tabletApi.useKillTabletMutation();
16
+ const [stopTablet] = tabletApi.useStopTabletMutation();
17
+ const [resumeTablet] = tabletApi.useResumeTabletMutation();
18
+ if (!TabletId) {
19
+ return null;
20
+ }
21
+ const hasHiveId = hasHive(HiveId);
22
+ const isDisabledRestart = tablet.State === ETabletState.Stopped;
23
+ const isDisabledResume = tablet.State !== ETabletState.Stopped && tablet.State !== ETabletState.Dead;
24
+ const isDisabledStop = tablet.State === ETabletState.Stopped || tablet.State === ETabletState.Deleted;
25
+ return (_jsxs(Flex, { gap: 2, wrap: "nowrap", children: [_jsxs(ButtonWithConfirmDialog, { dialogContent: i18n('dialog.kill'), onConfirmAction: () => killTablet({ id: TabletId }).unwrap(), buttonDisabled: isDisabledRestart || !isUserAllowedToMakeChanges, withPopover: true, buttonView: "normal", popoverContent: i18n('controls.kill-not-allowed'), popoverPlacement: 'bottom', popoverDisabled: isUserAllowedToMakeChanges, children: [_jsx(Icon, { data: ArrowRotateLeft }), i18n('controls.kill')] }), hasHiveId && (_jsxs(React.Fragment, { children: [_jsxs(ButtonWithConfirmDialog, { dialogContent: i18n('dialog.stop'), onConfirmAction: () => stopTablet({ id: TabletId, hiveId: HiveId }).unwrap(), buttonDisabled: isDisabledStop || !isUserAllowedToMakeChanges, withPopover: true, buttonView: "normal", popoverContent: i18n('controls.stop-not-allowed'), popoverPlacement: 'bottom', popoverDisabled: isUserAllowedToMakeChanges, children: [_jsx(Icon, { data: StopFill }), i18n('controls.stop')] }), _jsxs(ButtonWithConfirmDialog, { dialogContent: i18n('dialog.resume'), onConfirmAction: () => resumeTablet({ id: TabletId, hiveId: HiveId }).unwrap(), buttonDisabled: isDisabledResume || !isUserAllowedToMakeChanges, withPopover: true, buttonView: "normal", popoverContent: i18n('controls.resume-not-allowed'), popoverPlacement: 'bottom', popoverDisabled: isUserAllowedToMakeChanges, children: [_jsx(Icon, { data: TriangleRightFill }), i18n('controls.resume')] })] }))] }));
26
+ };
27
+ //# sourceMappingURL=TabletControls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabletControls.js","sourceRoot":"","sources":["../../../../../src/containers/Tablet/components/TabletControls/TabletControls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/Tablet/components/TabletControls/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { TTabletStateInfo } from '../../../../types/api/tablet';
2
+ import './TabletInfo.scss';
3
+ interface TabletInfoProps {
4
+ tablet: TTabletStateInfo;
5
+ }
6
+ export declare const TabletInfo: ({ tablet }: TabletInfoProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,59 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex } from '@gravity-ui/uikit';
3
+ import { Link } from 'react-router-dom';
4
+ import { InfoViewer } from '../../../../components/InfoViewer';
5
+ import { LinkWithIcon } from '../../../../components/LinkWithIcon/LinkWithIcon';
6
+ import { TabletState } from '../../../../components/TabletState/TabletState';
7
+ import { getTabletPagePath } from '../../../../routes';
8
+ import { selectIsUserAllowedToMakeChanges } from '../../../../store/reducers/authentication/authentication';
9
+ import { ETabletState } from '../../../../types/api/tablet';
10
+ import { cn } from '../../../../utils/cn';
11
+ import { calcUptime } from '../../../../utils/dataFormatters/dataFormatters';
12
+ import { createTabletDeveloperUIHref } from '../../../../utils/developerUI/developerUI';
13
+ import { useTypedSelector } from '../../../../utils/hooks';
14
+ import { getDefaultNodePath } from '../../../Node/NodePages';
15
+ import { hasHive } from '../../utils';
16
+ import { tabletInfoKeyset } from './i18n';
17
+ const b = cn('ydb-tablet-info');
18
+ import './TabletInfo.scss';
19
+ export const TabletInfo = ({ tablet }) => {
20
+ const isUserAllowedToMakeChanges = useTypedSelector(selectIsUserAllowedToMakeChanges);
21
+ const { ChangeTime, Generation, FollowerId, NodeId, HiveId, State, TenantId: { SchemeShard } = {}, TabletId, } = tablet;
22
+ const hasHiveId = hasHive(HiveId);
23
+ const hasUptime = State === ETabletState.Active;
24
+ const tabletInfo = [];
25
+ if (hasHiveId) {
26
+ tabletInfo.push({
27
+ label: tabletInfoKeyset('field_hive'),
28
+ value: (_jsx(Link, { to: getTabletPagePath(HiveId), className: b('link'), children: HiveId })),
29
+ });
30
+ }
31
+ if (SchemeShard) {
32
+ tabletInfo.push({
33
+ label: tabletInfoKeyset('field_scheme-shard'),
34
+ value: (_jsx(Link, { to: getTabletPagePath(SchemeShard), className: b('link'), children: SchemeShard })),
35
+ });
36
+ }
37
+ tabletInfo.push({ label: tabletInfoKeyset('field_state'), value: _jsx(TabletState, { state: State }) });
38
+ if (hasUptime) {
39
+ tabletInfo.push({ label: tabletInfoKeyset('field_uptime'), value: calcUptime(ChangeTime) });
40
+ }
41
+ tabletInfo.push({ label: tabletInfoKeyset('field_generation'), value: Generation }, {
42
+ label: tabletInfoKeyset('field_node'),
43
+ value: (_jsx(Link, { className: b('link'), to: getDefaultNodePath(String(NodeId)), children: NodeId })),
44
+ });
45
+ if (FollowerId) {
46
+ tabletInfo.push({ label: tabletInfoKeyset('field_follower'), value: FollowerId });
47
+ }
48
+ const renderTabletInfo = () => {
49
+ return (_jsxs("div", { children: [_jsx("div", { className: b('section-title'), children: tabletInfoKeyset('title_info') }), _jsx(InfoViewer, { info: tabletInfo })] }));
50
+ };
51
+ const renderLinks = () => {
52
+ if (!isUserAllowedToMakeChanges || !TabletId) {
53
+ return null;
54
+ }
55
+ return (_jsxs("div", { children: [_jsx("div", { className: b('section-title'), children: tabletInfoKeyset('title_links') }), _jsxs(Flex, { direction: "column", gap: 3, children: [_jsx(LinkWithIcon, { title: tabletInfoKeyset('field_developer-ui-app'), url: createTabletDeveloperUIHref(TabletId, 'app') }), _jsx(LinkWithIcon, { title: tabletInfoKeyset('field_developer-ui-counters'), url: createTabletDeveloperUIHref(TabletId, 'counters') }), _jsx(LinkWithIcon, { title: tabletInfoKeyset('field_developer-ui-executor'), url: createTabletDeveloperUIHref(TabletId, 'executorInternals') }), _jsx(LinkWithIcon, { title: tabletInfoKeyset('field_developer-ui-state'), url: createTabletDeveloperUIHref(TabletId, undefined, 'SsId') })] })] }));
56
+ };
57
+ return (_jsxs(Flex, { gap: 10, wrap: "nowrap", children: [renderTabletInfo(), renderLinks()] }));
58
+ };
59
+ //# sourceMappingURL=TabletInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabletInfo.js","sourceRoot":"","sources":["../../../../../src/containers/Tablet/components/TabletInfo/TabletInfo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ @import '../../../../styles/mixins.scss';
2
+
3
+ .ydb-tablet-info {
4
+ &__link {
5
+ @extend .link;
6
+ }
7
+
8
+ &__section-title {
9
+ margin: var(--g-spacing-1) 0 var(--g-spacing-3);
10
+ @include text-subheader-2();
11
+ }
12
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "field_scheme-shard": "SchemeShard",
3
+ "field_follower": "Follower",
4
+ "field_generation": "Generation",
5
+ "field_hive": "HiveId",
6
+ "field_state": "State",
7
+ "field_uptime": "Uptime",
8
+ "field_node": "Node",
9
+ "field_links": "Links",
10
+ "field_developer-ui-app": "App",
11
+ "field_developer-ui-counters": "Counters",
12
+ "field_developer-ui-executor": "Executor DB internals",
13
+ "field_developer-ui-state": "State Storage",
14
+ "title_info": "Info",
15
+ "title_links": "Links"
16
+ }
@@ -0,0 +1 @@
1
+ export declare const tabletInfoKeyset: (key: "field_scheme-shard" | "field_follower" | "field_generation" | "field_hive" | "field_state" | "field_uptime" | "field_node" | "field_links" | "field_developer-ui-app" | "field_developer-ui-counters" | "field_developer-ui-executor" | "field_developer-ui-state" | "title_info" | "title_links", params?: import("@gravity-ui/i18n").Params) => string;
@@ -0,0 +1,5 @@
1
+ import { registerKeysets } from '../../../../../utils/i18n';
2
+ import en from './en.json';
3
+ const COMPONENT = 'ydb-tablet-info';
4
+ export const tabletInfoKeyset = registerKeysets(COMPONENT, { en });
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/containers/Tablet/components/TabletInfo/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAEpC,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/containers/Tablet/components/TabletInfo/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { TTabletHiveResponse } from '../../../../types/api/tablet';
2
+ import './TabletStorageInfo.scss';
3
+ interface TabletStorageInfoProps {
4
+ data?: TTabletHiveResponse | null;
5
+ }
6
+ export declare function TabletStorageInfo({ data }: TabletStorageInfoProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { Table, useTable } from '@gravity-ui/table';
4
+ import { getColumns } from './columns';
5
+ import { b } from './shared';
6
+ import { prepareData } from './utils';
7
+ import './TabletStorageInfo.scss';
8
+ export function TabletStorageInfo({ data }) {
9
+ const [expanded, setExpanded] = React.useState({});
10
+ const tree = React.useMemo(() => prepareData(data), [data]);
11
+ const isExpandable = React.useMemo(() => tree.some((item) => { var _a; return (_a = item.children) === null || _a === void 0 ? void 0 : _a.length; }), [tree]);
12
+ const columns = React.useMemo(() => getColumns(isExpandable), [isExpandable]);
13
+ const table = useTable({
14
+ columns,
15
+ data: tree,
16
+ getSubRows: (item) => item.children,
17
+ enableExpanding: true,
18
+ onExpandedChange: setExpanded,
19
+ state: {
20
+ expanded,
21
+ },
22
+ });
23
+ return (
24
+ //block wrapper for table
25
+ _jsx("div", { children: _jsx(Table, { table: table, headerCellClassName: ({ column }) => {
26
+ var _a;
27
+ const align = (_a = column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.align;
28
+ return b('table-header-cell', { align });
29
+ }, cellClassName: (cell) => {
30
+ var _a, _b;
31
+ const align = (_a = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta) === null || _a === void 0 ? void 0 : _a.align;
32
+ const verticalAlign = (_b = cell === null || cell === void 0 ? void 0 : cell.column.columnDef.meta) === null || _b === void 0 ? void 0 : _b.verticalAlign;
33
+ return b('table-cell', { align, 'vertical-align': verticalAlign });
34
+ }, className: b('table') }) }));
35
+ }
36
+ //# sourceMappingURL=TabletStorageInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabletStorageInfo.js","sourceRoot":"","sources":["../../../../../src/containers/Tablet/components/TabletStorageInfo/TabletStorageInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAKlD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AACrC,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AAEpC,OAAO,0BAA0B,CAAC;AAMlC,MAAM,UAAU,iBAAiB,CAAC,EAAC,IAAI,EAAyB;IAC5D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,MAAM,CAAA,EAAA,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC;QACnB,OAAO;QACP,IAAI,EAAE,IAAI;QACV,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ;QACnC,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,WAAW;QAC7B,KAAK,EAAE;YACH,QAAQ;SACX;KACJ,CAAC,CAAC;IACH,OAAO;IACH,yBAAyB;IACzB,wBACI,KAAC,KAAK,IACF,KAAK,EAAE,KAAK,EACZ,mBAAmB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;;gBAC9B,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBAC3C,OAAO,CAAC,CAAC,mBAAmB,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC;YAC3C,CAAC,EACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACpB,MAAM,KAAK,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,KAAK,CAAC;gBACjD,MAAM,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC,SAAS,CAAC,IAAI,0CAAE,aAAa,CAAC;gBACjE,OAAO,CAAC,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAC,CAAC,CAAC;YACrE,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GACvB,GACA,CACT,CAAC;AACN,CAAC"}