ydb-embedded-ui 9.3.1 → 9.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/components/AutoRefreshControl/i18n/index.d.ts +1 -1
  2. package/dist/components/Drawer/Drawer.d.ts +2 -1
  3. package/dist/components/Drawer/Drawer.js +4 -4
  4. package/dist/components/Drawer/Drawer.js.map +1 -1
  5. package/dist/{containers/Storage → components}/EmptyFilter/EmptyFilter.js +2 -2
  6. package/dist/components/EmptyFilter/EmptyFilter.js.map +1 -0
  7. package/dist/{containers/App → components/EmptyFilter}/i18n/index.js +1 -1
  8. package/dist/components/EmptyFilter/i18n/index.js.map +1 -0
  9. package/dist/components/EmptyState/EmptyState.d.ts +1 -0
  10. package/dist/components/EmptyState/EmptyState.js +1 -0
  11. package/dist/components/EmptyState/EmptyState.js.map +1 -1
  12. package/dist/components/EmptyState/EmptyState.scss +9 -0
  13. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js +3 -2
  14. package/dist/components/EnableFullscreenButton/EnableFullscreenButton.js.map +1 -1
  15. package/dist/components/EnableFullscreenButton/i18n/en.json +3 -0
  16. package/dist/components/EnableFullscreenButton/i18n/index.d.ts +2 -0
  17. package/dist/components/EnableFullscreenButton/i18n/index.js +5 -0
  18. package/dist/components/EnableFullscreenButton/i18n/index.js.map +1 -0
  19. package/dist/components/FixedHeightQuery/FixedHeightQuery.d.ts +9 -0
  20. package/dist/components/FixedHeightQuery/FixedHeightQuery.js +23 -0
  21. package/dist/components/FixedHeightQuery/FixedHeightQuery.js.map +1 -0
  22. package/dist/components/FixedHeightQuery/FixedHeightQuery.scss +42 -0
  23. package/dist/components/HealthcheckStatus/HealthcheckStatus.d.ts +8 -0
  24. package/dist/components/HealthcheckStatus/HealthcheckStatus.js +41 -0
  25. package/dist/components/HealthcheckStatus/HealthcheckStatus.js.map +1 -0
  26. package/dist/components/HealthcheckStatus/i18n/en.json +7 -0
  27. package/dist/components/HealthcheckStatus/i18n/index.d.ts +2 -0
  28. package/dist/components/HealthcheckStatus/i18n/index.js +5 -0
  29. package/dist/components/HealthcheckStatus/i18n/index.js.map +1 -0
  30. package/dist/components/ProgressViewer/ProgressViewer.d.ts +2 -1
  31. package/dist/components/ProgressViewer/ProgressViewer.js +3 -2
  32. package/dist/components/ProgressViewer/ProgressViewer.js.map +1 -1
  33. package/dist/components/SplitPane/SplitPane.scss +0 -1
  34. package/dist/containers/App/Content.js +18 -14
  35. package/dist/containers/App/Content.js.map +1 -1
  36. package/dist/containers/Clusters/Clusters.js +19 -7
  37. package/dist/containers/Clusters/Clusters.js.map +1 -1
  38. package/dist/containers/Clusters/Clusters.scss +7 -53
  39. package/dist/containers/Clusters/columns.d.ts +18 -1
  40. package/dist/containers/Clusters/columns.js +43 -9
  41. package/dist/containers/Clusters/columns.js.map +1 -1
  42. package/dist/containers/Clusters/i18n/en.json +3 -1
  43. package/dist/containers/Clusters/i18n/index.d.ts +1 -1
  44. package/dist/containers/Clusters/i18n/index.js +1 -2
  45. package/dist/containers/Clusters/i18n/index.js.map +1 -1
  46. package/dist/containers/Header/Header.d.ts +1 -5
  47. package/dist/containers/Header/Header.js +14 -10
  48. package/dist/containers/Header/Header.js.map +1 -1
  49. package/dist/containers/Header/Header.scss +1 -1
  50. package/dist/containers/Header/breadcrumbs.d.ts +3 -1
  51. package/dist/containers/Header/breadcrumbs.js +18 -6
  52. package/dist/containers/Header/breadcrumbs.js.map +1 -1
  53. package/dist/containers/Header/i18n/en.json +3 -1
  54. package/dist/containers/Header/i18n/index.d.ts +1 -1
  55. package/dist/containers/Operations/columns.js +2 -2
  56. package/dist/containers/Operations/columns.js.map +1 -1
  57. package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js +1 -1
  58. package/dist/containers/Storage/PaginatedStorageGroupsTable/StorageGroupsEmptyDataMessage.js.map +1 -1
  59. package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js +1 -1
  60. package/dist/containers/Storage/PaginatedStorageNodesTable/StorageNodesEmptyDataMessage.js.map +1 -1
  61. package/dist/containers/Tablet/components/TabletStorageInfo/i18n/index.d.ts +1 -1
  62. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.d.ts +1 -1
  63. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +30 -29
  64. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  65. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.scss +41 -0
  66. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/en.json +8 -6
  67. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.d.ts +1 -1
  68. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.js +1 -2
  69. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.js.map +1 -1
  70. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.d.ts +3 -1
  71. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js +9 -2
  72. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.js.map +1 -1
  73. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.scss +7 -0
  74. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.d.ts +2 -2
  75. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js +27 -8
  76. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.js.map +1 -1
  77. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js +5 -10
  78. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.js.map +1 -1
  79. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.scss +1 -5
  80. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +2 -0
  81. package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/index.d.ts +1 -1
  82. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js +11 -1
  83. package/dist/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.js.map +1 -1
  84. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js +2 -3
  85. package/dist/containers/Tenant/Diagnostics/TopQueries/columns/columns.js.map +1 -1
  86. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.d.ts +19 -0
  87. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.js +31 -0
  88. package/dist/containers/Tenant/Diagnostics/TopQueries/hooks/useScrollToSelected.js.map +1 -0
  89. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js +1 -0
  90. package/dist/containers/Tenant/Diagnostics/TopQueries/utils.js.map +1 -1
  91. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js +1 -1
  92. package/dist/containers/Tenant/Diagnostics/TopicData/TopicData.js.map +1 -1
  93. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
  94. package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +9 -0
  95. package/dist/containers/Tenant/Healthcheck/Healthcheck.js +49 -0
  96. package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -0
  97. package/dist/containers/Tenant/Healthcheck/Healthcheck.scss +112 -0
  98. package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.d.ts +1 -0
  99. package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.js +9 -0
  100. package/dist/containers/Tenant/Healthcheck/components/HealthcheckFilter.js.map +1 -0
  101. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.d.ts +7 -0
  102. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js +25 -0
  103. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssue.js.map +1 -0
  104. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.d.ts +9 -0
  105. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js +67 -0
  106. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/ComputeLocation.js.map +1 -0
  107. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.d.ts +6 -0
  108. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js +67 -0
  109. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/HealthcheckIssueDetails.js.map +1 -0
  110. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.d.ts +7 -0
  111. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js +19 -0
  112. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/NodeInfo.js.map +1 -0
  113. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.d.ts +6 -0
  114. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.js +12 -0
  115. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/PoolInfo.js.map +1 -0
  116. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.d.ts +9 -0
  117. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js +95 -0
  118. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/StorageLocation.js.map +1 -0
  119. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.d.ts +25 -0
  120. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js +17 -0
  121. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueDetails/utils.js.map +1 -0
  122. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.d.ts +8 -0
  123. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.js +23 -0
  124. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssueTabs.js.map +1 -0
  125. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.d.ts +6 -0
  126. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +41 -0
  127. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -0
  128. package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.d.ts +6 -0
  129. package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.js +47 -0
  130. package/dist/containers/Tenant/Healthcheck/components/HealthcheckRefresh.js.map +1 -0
  131. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.d.ts +8 -0
  132. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +42 -0
  133. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -0
  134. package/dist/containers/Tenant/Healthcheck/i18n/en.json +41 -0
  135. package/dist/containers/Tenant/Healthcheck/i18n/index.d.ts +2 -0
  136. package/dist/containers/Tenant/Healthcheck/i18n/index.js +5 -0
  137. package/dist/containers/Tenant/Healthcheck/i18n/index.js.map +1 -0
  138. package/dist/containers/Tenant/Healthcheck/shared.d.ts +11 -0
  139. package/dist/containers/Tenant/Healthcheck/shared.js +36 -0
  140. package/dist/containers/Tenant/Healthcheck/shared.js.map +1 -0
  141. package/dist/containers/Tenant/Healthcheck/useHealthcheck.d.ts +14 -0
  142. package/dist/containers/Tenant/Healthcheck/useHealthcheck.js +19 -0
  143. package/dist/containers/Tenant/Healthcheck/useHealthcheck.js.map +1 -0
  144. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js +1 -1
  145. package/dist/containers/Tenant/Query/Preview/components/TopicPreview.js.map +1 -1
  146. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +1 -1
  147. package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
  148. package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js +1 -1
  149. package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js.map +1 -1
  150. package/dist/containers/Tenant/Tenant.js +14 -25
  151. package/dist/containers/Tenant/Tenant.js.map +1 -1
  152. package/dist/containers/Tenant/TenantDrawerWrappers.d.ts +7 -0
  153. package/dist/containers/Tenant/TenantDrawerWrappers.js +47 -0
  154. package/dist/containers/Tenant/TenantDrawerWrappers.js.map +1 -0
  155. package/dist/containers/Tenant/TenantPages.d.ts +2 -0
  156. package/dist/containers/Tenant/TenantPages.js.map +1 -1
  157. package/dist/containers/Tenant/constants.d.ts +4 -0
  158. package/dist/containers/Tenant/constants.js +18 -0
  159. package/dist/containers/Tenant/constants.js.map +1 -0
  160. package/dist/containers/Tenant/i18n/en.json +7 -1
  161. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  162. package/dist/containers/Tenant/useTenantQueryParams.d.ts +12 -0
  163. package/dist/containers/Tenant/useTenantQueryParams.js +39 -0
  164. package/dist/containers/Tenant/useTenantQueryParams.js.map +1 -0
  165. package/dist/containers/Tenant/utils/schemaActions.js +2 -2
  166. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  167. package/dist/containers/UserSettings/i18n/en.json +1 -1
  168. package/dist/store/reducers/capabilities/hooks.d.ts +3 -0
  169. package/dist/store/reducers/capabilities/hooks.js +9 -0
  170. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  171. package/dist/store/reducers/clusters/selectors.d.ts +1 -2
  172. package/dist/store/reducers/clusters/selectors.js +0 -28
  173. package/dist/store/reducers/clusters/selectors.js.map +1 -1
  174. package/dist/store/reducers/clusters/types.d.ts +0 -10
  175. package/dist/store/reducers/header/types.d.ts +4 -2
  176. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +631 -331
  177. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js +8 -35
  178. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js.map +1 -1
  179. package/dist/store/reducers/healthcheckInfo/types.d.ts +2 -0
  180. package/dist/store/reducers/healthcheckInfo/utils.d.ts +3 -0
  181. package/dist/store/reducers/healthcheckInfo/utils.js +34 -0
  182. package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
  183. package/dist/store/reducers/tenant/constants.d.ts +0 -1
  184. package/dist/store/reducers/tenant/constants.js +0 -1
  185. package/dist/store/reducers/tenant/constants.js.map +1 -1
  186. package/dist/store/reducers/tenants/utils.d.ts +2 -1
  187. package/dist/store/reducers/tenants/utils.js +15 -2
  188. package/dist/store/reducers/tenants/utils.js.map +1 -1
  189. package/dist/styles/index.scss +3 -0
  190. package/dist/types/api/capabilities.d.ts +1 -1
  191. package/dist/types/api/healthcheck.d.ts +80 -13
  192. package/dist/types/api/healthcheck.js +1 -0
  193. package/dist/types/api/healthcheck.js.map +1 -1
  194. package/dist/types/api/tenant.d.ts +4 -0
  195. package/dist/types/api/tenant.js.map +1 -1
  196. package/dist/uiFactory/types.d.ts +18 -0
  197. package/dist/uiFactory/uiFactory.d.ts +1 -1
  198. package/dist/uiFactory/uiFactory.js +6 -0
  199. package/dist/uiFactory/uiFactory.js.map +1 -1
  200. package/dist/utils/createToast.d.ts +2 -9
  201. package/dist/utils/createToast.js +5 -6
  202. package/dist/utils/createToast.js.map +1 -1
  203. package/package.json +1 -1
  204. package/dist/containers/App/i18n/en.json +0 -3
  205. package/dist/containers/App/i18n/index.d.ts +0 -2
  206. package/dist/containers/App/i18n/index.js.map +0 -1
  207. package/dist/containers/App/i18n/ru.json +0 -3
  208. package/dist/containers/Clusters/ClustersStatistics.d.ts +0 -7
  209. package/dist/containers/Clusters/ClustersStatistics.js +0 -10
  210. package/dist/containers/Clusters/ClustersStatistics.js.map +0 -1
  211. package/dist/containers/Clusters/i18n/ru.json +0 -15
  212. package/dist/containers/Storage/EmptyFilter/EmptyFilter.js.map +0 -1
  213. package/dist/containers/Storage/EmptyFilter/i18n/index.js +0 -6
  214. package/dist/containers/Storage/EmptyFilter/i18n/index.js.map +0 -1
  215. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +0 -106
  216. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.d.ts +0 -6
  217. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js +0 -34
  218. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js.map +0 -1
  219. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.d.ts +0 -7
  220. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js +0 -37
  221. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.js.map +0 -1
  222. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTree.scss +0 -51
  223. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.d.ts +0 -10
  224. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js +0 -9
  225. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.js.map +0 -1
  226. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/IssueTreeItem.scss +0 -50
  227. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.d.ts +0 -1
  228. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.js +0 -2
  229. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/IssuesViewer/IssueTreeItem/index.js.map +0 -1
  230. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/ru.json +0 -8
  231. package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.d.ts +0 -15
  232. package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js +0 -20
  233. package/dist/containers/Tenant/Diagnostics/TenantOverview/useHealthcheck.js.map +0 -1
  234. /package/dist/{containers/Storage → components}/EmptyFilter/EmptyFilter.d.ts +0 -0
  235. /package/dist/{containers/Storage → components}/EmptyFilter/i18n/en.json +0 -0
  236. /package/dist/{containers/Storage → components}/EmptyFilter/i18n/index.d.ts +0 -0
  237. /package/dist/{containers/Storage → components}/EmptyFilter/i18n/ru.json +0 -0
