ydb-embedded-ui 15.8.0 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/dist/components/EvictVDiskButton/i18n/en.json +2 -2
  2. package/dist/components/MetricChart/reducer.d.ts +2 -2
  3. package/dist/components/PDiskInfo/PDiskInfo.js +4 -1
  4. package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
  5. package/dist/components/PDiskInfo/i18n/en.json +1 -0
  6. package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
  7. package/dist/components/StorageGroupInfo/StorageGroupInfo.js +6 -2
  8. package/dist/components/StorageGroupInfo/StorageGroupInfo.js.map +1 -1
  9. package/dist/components/StorageGroupInfo/i18n/en.json +1 -0
  10. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  11. package/dist/components/VDiskInfo/VDiskInfo.js +2 -2
  12. package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
  13. package/dist/containers/App/NavigationWrapper.js +4 -2
  14. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  15. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js +148 -29
  16. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js.map +1 -1
  17. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +106 -10
  18. package/dist/containers/Cluster/i18n/en.json +23 -0
  19. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  20. package/dist/containers/Clusters/Clusters.js +17 -5
  21. package/dist/containers/Clusters/Clusters.js.map +1 -1
  22. package/dist/containers/Clusters/i18n/en.json +1 -0
  23. package/dist/containers/Clusters/i18n/index.d.ts +1 -1
  24. package/dist/containers/Header/hooks/useClusterData.d.ts +1 -0
  25. package/dist/containers/Operations/Operations.js +2 -2
  26. package/dist/containers/Operations/Operations.js.map +1 -1
  27. package/dist/containers/Operations/columns.d.ts +1 -2
  28. package/dist/containers/Operations/columns.js +3 -5
  29. package/dist/containers/Operations/columns.js.map +1 -1
  30. package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +0 -5
  31. package/dist/containers/Operations/useOperationsInfiniteQuery.js +14 -11
  32. package/dist/containers/Operations/useOperationsInfiniteQuery.js.map +1 -1
  33. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.d.ts +15 -3
  34. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +41 -22
  35. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -1
  36. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +36 -45
  37. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
  38. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.d.ts +17 -0
  39. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js +19 -0
  40. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js.map +1 -0
  41. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.d.ts +16 -0
  42. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js +33 -0
  43. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js.map +1 -0
  44. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.d.ts +14 -0
  45. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js +39 -0
  46. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js.map +1 -0
  47. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +6 -3
  48. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
  49. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.d.ts +27 -0
  50. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js +64 -0
  51. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js.map +1 -0
  52. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.d.ts +6 -0
  53. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js +38 -0
  54. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js.map +1 -0
  55. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.d.ts +32 -0
  56. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js +94 -0
  57. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js.map +1 -0
  58. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.d.ts +11 -0
  59. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js +45 -0
  60. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js.map +1 -0
  61. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.d.ts +10 -0
  62. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js +53 -0
  63. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js.map +1 -0
  64. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.d.ts +10 -0
  65. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js +19 -0
  66. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js.map +1 -0
  67. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.d.ts +18 -0
  68. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js +41 -0
  69. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js.map +1 -0
  70. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js +16 -5
  71. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageNew.js.map +1 -1
  72. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.d.ts +4 -2
  73. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js +8 -5
  74. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSegments.js.map +1 -1
  75. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.d.ts +4 -2
  76. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.js +23 -15
  77. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.js.map +1 -1
  78. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummaryCard.scss +6 -3
  79. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.d.ts +9 -4
  80. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.js +15 -10
  81. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/TenantStorageSummarySections.js.map +1 -1
  82. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/en.json +2 -0
  83. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/i18n/index.d.ts +1 -1
  84. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.d.ts +5 -5
  85. package/dist/containers/Tenant/Healthcheck/Healthcheck.d.ts +3 -8
  86. package/dist/containers/Tenant/Healthcheck/Healthcheck.js +10 -10
  87. package/dist/containers/Tenant/Healthcheck/Healthcheck.js.map +1 -1
  88. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js +1 -14
  89. package/dist/containers/Tenant/Healthcheck/components/HealthcheckIssues.js.map +1 -1
  90. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.d.ts +2 -1
  91. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js +11 -27
  92. package/dist/containers/Tenant/Healthcheck/components/HealthcheckView.js.map +1 -1
  93. package/dist/containers/Tenant/Healthcheck/shared.d.ts +9 -4
  94. package/dist/containers/Tenant/Healthcheck/shared.js +15 -26
  95. package/dist/containers/Tenant/Healthcheck/shared.js.map +1 -1
  96. package/dist/containers/Tenant/Healthcheck/utils.d.ts +3 -0
  97. package/dist/containers/Tenant/Healthcheck/utils.js +16 -0
  98. package/dist/containers/Tenant/Healthcheck/utils.js.map +1 -0
  99. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +39 -1
  100. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  101. package/dist/containers/Tenant/i18n/en.json +1 -0
  102. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  103. package/dist/containers/Tenant/utils/schema.d.ts +1 -0
  104. package/dist/containers/Tenant/utils/schema.js +3 -0
  105. package/dist/containers/Tenant/utils/schema.js.map +1 -1
  106. package/dist/containers/Tenant/utils/schemaActions.d.ts +3 -0
  107. package/dist/containers/Tenant/utils/schemaActions.js +23 -6
  108. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  109. package/dist/containers/UserSettings/Setting.d.ts +7 -1
  110. package/dist/containers/UserSettings/Setting.js +4 -3
  111. package/dist/containers/UserSettings/Setting.js.map +1 -1
  112. package/dist/containers/UserSettings/UserSettings.js +3 -1
  113. package/dist/containers/UserSettings/UserSettings.js.map +1 -1
  114. package/dist/containers/UserSettings/settings.d.ts +1 -0
  115. package/dist/containers/UserSettings/settings.js +17 -6
  116. package/dist/containers/UserSettings/settings.js.map +1 -1
  117. package/dist/store/configureStore.d.ts +5 -4
  118. package/dist/store/configureStore.js +3 -1
  119. package/dist/store/configureStore.js.map +1 -1
  120. package/dist/store/defaultStore.d.ts +2 -2
  121. package/dist/store/reducers/api.d.ts +1 -1
  122. package/dist/store/reducers/api.js +1 -1
  123. package/dist/store/reducers/api.js.map +1 -1
  124. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  125. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  126. package/dist/store/reducers/capabilities/capabilities.d.ts +39 -39
  127. package/dist/store/reducers/capabilities/hooks.d.ts +7 -6
  128. package/dist/store/reducers/capabilities/hooks.js +8 -1
  129. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  130. package/dist/store/reducers/cluster/cluster.d.ts +6 -5
  131. package/dist/store/reducers/cluster/cluster.js +3 -2
  132. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  133. package/dist/store/reducers/cluster/utils.d.ts +2 -1
  134. package/dist/store/reducers/cluster/utils.js +28 -0
  135. package/dist/store/reducers/cluster/utils.js.map +1 -1
  136. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  137. package/dist/store/reducers/clusters/clusters.js +1 -0
  138. package/dist/store/reducers/clusters/clusters.js.map +1 -1
  139. package/dist/store/reducers/clusters/selectors.d.ts +1 -0
  140. package/dist/store/reducers/clusters/selectors.js +7 -1
  141. package/dist/store/reducers/clusters/selectors.js.map +1 -1
  142. package/dist/store/reducers/clusters/types.d.ts +1 -0
  143. package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
  144. package/dist/store/reducers/configs.d.ts +3 -3
  145. package/dist/store/reducers/environments/environments.d.ts +2 -2
  146. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +4 -4
  147. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +119 -119
  148. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.js.map +1 -1
  149. package/dist/store/reducers/healthcheckInfo/types.d.ts +1 -1
  150. package/dist/store/reducers/healthcheckInfo/utils.js +18 -12
  151. package/dist/store/reducers/healthcheckInfo/utils.js.map +1 -1
  152. package/dist/store/reducers/heatmap.d.ts +2 -2
  153. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  154. package/dist/store/reducers/index.d.ts +3 -3
  155. package/dist/store/reducers/network/network.d.ts +2 -2
  156. package/dist/store/reducers/node/node.d.ts +3 -3
  157. package/dist/store/reducers/node/selectors.d.ts +1 -1
  158. package/dist/store/reducers/nodes/nodes.d.ts +2 -2
  159. package/dist/store/reducers/nodesList.d.ts +12 -12
  160. package/dist/store/reducers/operations.d.ts +6 -9
  161. package/dist/store/reducers/operations.js +5 -24
  162. package/dist/store/reducers/operations.js.map +1 -1
  163. package/dist/store/reducers/overview/overview.d.ts +2 -2
  164. package/dist/store/reducers/partitions/partitions.d.ts +3 -3
  165. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
  166. package/dist/store/reducers/planToSvg.d.ts +2 -2
  167. package/dist/store/reducers/preview.d.ts +2 -2
  168. package/dist/store/reducers/query/api.d.ts +4 -4
  169. package/dist/store/reducers/replication.d.ts +2 -2
  170. package/dist/store/reducers/schema/schema.d.ts +16 -16
  171. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +39 -39
  172. package/dist/store/reducers/settings/api.d.ts +4 -4
  173. package/dist/store/reducers/settings/settings.d.ts +1 -1
  174. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  175. package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
  176. package/dist/store/reducers/storage/storage.d.ts +3 -3
  177. package/dist/store/reducers/storageUsage/StorageUsage.d.ts +2 -2
  178. package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
  179. package/dist/store/reducers/tableData.d.ts +1 -1
  180. package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
  181. package/dist/store/reducers/tableSchemaData.d.ts +2 -2
  182. package/dist/store/reducers/tablet.d.ts +7 -7
  183. package/dist/store/reducers/tablets.d.ts +3 -3
  184. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  185. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  186. package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.d.ts +4 -2
  187. package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.js +28 -5
  188. package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.js.map +1 -1
  189. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  190. package/dist/store/reducers/tenants/tenants.d.ts +2 -2
  191. package/dist/store/reducers/topic.d.ts +45 -45
  192. package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
  193. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  194. package/dist/types/api/cluster.d.ts +10 -1
  195. package/dist/types/api/cluster.js +8 -0
  196. package/dist/types/api/cluster.js.map +1 -1
  197. package/dist/types/api/meta.d.ts +1 -0
  198. package/dist/types/api/storage.d.ts +4 -0
  199. package/dist/types/api/storage.js +4 -1
  200. package/dist/types/api/storage.js.map +1 -1
  201. package/dist/uiFactory/types.d.ts +8 -4
  202. package/dist/uiFactory/uiFactory.d.ts +6 -2
  203. package/dist/uiFactory/uiFactory.js +17 -3
  204. package/dist/uiFactory/uiFactory.js.map +1 -1
  205. package/dist/utils/clusterLinks/resolveClusterLinks.d.ts +6 -4
  206. package/dist/utils/clusterLinks/resolveClusterLinks.js +14 -6
  207. package/dist/utils/clusterLinks/resolveClusterLinks.js.map +1 -1
  208. package/dist/utils/hooks/index.d.ts +1 -0
  209. package/dist/utils/hooks/index.js +1 -0
  210. package/dist/utils/hooks/index.js.map +1 -1
  211. package/dist/utils/hooks/useCompactionFeature.d.ts +13 -0
  212. package/dist/utils/hooks/useCompactionFeature.js +20 -0
  213. package/dist/utils/hooks/useCompactionFeature.js.map +1 -0
  214. package/dist/utils/hooks/useStartCompaction.d.ts +7 -0
  215. package/dist/utils/hooks/useStartCompaction.js +22 -0
  216. package/dist/utils/hooks/useStartCompaction.js.map +1 -0
  217. package/package.json +2 -2
  218. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +0 -42
  219. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +0 -252
  220. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js.map +0 -1
