ydb-embedded-ui 5.2.1 → 5.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (453) hide show
  1. package/dist/components/BasicNodeViewer/BasicNodeViewer.js +1 -1
  2. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.d.ts +13 -0
  3. package/dist/components/ButtonWithConfirmDialog/ButtonWithConfirmDialog.js +32 -0
  4. package/dist/components/CellWithPopover/CellWithPopover.js +1 -11
  5. package/dist/components/ClipboardButton/ClipboardButton.js +1 -11
  6. package/dist/components/ComponentsProvider/ComponentsProvider.d.ts +2 -2
  7. package/dist/components/ComponentsProvider/componentsRegistry.d.ts +1 -1
  8. package/dist/components/ComponentsProvider/registry.d.ts +3 -3
  9. package/dist/components/ContentWithPopup/ContentWithPopup.js +1 -11
  10. package/dist/components/CriticalActionDialog/CriticalActionDialog.d.ts +6 -4
  11. package/dist/components/CriticalActionDialog/CriticalActionDialog.js +32 -7
  12. package/dist/components/CriticalActionDialog/CriticalActionDialog.scss +8 -19
  13. package/dist/components/CriticalActionDialog/i18n/en.json +7 -0
  14. package/dist/components/CriticalActionDialog/i18n/index.d.ts +1 -0
  15. package/dist/components/CriticalActionDialog/i18n/index.js +4 -0
  16. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +2 -2
  17. package/dist/components/EntityStatus/EntityStatus.d.ts +20 -37
  18. package/dist/components/EntityStatus/EntityStatus.js +17 -66
  19. package/dist/components/EntityStatus/EntityStatus.scss +1 -57
  20. package/dist/components/Errors/403/AccessDenied.js +1 -11
  21. package/dist/components/FormattedBytes/FormattedBytes.d.ts +1 -1
  22. package/dist/components/FormattedBytes/FormattedBytes.js +1 -11
  23. package/dist/components/FormattedBytes/utils.d.ts +1 -1
  24. package/dist/components/Fullscreen/Fullscreen.js +11 -11
  25. package/dist/components/Illustration/Illustration.js +1 -11
  26. package/dist/components/InfoViewer/InfoViewer.d.ts +2 -2
  27. package/dist/components/InfoViewer/InfoViewer.js +1 -1
  28. package/dist/components/InfoViewer/formatters/cdcStream.d.ts +1 -1
  29. package/dist/components/InfoViewer/formatters/common.d.ts +1 -1
  30. package/dist/components/InfoViewer/formatters/pqGroup.d.ts +3 -3
  31. package/dist/components/InfoViewer/formatters/schema.d.ts +1 -1
  32. package/dist/components/InfoViewer/formatters/table.d.ts +4 -4
  33. package/dist/components/InfoViewer/utils.d.ts +3 -3
  34. package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.d.ts +7 -0
  35. package/dist/components/InfoViewerSkeleton/InfoViewerSkeleton.js +7 -0
  36. package/dist/{containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.scss → components/InfoViewerSkeleton/InfoViewerSkeleton.scss} +1 -9
  37. package/dist/components/InternalLink/InternalLink.js +1 -11
  38. package/dist/components/LinkToSchemaObject/LinkToSchemaObject.js +1 -11
  39. package/dist/components/LinkWithIcon/LinkWithIcon.d.ts +8 -0
  40. package/dist/components/LinkWithIcon/LinkWithIcon.js +14 -0
  41. package/dist/components/{ExternalLinkWithIcon/ExternalLinkWithIcon.scss → LinkWithIcon/LinkWithIcon.scss} +1 -1
  42. package/dist/components/MetricChart/MetricChart.d.ts +2 -1
  43. package/dist/components/MetricChart/MetricChart.js +17 -7
  44. package/dist/components/MetricChart/colors.d.ts +2 -0
  45. package/dist/components/MetricChart/colors.js +21 -0
  46. package/dist/components/MetricChart/getChartData.d.ts +2 -1
  47. package/dist/components/MetricChart/getChartData.js +2 -2
  48. package/dist/components/MetricChart/getDefaultDataFormatter.d.ts +1 -1
  49. package/dist/components/MetricChart/getDefaultDataFormatter.js +9 -0
  50. package/dist/components/MetricChart/i18n/en.json +3 -0
  51. package/dist/components/MetricChart/i18n/index.d.ts +2 -0
  52. package/dist/components/MetricChart/i18n/index.js +4 -0
  53. package/dist/components/MetricChart/reducer.d.ts +1 -1
  54. package/dist/components/MetricChart/types.d.ts +10 -5
  55. package/dist/components/NodeHostWrapper/NodeHostWrapper.js +1 -1
  56. package/dist/components/PDiskInfo/PDiskInfo.d.ts +11 -0
  57. package/dist/components/PDiskInfo/PDiskInfo.js +71 -0
  58. package/dist/components/PDiskInfo/PDiskInfo.scss +8 -0
  59. package/dist/components/PDiskInfo/i18n/en.json +14 -0
  60. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -0
  61. package/dist/components/PDiskInfo/i18n/index.js +4 -0
  62. package/dist/components/PageMeta/PageMeta.d.ts +8 -0
  63. package/dist/components/PageMeta/PageMeta.js +7 -0
  64. package/dist/components/PageMeta/PageMeta.scss +10 -0
  65. package/dist/components/ProgressViewer/ProgressViewer.d.ts +1 -1
  66. package/dist/components/QueryResultTable/Cell/Cell.js +2 -2
  67. package/dist/components/QueryResultTable/QueryResultTable.js +1 -11
  68. package/dist/components/ShortyString/ShortyString.d.ts +1 -1
  69. package/dist/components/StatusIcon/StatusIcon.d.ts +12 -0
  70. package/dist/components/StatusIcon/StatusIcon.js +23 -0
  71. package/dist/components/StatusIcon/StatusIcon.scss +69 -0
  72. package/dist/components/Tablet/Tablet.scss +1 -1
  73. package/dist/components/TabletsOverall/TabletsOverall.js +6 -6
  74. package/dist/components/TabletsStatistic/TabletsStatistic.d.ts +1 -1
  75. package/dist/components/TabletsStatistic/TabletsStatistic.scss +1 -1
  76. package/dist/components/Tag/Tag.d.ts +1 -1
  77. package/dist/components/UsageLabel/UsageLabel.js +1 -11
  78. package/dist/components/VirtualTable/TableHead.js +2 -2
  79. package/dist/components/VirtualTable/reducer.d.ts +2 -2
  80. package/dist/components/VirtualTable/types.d.ts +13 -13
  81. package/dist/components/slots/types.d.ts +1 -1
  82. package/dist/containers/App/App.d.ts +1 -1
  83. package/dist/containers/App/Content.js +10 -4
  84. package/dist/containers/App/Providers.d.ts +1 -1
  85. package/dist/containers/App/appSlots.d.ts +6 -0
  86. package/dist/containers/App/appSlots.js +1 -0
  87. package/dist/containers/AppWithClusters/AppWithClusters.d.ts +1 -1
  88. package/dist/containers/AppWithClusters/AppWithClusters.js +1 -1
  89. package/dist/containers/AsideNavigation/YdbInternalUser/YdbInternalUser.js +2 -3
  90. package/dist/containers/Authentication/Authentication.js +2 -5
  91. package/dist/containers/Cluster/Cluster.js +4 -5
  92. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.js +4 -4
  93. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +4 -0
  94. package/dist/containers/Cluster/ClusterInfo/utils.d.ts +1 -1
  95. package/dist/containers/Cluster/utils.d.ts +2 -2
  96. package/dist/containers/Clusters/Clusters.js +2 -4
  97. package/dist/containers/Clusters/Clusters.scss +1 -1
  98. package/dist/containers/Clusters/constants.d.ts +1 -1
  99. package/dist/containers/Clusters/useClustersList.js +2 -2
  100. package/dist/containers/Clusters/useSelectedColumns.d.ts +1 -1
  101. package/dist/containers/Header/Header.js +4 -5
  102. package/dist/containers/Header/breadcrumbs.js +28 -5
  103. package/dist/containers/Header/i18n/en.json +7 -0
  104. package/dist/containers/Header/i18n/index.d.ts +1 -0
  105. package/dist/containers/Header/i18n/index.js +4 -0
  106. package/dist/containers/Heatmap/Heatmap.js +3 -4
  107. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +1 -1
  108. package/dist/containers/Node/Node.js +2 -3
  109. package/dist/containers/Node/NodeStructure/NodeStructure.d.ts +0 -1
  110. package/dist/containers/Node/NodeStructure/NodeStructure.js +2 -6
  111. package/dist/containers/Node/NodeStructure/Pdisk.js +9 -65
  112. package/dist/containers/Node/NodeStructure/Vdisk.d.ts +1 -1
  113. package/dist/containers/Node/NodeStructure/Vdisk.js +5 -3
  114. package/dist/containers/Nodes/Nodes.js +2 -3
  115. package/dist/containers/Nodes/NodesWrapper.js +1 -11
  116. package/dist/containers/Nodes/getNodes.js +1 -11
  117. package/dist/containers/Nodes/getNodesColumns.d.ts +1 -1
  118. package/dist/containers/PDisk/PDisk.d.ts +3 -0
  119. package/dist/containers/PDisk/PDisk.js +86 -0
  120. package/dist/containers/PDisk/PDisk.scss +42 -0
  121. package/dist/containers/PDisk/PDiskGroups.d.ts +10 -0
  122. package/dist/containers/PDisk/PDiskGroups.js +20 -0
  123. package/dist/containers/PDisk/i18n/en.json +8 -0
  124. package/dist/containers/PDisk/i18n/index.d.ts +1 -0
  125. package/dist/containers/PDisk/i18n/index.js +4 -0
  126. package/dist/containers/PDisk/shared.d.ts +10 -0
  127. package/dist/containers/PDisk/shared.js +2 -0
  128. package/dist/containers/ReduxTooltip/ReduxTooltip.d.ts +1 -1
  129. package/dist/containers/ReduxTooltip/ReduxTooltip.js +3 -2
  130. package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.d.ts +1 -9
  131. package/dist/containers/Storage/DiskStateProgressBar/DiskStateProgressBar.js +2 -12
  132. package/dist/containers/Storage/PDisk/PDisk.d.ts +3 -3
  133. package/dist/containers/Storage/PDisk/PDisk.js +6 -53
  134. package/dist/containers/Storage/PDiskPopup/PDiskPopup.d.ts +3 -3
  135. package/dist/containers/Storage/PDiskPopup/PDiskPopup.js +3 -14
  136. package/dist/containers/Storage/Storage.js +2 -3
  137. package/dist/containers/Storage/StorageGroups/getGroups.js +1 -11
  138. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +2 -1
  139. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +22 -8
  140. package/dist/containers/Storage/StorageNodes/getNodes.js +1 -11
  141. package/dist/containers/Storage/StorageNodes/getStorageNodesColumns.js +1 -1
  142. package/dist/containers/Storage/StorageWrapper.js +1 -11
  143. package/dist/containers/Storage/UsageFilter/UsageFilter.js +1 -1
  144. package/dist/containers/Storage/VDisk/VDisk.d.ts +2 -3
  145. package/dist/containers/Storage/VDisk/VDisk.js +4 -64
  146. package/dist/containers/Storage/VDiskPopup/VDiskPopup.js +2 -12
  147. package/dist/containers/Storage/VirtualStorage.js +2 -3
  148. package/dist/containers/Storage/utils/index.d.ts +1 -3
  149. package/dist/containers/Storage/utils/index.js +0 -6
  150. package/dist/containers/Tablet/Tablet.js +4 -5
  151. package/dist/containers/Tablet/TabletControls/TabletControls.d.ts +3 -2
  152. package/dist/containers/Tablet/TabletControls/TabletControls.js +2 -49
  153. package/dist/containers/Tablet/TabletTable/TabletTable.js +1 -1
  154. package/dist/containers/Tablets/Tablets.js +2 -3
  155. package/dist/containers/TabletsFilters/TabletsFilters.d.ts +2 -2
  156. package/dist/containers/Tenant/Acl/Acl.js +2 -3
  157. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +2 -3
  158. package/dist/containers/Tenant/Diagnostics/Describe/Describe.js +3 -3
  159. package/dist/containers/Tenant/Diagnostics/Diagnostics.js +6 -4
  160. package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.d.ts +2 -2
  161. package/dist/containers/Tenant/Diagnostics/HotKeys/HotKeys.js +2 -3
  162. package/dist/containers/Tenant/Diagnostics/Network/Network.d.ts +2 -2
  163. package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.d.ts +1 -1
  164. package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.js +7 -5
  165. package/dist/containers/Tenant/Diagnostics/Network/NodeNetwork/NodeNetwork.scss +1 -1
  166. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +9 -5
  167. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +1 -1
  168. package/dist/containers/Tenant/Diagnostics/Overview/utils/prepareTopicSchemaInfo.d.ts +1 -1
  169. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +2 -3
  170. package/dist/containers/Tenant/Diagnostics/Partitions/columns/columns.js +1 -1
  171. package/dist/containers/Tenant/Diagnostics/Partitions/utils/index.d.ts +1 -1
  172. package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.d.ts +5 -1
  173. package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/DefaultOverviewContent.js +2 -2
  174. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +0 -1
  175. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.d.ts +2 -2
  176. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +3 -2
  177. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.d.ts +2 -2
  178. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js +3 -12
  179. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.d.ts +2 -1
  180. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js +1 -1
  181. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TenantCpu.js +1 -1
  182. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByCpu.js +2 -3
  183. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopNodesByLoad.js +2 -3
  184. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopQueries.js +2 -3
  185. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/TopShards.js +2 -3
  186. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.js +11 -6
  187. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.d.ts +2 -1
  188. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantDashboard/TenantDashboard.js +2 -2
  189. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TenantMemory.js +1 -1
  190. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantMemory/TopNodesByMemory.js +2 -3
  191. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +6 -7
  192. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverviewTableLayout.js +1 -11
  193. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorage.js +1 -1
  194. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopGroups.js +2 -3
  195. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TopTables.js +2 -3
  196. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +1 -1
  197. package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.d.ts +2 -2
  198. package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js +3 -4
  199. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueries.js +2 -5
  200. package/dist/containers/Tenant/Diagnostics/TopShards/TopShards.js +2 -3
  201. package/dist/containers/Tenant/Info/ExternalDataSource/ExternalDataSource.js +1 -1
  202. package/dist/containers/Tenant/Info/ExternalTable/ExternalTable.js +3 -3
  203. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.d.ts +1 -0
  204. package/dist/containers/Tenant/ObjectGeneral/ObjectGeneral.js +3 -2
  205. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +2 -3
  206. package/dist/containers/Tenant/Query/ExecuteResult/ExecuteResult.js +2 -3
  207. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +3 -3
  208. package/dist/containers/Tenant/Query/Issues/models.d.ts +1 -1
  209. package/dist/containers/Tenant/Query/Preview/Preview.js +2 -3
  210. package/dist/containers/Tenant/Query/QueriesHistory/QueriesHistory.js +2 -3
  211. package/dist/containers/Tenant/Query/Query.js +2 -3
  212. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +3 -8
  213. package/dist/containers/Tenant/Query/QueryEditor/helpers.d.ts +4 -0
  214. package/dist/containers/Tenant/Query/QueryEditor/helpers.js +17 -0
  215. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +4 -4
  216. package/dist/containers/Tenant/Query/SavedQueries/SavedQueries.js +2 -2
  217. package/dist/containers/Tenant/Schema/SchemaTree/SchemaTree.js +5 -3
  218. package/dist/containers/Tenant/Tenant.js +24 -8
  219. package/dist/containers/Tenant/utils/index.d.ts +1 -1
  220. package/dist/containers/Tenant/utils/schema.d.ts +12 -12
  221. package/dist/containers/Tenant/utils/schemaActions.d.ts +1 -1
  222. package/dist/containers/Tenants/Tenants.js +3 -4
  223. package/dist/containers/UserSettings/Setting.d.ts +1 -1
  224. package/dist/containers/UserSettings/i18n/en.json +4 -0
  225. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  226. package/dist/containers/UserSettings/settings.d.ts +4 -1
  227. package/dist/containers/UserSettings/settings.js +21 -6
  228. package/dist/containers/Versions/NodesTable/NodesTable.js +1 -1
  229. package/dist/containers/Versions/Versions.js +2 -3
  230. package/dist/reportWebVitals.d.ts +1 -1
  231. package/dist/routes.d.ts +5 -2
  232. package/dist/routes.js +6 -1
  233. package/dist/services/api.d.ts +9 -7
  234. package/dist/services/api.js +16 -13
  235. package/dist/services/settings.d.ts +1 -1
  236. package/dist/services/settings.js +2 -1
  237. package/dist/store/configureStore.d.ts +310 -0
  238. package/dist/store/configureStore.js +56 -0
  239. package/dist/store/defaultStore.d.ts +168 -0
  240. package/dist/store/defaultStore.js +2 -0
  241. package/dist/store/getUrlData.d.ts +3 -3
  242. package/dist/store/getUrlData.js +4 -4
  243. package/dist/store/index.d.ts +3 -97
  244. package/dist/store/index.js +2 -49
  245. package/dist/store/reducers/authentication/authentication.d.ts +247 -4
  246. package/dist/store/reducers/authentication/types.d.ts +1 -1
  247. package/dist/store/reducers/cluster/cluster.d.ts +83 -2
  248. package/dist/store/reducers/cluster/types.d.ts +3 -3
  249. package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +83 -2
  250. package/dist/store/reducers/clusterNodes/types.d.ts +1 -1
  251. package/dist/store/reducers/clusters/clusters.d.ts +83 -2
  252. package/dist/store/reducers/clusters/selectors.d.ts +20 -6
  253. package/dist/store/reducers/clusters/selectors.js +1 -1
  254. package/dist/store/reducers/clusters/types.d.ts +1 -1
  255. package/dist/store/reducers/describe.d.ts +165 -3
  256. package/dist/store/reducers/describe.js +4 -3
  257. package/dist/store/reducers/executeQuery.d.ts +83 -2
  258. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
  259. package/dist/store/reducers/executeTopQueries/types.d.ts +1 -1
  260. package/dist/store/reducers/explainQuery.d.ts +165 -3
  261. package/dist/store/reducers/header/header.d.ts +1 -1
  262. package/dist/store/reducers/header/types.d.ts +7 -4
  263. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +101 -0
  264. package/dist/store/reducers/{healthcheckInfo.js → healthcheckInfo/healthcheckInfo.js} +2 -2
  265. package/dist/store/reducers/healthcheckInfo/types.d.ts +19 -0
  266. package/dist/store/reducers/healthcheckInfo/utils.d.ts +3 -0
  267. package/dist/store/reducers/healthcheckInfo/utils.js +11 -0
  268. package/dist/store/reducers/heatmap.d.ts +83 -2
  269. package/dist/store/reducers/heatmap.js +2 -2
  270. package/dist/store/reducers/host.d.ts +83 -2
  271. package/dist/store/reducers/hotKeys/hotKeys.d.ts +1 -1
  272. package/dist/store/reducers/hotKeys/types.d.ts +1 -1
  273. package/dist/store/reducers/index.d.ts +95 -45
  274. package/dist/store/reducers/index.js +4 -2
  275. package/dist/store/reducers/network/network.d.ts +83 -2
  276. package/dist/store/reducers/network/types.d.ts +1 -1
  277. package/dist/store/reducers/node/node.d.ts +165 -3
  278. package/dist/store/reducers/node/selectors.d.ts +1 -1
  279. package/dist/store/reducers/node/selectors.js +5 -4
  280. package/dist/store/reducers/node/types.d.ts +6 -6
  281. package/dist/store/reducers/nodes/nodes.d.ts +165 -3
  282. package/dist/store/reducers/nodes/nodes.js +1 -11
  283. package/dist/store/reducers/nodes/selectors.d.ts +1 -1
  284. package/dist/store/reducers/nodes/selectors.js +1 -1
  285. package/dist/store/reducers/nodes/types.d.ts +4 -3
  286. package/dist/store/reducers/nodes/utils.d.ts +1 -1
  287. package/dist/store/reducers/nodesList.d.ts +83 -2
  288. package/dist/store/reducers/olapStats.d.ts +83 -2
  289. package/dist/store/reducers/overview/overview.d.ts +166 -4
  290. package/dist/store/reducers/overview/overview.js +3 -3
  291. package/dist/store/reducers/overview/types.d.ts +6 -5
  292. package/dist/store/reducers/partitions/partitions.d.ts +83 -2
  293. package/dist/store/reducers/partitions/types.d.ts +1 -1
  294. package/dist/store/reducers/partitions/utils.d.ts +2 -2
  295. package/dist/store/reducers/pdisk/pdisk.d.ts +210 -0
  296. package/dist/store/reducers/pdisk/pdisk.js +64 -0
  297. package/dist/store/reducers/pdisk/types.d.ts +23 -0
  298. package/dist/store/reducers/pdisk/types.js +1 -0
  299. package/dist/store/reducers/pdisk/utils.d.ts +32 -0
  300. package/dist/store/reducers/pdisk/utils.js +32 -0
  301. package/dist/store/reducers/preview.d.ts +82 -1
  302. package/dist/store/reducers/saveQuery.d.ts +3 -3
  303. package/dist/store/reducers/schema/schema.d.ts +84 -4
  304. package/dist/store/reducers/schema/schema.js +4 -4
  305. package/dist/store/reducers/schema/types.d.ts +3 -3
  306. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +83 -2
  307. package/dist/store/reducers/schemaAcl/types.d.ts +1 -1
  308. package/dist/store/reducers/settings/settings.d.ts +2 -2
  309. package/dist/store/reducers/settings/types.d.ts +3 -3
  310. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +83 -2
  311. package/dist/store/reducers/shardsWorkload/types.d.ts +1 -1
  312. package/dist/store/reducers/storage/selectors.d.ts +1 -1
  313. package/dist/store/reducers/storage/selectors.js +1 -1
  314. package/dist/store/reducers/storage/storage.d.ts +165 -3
  315. package/dist/store/reducers/storage/storage.js +1 -11
  316. package/dist/store/reducers/storage/types.d.ts +10 -10
  317. package/dist/store/reducers/storage/utils.d.ts +4 -2
  318. package/dist/store/reducers/storage/utils.js +21 -15
  319. package/dist/store/reducers/tablet.d.ts +165 -3
  320. package/dist/store/reducers/tablet.js +1 -1
  321. package/dist/store/reducers/tablets.d.ts +83 -2
  322. package/dist/store/reducers/tabletsFilters.d.ts +101 -2
  323. package/dist/store/reducers/tabletsFilters.js +1 -1
  324. package/dist/store/reducers/tenant/tenant.d.ts +83 -2
  325. package/dist/store/reducers/tenant/types.d.ts +6 -6
  326. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +83 -2
  327. package/dist/store/reducers/tenantOverview/executeTopTables/types.d.ts +1 -1
  328. package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.d.ts +83 -2
  329. package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.js +1 -11
  330. package/dist/store/reducers/tenantOverview/topNodesByCpu/types.d.ts +2 -2
  331. package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.d.ts +83 -2
  332. package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.js +1 -11
  333. package/dist/store/reducers/tenantOverview/topNodesByLoad/types.d.ts +2 -2
  334. package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.d.ts +83 -2
  335. package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.js +1 -11
  336. package/dist/store/reducers/tenantOverview/topNodesByMemory/types.d.ts +2 -2
  337. package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.d.ts +83 -2
  338. package/dist/store/reducers/tenantOverview/topQueries/types.d.ts +1 -1
  339. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +83 -2
  340. package/dist/store/reducers/tenantOverview/topShards/types.d.ts +1 -1
  341. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +83 -2
  342. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.js +1 -11
  343. package/dist/store/reducers/tenantOverview/topStorageGroups/types.d.ts +2 -2
  344. package/dist/store/reducers/tenants/selectors.d.ts +2 -2
  345. package/dist/store/reducers/tenants/selectors.js +1 -1
  346. package/dist/store/reducers/tenants/tenants.d.ts +83 -2
  347. package/dist/store/reducers/tenants/types.d.ts +2 -2
  348. package/dist/store/reducers/tenants/utils.d.ts +6 -6
  349. package/dist/store/reducers/tooltip.d.ts +4 -3
  350. package/dist/store/reducers/tooltip.js +2 -4
  351. package/dist/store/reducers/topic.d.ts +83 -3
  352. package/dist/store/reducers/topic.js +1 -1
  353. package/dist/store/state-url-mapping.d.ts +5 -3
  354. package/dist/store/state-url-mapping.js +9 -18
  355. package/dist/store/utils.d.ts +4 -4
  356. package/dist/types/additionalProps.d.ts +2 -2
  357. package/dist/types/api/enums.d.ts +1 -0
  358. package/dist/types/api/enums.js +1 -0
  359. package/dist/types/api/error.d.ts +1 -1
  360. package/dist/types/api/nodes.d.ts +1 -1
  361. package/dist/types/api/nodesList.d.ts +1 -1
  362. package/dist/types/api/query.d.ts +19 -19
  363. package/dist/types/api/render.d.ts +6 -3
  364. package/dist/types/api/storage.d.ts +1 -1
  365. package/dist/types/api/tablet.d.ts +1 -1
  366. package/dist/types/common.d.ts +1 -1
  367. package/dist/types/index.d.ts +1 -1
  368. package/dist/types/store/describe.d.ts +3 -3
  369. package/dist/types/store/executeQuery.d.ts +2 -2
  370. package/dist/types/store/explainQuery.d.ts +3 -3
  371. package/dist/types/store/heatmap.d.ts +3 -3
  372. package/dist/types/store/host.d.ts +1 -1
  373. package/dist/types/store/nodesList.d.ts +2 -2
  374. package/dist/types/store/olapStats.d.ts +1 -1
  375. package/dist/types/store/query.d.ts +5 -5
  376. package/dist/types/store/tablet.d.ts +3 -3
  377. package/dist/types/store/tablets.d.ts +2 -2
  378. package/dist/types/store/tooltip.d.ts +3 -5
  379. package/dist/types/store/topic.d.ts +1 -1
  380. package/dist/types/versions.d.ts +2 -2
  381. package/dist/utils/additionalProps.d.ts +1 -1
  382. package/dist/utils/additionalProps.js +1 -1
  383. package/dist/utils/bytesParsers/formatBytes.d.ts +2 -2
  384. package/dist/utils/bytesParsers/formatBytes.js +1 -11
  385. package/dist/utils/clusterVersionColors.d.ts +1 -1
  386. package/dist/utils/clusterVersionColors.js +2 -2
  387. package/dist/utils/constants.d.ts +2 -1
  388. package/dist/utils/constants.js +5 -4
  389. package/dist/utils/dataFormatters/dataFormatters.d.ts +12 -11
  390. package/dist/utils/developerUI/developerUI.d.ts +1 -1
  391. package/dist/utils/diagnostics.d.ts +2 -2
  392. package/dist/utils/disks/__test__/calculatePDiskSeverity.test.d.ts +1 -0
  393. package/dist/utils/disks/__test__/calculatePDiskSeverity.test.js +36 -0
  394. package/dist/utils/disks/__test__/calculateVDiskSeverity.test.d.ts +1 -0
  395. package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js +142 -0
  396. package/dist/utils/disks/calculatePDiskSeverity.d.ts +2 -0
  397. package/dist/utils/disks/calculatePDiskSeverity.js +18 -0
  398. package/dist/utils/disks/calculateVDiskSeverity.d.ts +2 -0
  399. package/dist/utils/disks/calculateVDiskSeverity.js +36 -0
  400. package/dist/utils/disks/constants.d.ts +25 -0
  401. package/dist/utils/disks/constants.js +38 -0
  402. package/dist/utils/disks/getPDiskType.d.ts +7 -0
  403. package/dist/utils/{pdisk.js → disks/getPDiskType.js} +13 -15
  404. package/dist/utils/disks/helpers.d.ts +3 -0
  405. package/dist/utils/disks/helpers.js +10 -0
  406. package/dist/utils/disks/prepareDisks.d.ts +5 -0
  407. package/dist/utils/disks/prepareDisks.js +40 -0
  408. package/dist/utils/disks/types.d.ts +15 -0
  409. package/dist/utils/disks/types.js +1 -0
  410. package/dist/utils/hooks/index.d.ts +1 -0
  411. package/dist/utils/hooks/index.js +1 -0
  412. package/dist/utils/hooks/useSetting.js +2 -2
  413. package/dist/utils/hooks/useTableResize.d.ts +3 -3
  414. package/dist/utils/hooks/useTableSort.d.ts +1 -1
  415. package/dist/utils/hooks/useTypedDispatch.d.ts +2 -0
  416. package/dist/utils/hooks/useTypedDispatch.js +2 -0
  417. package/dist/utils/hooks/useTypedSelector.d.ts +1 -1
  418. package/dist/utils/index.d.ts +1 -0
  419. package/dist/utils/index.js +3 -0
  420. package/dist/utils/monaco.d.ts +1 -0
  421. package/dist/utils/monaco.js +14 -0
  422. package/dist/utils/monitoring.d.ts +3 -3
  423. package/dist/utils/nodes.d.ts +2 -2
  424. package/dist/utils/prepareBackend.d.ts +2 -2
  425. package/dist/utils/query.d.ts +2 -2
  426. package/dist/utils/query.js +1 -11
  427. package/dist/utils/storage.d.ts +1 -3
  428. package/dist/utils/storage.js +0 -1
  429. package/dist/utils/tablet.d.ts +1 -1
  430. package/dist/utils/timeframes.d.ts +1 -1
  431. package/dist/utils/typecheckers.d.ts +1 -0
  432. package/dist/utils/versions/getVersionsColors.d.ts +1 -1
  433. package/dist/utils/versions/getVersionsColors.js +2 -2
  434. package/dist/utils/versions/parseNodesToVersionsValues.d.ts +1 -1
  435. package/dist/utils/yqlSuggestions/constants.d.ts +7 -0
  436. package/dist/utils/yqlSuggestions/constants.js +696 -0
  437. package/dist/utils/yqlSuggestions/generateSuggestions.d.ts +27 -0
  438. package/dist/utils/yqlSuggestions/generateSuggestions.js +252 -0
  439. package/dist/utils/yqlSuggestions/yqlSuggestions.d.ts +4 -0
  440. package/dist/utils/yqlSuggestions/yqlSuggestions.js +76 -0
  441. package/package.json +16 -11
  442. package/dist/assets/icons/flask.svg +0 -3
  443. package/dist/assets/icons/star.svg +0 -1
  444. package/dist/components/ExternalLinkWithIcon/ExternalLinkWithIcon.d.ts +0 -7
  445. package/dist/components/ExternalLinkWithIcon/ExternalLinkWithIcon.js +0 -9
  446. package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.d.ts +0 -7
  447. package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.js +0 -7
  448. package/dist/containers/Storage/utils/constants.d.ts +0 -2
  449. package/dist/containers/Storage/utils/constants.js +0 -2
  450. package/dist/store/reducers/healthcheckInfo.d.ts +0 -21
  451. package/dist/types/store/healthcheck.d.ts +0 -20
  452. package/dist/utils/pdisk.d.ts +0 -17
  453. /package/dist/{types/store/healthcheck.js → store/reducers/healthcheckInfo/types.js} +0 -0