@@ -1,4 +1,4 @@
1
- import './Healthcheck.scss';
1
+ import './HealthcheckPreview.scss';
2
2
  interface HealthcheckPreviewProps {
3
3
  tenantName: string;
4
4
  active?: boolean;
@@ -1,31 +1,31 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { CircleCheck, CircleInfo, CircleQuestion, CircleXmark, TriangleExclamationFill, } from '@gravity-ui/icons';
4
- import { Icon, Popover } from '@gravity-ui/uikit';
5
- import { DiagnosticCard } from '../../../../../components/DiagnosticCard/DiagnosticCard';
3
+ import { Alert, Button, Flex, Icon, Popover, Skeleton } from '@gravity-ui/uikit';
6
4
  import { ResponseError } from '../../../../../components/Errors/ResponseError';
7
- import { Loader } from '../../../../../components/Loader';
8
5
  import { useClusterBaseInfo } from '../../../../../store/reducers/cluster/cluster';
9
6
  import { healthcheckApi } from '../../../../../store/reducers/healthcheckInfo/healthcheckInfo';
10
7
  import { SelfCheckResult } from '../../../../../types/api/healthcheck';
11
8
  import { cn } from '../../../../../utils/cn';
12
- import { useAutoRefreshInterval, useTypedSelector } from '../../../../../utils/hooks';
9
+ import { useAutoRefreshInterval } from '../../../../../utils/hooks';
10
+ import { HEALTHCHECK_RESULT_TO_ICON, HEALTHCHECK_RESULT_TO_TEXT } from '../../../constants';
11
+ import { useTenantQueryParams } from '../../../useTenantQueryParams';
13
12
  import i18n from './i18n';
14
13
  import CircleExclamationIcon from '@gravity-ui/icons/svgs/circle-exclamation.svg';
15
- import './Healthcheck.scss';
16
- const b = cn('healthcheck');
17
- const icons = {
18
- [SelfCheckResult.UNSPECIFIED]: CircleQuestion,
19
- [SelfCheckResult.GOOD]: CircleCheck,
20
- [SelfCheckResult.DEGRADED]: CircleInfo,
21
- [SelfCheckResult.MAINTENANCE_REQUIRED]: CircleXmark,
22
- [SelfCheckResult.EMERGENCY]: TriangleExclamationFill,
14
+ import './HealthcheckPreview.scss';
15
+ const b = cn('ydb-healthcheck-preview');
16
+ const checkResultToAlertTheme = {
17
+ [SelfCheckResult.UNSPECIFIED]: 'normal',
18
+ [SelfCheckResult.GOOD]: 'success',
19
+ [SelfCheckResult.DEGRADED]: 'info',
20
+ [SelfCheckResult.MAINTENANCE_REQUIRED]: 'warning',
21
+ [SelfCheckResult.EMERGENCY]: 'danger',
23
22
  };
24
23
  export function HealthcheckPreview(props) {
25
- const { tenantName, active } = props;
24
+ var _a;
25
+ const { tenantName } = props;
26
26
  const [autoRefreshInterval] = useAutoRefreshInterval();
27
- const { metricsTab } = useTypedSelector((state) => state.tenant);
28
27
  const { name } = useClusterBaseInfo();
28
+ const { handleShowHealthcheckChange } = useTenantQueryParams();
29
29
  const healthcheckPreviewDisabled = name === 'ydb_ru';
30
30
  const { currentData: data, isFetching, error, } = healthcheckApi.useGetHealthcheckInfoQuery({ database: tenantName }, {
31
31
  //FIXME https://github.com/ydb-platform/ydb-embedded-ui/issues/1889
@@ -34,10 +34,10 @@ export function HealthcheckPreview(props) {
34
34
  });
35
35
  const [getHealthcheckQuery, { currentData: manualData, isFetching: isFetchingManually }] = healthcheckApi.useLazyGetHealthcheckInfoQuery();
36
36
  React.useEffect(() => {
37
- if (metricsTab === 'healthcheck' && healthcheckPreviewDisabled) {
37
+ if (healthcheckPreviewDisabled) {
38
38
  getHealthcheckQuery({ database: tenantName });
39
39
  }
40
- }, [metricsTab, healthcheckPreviewDisabled, tenantName, getHealthcheckQuery]);
40
+ }, [healthcheckPreviewDisabled, tenantName, getHealthcheckQuery]);
41
41
  React.useEffect(() => {
42
42
  const fetchHealthcheck = () => {
43
43
  if (healthcheckPreviewDisabled) {
@@ -50,20 +50,21 @@ export function HealthcheckPreview(props) {
50
50
  };
51
51
  }, [tenantName, healthcheckPreviewDisabled, getHealthcheckQuery]);
52
52
  const loading = (isFetching && data === undefined) || (isFetchingManually && manualData === undefined);
53
- const renderHeader = () => {
54
- return (_jsx("div", { className: b('preview-header'), children: _jsxs("div", { className: b('preview-title-wrapper'), children: [_jsx("div", { className: b('preview-title'), children: i18n('title.healthcheck') }), healthcheckPreviewDisabled ? (_jsx(Popover, { content: 'Healthcheck is disabled. Please update healthcheck manually.', placement: ['top'], className: b('icon-wrapper'), children: () => (_jsx(Icon, { size: 16, className: b('icon-warn'), data: CircleExclamationIcon })) })) : null] }) }));
55
- };
56
- const renderContent = () => {
53
+ const selfCheckResult = (data === null || data === void 0 ? void 0 : data.self_check_result) || (manualData === null || manualData === void 0 ? void 0 : manualData.self_check_result) || SelfCheckResult.UNSPECIFIED;
54
+ const modifier = selfCheckResult.toLowerCase();
55
+ if (loading) {
56
+ return _jsx(Skeleton, { className: b('skeleton') });
57
+ }
58
+ const issuesCount = (_a = data === null || data === void 0 ? void 0 : data.issue_log) === null || _a === void 0 ? void 0 : _a.filter((issue) => !issue.reason).length;
59
+ const issuesText = issuesCount ? i18n('description_problems', { count: issuesCount }) : '';
60
+ const renderAlertMessage = () => {
57
61
  if (error) {
58
- return _jsx(ResponseError, { error: error, defaultMessage: i18n('no-data') });
59
- }
60
- if (loading) {
61
- return _jsx(Loader, { size: "m" });
62
+ return _jsx(ResponseError, { error: error, defaultMessage: i18n('description_no-data') });
62
63
  }
63
- const selfCheckResult = (data === null || data === void 0 ? void 0 : data.self_check_result) || (manualData === null || manualData === void 0 ? void 0 : manualData.self_check_result) || SelfCheckResult.UNSPECIFIED;
64
- const modifier = selfCheckResult.toLowerCase();
65
- return (_jsx("div", { className: b('preview-content'), children: _jsxs("div", { className: b('preview-issue', { [modifier]: true }), children: [_jsx(Icon, { className: b('preview-status-icon'), data: icons[selfCheckResult] }), _jsx("div", { className: b('self-check-status-indicator'), children: selfCheckResult.replace(/_/g, ' ') })] }) }));
64
+ return (_jsxs(Flex, { gap: 1, alignItems: "center", justifyContent: 'space-between', className: b('alert-message'), children: [_jsxs(Flex, { gap: 1, alignItems: "center", children: [HEALTHCHECK_RESULT_TO_TEXT[selfCheckResult], issuesText ? ` ${issuesText}` : '', healthcheckPreviewDisabled ? (_jsx(Popover, { content: 'Healthcheck is disabled. Please update healthcheck manually.', placement: ['top'], className: b('icon-wrapper'), children: () => _jsx(Icon, { size: 16, data: CircleExclamationIcon }) })) : null] }), issuesCount && (_jsx(Button, { onClick: () => {
65
+ handleShowHealthcheckChange(true);
66
+ }, children: i18n('action_review-issues') }))] }));
66
67
  };
67
- return (_jsxs(DiagnosticCard, { className: b('preview'), active: active, children: [renderHeader(), renderContent()] }));
68
+ return (_jsx(Alert, { className: b(), theme: checkResultToAlertTheme[selfCheckResult], view: error ? 'outlined' : 'filled', message: renderAlertMessage(), icon: _jsx(Icon, { size: 18, data: HEALTHCHECK_RESULT_TO_ICON[selfCheckResult], className: b('icon', { [modifier]: true }) }) }));
68
69
  }
69
70
  //# sourceMappingURL=HealthcheckPreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HealthcheckPreview.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HealthcheckPreview.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ .ydb-healthcheck-preview {
2
+ $block: &;
3
+
4
+ &__icon-wrapper {
5
+ display: inline-flex;
6
+
7
+ color: var(--g-color-text-warning);
8
+ }
9
+
10
+ &__skeleton {
11
+ width: 100%;
12
+ height: 60px;
13
+ }
14
+
15
+ &__alert-message {
16
+ height: 30px;
17
+ }
18
+
19
+ &__icon {
20
+ display: flex;
21
+
22
+ height: 100%;
23
+ margin: auto;
24
+
25
+ &_good {
26
+ color: var(--g-color-text-positive);
27
+ }
28
+ &_degraded {
29
+ color: var(--g-color-text-info);
30
+ }
31
+ &_emergency {
32
+ color: var(--g-color-text-danger);
33
+ }
34
+ &_unspecified {
35
+ color: var(--g-color-text-misc);
36
+ }
37
+ &_maintenance_required {
38
+ color: var(--g-color-text-warning-heavy);
39
+ }
40
+ }
41
+ }
@@ -1,8 +1,10 @@
1
1
  {
2
- "title.healthcheck": "Healthcheck",
3
- "label.update": "Update",
4
- "label.show-details": "Show details",
5
- "label.issues": "Issues:",
6
- "status_message.ok": "No issues",
7
- "no-data": "no healthcheck data"
2
+ "description_problems": [
3
+ "There is {{count}} issue.",
4
+ "There are {{count}} issues.",
5
+ "There are {{count}} issues.",
6
+ "There are {{count}} issues."
7
+ ],
8
+ "action_review-issues": "Review issues",
9
+ "description_no-data": "No healthcheck data"
8
10
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "no-data" | "title.healthcheck" | "label.update" | "label.show-details" | "label.issues" | "status_message.ok", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "description_no-data" | "description_problems" | "action_review-issues", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -1,6 +1,5 @@
1
1
  import { registerKeysets } from '../../../../../../utils/i18n';
2
2
  import en from './en.json';
3
- import ru from './ru.json';
4
3
  const COMPONENT = 'ydb-diagnostics-healthcheck';
5
- export default registerKeysets(COMPONENT, { ru, en });
4
+ export default registerKeysets(COMPONENT, { en });
6
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAEhD,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAE,EAAE,EAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAEhD,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
@@ -9,6 +9,8 @@ interface MetricCardProps {
9
9
  label?: string;
10
10
  status?: MetricStatus;
11
11
  metrics: DiagnosticsCardMetric[];
12
+ interactive?: boolean;
13
+ note?: string;
12
14
  }
13
- export declare function MetricCard({ active, label, status, metrics }: MetricCardProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function MetricCard({ active, label, status, metrics, interactive, note }: MetricCardProps): import("react/jsx-runtime").JSX.Element;
14
16
  export {};
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Flex, HelpMark } from '@gravity-ui/uikit';
2
3
  import { DiagnosticCard } from '../../../../../../components/DiagnosticCard/DiagnosticCard';
3
4
  import { ProgressViewer } from '../../../../../../components/ProgressViewer/ProgressViewer';
4
5
  import { StatusIcon } from '../../../../../../components/StatusIcon/StatusIcon';
@@ -19,12 +20,18 @@ const getStatusIcon = (status) => {
19
20
  }
20
21
  return null;
21
22
  };
22
- export function MetricCard({ active, label, status, metrics }) {
23
+ export function MetricCard({ active, label, status, metrics, interactive, note }) {
23
24
  const renderContent = () => {
24
25
  return metrics.map(({ title, ...progressViewerProps }, index) => {
25
26
  return (_jsxs("div", { className: b('metric'), children: [_jsx("div", { className: b('metric-title'), children: title }), _jsx(ProgressViewer, { size: "xs", colorizeProgress: true, ...progressViewerProps })] }, index));
26
27
  });
27
28
  };
28
- return (_jsxs(DiagnosticCard, { className: b({ active }), active: active, children: [_jsxs("div", { className: b('header'), children: [label && _jsx("div", { className: b('label'), children: label }), getStatusIcon(status)] }), _jsx("div", { className: b('content'), children: renderContent() })] }));
29
+ const renderNote = () => {
30
+ if (!note) {
31
+ return null;
32
+ }
33
+ return (_jsx(HelpMark, { placement: "top", className: b('note'), children: note }));
34
+ };
35
+ return (_jsxs(DiagnosticCard, { className: b({ active }), active: active, interactive: interactive, children: [_jsxs("div", { className: b('header'), children: [label && (_jsxs(Flex, { gap: 1, alignItems: "center", className: b('label'), children: [label, renderNote()] })), getStatusIcon(status)] }), _jsx("div", { className: b('content'), children: renderContent() })] }));
29
36
  }
30
37
  //# sourceMappingURL=MetricCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricCard.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAC1F,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAE1F,OAAO,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAC,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAE9C,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC5C,IAAI,WAA8B,CAAC;IAEnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAaF,MAAM,UAAU,UAAU,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAkB;IACxE,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,mBAAmB,EAAC,EAAE,KAAK,EAAE,EAAE;YAC1D,OAAO,CACH,eAAiB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACnC,cAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,YAAG,KAAK,GAAO,EAChD,KAAC,cAAc,IAAC,IAAI,EAAC,IAAI,EAAC,gBAAgB,EAAE,IAAI,KAAM,mBAAmB,GAAI,KAFvE,KAAK,CAGT,CACT,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,OAAO,CACH,MAAC,cAAc,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAE,MAAM,EAAE,MAAM,aAClD,eAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACtB,KAAK,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAG,KAAK,GAAO,EAClD,aAAa,CAAC,MAAM,CAAC,IACpB,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAG,aAAa,EAAE,GAAO,IACxC,CACpB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"MetricCard.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricCard/MetricCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAC1F,OAAO,EAAC,cAAc,EAAC,MAAM,4DAA4D,CAAC;AAE1F,OAAO,EAAC,UAAU,EAAC,MAAM,oDAAoD,CAAC;AAE9E,OAAO,EAAC,KAAK,EAAC,MAAM,mCAAmC,CAAC;AACxD,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAE9C,OAAO,mBAAmB,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC5C,IAAI,WAA8B,CAAC;IAEnC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtB,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACd,OAAO,KAAC,UAAU,IAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,GAAG,GAAG,CAAC;IACrE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAeF,MAAM,UAAU,UAAU,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAkB;IAC3F,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,GAAG,mBAAmB,EAAC,EAAE,KAAK,EAAE,EAAE;YAC1D,OAAO,CACH,eAAiB,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACnC,cAAK,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,YAAG,KAAK,GAAO,EAChD,KAAC,cAAc,IAAC,IAAI,EAAC,IAAI,EAAC,gBAAgB,EAAE,IAAI,KAAM,mBAAmB,GAAI,KAFvE,KAAK,CAGT,CACT,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CACH,KAAC,QAAQ,IAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACzC,IAAI,GACE,CACd,CAAC;IACN,CAAC,CAAC;IACF,OAAO,CACH,MAAC,cAAc,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,MAAM,EAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,aAC5E,eAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,aACtB,KAAK,IAAI,CACN,MAAC,IAAI,IAAC,GAAG,EAAE,CAAC,EAAE,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aAClD,KAAK,EACL,UAAU,EAAE,IACV,CACV,EACA,aAAa,CAAC,MAAM,CAAC,IACpB,EACN,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAG,aAAa,EAAE,GAAO,IACxC,CACpB,CAAC;AACN,CAAC"}
@@ -14,6 +14,13 @@
14
14
  margin-bottom: 10px;
15
15
  }
16
16
 
17
+ &__note {
18
+ display: flex;
19
+ .g-help-mark__button {
20
+ display: flex;
21
+ }
22
+ }
23
+
17
24
  &__label {
18
25
  font-weight: 600;
19
26
 
@@ -13,7 +13,7 @@ interface MetricsCardsProps {
13
13
  memoryStats?: TenantMetricStats[];
14
14
  blobStorageStats?: TenantStorageStats[];
15
15
  tabletStorageStats?: TenantStorageStats[];
16
- tenantName: string;
16
+ networkStats?: TenantMetricStats[];
17
17
  }
18
- export declare function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, tenantName, }: MetricsCardsProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, }: MetricsCardsProps): import("react/jsx-runtime").JSX.Element;
19
19
  export {};
@@ -4,16 +4,17 @@ import { parseQuery } from '../../../../../routes';
4
4
  import { TENANT_METRICS_TABS_IDS } from '../../../../../store/reducers/tenant/constants';
5
5
  import { METRIC_STATUS, MetricStatusToSeverity, } from '../../../../../store/reducers/tenants/contants';
6
6
  import { getMetricStatusFromUsage } from '../../../../../store/reducers/tenants/utils';
7
+ import { formatBytes } from '../../../../../utils/bytesParsers';
7
8
  import { cn } from '../../../../../utils/cn';
9
+ import { SHOW_NETWORK_UTILIZATION } from '../../../../../utils/constants';
8
10
  import { formatStorageValues } from '../../../../../utils/dataFormatters/dataFormatters';
9
- import { useTypedSelector } from '../../../../../utils/hooks';
11
+ import { useSetting, useTypedSelector } from '../../../../../utils/hooks';
10
12
  import { TenantTabsGroups, getTenantPath } from '../../../TenantPages';
11
- import { HealthcheckPreview } from '../Healthcheck/HealthcheckPreview';
12
13
  import i18n from '../i18n';
13
14
  import { MetricCard } from './MetricCard/MetricCard';
14
15
  import './MetricsCards.scss';
15
16
  const b = cn('metrics-cards');
16
- export function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, tenantName, }) {
17
+ export function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tabletStorageStats, networkStats, }) {
17
18
  const location = useLocation();
18
19
  const { metricsTab } = useTypedSelector((state) => state.tenant);
19
20
  const queryParams = parseQuery(location);
@@ -37,12 +38,8 @@ export function MetricsCards({ poolsCpuStats, memoryStats, blobStorageStats, tab
37
38
  ...queryParams,
38
39
  [TenantTabsGroups.metricsTab]: getTabIfNotActive(TENANT_METRICS_TABS_IDS.memory),
39
40
  }),
40
- [TENANT_METRICS_TABS_IDS.healthcheck]: getTenantPath({
41
- ...queryParams,
42
- [TenantTabsGroups.metricsTab]: getTabIfNotActive(TENANT_METRICS_TABS_IDS.healthcheck),
43
- }),
44
41
  };