@@ -2,25 +2,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { ChevronDown, ChevronUp, Gear } from '@gravity-ui/icons';
4
4
  import { ActionTooltip, Button, Disclosure, Flex, Icon } from '@gravity-ui/uikit';
5
- import { YDBDefinitionList } from '../../../../../components/YDBDefinitionList/YDBDefinitionList';
6
- import { useFeatureFlagsAvailable } from '../../../../../store/reducers/capabilities/hooks';
7
- import { configsApi } from '../../../../../store/reducers/configs';
8
5
  import { operationsApi } from '../../../../../store/reducers/operations';
9
- import { tablePartitioningApi } from '../../../../../store/reducers/tablePartitioning/tablePartitioning';
10
6
  import { EPathType } from '../../../../../types/api/schema';
11
7
  import { cn } from '../../../../../utils/cn';
12
- import createToast from '../../../../../utils/createToast';
13
- import { useAutoRefreshInterval } from '../../../../../utils/hooks';
14
- import { findRunningTableCompactionOperation, isForcedCompactionEnabled, } from '../../../../../utils/tableCompaction';
15
- import { reachMetricaGoal } from '../../../../../utils/yaMetrica';
8
+ import { useCompactionFeature } from '../../../../../utils/hooks/useCompactionFeature';
9
+ import { useStartCompaction } from '../../../../../utils/hooks/useStartCompaction';
16
10
  import { EntityTitle } from '../../../EntityTitle/EntityTitle';
17
11
  import { isRowTableType } from '../../../utils/schema';