@@ -1,7 +1,7 @@
1
- import { IIssuesTree } from '../../../../../../types/store/healthcheck';
1
+ import { IssuesTree } from '../../../../../../store/reducers/healthcheckInfo/types';
2
2
  import './IssueTree.scss';
3
3
  interface IssuesViewerProps {
4
- issueTree: IIssuesTree;
4
+ issueTree: IssuesTree;
5
5
  }
6
6
  declare const IssueTree: ({ issueTree }: IssuesViewerProps) => JSX.Element;
7
7
  export default IssueTree;
@@ -1,20 +1,11 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
1
+ import { __rest } from "tslib";
12
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
3
  import { useCallback, useState } from 'react';
14
4
  import cn from 'bem-cn-lite';
15
5
  import _omit from 'lodash/omit';
16
6
  import JSONTree from 'react-json-inspector';
17
7
  import { TreeView } from 'ydb-ui-components';
8
+ import { hcStatusToColorFlag } from '../../../../../../store/reducers/healthcheckInfo/utils';
18
9
  import { IssueTreeItem } from './IssueTreeItem';
19
10
  import './IssueTree.scss';
20
11
  const b = cn('issue-tree');
@@ -28,7 +19,7 @@ const IssueTree = ({ issueTree }) => {
28
19
  const toggleCollapsed = () => {
29
20
  setCollapsedIssues((collapsedIssues) => (Object.assign(Object.assign({}, collapsedIssues), { [id]: !isCollapsed })));
30
21
  };
31
- return (_jsxs(TreeView, Object.assign({ name: _jsx(IssueTreeItem, { status: status, message: message, type: type }), collapsed: isCollapsed, hasArrow: true, onClick: toggleCollapsed, onArrowClick: toggleCollapsed, level: level - 1 }, { children: [renderInfoPanel(_omit(rest, ['reason'])), renderTree(reasonsItems || [])] }), id));
22
+ return (_jsxs(TreeView, Object.assign({ name: _jsx(IssueTreeItem, { status: hcStatusToColorFlag[status], message: message, type: type }), collapsed: isCollapsed, hasArrow: true, onClick: toggleCollapsed, onArrowClick: toggleCollapsed, level: level - 1 }, { children: [renderInfoPanel(_omit(rest, ['reason'])), renderTree(reasonsItems || [])] }), id));
32
23
  });