45
- return (_jsxs("div", { className: b(), children: [_jsx(Link, { to: tabLinks.cpu, className: b('tab'), children: _jsx(CPUCard, { poolsCpuStats: poolsCpuStats, active: metricsTab === TENANT_METRICS_TABS_IDS.cpu }) }), _jsx(Link, { to: tabLinks.storage, className: b('tab'), children: _jsx(StorageCard, { blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, active: metricsTab === TENANT_METRICS_TABS_IDS.storage }) }), _jsx(Link, { to: tabLinks.memory, className: b('tab'), children: _jsx(MemoryCard, { memoryStats: memoryStats, active: metricsTab === TENANT_METRICS_TABS_IDS.memory }) }), _jsx(Link, { to: tabLinks.healthcheck, className: b('tab'), children: _jsx(HealthcheckPreview, { tenantName: tenantName, active: metricsTab === TENANT_METRICS_TABS_IDS.healthcheck }) })] }));
42
+ return (_jsxs("div", { className: b(), children: [_jsx(Link, { to: tabLinks.cpu, className: b('tab'), children: _jsx(CPUCard, { poolsCpuStats: poolsCpuStats, active: metricsTab === TENANT_METRICS_TABS_IDS.cpu }) }), _jsx(Link, { to: tabLinks.storage, className: b('tab'), children: _jsx(StorageCard, { blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, active: metricsTab === TENANT_METRICS_TABS_IDS.storage }) }), _jsx(Link, { to: tabLinks.memory, className: b('tab'), children: _jsx(MemoryCard, { memoryStats: memoryStats, active: metricsTab === TENANT_METRICS_TABS_IDS.memory }) }), _jsx(NetworkCard, { networkStats: networkStats })] }));
46
43
  }