18
12
  import { CompactTableAction, CompactTableStatusBanner, } from './CompactTableAction/CompactTableAction';
19
- import { openManagePartitioningDialog } from './ManagePartitioningDialog/ManagePartitioningDialog';
20
13
  import { PartitionsProgress } from './PartitionsProgress/PartitionsProgress';
14
+ import { TableInfoSection } from './components/TableInfoSection';
15
+ import { useTableCompaction } from './hooks/useTableCompaction';
16
+ import { useTablePartitioning } from './hooks/useTablePartitioning';
21
17
  import i18n from './i18n';
22
18
  import { prepareTableInfo } from './prepareTableInfo';
23
- import { prepareUpdatePartitioningRequest } from './utils';
24
19
  import './TableInfo.scss';
25
20
  export const b = cn('ydb-diagnostics-table-info');
26
21
  const TableInfoHeader = ({ data }) => {
@@ -31,45 +26,41 @@ const TableInfoHeader = ({ data }) => {
31
26
  return _jsx("div", { className: b('title'), children: title });
32
27
  };
33
28
  export const TableInfo = ({ data, type, database, path }) => {
34
- const [autoRefreshInterval] = useAutoRefreshInterval();
35
29
  const isRowTable = type === EPathType.EPathTypeTable;
36
- const featureFlagsAvailable = useFeatureFlagsAvailable();
37
- const { generalInfoLeft = [], generalInfoRight = [], generalStats = [], tableStatsInfo = [], generalMetrics = [], tabletMetricsInfo = [], partitionConfigInfo = [], partitionProgressConfig, managePartitioningDialogConfig, } = React.useMemo(() => prepareTableInfo(data, type), [data, type]);
38
- const [expanded, setExpanded] = React.useState(false);
39
- const handleExpandedChange = React.useCallback((value) => setExpanded(value), []);
30
+ // Prepare all table information
31
+ const tableInfo = React.useMemo(() => prepareTableInfo(data, type), [data, type]);
32
+ const { generalInfoLeft = [], generalInfoRight = [], generalStats = [], tableStatsInfo = [], generalMetrics = [], tabletMetricsInfo = [], partitionConfigInfo = [], partitionProgressConfig, managePartitioningDialogConfig, } = tableInfo;
33
+ // Calculate if there's expandable content
40
34
  const hasMoreLeft = tableStatsInfo.some((items) => items.length > 0);
41
35
  const hasMoreRight = tabletMetricsInfo.length > 0 || partitionConfigInfo.length > 0;
42
- const hasMore = hasMoreLeft || hasMoreRight;
43
- const [updatePartitioning] = tablePartitioningApi.useUpdateTablePartitioningMutation();
44
- const { currentData: featureFlags } = configsApi.useGetFeatureFlagsQuery({ database }, { skip: !isRowTable || !featureFlagsAvailable });
45
- const compactionEnabled = isRowTable && isForcedCompactionEnabled(featureFlags);
46
- const { currentData: compactionOperations, isFetching: isCompactionFetching } = operationsApi.useGetCompactionListQuery({ database }, {
47
- pollingInterval: autoRefreshInterval,
48
- skip: !compactionEnabled,
49
- });
50
- const runningCompaction = React.useMemo(() => findRunningTableCompactionOperation(compactionOperations, path), [compactionOperations, path]);
51
- const [startTableCompaction, { isLoading: isCompactionStarting }] = operationsApi.useStartTableCompactionMutation();
52
- const handleOpenManagePartitioning = React.useCallback(() => {
53
- reachMetricaGoal('openManagePartitioning');
54
- openManagePartitioningDialog({
55
- initialValue: managePartitioningDialogConfig,
56
- onApply: async (value) => {
57
- reachMetricaGoal('applyManagePartitioning');
58
- await updatePartitioning(prepareUpdatePartitioningRequest(value, database, path)).unwrap();
59
- createToast({
60
- name: 'updateTablePartitioning',
61
- content: i18n('toast_partitioning-updated'),
62
- autoHiding: 3000,
63
- isClosable: true,
64
- });
65
- },
66
- });
67
- }, [managePartitioningDialogConfig, database, path, updatePartitioning]);
36
+ // Compaction logic (only for row tables)
37
+ const { compactionEnabled } = useCompactionFeature(database, isRowTable);
38
+ const compactionEnabledForTable = isRowTable && compactionEnabled;
39
+ const { runningCompaction, isFetching: isCompactionFetching } = useTableCompaction(database, path, compactionEnabledForTable);
40
+ const startCompaction = useStartCompaction();
41
+ const [cancelOperation, { isLoading: isCancellingOperation }] = operationsApi.useCancelOperationMutation();
68
42
  const handleStartCompaction = React.useCallback(async ({ cascade, parallel }) => {
69
- await startTableCompaction({ database, path, cascade, parallel }).unwrap();
70
- }, [database, path, startTableCompaction]);
71
- return (_jsxs("div", { className: b(), children: [compactionEnabled && runningCompaction && (_jsx(CompactTableStatusBanner, { operation: runningCompaction })), _jsxs(Flex, { className: b('header'), justifyContent: "space-between", alignItems: "center", gap: "2", children: [_jsx(TableInfoHeader, { data: data }), _jsxs(Flex, { gap: "2", alignItems: "center", children: [managePartitioningDialogConfig && (_jsx(ActionTooltip, { title: i18n('action_manage-partition-config'), children: _jsxs(Button, { view: "normal", size: "s", onClick: handleOpenManagePartitioning, "aria-label": i18n('action_manage-partition-config'), children: [_jsx(Icon, { data: Gear, size: 16 }), i18n('action_manage')] }) })), compactionEnabled && (_jsx(CompactTableAction, { runningCompaction: runningCompaction, isFetching: isCompactionFetching, isStarting: isCompactionStarting, onApply: handleStartCompaction }, `${database}/${path}`))] })] }), partitionProgressConfig && (_jsx("div", { className: b('progress-bar'), children: _jsx(PartitionsProgress, { minPartitions: partitionProgressConfig.minPartitions, partitionsCount: partitionProgressConfig.partitionsCount, maxPartitions: partitionProgressConfig.maxPartitions }) })), _jsxs("div", { className: b('row', { 'general-info': true }), children: [_jsx("div", { className: b('col'), children: generalInfoLeft.length > 0 ? (_jsx(YDBDefinitionList, { nameMaxWidth: "auto", responsive: true, className: b('info-block'), items: generalInfoLeft })) : null }), _jsx("div", { className: b('col'), children: generalInfoRight.length > 0 ? (_jsx(YDBDefinitionList, { nameMaxWidth: "auto", responsive: true, className: b('info-block'), items: generalInfoRight })) : null })] }), _jsxs("div", { className: b('row'), children: [_jsx("div", { className: b('col'), children: generalStats.length > 0 ? (_jsx(YDBDefinitionList, { items: generalStats, title: i18n('title_table-stats'), className: b('info-block'), nameMaxWidth: "auto", responsive: true })) : null }), _jsx("div", { className: b('col'), children: generalMetrics.length > 0 ? (_jsx(YDBDefinitionList, { items: generalMetrics, title: i18n('title_tablet-metrics'), className: b('info-block'), nameMaxWidth: "auto", responsive: true })) : null })] }), hasMore ? (_jsxs(Disclosure, { className: b('show-more-disclosure'), expanded: expanded, onUpdate: handleExpandedChange, children: [_jsx(Disclosure.Summary, { children: (props) => (_jsxs(Button, { onClick: props.onClick, view: "normal", size: "s", children: [expanded ? i18n('button_show-less') : i18n('button_show-more'), _jsx(Icon, { data: expanded ? ChevronUp : ChevronDown, size: 16 })] })) }), _jsx(Disclosure.Details, { children: _jsxs("div", { className: b('row'), children: [_jsx("div", { className: b('col'), children: tableStatsInfo
43
+ await startCompaction({
44
+ database,
45
+ path,
46
+ cascade,
47
+ parallel,
48
+ });
49
+ }, [database, path, startCompaction]);
50
+ const handleCancelCompaction = React.useCallback(async () => {
51
+ if (!(runningCompaction === null || runningCompaction === void 0 ? void 0 : runningCompaction.id)) {
52
+ return;
53
+ }
54
+ await cancelOperation({ database, id: runningCompaction.id }).unwrap();
55
+ }, [database, cancelOperation, runningCompaction === null || runningCompaction === void 0 ? void 0 : runningCompaction.id]);
56
+ // Partitioning logic
57
+ const { handleOpenManagePartitioning } = useTablePartitioning(database, path, managePartitioningDialogConfig);
58
+ // UI state
59
+ const [expanded, setExpanded] = React.useState(false);
60
+ const handleExpandedChange = React.useCallback((value) => setExpanded(value), []);
61
+ const hasMore = React.useMemo(() => hasMoreLeft || hasMoreRight, [hasMoreLeft, hasMoreRight]);
62
+ return (_jsxs("div", { className: b(), children: [compactionEnabledForTable && runningCompaction && (_jsx(CompactTableStatusBanner, { operation: runningCompaction, onCancel: handleCancelCompaction, isCancelling: isCancellingOperation })), _jsxs(Flex, { className: b('header'), justifyContent: "space-between", alignItems: "center", gap: "2", children: [_jsx(TableInfoHeader, { data: data }), _jsxs(Flex, { gap: "2", alignItems: "center", children: [managePartitioningDialogConfig && (_jsx(ActionTooltip, { title: i18n('action_manage-partition-config'), children: _jsxs(Button, { view: "normal", size: "s", onClick: handleOpenManagePartitioning, "aria-label": i18n('action_manage-partition-config'), children: [_jsx(Icon, { data: Gear, size: 16 }), i18n('action_manage-partitioning')] }) })), compactionEnabledForTable && (_jsx(CompactTableAction, { runningCompaction: runningCompaction, isFetching: isCompactionFetching, onApply: handleStartCompaction }, `${database}/${path}`))] })] }), partitionProgressConfig && (_jsx("div", { className: b('progress-bar'), children: _jsx(PartitionsProgress, { minPartitions: partitionProgressConfig.minPartitions, partitionsCount: partitionProgressConfig.partitionsCount, maxPartitions: partitionProgressConfig.maxPartitions }) })), _jsxs("div", { className: b('row', { 'general-info': true }), children: [_jsx("div", { className: b('col'), children: _jsx(TableInfoSection, { items: generalInfoLeft, className: b('info-block') }) }), _jsx("div", { className: b('col'), children: _jsx(TableInfoSection, { items: generalInfoRight, className: b('info-block') }) })] }), _jsxs("div", { className: b('row'), children: [_jsx("div", { className: b('col'), children: _jsx(TableInfoSection, { items: generalStats, title: i18n('title_table-stats'), className: b('info-block') }) }), _jsx("div", { className: b('col'), children: _jsx(TableInfoSection, { items: generalMetrics, title: i18n('title_tablet-metrics'), className: b('info-block') }) })] }), hasMore ? (_jsxs(Disclosure, { className: b('show-more-disclosure'), expanded: expanded, onUpdate: handleExpandedChange, children: [_jsx(Disclosure.Summary, { children: (props) => (_jsxs(Button, { onClick: props.onClick, view: "normal", size: "s", children: [expanded ? i18n('button_show-less') : i18n('button_show-more'), _jsx(Icon, { data: expanded ? ChevronUp : ChevronDown, size: 16 })] })) }), _jsx(Disclosure.Details, { children: _jsxs("div", { className: b('row'), children: [_jsx("div", { className: b('col'), children: tableStatsInfo
72
63
  .filter((items) => items.length > 0)
73
- .map((items, index) => (_jsx(YDBDefinitionList, { items: items, className: b('info-block'), nameMaxWidth: "auto", responsive: true }, index))) }), _jsxs("div", { className: b('col'), children: [tabletMetricsInfo.length > 0 ? (_jsx(YDBDefinitionList, { items: tabletMetricsInfo, className: b('info-block'), nameMaxWidth: "auto", responsive: true })) : null, partitionConfigInfo.length > 0 ? (_jsx(YDBDefinitionList, { items: partitionConfigInfo, title: i18n('title_partition-config'), className: b('info-block'), nameMaxWidth: "auto", responsive: true })) : null] })] }) })] })) : null] }));
64
+ .map((items, index) => (_jsx(TableInfoSection, { items: items, className: b('info-block') }, index))) }), _jsxs("div", { className: b('col'), children: [_jsx(TableInfoSection, { items: tabletMetricsInfo, className: b('info-block') }), _jsx(TableInfoSection, { items: partitionConfigInfo, title: i18n('title_partition-config'), className: b('info-block') })] })] }) })] })) : null] }));
74
65
  };