33
24
  }, [issueTree, collapsedIssues]);
34
25
  const renderInfoPanel = useCallback((info) => {
@@ -1,6 +1,7 @@
1
+ import type { EFlag } from '../../../../../../../types/api/enums';
1
2
  import './IssueTreeItem.scss';
2
3
  interface IssueRowProps {
3
- status: string;
4
+ status: EFlag;
4
5
  message: string;
5
6
  type: string;
6
7
  onClick?: VoidFunction;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import cn from 'bem-cn-lite';
3
- import EntityStatus from '../../../../../../../components/EntityStatus/EntityStatus';
3
+ import { EntityStatus } from '../../../../../../../components/EntityStatus/EntityStatus';
4
4
  import './IssueTreeItem.scss';
5
5
  const b = cn('issue-tree-item');
6
6
  export const IssueTreeItem = ({ status, message, type, onClick }) => {
@@ -6,5 +6,5 @@ import { TopNodesByCpu } from './TopNodesByCpu';
6
6
  import { TopShards } from './TopShards';
7
7
  import { TopQueries } from './TopQueries';
8
8
  export function TenantCpu({ path, additionalNodesProps }) {
9
- return (_jsxs(_Fragment, { children: [_jsx(TenantDashboard, { charts: cpuDashboardConfig }), _jsx(TopNodesByLoad, { path: path, additionalNodesProps: additionalNodesProps }), _jsx(TopNodesByCpu, { path: path, additionalNodesProps: additionalNodesProps }), _jsx(TopShards, { path: path }), _jsx(TopQueries, { path: path })] }));
9
+ return (_jsxs(_Fragment, { children: [_jsx(TenantDashboard, { database: path, charts: cpuDashboardConfig }), _jsx(TopNodesByLoad, { path: path, additionalNodesProps: additionalNodesProps }), _jsx(TopNodesByCpu, { path: path, additionalNodesProps: additionalNodesProps }), _jsx(TopShards, { path: path }), _jsx(TopQueries, { path: path })] }));
10
10
  }
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useDispatch } from 'react-redux';
3
2
  import { useCallback } from 'react';
4
- import { useAutofetcher, useSearchQuery, useTypedSelector } from '../../../../../utils/hooks';
3
+ import { useAutofetcher, useSearchQuery, useTypedDispatch, useTypedSelector, } from '../../../../../utils/hooks';
5
4
  import { getTopNodesByCpu, selectTopNodesByCpu, setDataWasNotLoaded, } from '../../../../../store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu';
6
5
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
7
6
  import { getTopNodesByCpuColumns } from '../../../../Nodes/getNodesColumns';
@@ -10,7 +9,7 @@ import { TenantOverviewTableLayout } from '../TenantOverviewTableLayout';
10
9
  import { getSectionTitle } from '../getSectionTitle';
11
10
  import i18n from '../i18n';
12
11
  export function TopNodesByCpu({ path, additionalNodesProps }) {
13
- const dispatch = useDispatch();
12
+ const dispatch = useTypedDispatch();
14
13
  const query = useSearchQuery();
15
14
  const { wasLoaded, loading, error } = useTypedSelector((state) => state.topNodesByCpu);
16
15
  const { autorefresh } = useTypedSelector((state) => state.schema);
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useDispatch } from 'react-redux';
3
2
  import { useCallback } from 'react';
4
- import { useAutofetcher, useSearchQuery, useTypedSelector } from '../../../../../utils/hooks';
3
+ import { useAutofetcher, useSearchQuery, useTypedDispatch, useTypedSelector, } from '../../../../../utils/hooks';
5
4
  import { getTopNodesByLoad, selectTopNodesByLoad, setDataWasNotLoaded, } from '../../../../../store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad';
6
5
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
7
6
  import { getTopNodesByLoadColumns } from '../../../../Nodes/getNodesColumns';
@@ -10,7 +9,7 @@ import { TenantOverviewTableLayout } from '../TenantOverviewTableLayout';
10
9
  import { getSectionTitle } from '../getSectionTitle';
11
10
  import i18n from '../i18n';
12
11
  export function TopNodesByLoad({ path, additionalNodesProps }) {
13
- const dispatch = useDispatch();
12
+ const dispatch = useTypedDispatch();
14
13
  const query = useSearchQuery();
15
14
  const { wasLoaded, loading, error } = useTypedSelector((state) => state.topNodesByLoad);
16
15
  const { autorefresh } = useTypedSelector((state) => state.schema);
@@ -1,11 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useDispatch } from 'react-redux';
3
2
  import { useHistory, useLocation } from 'react-router';
4
3
  import { useCallback } from 'react';
5
4
  import { TENANT_DIAGNOSTICS_TABS_IDS, TENANT_PAGE, TENANT_PAGES_IDS, TENANT_QUERY_TABS_ID, } from '../../../../../store/reducers/tenant/constants';
6
5
  import { fetchTenantOverviewTopQueries, setDataWasNotLoaded, } from '../../../../../store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries';
7
6
  import { changeUserInput } from '../../../../../store/reducers/executeQuery';
8
- import { useAutofetcher, useTypedSelector } from '../../../../../utils/hooks';
7
+ import { useAutofetcher, useTypedDispatch, useTypedSelector } from '../../../../../utils/hooks';
9
8
  import { parseQuery } from '../../../../../routes';
10
9
  import { TenantTabsGroups, getTenantPath } from '../../../TenantPages';
11
10
  import { getTenantOverviewTopQueriesColumns } from '../../TopQueries/getTopQueriesColumns';
@@ -13,7 +12,7 @@ import { TenantOverviewTableLayout } from '../TenantOverviewTableLayout';
13
12
  import { getSectionTitle } from '../getSectionTitle';
14
13
  import i18n from '../i18n';
15
14
  export function TopQueries({ path }) {
16
- const dispatch = useDispatch();
15
+ const dispatch = useTypedDispatch();
17
16
  const location = useLocation();
18
17
  const history = useHistory();
19
18
  const query = parseQuery(location);
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useDispatch } from 'react-redux';
3
2
  import { useLocation } from 'react-router';
4
- import { useAutofetcher, useTypedSelector } from '../../../../../utils/hooks';
3
+ import { useAutofetcher, useTypedDispatch, useTypedSelector } from '../../../../../utils/hooks';
5
4
  import { parseQuery } from '../../../../../routes';
6
5
  import { sendTenantOverviewTopShardsQuery, setDataWasNotLoaded, } from '../../../../../store/reducers/tenantOverview/topShards/tenantOverviewTopShards';
7
6
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
@@ -11,7 +10,7 @@ import { TenantOverviewTableLayout } from '../TenantOverviewTableLayout';
11
10
  import { getSectionTitle } from '../getSectionTitle';
12
11
  import i18n from '../i18n';
13
12
  export const TopShards = ({ path }) => {
14
- const dispatch = useDispatch();
13
+ const dispatch = useTypedDispatch();
15
14
  const location = useLocation();
16
15
  const query = parseQuery(location);
17
16
  const { autorefresh, currentSchemaPath } = useTypedSelector((state) => state.schema);
@@ -1,12 +1,17 @@
1
1
  import i18n from '../i18n';
2
+ const pools = ['IC', 'IO', 'Batch', 'User', 'System'];
3
+ const getPoolMetricConfig = (poolName) => {
4
+ return {
5
+ target: `resources.cpu.${poolName}.usage`,
6
+ title: poolName,
7
+ };
8
+ };
2
9
  export const cpuDashboardConfig = [
3
10
  {
4
11
  title: i18n('charts.cpu-usage'),
5
- metrics: [
6
- {
7
- target: 'resources.cpu.usage',
8
- title: i18n('charts.cpu-usage'),
9
- },
10
- ],
12
+ metrics: pools.map(getPoolMetricConfig),
13
+ options: {
14
+ dataType: 'percent',
15
+ },
11
16
  },
12
17
  ];
@@ -6,7 +6,8 @@ export interface ChartConfig {
6
6
  options?: ChartOptions;
7
7
  }
8
8
  interface TenantDashboardProps {
9
+ database: string;
9
10
  charts: ChartConfig[];
10
11
  }
11
- export declare const TenantDashboard: ({ charts }: TenantDashboardProps) => JSX.Element;
12
+ export declare const TenantDashboard: ({ database, charts }: TenantDashboardProps) => JSX.Element;
12
13
  export {};
@@ -9,7 +9,7 @@ import './TenantDashboard.scss';
9
9
  const CHART_WIDTH = 428;
10
10
  const CHART_WIDTH_FULL = 872;
11
11
  const b = cn('ydb-tenant-dashboard');
12
- export const TenantDashboard = ({ charts }) => {
12
+ export const TenantDashboard = ({ database, charts }) => {
13
13
  const [isDashboardHidden, setIsDashboardHidden] = useState(true);
14
14
  const [timeFrame = '1h', setTimeframe] = useQueryParam('timeframe', StringParam);
15
15
  const { autorefresh } = useTypedSelector((state) => state.schema);
@@ -35,7 +35,7 @@ export const TenantDashboard = ({ charts }) => {
35
35
  const renderContent = () => {
36
36
  return charts.map((chartConfig) => {
37
37
  const chartId = chartConfig.metrics.map(({ target }) => target).join('&');
38
- return (_jsx(MetricChart, { title: chartConfig.title, metrics: chartConfig.metrics, timeFrame: timeFrame, chartOptions: chartConfig.options, autorefresh: shouldRefresh, width: chartWidth, height: chartHeight, onChartDataStatusChange: handleChartDataStatusChange, isChartVisible: !isDashboardHidden }, chartId));
38
+ return (_jsx(MetricChart, { database: database, title: chartConfig.title, metrics: chartConfig.metrics, timeFrame: timeFrame, chartOptions: chartConfig.options, autorefresh: shouldRefresh, width: chartWidth, height: chartHeight, onChartDataStatusChange: handleChartDataStatusChange, isChartVisible: !isDashboardHidden }, chartId));
39
39
  });
40
40
  };
41
41
  return (_jsxs("div", Object.assign({ className: b(null), style: { display: isDashboardHidden ? 'none' : undefined } }, { children: [_jsx("div", Object.assign({ className: b('controls') }, { children: _jsx(TimeFrameSelector, { value: timeFrame, onChange: setTimeframe }) })), _jsx("div", Object.assign({ className: b('charts') }, { children: renderContent() }))] })));
@@ -3,5 +3,5 @@ import { TenantDashboard } from '../TenantDashboard/TenantDashboard';
3
3
  import { memoryDashboardConfig } from './memoryDashboardConfig';
4
4
  import { TopNodesByMemory } from './TopNodesByMemory';
5
5
  export function TenantMemory({ path }) {
6
- return (_jsxs(_Fragment, { children: [_jsx(TenantDashboard, { charts: memoryDashboardConfig }), _jsx(TopNodesByMemory, { path: path })] }));
6
+ return (_jsxs(_Fragment, { children: [_jsx(TenantDashboard, { database: path, charts: memoryDashboardConfig }), _jsx(TopNodesByMemory, { path: path })] }));
7
7
  }
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useDispatch } from 'react-redux';
3
2
  import { useCallback } from 'react';
4
- import { useAutofetcher, useTypedSelector, useSearchQuery } from '../../../../../utils/hooks';
3
+ import { useAutofetcher, useTypedSelector, useSearchQuery, useTypedDispatch, } from '../../../../../utils/hooks';
5
4
  import { getTopNodesByMemory, selectTopNodesByMemory, setDataWasNotLoaded, } from '../../../../../store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory';
6
5
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
7
6
  import { getTopNodesByMemoryColumns } from '../../../../Nodes/getNodesColumns';
@@ -10,7 +9,7 @@ import { TenantOverviewTableLayout } from '../TenantOverviewTableLayout';
10
9
  import { getSectionTitle } from '../getSectionTitle';
11
10
  import i18n from '../i18n';
12
11
  export function TopNodesByMemory({ path, additionalNodesProps }) {
13
- const dispatch = useDispatch();
12
+ const dispatch = useTypedDispatch();
14
13
  const query = useSearchQuery();
15
14
  const { wasLoaded, loading, error } = useTypedSelector((state) => state.topNodesByMemory);
16
15
  const { autorefresh } = useTypedSelector((state) => state.schema);
@@ -1,12 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback } from 'react';
3
- import { useDispatch } from 'react-redux';
4
3
  import { Loader } from '@gravity-ui/uikit';
5
- import EntityStatus from '../../../../components/EntityStatus/EntityStatus';
4
+ import { EntityStatus } from '../../../../components/EntityStatus/EntityStatus';
6
5
  import { TENANT_DEFAULT_TITLE } from '../../../../utils/constants';
7
6
  import { TENANT_METRICS_TABS_IDS } from '../../../../store/reducers/tenant/constants';
8
7
  import { mapDatabaseTypeToDBName } from '../../utils/schema';
9
- import { useAutofetcher, useTypedSelector } from '../../../../utils/hooks';
8
+ import { useAutofetcher, useTypedSelector, useTypedDispatch } from '../../../../utils/hooks';
10
9
  import { getTenantInfo, setDataWasNotLoaded } from '../../../../store/reducers/tenant/tenant';
11
10
  import { calculateTenantMetrics } from '../../../../store/reducers/tenants/utils';
12
11
  import { TenantCpu } from './TenantCpu/TenantCpu';
@@ -20,7 +19,7 @@ import './TenantOverview.scss';
20
19
  import { b } from './utils';
21
20
  export function TenantOverview({ tenantName, additionalTenantProps, additionalNodesProps, }) {
22
21
  var _a;
23
- const dispatch = useDispatch();
22
+ const dispatch = useTypedDispatch();
24
23
  const { tenant, loading: tenantLoading, wasLoaded: tenantWasLoaded, metricsTab, } = useTypedSelector((state) => state.tenant);
25
24
  const { autorefresh } = useTypedSelector((state) => state.schema);
26
25
  const { issueTrees, issuesStatistics, selfCheckResult, fetchHealthcheck, loading: healthcheckLoading, wasLoaded: healthCheckWasLoaded, error: healthcheckError, } = useHealthcheck(tenantName);
@@ -34,7 +33,7 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
34
33
  fetchTenant(isBackground);
35
34
  fetchHealthcheck(isBackground);
36
35
  }, [fetchTenant, fetchHealthcheck], autorefresh);
37
- const { Name, State, Type } = tenant || {};
36
+ const { Name, Type, Overall } = tenant || {};
38
37
  const tenantType = mapDatabaseTypeToDBName(Type);
39
38
  const { cpu, blobStorage, tabletStorage, memory, cpuUsage, blobStorageLimit, tabletStorageLimit, memoryLimit, } = calculateTenantMetrics(tenant);
40
39
  // If there is table storage limit (data_size_hard_quota),
@@ -59,7 +58,7 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
59
58
  tabletStorageLimit,
60
59
  };
61
60
  const renderName = () => {
62
- return (_jsx("div", Object.assign({ className: b('tenant-name-wrapper') }, { children: _jsx(EntityStatus, { status: State, name: Name || TENANT_DEFAULT_TITLE, withLeftTrim: true, hasClipboardButton: Boolean(tenant), clipboardButtonAlwaysVisible: true }) })));
61
+ return (_jsx("div", Object.assign({ className: b('tenant-name-wrapper') }, { children: _jsx(EntityStatus, { status: Overall, name: Name || TENANT_DEFAULT_TITLE, withLeftTrim: true, hasClipboardButton: Boolean(tenant), clipboardButtonAlwaysVisible: true }) })));
63
62
  };
64
63
  const renderTabContent = () => {
65
64
  switch (metricsTab) {
@@ -76,7 +75,7 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
76
75
  return (_jsx(HealthcheckDetails, { issueTrees: issueTrees, loading: healthcheckLoading, wasLoaded: healthCheckWasLoaded, error: healthcheckError }));
77
76
  }
78
77
  default: {
79
- return _jsx(DefaultOverviewContent, {});
78
+ return _jsx(DefaultOverviewContent, { database: tenantName });
80
79
  }
81
80
  }
82
81
  };
@@ -1,14 +1,4 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
1
+ import { __rest } from "tslib";
12
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
13
3
  import DataTable from '@gravity-ui/react-data-table';
14
4
  import { TENANT_OVERVIEW_TABLES_LIMIT, TENANT_OVERVIEW_TABLES_SETTINGS, } from '../../../../utils/constants';
@@ -22,5 +22,5 @@ export function TenantStorage({ tenantName, metrics }) {
22
22
  value: (_jsx(ProgressViewer, { value: blobStorageUsed, capacity: blobStorageLimit, formatValues: formatStorageValues, colorizeProgress: true, warningThreshold: 75, dangerThreshold: 85 })),
23
23
  },
24
24
  ];
25
- return (_jsxs(_Fragment, { children: [_jsx(TenantDashboard, { charts: storageDashboardConfig }), _jsx(InfoViewer, { className: b('storage-info'), title: "Storage details", info: info }), _jsx(TopTables, { path: tenantName }), _jsx(TopGroups, { tenant: tenantName })] }));
25
+ return (_jsxs(_Fragment, { children: [_jsx(TenantDashboard, { database: tenantName, charts: storageDashboardConfig }), _jsx(InfoViewer, { className: b('storage-info'), title: "Storage details", info: info }), _jsx(TopTables, { path: tenantName }), _jsx(TopGroups, { tenant: tenantName })] }));
26
26
  }
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback } from 'react';
3
- import { useDispatch } from 'react-redux';
4
- import { useAutofetcher, useSearchQuery, useTypedSelector } from '../../../../../utils/hooks';
3
+ import { useAutofetcher, useSearchQuery, useTypedDispatch, useTypedSelector, } from '../../../../../utils/hooks';
5
4
  import { setDataWasNotLoaded, getTopStorageGroups, selectTopStorageGroups, } from '../../../../../store/reducers/tenantOverview/topStorageGroups/topStorageGroups';