47
44
  function CPUCard({ poolsCpuStats = [], active }) {
48
45
  let status = METRIC_STATUS.Unspecified;
@@ -99,4 +96,26 @@ function MemoryCard({ active, memoryStats = [] }) {
99
96
  });
100
97
  return (_jsx(MetricCard, { label: i18n('cards.memory-label'), active: active, metrics: metrics, status: status }));
101
98
  }
99
+ function NetworkCard({ networkStats }) {
100
+ const [showNetworkUtilization] = useSetting(SHOW_NETWORK_UTILIZATION);
101
+ if (!showNetworkUtilization || !networkStats) {
102
+ return null;
103
+ }
104
+ let status = METRIC_STATUS.Unspecified;
105
+ const metrics = networkStats.map((metric) => {
106
+ const { used, limit, usage } = metric;
107
+ const metricStatus = getMetricStatusFromUsage(usage);
108
+ if (MetricStatusToSeverity[metricStatus] > MetricStatusToSeverity[status]) {
109
+ status = metricStatus;
110
+ }
111
+ return {
112
+ title: formatBytes({ value: limit, withSpeedLabel: true }),
113
+ value: used,
114
+ capacity: limit,
115
+ percents: true,
116
+ withOverflow: true,
117
+ };
118
+ });
119
+ return (_jsx(MetricCard, { interactive: false, label: i18n('cards.network-label'), note: i18n('cards.network-note'), metrics: metrics, status: status }));
120
+ }
102
121
  //# sourceMappingURL=MetricsCards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetricsCards.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,uBAAuB,EAAC,MAAM,gDAAgD,CAAC;AAEvF,OAAO,EACH,aAAa,EACb,sBAAsB,GACzB,MAAM,gDAAgD,CAAC;AAOxD,OAAO,EAAC,wBAAwB,EAAC,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAC,EAAE,EAAC,MAAM,yBAAyB,CAAC;AAC3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,oDAAoD,CAAC;AACvF,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AACrE,OAAO,IAAI,MAAM,SAAS,CAAC;AAG3B,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AAEnD,OAAO,qBAAqB,CAAC;AAE7B,MAAM,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;AAmB9B,MAAM,UAAU,YAAY,CAAC,EACzB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,GACM;IAChB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAC,UAAU,EAAC,GAAG,gBAAgB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEzC,gCAAgC;IAChC,MAAM,iBAAiB,GAAG,CAAC,GAAqB,EAAE,EAAE;QAChD,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAqC;QAC/C,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;YACzC,GAAG,WAAW;YACd,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,GAAG,CAAC;SAChF,CAAC;QACF,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;YAC7C,GAAG,WAAW;YACd,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,CAAC;SACpF,CAAC;QACF,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;YAC5C,GAAG,WAAW;YACd,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,MAAM,CAAC;SACnF,CAAC;QACF,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;YACjD,GAAG,WAAW;YACd,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,WAAW,CAAC;SACxF,CAAC;KACL,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,aACf,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YACvC,KAAC,OAAO,IACJ,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,UAAU,KAAK,uBAAuB,CAAC,GAAG,GACpD,GACC,EACP,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YAC3C,KAAC,WAAW,IACR,gBAAgB,EAAE,gBAAgB,EAClC,kBAAkB,EAAE,kBAAkB,EACtC,MAAM,EAAE,UAAU,KAAK,uBAAuB,CAAC,OAAO,GACxD,GACC,EACP,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YAC1C,KAAC,UAAU,IACP,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,UAAU,KAAK,uBAAuB,CAAC,MAAM,GACvD,GACC,EACP,KAAC,IAAI,IAAC,EAAE,EAAE,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,YAC/C,KAAC,kBAAkB,IACf,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,UAAU,KAAK,uBAAuB,CAAC,WAAW,GAC5D,GACC,IACL,CACT,CAAC;AACN,CAAC;AAOD,SAAS,OAAO,CAAC,EAAC,aAAa,GAAG,EAAE,EAAE,MAAM,EAAe;IACvD,IAAI,MAAM,GAAiB,aAAa,CAAC,WAAW,CAAC;IAErD,MAAM,OAAO,GAA4B,aAAa;QAClD,oFAAoF;SACnF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;SAChE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACV,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;QAExC,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACnD,IAAI,sBAAsB,CAAC,UAAU,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtE,MAAM,GAAG,UAAU,CAAC;QACxB,CAAC;QAED,OAAO;YACH,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;SAClB,CAAC;IACN,CAAC,CAAC,CAAC;IAEP,OAAO,CACH,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAChB,CACL,CAAC;AACN,CAAC;AAQD,SAAS,WAAW,CAAC,EAAC,gBAAgB,GAAG,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAmB;IACtF,IAAI,MAAM,GAAiB,aAAa,CAAC,WAAW,CAAC;IAErD,kFAAkF;IAClF,MAAM,YAAY,GAAG,kBAAkB,IAAI,gBAAgB,CAAC;IAE5D,MAAM,OAAO,GAA4B,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACjE,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC;QAE1C,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,sBAAsB,CAAC,YAAY,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,MAAM,GAAG,YAAY,CAAC;QAC1B,CAAC;QAED,OAAO;YACH,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,mBAAmB;SACpC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAChB,CACL,CAAC;AACN,CAAC;AAMD,SAAS,UAAU,CAAC,EAAC,MAAM,EAAE,WAAW,GAAG,EAAE,EAAkB;IAC3D,IAAI,MAAM,GAAiB,aAAa,CAAC,WAAW,CAAC;IAErD,MAAM,OAAO,GAA4B,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAChE,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC;QAE1C,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,sBAAsB,CAAC,YAAY,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,MAAM,GAAG,YAAY,CAAC;QAC1B,CAAC;QAED,OAAO;YACH,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,mBAAmB;SACpC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,OAAO,CACH,KAAC,UAAU,IACP,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GAChB,CACL,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"MetricsCards.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/TenantOverview/MetricsCards/MetricsCards.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Flex, Loader } from '@gravity-ui/uikit';