75
66
  //# sourceMappingURL=TableInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableInfo.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableInfo.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import type { YDBDefinitionListItem } from '../../../../../../components/YDBDefinitionList/YDBDefinitionList';
3
+ interface TableInfoSectionProps {
4
+ items: YDBDefinitionListItem[];
5
+ title?: string;
6
+ className?: string;
7
+ }
8
+ /**
9
+ * Reusable component for rendering a section of table information.
10
+ * Displays a YDBDefinitionList with consistent styling and behavior.
11
+ * Returns null if items array is empty.
12
+ * @param items - Array of definition list items to display
13
+ * @param title - Optional section title
14
+ * @param className - Optional additional CSS class
15
+ */
16
+ export declare const TableInfoSection: React.NamedExoticComponent<TableInfoSectionProps>;
17
+ export {};
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { YDBDefinitionList } from '../../../../../../components/YDBDefinitionList/YDBDefinitionList';
4
+ /**
5
+ * Reusable component for rendering a section of table information.
6
+ * Displays a YDBDefinitionList with consistent styling and behavior.
7
+ * Returns null if items array is empty.
8
+ * @param items - Array of definition list items to display
9
+ * @param title - Optional section title
10
+ * @param className - Optional additional CSS class
11
+ */
12
+ export const TableInfoSection = React.memo(({ items, title, className }) => {
13
+ if (items.length === 0) {
14
+ return null;
15
+ }
16
+ return (_jsx(YDBDefinitionList, { items: items, title: title, className: className, nameMaxWidth: "auto", responsive: true }));
17
+ });
18
+ TableInfoSection.displayName = 'TableInfoSection';
19
+ //# sourceMappingURL=TableInfoSection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableInfoSection.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,kEAAkE,CAAC;AAQnG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAwB,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAC,EAAE,EAAE;IAC5F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CACH,KAAC,iBAAiB,IACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,YAAY,EAAC,MAAM,EACnB,UAAU,SACZ,CACL,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,gBAAgB,CAAC,WAAW,GAAG,kBAAkB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { TOperation } from '../../../../../../types/api/operations';
2
+ interface UseTableCompactionResult {
3
+ operations: TOperation[] | undefined;
4
+ runningCompaction: TOperation | undefined;
5
+ isFetching: boolean;
6
+ }
7
+ /**
8
+ * Hook for managing table compaction operations.
9
+ * Automatically fetches all pages of compaction operations and tracks running compaction.
10
+ * @param database - Database path
11
+ * @param path - Table path
12
+ * @param enabled - Whether compaction feature is enabled
13
+ * @returns Compaction operations data and loading state
14
+ */
15
+ export declare function useTableCompaction(database: string, path: string, enabled: boolean): UseTableCompactionResult;
16
+ export {};
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { operationsApi } from '../../../../../../store/reducers/operations';
3
+ import { useAutoRefreshInterval } from '../../../../../../utils/hooks';
4
+ import { TABLE_COMPACTION_OPERATION_PAGE_SIZE, findRunningTableCompactionOperation, } from '../../../../../../utils/tableCompaction';
5
+ /**
6
+ * Hook for managing table compaction operations.
7
+ * Automatically fetches all pages of compaction operations and tracks running compaction.
8
+ * @param database - Database path
9
+ * @param path - Table path
10
+ * @param enabled - Whether compaction feature is enabled
11
+ * @returns Compaction operations data and loading state
12
+ */
13
+ export function useTableCompaction(database, path, enabled) {
14
+ const [autoRefreshInterval] = useAutoRefreshInterval();
15
+ const { currentData: compactionData, isFetching, hasNextPage, fetchNextPage, } = operationsApi.useGetOperationListInfiniteQuery({ database, kind: 'compaction', page_size: TABLE_COMPACTION_OPERATION_PAGE_SIZE }, {
16
+ pollingInterval: autoRefreshInterval,
17
+ skip: !enabled,
18
+ });
19
+ // Automatically fetch all pages to get complete list of operations
20
+ React.useEffect(() => {
21
+ if (hasNextPage && !isFetching) {
22
+ fetchNextPage();
23
+ }
24
+ }, [hasNextPage, isFetching, fetchNextPage]);
25
+ const operations = React.useMemo(() => { var _a; return (_a = compactionData === null || compactionData === void 0 ? void 0 : compactionData.pages) === null || _a === void 0 ? void 0 : _a.flatMap((page) => { var _a; return (_a = page.operations) !== null && _a !== void 0 ? _a : []; }); }, [compactionData]);
26
+ const runningCompaction = React.useMemo(() => findRunningTableCompactionOperation(operations, path), [operations, path]);
27
+ return {
28
+ operations,
29
+ runningCompaction,
30
+ isFetching,
31
+ };
32
+ }
33
+ //# sourceMappingURL=useTableCompaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableCompaction.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,aAAa,EAAC,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EACH,oCAAoC,EACpC,mCAAmC,GACtC,MAAM,yCAAyC,CAAC;AAQjD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CAC9B,QAAgB,EAChB,IAAY,EACZ,OAAgB;IAEhB,MAAM,CAAC,mBAAmB,CAAC,GAAG,sBAAsB,EAAE,CAAC;IAEvD,MAAM,EACF,WAAW,EAAE,cAAc,EAC3B,UAAU,EACV,WAAW,EACX,aAAa,GAChB,GAAG,aAAa,CAAC,gCAAgC,CAC9C,EAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,oCAAoC,EAAC,EAC/E;QACI,eAAe,EAAE,mBAAmB;QACpC,IAAI,EAAE,CAAC,OAAO;KACjB,CACJ,CAAC;IAEF,mEAAmE;IACnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,WAAW,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,aAAa,EAAE,CAAC;QACpB,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC5B,GAAG,EAAE,WAAC,OAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,KAAK,0CAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,UAAU,mCAAI,EAAE,CAAA,EAAA,CAAC,CAAA,EAAA,EACrE,CAAC,cAAc,CAAC,CACnB,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CACnC,GAAG,EAAE,CAAC,mCAAmC,CAAC,UAAU,EAAE,IAAI,CAAC,EAC3D,CAAC,UAAU,EAAE,IAAI,CAAC,CACrB,CAAC;IAEF,OAAO;QACH,UAAU;QACV,iBAAiB;QACjB,UAAU;KACb,CAAC;AACN,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { ManagePartitioningFormState } from '../ManagePartitioningDialog/types';
2
+ interface UseTablePartitioningResult {
3
+ handleOpenManagePartitioning: () => void;
4
+ }
5
+ /**
6
+ * Hook for managing table partitioning configuration.
7
+ * Handles opening the partitioning dialog and applying changes.
8
+ * @param database - Database path
9
+ * @param path - Table path
10
+ * @param managePartitioningDialogConfig - Initial configuration for the dialog
11
+ * @returns Handler for opening the manage partitioning dialog
12
+ */
13
+ export declare function useTablePartitioning(database: string, path: string, managePartitioningDialogConfig?: ManagePartitioningFormState): UseTablePartitioningResult;
14
+ export {};
@@ -0,0 +1,39 @@
1
+ import React from 'react';
2
+ import { tablePartitioningApi } from '../../../../../../store/reducers/tablePartitioning/tablePartitioning';
3
+ import createToast from '../../../../../../utils/createToast';
4
+ import { reachMetricaGoal } from '../../../../../../utils/yaMetrica';
5
+ import { openManagePartitioningDialog } from '../ManagePartitioningDialog/ManagePartitioningDialog';
6
+ import i18n from '../i18n';
7
+ import { prepareUpdatePartitioningRequest } from '../utils';
8
+ /**
9
+ * Hook for managing table partitioning configuration.
10
+ * Handles opening the partitioning dialog and applying changes.
11
+ * @param database - Database path
12
+ * @param path - Table path
13
+ * @param managePartitioningDialogConfig - Initial configuration for the dialog
14
+ * @returns Handler for opening the manage partitioning dialog
15
+ */
16
+ export function useTablePartitioning(database, path, managePartitioningDialogConfig) {
17
+ const [updatePartitioning] = tablePartitioningApi.useUpdateTablePartitioningMutation();
18
+ const handleOpenManagePartitioning = React.useCallback(() => {
19
+ if (!managePartitioningDialogConfig) {
20
+ return;
21
+ }
22
+ reachMetricaGoal('openManagePartitioning');
23
+ openManagePartitioningDialog({
24
+ initialValue: managePartitioningDialogConfig,
25
+ onApply: async (value) => {
26
+ reachMetricaGoal('applyManagePartitioning');
27
+ await updatePartitioning(prepareUpdatePartitioningRequest(value, database, path)).unwrap();
28
+ createToast({
29
+ name: 'updateTablePartitioning',
30
+ content: i18n('toast_partitioning-updated'),
31
+ autoHiding: 3000,
32
+ isClosable: true,
33
+ });
34
+ },
35
+ });
36
+ }, [managePartitioningDialogConfig, database, path, updatePartitioning]);
37
+ return { handleOpenManagePartitioning };
38
+ }
39
+ //# sourceMappingURL=useTablePartitioning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTablePartitioning.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,sEAAsE,CAAC;AAC1G,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAC,gBAAgB,EAAC,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAC,4BAA4B,EAAC,MAAM,sDAAsD,CAAC;AAElG,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAC,gCAAgC,EAAC,MAAM,UAAU,CAAC;AAM1D;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAChC,QAAgB,EAChB,IAAY,EACZ,8BAA4D;IAE5D,MAAM,CAAC,kBAAkB,CAAC,GAAG,oBAAoB,CAAC,kCAAkC,EAAE,CAAC;IAEvF,MAAM,4BAA4B,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxD,IAAI,CAAC,8BAA8B,EAAE,CAAC;YAClC,OAAO;QACX,CAAC;QAED,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC3C,4BAA4B,CAAC;YACzB,YAAY,EAAE,8BAA8B;YAC5C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;gBACrB,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;gBAC5C,MAAM,kBAAkB,CACpB,gCAAgC,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAC1D,CAAC,MAAM,EAAE,CAAC;gBAEX,WAAW,CAAC;oBACR,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,IAAI,CAAC,4BAA4B,CAAC;oBAC3C,UAAU,EAAE,IAAI;oBAChB,UAAU,EAAE,IAAI;iBACnB,CAAC,CAAC;YACP,CAAC;SACJ,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,8BAA8B,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAEzE,OAAO,EAAC,4BAA4B,EAAC,CAAC;AAC1C,CAAC"}
@@ -4,14 +4,16 @@
4
4
  "title_tablet-metrics": "Metrics",