6
5
  import { TENANT_DIAGNOSTICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
7
6
  import { getStorageTopGroupsColumns } from '../../../../Storage/StorageGroups/getStorageGroupsColumns';
@@ -10,7 +9,7 @@ import { TenantOverviewTableLayout } from '../TenantOverviewTableLayout';
10
9
  import { getSectionTitle } from '../getSectionTitle';
11
10
  import i18n from '../i18n';
12
11
  export function TopGroups({ tenant }) {
13
- const dispatch = useDispatch();
12
+ const dispatch = useTypedDispatch();
14
13
  const query = useSearchQuery();
15
14
  const { autorefresh } = useTypedSelector((state) => state.schema);
16
15
  const { loading, wasLoaded, error } = useTypedSelector((state) => state.topStorageGroups);
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useDispatch } from 'react-redux';
3
2
  import { useLocation } from 'react-router';
4
3
  import DataTable from '@gravity-ui/react-data-table';
5
- import { useAutofetcher, useTypedSelector } from '../../../../../utils/hooks';
4
+ import { useAutofetcher, useTypedDispatch, useTypedSelector } from '../../../../../utils/hooks';
6
5
  import { fetchTopTables, setDataWasNotLoaded, } from '../../../../../store/reducers/tenantOverview/executeTopTables/executeTopTables';
7
6
  import { formatBytes, getSizeWithSignificantDigits } from '../../../../../utils/bytesParsers';
8
7
  import { LinkToSchemaObject } from '../../../../../components/LinkToSchemaObject/LinkToSchemaObject';
@@ -12,7 +11,7 @@ import { getSectionTitle } from '../getSectionTitle';
12
11
  import i18n from '../i18n';
13
12
  import '../TenantOverview.scss';
14
13
  export function TopTables({ path }) {
15
- const dispatch = useDispatch();
14
+ const dispatch = useTypedDispatch();
16
15
  const location = useLocation();
17
16
  const { autorefresh } = useTypedSelector((state) => state.schema);
18
17
  const { loading, wasLoaded, error, data: { result: data = undefined } = {}, } = useTypedSelector((state) => state.executeTopTables);
@@ -18,7 +18,7 @@
18
18
  "by-size": "by size",
19
19
  "charts.queries-per-second": "Queries per second",
20
20
  "charts.transaction-latency": "Transactions latencies {{percentile}}",
21
- "charts.cpu-usage": "CPU cores used",
21
+ "charts.cpu-usage": "CPU usage by pool",
22
22
  "charts.storage-usage": "Tablet storage usage",
23
23
  "charts.memory-usage": "Memory usage",
24
24
  "storage.tablet-storage-title": "Tablet storage",
@@ -1,8 +1,8 @@
1
- import type { IIssuesTree } from '../../../../types/store/healthcheck';
1
+ import type { IssuesTree } from '../../../../store/reducers/healthcheckInfo/types';
2
2
  import { type StatusFlag, SelfCheckResult } from '../../../../types/api/healthcheck';
3
3
  import type { IResponseError } from '../../../../types/api/error';
4
4
  interface HealthcheckParams {
5
- issueTrees: IIssuesTree[];
5
+ issueTrees: IssuesTree[];
6
6
  issuesStatistics: [StatusFlag, number][];
7
7
  fetchHealthcheck: (isBackground?: boolean) => void;
8
8
  loading: boolean;
@@ -1,10 +1,9 @@
1
1
  import { useCallback } from 'react';
2
- import { useDispatch } from 'react-redux';
3
- import { getHealthcheckInfo, selectIssuesStatistics, selectIssuesTrees, setDataWasNotLoaded, } from '../../../../store/reducers/healthcheckInfo';
2
+ import { getHealthcheckInfo, selectIssuesStatistics, selectIssuesTrees, setDataWasNotLoaded, } from '../../../../store/reducers/healthcheckInfo/healthcheckInfo';
4
3
  import { SelfCheckResult } from '../../../../types/api/healthcheck';
5
- import { useTypedSelector } from '../../../../utils/hooks/useTypedSelector';
4
+ import { useTypedSelector, useTypedDispatch } from '../../../../utils/hooks';
6
5
  export const useHealthcheck = (tenantName) => {
7
- const dispatch = useDispatch();
6
+ const dispatch = useTypedDispatch();
8
7
  const { data, loading, wasLoaded, error } = useTypedSelector((state) => state.healthcheckInfo);
9
8
  const selfCheckResult = (data === null || data === void 0 ? void 0 : data.self_check_result) || SelfCheckResult.UNSPECIFIED;
10
9
  const issuesStatistics = useTypedSelector(selectIssuesStatistics);
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useRef, useState } from 'react';
3
- import { useDispatch } from 'react-redux';
4
3
  import { useHistory, useLocation } from 'react-router';
5
4
  import cn from 'bem-cn-lite';
6
5
  import DataTable from '@gravity-ui/react-data-table';
@@ -11,7 +10,7 @@ import { changeUserInput } from '../../../../store/reducers/executeQuery';
11
10
  import { TENANT_PAGE, TENANT_PAGES_IDS, TENANT_QUERY_TABS_ID, } from '../../../../store/reducers/tenant/constants';
12
11
  import { setTopQueriesFilters, setTopQueriesState, fetchTopQueries, } from '../../../../store/reducers/executeTopQueries/executeTopQueries';
13
12
  import { HOUR_IN_SECONDS } from '../../../../utils/constants';
14
- import { useAutofetcher, useTypedSelector } from '../../../../utils/hooks';
13
+ import { useAutofetcher, useTypedDispatch, useTypedSelector } from '../../../../utils/hooks';
15
14
  import { prepareQueryError } from '../../../../utils/query';
16
15
  import { parseQuery } from '../../../../routes';
17
16
  import { QUERY_TABLE_SETTINGS } from '../../utils/constants';
@@ -23,7 +22,7 @@ import i18n from './i18n';
23
22
  import './TopQueries.scss';
24
23
  const b = cn('kv-top-queries');
25
24
  export const TopQueries = ({ path, type }) => {
26
- const dispatch = useDispatch();
25
+ const dispatch = useTypedDispatch();
27
26
  const location = useLocation();
28
27
  const history = useHistory();
29
28
  const { autorefresh } = useTypedSelector((state) => state.schema);
@@ -68,8 +67,6 @@ export const TopQueries = ({ path, type }) => {
68
67
  data: undefined,
69
68
  }));
70
69
  }
71
- // @ts-expect-error
72
- // typed dispatch required, remove error expectation after adding it
73
70
  dispatch(fetchTopQueries({ database: path, filters })).then(setDefaultFiltersFromResponse);
74
71
  }, [dispatch, filters, path], autorefresh);