2
+ import { Flex } from '@gravity-ui/uikit';
3
3
  import { EntityStatus } from '../../../../components/EntityStatus/EntityStatus';
4
+ import { LoaderWrapper } from '../../../../components/LoaderWrapper/LoaderWrapper';
4
5
  import { LogsButton } from '../../../../components/LogsButton/LogsButton';
5
6
  import { MonitoringButton } from '../../../../components/MonitoringButton/MonitoringButton';
6
7
  import { overviewApi } from '../../../../store/reducers/overview/overview';
@@ -12,7 +13,7 @@ import { useAutoRefreshInterval, useTypedSelector } from '../../../../utils/hook
12
13
  import { useClusterNameFromQuery } from '../../../../utils/hooks/useDatabaseFromQuery';
13
14
  import { mapDatabaseTypeToDBName } from '../../utils/schema';
14
15
  import { DefaultOverviewContent } from './DefaultOverviewContent/DefaultOverviewContent';
15
- import { HealthcheckDetails } from './Healthcheck/HealthcheckDetails';
16
+ import { HealthcheckPreview } from './Healthcheck/HealthcheckPreview';
16
17
  import { MetricsCards } from './MetricsCards/MetricsCards';
17
18
  import { TenantCpu } from './TenantCpu/TenantCpu';