5
5
  "title_partition-config": "Partition config",
6
6
  "action_cancel": "Cancel",
7
- "action_manage": "Manage",
7
+ "action_stop": "Stop",
8
+ "action_manage-partitioning": "Manage partitioning",
8
9
  "action_manage-partition-config": "Manage partition config",
9
10
  "action_compaction": "Compaction",
10
11
  "action_run-compaction": "Run table compaction",
12
+ "action_stop-compaction": "Stop compaction",
11
13
  "button_show-more": "Show more",
12
14
  "button_show-less": "Show less",
13
15
  "field_current-partitions": "Current partitions",
14
- "field_ttl-for-rows": "TTL for rows",
16
+ "field_ttl-for-rows": "TTL for rows",
15
17
  "field_standalone": "Standalone",
16
18
  "field_partitioning": "Partitioning",
17
19
  "field_partitioning-by-size": "Partitioning by size",
@@ -46,5 +48,6 @@
46
48
  "field_compaction-state": "State: {{state}}",
47
49
  "field_compaction-progress": "Progress: {{progress}}%",
48
50
  "field_compaction-shards": "Shards: {{done}} / {{total}}",
49
- "toast_partitioning-updated": "Partitioning settings applied"
51
+ "toast_partitioning-updated": "Partitioning settings applied",
52
+ "toast_compaction-started": "Table compaction started"
50
53
  }
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "action_manage" | "action_cancel" | "title_partitioning" | "title_table-stats" | "title_tablet-metrics" | "title_partition-config" | "action_manage-partition-config" | "action_compaction" | "action_run-compaction" | "button_show-more" | "button_show-less" | "field_current-partitions" | "field_ttl-for-rows" | "field_standalone" | "field_partitioning" | "field_partitioning-by-size" | "field_partitioning-by-load" | "field_min-partitions-count" | "field_max-partitions-count" | "field_read-replicas" | "field_bloom-filter" | "field_compression-groups" | "value_ttl-config" | "value_partitioning-by-size-enabled" | "value_enabled" | "value_disabled" | "value_no" | "value_some-groups" | "value_default" | "hint_current-partitions-below-limits" | "hint_current-partitions-exceeds-limits" | "action_start-compaction" | "title_run-table-compaction" | "field_cascade" | "field_parallel-shards" | "alert_positive-integer" | "title_compaction-in-progress" | "context_compaction-in-progress" | "context_compaction-progress" | "value_compaction-starting" | "value_compaction-running" | "value_compaction-done" | "value_compaction-cancelled" | "title_compaction" | "field_compaction-state" | "field_compaction-progress" | "field_compaction-shards" | "toast_partitioning-updated", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "action_cancel" | "title_partitioning" | "title_table-stats" | "title_tablet-metrics" | "title_partition-config" | "action_stop" | "action_manage-partitioning" | "action_manage-partition-config" | "action_compaction" | "action_run-compaction" | "action_stop-compaction" | "button_show-more" | "button_show-less" | "field_current-partitions" | "field_ttl-for-rows" | "field_standalone" | "field_partitioning" | "field_partitioning-by-size" | "field_partitioning-by-load" | "field_min-partitions-count" | "field_max-partitions-count" | "field_read-replicas" | "field_bloom-filter" | "field_compression-groups" | "value_ttl-config" | "value_partitioning-by-size-enabled" | "value_enabled" | "value_disabled" | "value_no" | "value_some-groups" | "value_default" | "hint_current-partitions-below-limits" | "hint_current-partitions-exceeds-limits" | "action_start-compaction" | "title_run-table-compaction" | "field_cascade" | "field_parallel-shards" | "alert_positive-integer" | "title_compaction-in-progress" | "context_compaction-in-progress" | "context_compaction-progress" | "value_compaction-starting" | "value_compaction-running" | "value_compaction-done" | "value_compaction-cancelled" | "title_compaction" | "field_compaction-state" | "field_compaction-progress" | "field_compaction-shards" | "toast_partitioning-updated" | "toast_compaction-started", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -0,0 +1,27 @@
1
+ import type { YDBDefinitionListItem } from '../../../../../../components/YDBDefinitionList/YDBDefinitionList';
2
+ import { EPathType } from '../../../../../../types/api/schema';
3
+ import type { TEvDescribeSchemeResult } from '../../../../../../types/api/schema';
4
+ import type { ManagePartitioningFormState } from '../ManagePartitioningDialog/types';
5
+ import type { PartitionProgressConfig } from './renderHelpers';
6
+ export type { PartitionProgressConfig } from './renderHelpers';
7
+ export interface PreparedTableInfo {
8
+ generalInfoLeft: YDBDefinitionListItem[];
9
+ generalInfoRight: YDBDefinitionListItem[];
10
+ generalStats: YDBDefinitionListItem[];
11
+ tableStatsInfo: YDBDefinitionListItem[][];
12
+ generalMetrics: YDBDefinitionListItem[];
13
+ tabletMetricsInfo: YDBDefinitionListItem[];
14
+ partitionConfigInfo: YDBDefinitionListItem[];
15
+ partitionProgressConfig?: PartitionProgressConfig;
16
+ managePartitioningDialogConfig?: ManagePartitioningFormState;
17
+ hasMoreLeft: boolean;
18
+ hasMoreRight: boolean;
19
+ }
20
+ /**
21
+ * Prepares all table information for display.
22
+ * Handles different table types: Table, ColumnTable, and ColumnStore.
23
+ * @param data - Schema description result from YDB API
24
+ * @param type - Path type (Table, ColumnTable, ColumnStore)
25
+ * @returns Prepared table information organized by sections
26
+ */
27
+ export declare function prepareTableInfo(data?: TEvDescribeSchemeResult, type?: EPathType): Partial<PreparedTableInfo> & Pick<PreparedTableInfo, 'hasMoreLeft' | 'hasMoreRight'>;
@@ -0,0 +1,64 @@
1
+ import { EPathType } from '../../../../../../types/api/schema';
2
+ import { prepareColumnTableGeneralInfo } from './prepareColumnTableInfo';
3
+ import { prepareGeneralMetrics, prepareGeneralStats, preparePartitionConfigInfo, prepareTableStatsInfo, prepareTabletMetricsInfo, } from './prepareCommonTableInfo';
4
+ import { prepareManagePartitioningDialogConfig, preparePartitionProgressConfig, } from './preparePartitionConfig';
5
+ import { prepareRowTableGeneralInfo } from './prepareRowTableInfo';
6
+ /**
7
+ * Prepares all table information for display.
8
+ * Handles different table types: Table, ColumnTable, and ColumnStore.
9
+ * @param data - Schema description result from YDB API
10
+ * @param type - Path type (Table, ColumnTable, ColumnStore)
11
+ * @returns Prepared table information organized by sections
12
+ */
13
+ export function prepareTableInfo(data, type) {
14
+ if (!data) {
15
+ return {
16
+ hasMoreLeft: false,
17
+ hasMoreRight: false,
18
+ };
19
+ }
20
+ const { PathDescription = {} } = data;
21
+ const { TablePartitions, TableStats = {}, TabletMetrics = {}, Table: { PartitionConfig = {}, TTLSettings } = {}, ColumnTableDescription = {}, } = PathDescription;
22
+ let generalInfoLeft = [];
23
+ let generalInfoRight = [];
24
+ let partitionProgressConfig;
25
+ let managePartitioningDialogConfig;
26
+ // Prepare type-specific information
27
+ switch (type) {
28
+ case EPathType.EPathTypeTable: {
29
+ partitionProgressConfig = preparePartitionProgressConfig(PartitionConfig, TablePartitions);
30
+ managePartitioningDialogConfig = prepareManagePartitioningDialogConfig(PartitionConfig, partitionProgressConfig);
31
+ const { left, right } = prepareRowTableGeneralInfo(PartitionConfig, partitionProgressConfig, TTLSettings);
32
+ generalInfoLeft = left;
33
+ generalInfoRight = right;
34
+ break;
35
+ }
36
+ case EPathType.EPathTypeColumnTable: {
37
+ generalInfoLeft = prepareColumnTableGeneralInfo(ColumnTableDescription);
38
+ break;
39
+ }
40
+ }
41
+ // Prepare common information (shared across all table types)
42
+ const generalStats = prepareGeneralStats(TableStats);
43
+ const tableStatsInfo = prepareTableStatsInfo(TableStats, PartitionConfig);
44
+ const generalMetrics = prepareGeneralMetrics(TabletMetrics);
45
+ const tabletMetricsInfo = prepareTabletMetricsInfo(TabletMetrics);
46
+ const partitionConfigInfo = preparePartitionConfigInfo(PartitionConfig);
47
+ // Calculate if there's expandable content
48
+ const hasMoreLeft = tableStatsInfo.some((items) => items.length > 0);
49
+ const hasMoreRight = tabletMetricsInfo.length > 0 || partitionConfigInfo.length > 0;
50
+ return {
51
+ generalInfoLeft,
52
+ generalInfoRight,
53
+ generalStats,
54
+ tableStatsInfo,
55
+ generalMetrics,
56
+ tabletMetricsInfo,
57
+ partitionConfigInfo,
58
+ partitionProgressConfig,
59
+ managePartitioningDialogConfig,
60
+ hasMoreLeft,
61
+ hasMoreRight,
62
+ };
63
+ }
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,oCAAoC,CAAC;AAI7D,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACH,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,GAC3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACH,qCAAqC,EACrC,8BAA8B,GACjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AAmBjE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC5B,IAA8B,EAC9B,IAAgB;IAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO;YACH,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,KAAK;SACtB,CAAC;IACN,CAAC;IAED,MAAM,EAAC,eAAe,GAAG,EAAE,EAAC,GAAG,IAAI,CAAC;IAEpC,MAAM,EACF,eAAe,EACf,UAAU,GAAG,EAAE,EACf,aAAa,GAAG,EAAE,EAClB,KAAK,EAAE,EAAC,eAAe,GAAG,EAAE,EAAE,WAAW,EAAC,GAAG,EAAE,EAC/C,sBAAsB,GAAG,EAAE,GAC9B,GAAG,eAAe,CAAC;IAEpB,IAAI,eAAe,GAA4B,EAAE,CAAC;IAClD,IAAI,gBAAgB,GAA4B,EAAE,CAAC;IACnD,IAAI,uBAA4D,CAAC;IACjE,IAAI,8BAAuE,CAAC;IAE5E,oCAAoC;IACpC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;YAC5B,uBAAuB,GAAG,8BAA8B,CACpD,eAAe,EACf,eAAe,CAClB,CAAC;YAEF,8BAA8B,GAAG,qCAAqC,CAClE,eAAe,EACf,uBAAuB,CAC1B,CAAC;YAEF,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,0BAA0B,CAC5C,eAAe,EACf,uBAAuB,EACvB,WAAW,CACd,CAAC;YACF,eAAe,GAAG,IAAI,CAAC;YACvB,gBAAgB,GAAG,KAAK,CAAC;YAEzB,MAAM;QACV,CAAC;QACD,KAAK,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAClC,eAAe,GAAG,6BAA6B,CAAC,sBAAsB,CAAC,CAAC;YACxE,MAAM;QACV,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,qBAAqB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,qBAAqB,CAAC,aAAwC,CAAC,CAAC;IACvF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,aAAwC,CAAC,CAAC;IAC7F,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,eAAe,CAAC,CAAC;IAExE,0CAA0C;IAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;IAEpF,OAAO;QACH,eAAe;QACf,gBAAgB;QAChB,YAAY;QACZ,cAAc;QACd,cAAc;QACd,iBAAiB;QACjB,mBAAmB;QACnB,uBAAuB;QACvB,8BAA8B;QAC9B,WAAW;QACX,YAAY;KACf,CAAC;AACN,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { YDBDefinitionListItem } from '../../../../../../components/YDBDefinitionList/YDBDefinitionList';
2
+ import type { TColumnTableDescription } from '../../../../../../types/api/schema';
3
+ /**
4
+ * Prepares general information for column tables (EPathTypeColumnTable)
5
+ */
6
+ export declare function prepareColumnTableGeneralInfo(columnTable: TColumnTableDescription): YDBDefinitionListItem[];
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Text } from '@gravity-ui/uikit';
3
+ import i18n from '../i18n';
4
+ import { prepareTTL } from './prepareTTL';
5
+ /**
6
+ * Checks if column table is part of a column store (not standalone)
7
+ */
8
+ const isInStoreColumnTable = (table) => {
9
+ // SchemaPresetId could be 0
10
+ return table.SchemaPresetName && table.SchemaPresetId !== undefined;
11
+ };
12
+ /**
13
+ * Prepares general information for column tables (EPathTypeColumnTable)
14
+ */
15
+ export function prepareColumnTableGeneralInfo(columnTable) {
16
+ var _a, _b;
17
+ const left = [];
18
+ left.push({
19
+ name: i18n('field_standalone'),
20
+ content: String(!isInStoreColumnTable(columnTable)),
21
+ });
22
+ if ((_b = (_a = columnTable.Sharding) === null || _a === void 0 ? void 0 : _a.HashSharding) === null || _b === void 0 ? void 0 : _b.Columns) {
23
+ const columns = columnTable.Sharding.HashSharding.Columns.join(', ');
24
+ const content = `PARTITION BY HASH(${columns})`;
25
+ left.push({
26
+ name: i18n('field_partitioning'),
27
+ content: (_jsx(Text, { variant: "code-2", wordBreak: "break-word", children: content })),
28
+ });
29
+ }
30
+ if (columnTable.TtlSettings) {
31
+ const ttlInfo = prepareTTL(columnTable === null || columnTable === void 0 ? void 0 : columnTable.TtlSettings);
32
+ if (ttlInfo) {
33
+ left.push(ttlInfo);
34
+ }
35
+ }
36
+ return left;
37
+ }
38
+ //# sourceMappingURL=prepareColumnTableInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareColumnTableInfo.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAIvC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,KAA8B,EAAE,EAAE;IAC5D,4BAA4B;IAC5B,OAAO,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC;AACxE,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,WAAoC;;IAC9E,MAAM,IAAI,GAA4B,EAAE,CAAC;IAEzC,IAAI,CAAC,IAAI,CAAC;QACN,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;KACtD,CAAC,CAAC;IAEH,IAAI,MAAA,MAAA,WAAW,CAAC,QAAQ,0CAAE,YAAY,0CAAE,OAAO,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,OAAO,GAAG,qBAAqB,OAAO,GAAG,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC;YAChC,OAAO,EAAE,CACL,KAAC,IAAI,IAAC,OAAO,EAAC,QAAQ,EAAC,SAAS,EAAC,YAAY,YACxC,OAAO,GACL,CACV;SACJ,CAAC,CAAC;IACP,CAAC;IAED,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC,CAAC;QACrD,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { YDBDefinitionListItem } from '../../../../../../components/YDBDefinitionList/YDBDefinitionList';
2
+ import type { TPartitionConfig, TTableStats } from '../../../../../../types/api/schema';
3
+ /**
4
+ * Prepares general statistics section (PartCount, RowCount, DataSize, IndexSize)
5
+ */
6
+ export declare function prepareGeneralStats(TableStats?: TTableStats): (YDBDefinitionListItem | {
7
+ note: {
8
+ children: import("react/jsx-runtime").JSX.Element;
9
+ popoverProps: {
10
+ placement: "right";
11
+ };
12
+ };
13
+ name: string;
14
+ content: React.ReactNode;
15
+ copyText?: string | number;
16
+ })[];
17
+ /**
18
+ * Prepares detailed table statistics sections (bloom filter, timestamps, transactions, operations)
19
+ */
20
+ export declare function prepareTableStatsInfo(TableStats?: TTableStats, PartitionConfig?: TPartitionConfig): YDBDefinitionListItem[][];
21
+ /**
22
+ * Prepares general tablet metrics (CPU, Memory, ReadThroughput, Network)
23
+ */
24
+ export declare function prepareGeneralMetrics(TabletMetrics?: Record<string, unknown>): YDBDefinitionListItem[];
25
+ /**
26
+ * Prepares detailed tablet metrics (excluding general metrics and group metrics)
27
+ */
28
+ export declare function prepareTabletMetricsInfo(TabletMetrics?: Record<string, unknown>): YDBDefinitionListItem[];
29
+ /**
30
+ * Prepares partition configuration info (follower groups, read replicas)
31
+ */
32
+ export declare function preparePartitionConfigInfo(PartitionConfig?: TPartitionConfig): YDBDefinitionListItem[];