75
72
  const handleRowClick = useCallback((row) => {
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useMemo } from 'react';
3
- import { useDispatch } from 'react-redux';
4
3
  import cn from 'bem-cn-lite';
5
4
  import { useLocation } from 'react-router';
6
5
  import DataTable from '@gravity-ui/react-data-table';
@@ -9,7 +8,7 @@ import { sendShardQuery, setShardsState, setShardsQueryFilters, } from '../../..
9
8
  import { EShardsWorkloadMode, } from '../../../../store/reducers/shardsWorkload/types';
10
9
  import { formatDateTime } from '../../../../utils/dataFormatters/dataFormatters';
11
10
  import { DEFAULT_TABLE_SETTINGS, HOUR_IN_SECONDS } from '../../../../utils/constants';
12
- import { useAutofetcher, useTypedSelector } from '../../../../utils/hooks';
11
+ import { useAutofetcher, useTypedDispatch, useTypedSelector } from '../../../../utils/hooks';
13
12
  import { prepareQueryError } from '../../../../utils/query';
14
13
  import { isSortableTopShardsProperty } from '../../../../utils/diagnostics';
15
14
  import { isColumnEntityType } from '../../utils/schema';
@@ -61,7 +60,7 @@ function fillDateRangeFor(value) {
61
60
  return value;
62
61
  }
63
62
  export const TopShards = ({ tenantPath, type }) => {
64
- const dispatch = useDispatch();
63
+ const dispatch = useTypedDispatch();
65
64
  const location = useLocation();
66
65
  const { autorefresh, currentSchemaPath } = useTypedSelector((state) => state.schema);
67
66
  const { loading, data: { result: data = undefined } = {}, filters: storeFilters, error, wasLoaded, } = useTypedSelector((state) => state.shardsWorkload);
@@ -3,7 +3,7 @@ import block from 'bem-cn-lite';
3
3
  import { useTypedSelector } from '../../../../utils/hooks';
4
4
  import { InfoViewer } from '../../../../components/InfoViewer';
5
5
  import { formatCommonItem } from '../../../../components/InfoViewer/formatters';
6
- import EntityStatus from '../../../../components/EntityStatus/EntityStatus';
6
+ import { EntityStatus } from '../../../../components/EntityStatus/EntityStatus';
7
7
  import { ResponseError } from '../../../../components/Errors/ResponseError';
8
8
  import { getEntityName } from '../../utils';
9
9
  import i18n from '../i18n';
@@ -5,8 +5,8 @@ import { useTypedSelector } from '../../../../utils/hooks';
5
5
  import { createExternalUILink, parseQuery } from '../../../../routes';
6
6
  import { formatCommonItem } from '../../../../components/InfoViewer/formatters';
7
7
  import { InfoViewer } from '../../../../components/InfoViewer';
8
- import { ExternalLinkWithIcon } from '../../../../components/ExternalLinkWithIcon/ExternalLinkWithIcon';
9
- import EntityStatus from '../../../../components/EntityStatus/EntityStatus';
8
+ import { LinkWithIcon } from '../../../../components/LinkWithIcon/LinkWithIcon';
9
+ import { EntityStatus } from '../../../../components/EntityStatus/EntityStatus';
10
10
  import { ResponseError } from '../../../../components/Errors/ResponseError';
11
11
  import { getEntityName } from '../../utils';
12
12
  import i18n from '../i18n';
@@ -22,7 +22,7 @@ const prepareExternalTableSummary = (data, pathToDataSource) => {
22
22
  formatCommonItem('CreateStep', CreateStep),
23
23
  {
24
24
  label: i18n('external-objects.data-source'),
25
- value: DataSourcePath && (_jsx("span", Object.assign({ title: DataSourcePath }, { children: _jsx(ExternalLinkWithIcon, { title: dataSourceName || '', url: pathToDataSource }) }))),
25
+ value: DataSourcePath && (_jsx("span", Object.assign({ title: DataSourcePath }, { children: _jsx(LinkWithIcon, { title: dataSourceName || '', url: pathToDataSource }) }))),
26
26
  },
27
27
  ];
28
28
  };
@@ -4,6 +4,7 @@ import type { AdditionalTenantsProps, AdditionalNodesProps } from '../../../type
4
4
  import './ObjectGeneral.scss';
5
5
  interface ObjectGeneralProps {
6
6
  type: EPathType;
7
+ tenantName: string;
7
8
  additionalTenantProps?: AdditionalTenantsProps;
8
9
  additionalNodesProps?: AdditionalNodesProps;
9
10
  }
@@ -15,9 +15,9 @@ function ObjectGeneral(props) {
15
15
  const theme = useThemeValue();
16
16
  const [initialPage] = useSetting(TENANT_INITIAL_PAGE_KEY);
17
17
  const queryParams = parseQuery(location);
18
- const { name: tenantName, tenantPage = initialPage } = queryParams;
18
+ const { tenantPage = initialPage } = queryParams;
19
19
  const renderTabContent = () => {
20
- const { type, additionalTenantProps, additionalNodesProps } = props;
20
+ const { type, additionalTenantProps, additionalNodesProps, tenantName } = props;
21
21
  switch (tenantPage) {
22
22
  case TENANT_PAGES_IDS.query: {
23
23
  return _jsx(Query, { path: tenantName, theme: theme, type: type });
@@ -28,6 +28,7 @@ function ObjectGeneral(props) {
28
28
  }
29
29
  };
30
30
  const renderContent = () => {
31
+ const { tenantName } = props;
31
32
  if (!tenantName) {
32
33
  return null;
33
34
  }
@@ -4,7 +4,6 @@ import { Button, Tabs } from '@gravity-ui/uikit';
4
4
  import cn from 'bem-cn-lite';
5
5
  import qs from 'qs';
6
6
  import React, { useEffect, useReducer } from 'react';
7
- import { useDispatch } from 'react-redux';
8
7
  import { useLocation } from 'react-router';
9
8
  import { Link } from 'react-router-dom';
10
9
  import { ClipboardButton } from '../../../components/ClipboardButton';
@@ -20,7 +19,7 @@ import { setQueryTab, setSummaryTab, setTenantPage } from '../../../store/reduce
20
19
  import { EPathType, } from '../../../types/api/schema';
21
20
  import { DEFAULT_IS_TENANT_COMMON_INFO_COLLAPSED, DEFAULT_SIZE_TENANT_SUMMARY_KEY, } from '../../../utils/constants';
22
21
  import { formatDateTime } from '../../../utils/dataFormatters/dataFormatters';
23
- import { useTypedSelector } from '../../../utils/hooks';
22
+ import { useTypedDispatch, useTypedSelector } from '../../../utils/hooks';
24
23
  import { Acl } from '../Acl/Acl';
25
24
  import i18n from '../i18n';
26
25
  import { ExternalDataSourceSummary } from '../Info/ExternalDataSource/ExternalDataSource';
@@ -61,7 +60,7 @@ function prepareOlapTableSchema(tableSchema = {}) {
61
60
  }
62
61
  export function ObjectSummary({ type, subType, onCollapseSummary, onExpandSummary, isCollapsed, }) {
63
62
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
64
- const dispatch = useDispatch();
63
+ const dispatch = useTypedDispatch();
65
64
  const [commonInfoVisibilityState, dispatchCommonInfoVisibilityState] = useReducer(paneVisibilityToggleReducerCreator(DEFAULT_IS_TENANT_COMMON_INFO_COLLAPSED), undefined, getTenantCommonInfoState);
66
65
  const { data, currentSchemaPath, currentSchema: currentItem = {}, loading: loadingSchema, } = useTypedSelector((state) => state.schema);
67
66
  const { summaryTab = TENANT_SUMMARY_TABS_IDS.overview } = useTypedSelector((state) => state.tenant);
@@ -3,7 +3,6 @@ import { RadioButton, Tabs } from '@gravity-ui/uikit';
3
3
  import cn from 'bem-cn-lite';
4
4
  import React, { useEffect, useState } from 'react';
5
5
  import JSONTree from 'react-json-inspector';
6
- import { useDispatch } from 'react-redux';
7
6
  import { ClipboardButton } from '../../../../components/ClipboardButton';
8
7
  import Divider from '../../../../components/Divider/Divider';
9
8
  import EnableFullscreenButton from '../../../../components/EnableFullscreenButton/EnableFullscreenButton';
@@ -12,7 +11,7 @@ import { QueryExecutionStatus } from '../../../../components/QueryExecutionStatu
12
11
  import { QueryResultTable } from '../../../../components/QueryResultTable/QueryResultTable';
13
12
  import { disableFullscreen } from '../../../../store/reducers/fullscreen';
14
13
  import { getArray } from '../../../../utils';
15
- import { useTypedSelector } from '../../../../utils/hooks';
14
+ import { useTypedDispatch, useTypedSelector } from '../../../../utils/hooks';
16
15
  import { prepareQueryError } from '../../../../utils/query';
17
16
  import { PaneVisibilityToggleButtons } from '../../utils/paneVisibilityToggleHelpers';
18
17
  import { ResultIssues } from '../Issues/Issues';
@@ -33,7 +32,7 @@ export function ExecuteResult({ data, stats, error, isResultsCollapsed, onCollap
33
32
  const [selectedResultSet, setSelectedResultSet] = useState(0);
34
33
  const [activeSection, setActiveSection] = useState(resultOptionsIds.result);
35
34
  const isFullscreen = useTypedSelector((state) => state.fullscreen);
36
- const dispatch = useDispatch();
35
+ const dispatch = useTypedDispatch();
37
36
  const resultsSetsCount = (_a = data === null || data === void 0 ? void 0 : data.resultSets) === null || _a === void 0 ? void 0 : _a.length;
38
37
  const isMulti = resultsSetsCount && resultsSetsCount > 0;
39
38
  const currentResult = isMulti ? (_b = data === null || data === void 0 ? void 0 : data.resultSets) === null || _b === void 0 ? void 0 : _b[selectedResultSet].result : data === null || data === void 0 ? void 0 : data.result;
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React, { useEffect, useRef, useState } from 'react';
3
- import { useDispatch, useSelector } from 'react-redux';
4
3
  import cn from 'bem-cn-lite';
5
4
  import MonacoEditor from 'react-monaco-editor';
6
5
  import JSONTree from 'react-json-inspector';
@@ -14,6 +13,7 @@ import { QueryExecutionStatus } from '../../../../components/QueryExecutionStatu
14
13
  import { explainVersions } from '../../../../store/reducers/explainQuery';
15
14
  import { disableFullscreen } from '../../../../store/reducers/fullscreen';
16
15
  import { LANGUAGE_S_EXPRESSION_ID } from '../../../../utils/monaco';
16
+ import { useTypedDispatch, useTypedSelector } from '../../../../utils/hooks';
17
17
  import { PaneVisibilityToggleButtons } from '../../utils/paneVisibilityToggleHelpers';
18
18
  import { renderExplainNode } from './utils';
19
19
  import './ExplainResult.scss';
@@ -69,9 +69,9 @@ function GraphRoot(props) {
69
69
  return _jsx("div", { id: "graphRoot", style: { height: '100vh' } });
70
70
  }
71
71
  export function ExplainResult(props) {
72
- const dispatch = useDispatch();
72
+ const dispatch = useTypedDispatch();
73
73
  const [activeOption, setActiveOption] = useState(ExplainOptionIds.schema);
74
- const isFullscreen = useSelector((state) => state.fullscreen);
74
+ const isFullscreen = useTypedSelector((state) => state.fullscreen);
75
75
  useEffect(() => {
76
76
  return () => {
77
77
  dispatch(disableFullscreen());
@@ -1,4 +1,4 @@
1
1
  export declare const SEVERITY_LIST: readonly ["S_FATAL", "S_ERROR", "S_WARNING", "S_INFO"];
2
- export declare type SEVERITY = typeof SEVERITY_LIST[number];
2
+ export type SEVERITY = typeof SEVERITY_LIST[number];
3
3
  export declare function isSeverity(value: number | undefined): boolean;
4
4
  export declare function getSeverity(value: number | undefined): "S_FATAL" | "S_ERROR" | "S_WARNING" | "S_INFO";