18
19
  import { TenantMemory } from './TenantMemory/TenantMemory';
@@ -51,7 +52,7 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
51
52
  },
52
53
  };
53
54
  // === === ===
54
- const { blobStorage, tabletStorage, blobStorageLimit, tabletStorageLimit, poolsStats, memoryStats, blobStorageStats, tabletStorageStats, } = calculateTenantMetrics(tenantData);
55
+ const { blobStorage, tabletStorage, blobStorageLimit, tabletStorageLimit, poolsStats, memoryStats, networkStats, blobStorageStats, tabletStorageStats, } = calculateTenantMetrics(tenantData);
55
56
  const storageMetrics = {
56
57
  blobStorageUsed: blobStorage,
57
58
  blobStorageLimit,
@@ -72,19 +73,13 @@ export function TenantOverview({ tenantName, additionalTenantProps, additionalNo
72
73
  case TENANT_METRICS_TABS_IDS.memory: {
73
74
  return (_jsx(TenantMemory, { tenantName: tenantName, memoryUsed: tenantData.MemoryUsed, memoryLimit: tenantData.MemoryLimit, memoryStats: tenantData.MemoryStats }));
74
75
  }
75
- case TENANT_METRICS_TABS_IDS.healthcheck: {
76
- return _jsx(HealthcheckDetails, { tenantName: tenantName });
77
- }
78
76
  default: {
79
77
  return _jsx(DefaultOverviewContent, { database: tenantName });
80
78
  }
81
79
  }
82
80
  };
83
- if (tenantLoading) {
84
- return (_jsx("div", { className: b('loader'), children: _jsx(Loader, { size: "m" }) }));
85
- }
86
81
  const monitoringLink = (_c = additionalTenantProps === null || additionalTenantProps === void 0 ? void 0 : additionalTenantProps.getMonitoringLink) === null || _c === void 0 ? void 0 : _c.call(additionalTenantProps, Name, Type);
87
82
  const logsLink = (_d = additionalTenantProps === null || additionalTenantProps === void 0 ? void 0 : additionalTenantProps.getLogsLink) === null || _d === void 0 ? void 0 : _d.call(additionalTenantProps, Name);
88
- return (_jsxs("div", { className: b(), children: [_jsxs("div", { className: b('info'), children: [_jsx("div", { className: b('top-label'), children: tenantType }), _jsxs(Flex, { alignItems: "center", gap: "1", className: b('top'), children: [renderName(), _jsxs(Flex, { gap: "2", children: [monitoringLink && _jsx(MonitoringButton, { href: monitoringLink }), logsLink && _jsx(LogsButton, { href: logsLink })] })] }), _jsx(MetricsCards, { poolsCpuStats: poolsStats, memoryStats: memoryStats, blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, tenantName: tenantName })] }), renderTabContent()] }));
83
+ return (_jsx(LoaderWrapper, { loading: tenantLoading, children: _jsxs("div", { className: b(), children: [_jsxs("div", { className: b('info'), children: [_jsx("div", { className: b('top-label'), children: tenantType }), _jsxs(Flex, { alignItems: "center", gap: "1", className: b('top'), children: [renderName(), _jsxs(Flex, { gap: "2", children: [monitoringLink && _jsx(MonitoringButton, { href: monitoringLink }), logsLink && _jsx(LogsButton, { href: logsLink })] })] }), _jsxs(Flex, { direction: "column", gap: 3, children: [_jsx(HealthcheckPreview, { tenantName: tenantName }), _jsx(MetricsCards, { poolsCpuStats: poolsStats, memoryStats: memoryStats, blobStorageStats: blobStorageStats, tabletStorageStats: tabletStorageStats, networkStats: networkStats })] })] }), renderTabContent()] }) }));
89
84
  }
90
85
  //# sourceMappingURL=TenantOverview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TenantOverview.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TenantOverview.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TenantOverview/TenantOverview.tsx"],"names":[],"mappings":"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"}
@@ -6,10 +6,6 @@
6
6
  height: 100%;
7
7
  padding-bottom: 20px;
8
8
 
9
- &__loader {
10
- display: flex;
11
- justify-content: center;
12
- }
13
9
  &__tenant-name-wrapper {
14
10
  display: flex;
15
11
  overflow: hidden;
@@ -35,7 +31,7 @@
35
31
  position: sticky;
36
32
  left: 0;
37
33
 
38
- width: max-content;
34
+ width: 100%;
39
35
  }
40
36
 
41
37
  &__title {
@@ -19,6 +19,8 @@
19
19
  "cards.cpu-label": "CPU",
20
20
  "cards.storage-label": "Storage",
21
21
  "cards.memory-label": "Memory",
22
+ "cards.network-label": "Network",
23
+ "cards.network-note": "Network usage is the average outgoing bandwidth usage across all nodes in the database",
22
24
  "charts.queries-per-second": "Queries per second",
23
25
  "charts.transaction-latency": "Transactions latencies {{percentile}}",
24
26
  "charts.cpu-usage": "CPU usage by pool",
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "queries" | "nodes" | "tables" | "no-data" | "top" | "groups" | "shards" | "no-pools-data" | "top-nodes.empty-data" | "top-groups.empty-data" | "by-pools-usage" | "by-cpu-time" | "by-cpu-usage" | "by-load" | "by-memory" | "by-usage" | "by-size" | "cards.cpu-label" | "cards.storage-label" | "cards.memory-label" | "charts.queries-per-second" | "charts.transaction-latency" | "charts.cpu-usage" | "charts.storage-usage" | "charts.memory-usage" | "storage.tablet-storage-title" | "storage.tablet-storage-description" | "storage.db-storage-title" | "storage.db-storage-description" | "executed-last-hour" | "column-header.process", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "queries" | "nodes" | "tables" | "no-data" | "top" | "groups" | "shards" | "no-pools-data" | "top-nodes.empty-data" | "top-groups.empty-data" | "by-pools-usage" | "by-cpu-time" | "by-cpu-usage" | "by-load" | "by-memory" | "by-usage" | "by-size" | "cards.cpu-label" | "cards.storage-label" | "cards.memory-label" | "cards.network-label" | "cards.network-note" | "charts.queries-per-second" | "charts.transaction-latency" | "charts.cpu-usage" | "charts.storage-usage" | "charts.memory-usage" | "storage.tablet-storage-title" | "storage.tablet-storage-description" | "storage.db-storage-title" | "storage.db-storage-description" | "executed-last-hour" | "column-header.process", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -17,6 +17,7 @@ import { QueryDetailsDrawerContent } from './QueryDetails/QueryDetailsDrawerCont
17
17
  import { getTopQueriesColumns } from './columns/columns';
18
18
  import { DEFAULT_TOP_QUERIES_COLUMNS, QUERIES_COLUMNS_TITLES, REQUIRED_TOP_QUERIES_COLUMNS, TOP_QUERIES_COLUMNS_WIDTH_LS_KEY, TOP_QUERIES_SELECTED_COLUMNS_LS_KEY, } from './columns/constants';
19
19
  import { DEFAULT_TIME_FILTER_VALUE, TIME_FRAME_OPTIONS } from './constants';
20
+ import { useScrollToSelected } from './hooks/useScrollToSelected';
20
21
  import { useSetSelectedTopQueryRowFromParams } from './hooks/useSetSelectedTopQueryRowFromParams';
21
22
  import { useTopQueriesSort } from './hooks/useTopQueriesSort';
22
23
  import i18n from './i18n';
@@ -30,6 +31,8 @@ export const TopQueriesData = ({ tenantName, timeFrame, renderQueryModeControl,
30
31
  // Internal state for selected row
31
32
  // null is reserved for not found state
32
33
  const [selectedRow, setSelectedRow] = React.useState(undefined);
34
+ // Ref for react-list component to enable scrolling to selected row
35
+ const reactListRef = React.useRef(null);
33
36
  // Get columns for top queries
34
37
  const columns = React.useMemo(() => {
35
38
  return getTopQueriesColumns();
@@ -45,6 +48,13 @@ export const TopQueriesData = ({ tenantName, timeFrame, renderQueryModeControl,
45
48
  }, { pollingInterval: autoRefreshInterval });
46
49
  const rows = (_b = (_a = currentData === null || currentData === void 0 ? void 0 : currentData.resultSets) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.result;
47
50
  useSetSelectedTopQueryRowFromParams(setSelectedRow, rows);
51
+ // Enhanced table settings with dynamicInnerRef for scrolling
52
+ const tableSettings = React.useMemo(() => ({
53
+ ...TOP_QUERIES_TABLE_SETTINGS,
54
+ dynamicInnerRef: reactListRef,
55
+ }), []);
56
+ // Use custom hook to handle scrolling to selected row
57
+ useScrollToSelected({ selectedRow, rows, reactListRef });
48
58
  const handleCloseDetails = React.useCallback(() => {
49
59
  setSelectedRow(undefined);
50
60
  }, [setSelectedRow]);
@@ -68,6 +78,6 @@ export const TopQueriesData = ({ tenantName, timeFrame, renderQueryModeControl,
68
78
  }
69
79
  }, [isDrawerVisible]);
70
80
  const drawerControls = React.useMemo(() => [{ type: 'copyLink', link: getTopQueryUrl() }, { type: 'close' }], [getTopQueryUrl]);
71
- return (_jsx(DrawerWrapper, { isDrawerVisible: isDrawerVisible, onCloseDrawer: handleCloseDetails, renderDrawerContent: renderDrawerContent, drawerId: "query-details", storageKey: "kv-top-queries-drawer-width", detectClickOutside: true, isPercentageWidth: true, title: i18n('query-details.title'), drawerControls: drawerControls, children: _jsxs(TableWithControlsLayout, { children: [_jsxs(TableWithControlsLayout.Controls, { children: [renderQueryModeControl(), _jsx(Select, { options: TIME_FRAME_OPTIONS, value: [timeFrame], onUpdate: handleTimeFrameChange }), _jsx(DateRange, { from: filters.from, to: filters.to, onChange: handleDateRangeChange, defaultValue: DEFAULT_TIME_FILTER_VALUE }), _jsx(Search, { value: filters.text, inputRef: inputRef, onChange: handleTextSearchUpdate, placeholder: i18n('filter.text.placeholder'), className: b('search') }), _jsx(TableColumnSetup, { popupWidth: 200, items: columnsToSelect, showStatus: true, onUpdate: setColumns, sortable: false })] }), error ? _jsx(ResponseError, { error: parseQueryErrorToString(error) }) : null, _jsx(TableWithControlsLayout.Table, { loading: isLoading, children: _jsx(ResizeableDataTable, { emptyDataMessage: i18n('no-data'), columnsWidthLSKey: TOP_QUERIES_COLUMNS_WIDTH_LS_KEY, columns: columnsToShow, data: rows || [], loading: isFetching && currentData === undefined, settings: TOP_QUERIES_TABLE_SETTINGS, onRowClick: onRowClick, rowClassName: (row) => b('row', { active: isEqual(row, selectedRow) }), sortOrder: tableSort, onSort: handleTableSort }) })] }) }));
81
+ return (_jsx(DrawerWrapper, { isDrawerVisible: isDrawerVisible, onCloseDrawer: handleCloseDetails, renderDrawerContent: renderDrawerContent, drawerId: "query-details", storageKey: "kv-top-queries-drawer-width", detectClickOutside: true, isPercentageWidth: true, title: i18n('query-details.title'), drawerControls: drawerControls, children: _jsxs(TableWithControlsLayout, { children: [_jsxs(TableWithControlsLayout.Controls, { children: [renderQueryModeControl(), _jsx(Select, { options: TIME_FRAME_OPTIONS, value: [timeFrame], onUpdate: handleTimeFrameChange }), _jsx(DateRange, { from: filters.from, to: filters.to, onChange: handleDateRangeChange, defaultValue: DEFAULT_TIME_FILTER_VALUE }), _jsx(Search, { value: filters.text, inputRef: inputRef, onChange: handleTextSearchUpdate, placeholder: i18n('filter.text.placeholder'), className: b('search') }), _jsx(TableColumnSetup, { popupWidth: 200, items: columnsToSelect, showStatus: true, onUpdate: setColumns, sortable: false })] }), error ? _jsx(ResponseError, { error: parseQueryErrorToString(error) }) : null, _jsx(TableWithControlsLayout.Table, { loading: isLoading, children: _jsx(ResizeableDataTable, { emptyDataMessage: i18n('no-data'), columnsWidthLSKey: TOP_QUERIES_COLUMNS_WIDTH_LS_KEY, columns: columnsToShow, data: rows || [], loading: isFetching && currentData === undefined, settings: tableSettings, onRowClick: onRowClick, rowClassName: (row) => b('row', { active: isEqual(row, selectedRow) }), sortOrder: tableSort, onSort: handleTableSort }) })] }) }));
72
82
  };
73
83
  //# sourceMappingURL=TopQueriesData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopQueriesData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TopQueriesData.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Diagnostics/TopQueries/TopQueriesData.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import DataTable from '@gravity-ui/react-data-table';
3
+ import { FixedHeightQuery } from '../../../../../components/FixedHeightQuery/FixedHeightQuery';
3
4
  import { YDBSyntaxHighlighter } from '../../../../../components/SyntaxHighlighter/YDBSyntaxHighlighter';
4
- import { TruncatedQuery } from '../../../../../components/TruncatedQuery/TruncatedQuery';
5
5
  import { cn } from '../../../../../utils/cn';
6
6
  import { formatDateTime, formatNumber } from '../../../../../utils/dataFormatters/dataFormatters';
7
7
  import { generateHash } from '../../../../../utils/generateHash';
8
8
  import { formatToMs, parseUsToMs } from '../../../../../utils/timeParsers';
9
- import { MAX_QUERY_HEIGHT } from '../../../utils/constants';
10
9
  import { QUERIES_COLUMNS_IDS, QUERIES_COLUMNS_TITLES, isSortableRunningQueriesColumn, isSortableTopQueriesColumn, } from './constants';
11
10
  import '../TopQueries.scss';
12
11
  const b = cn('kv-top-queries');
@@ -22,7 +21,7 @@ const queryTextColumn = {
22
21
  header: QUERIES_COLUMNS_TITLES.QueryText,
23
22
  render: ({ row }) => {
24
23
  var _a;
25
- return (_jsx("div", { className: b('query'), children: _jsx(TruncatedQuery, { value: (_a = row.QueryText) === null || _a === void 0 ? void 0 : _a.toString(), maxQueryHeight: MAX_QUERY_HEIGHT, hasClipboardButton: true }) }));
24
+ return (_jsx("div", { className: b('query'), children: _jsx(FixedHeightQuery, { value: (_a = row.QueryText) === null || _a === void 0 ? void 0 : _a.toString(), lines: 3, hasClipboardButton: true }) }));
26
25
  },
27
26
  width: 500,
28
27
  };