ydb-embedded-ui 16.0.0 → 16.2.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 (199) hide show
  1. package/dist/components/MetricChart/reducer.d.ts +2 -2
  2. package/dist/components/VDisk/VDisk.d.ts +2 -1
  3. package/dist/components/VDisk/VDisk.js +5 -2
  4. package/dist/components/VDisk/VDisk.js.map +1 -1
  5. package/dist/components/VDisk/VDisk.scss +5 -1
  6. package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +1 -1
  7. package/dist/components/VDisk/VDiskWithDonorsStack.js +2 -1
  8. package/dist/components/VDisk/VDiskWithDonorsStack.js.map +1 -1
  9. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js +1 -1
  10. package/dist/containers/Cluster/ClusterOverview/ClusterOverview.js.map +1 -1
  11. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js +148 -29
  12. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.js.map +1 -1
  13. package/dist/containers/Cluster/ClusterOverview/components/BridgeInfoTable.scss +106 -10
  14. package/dist/containers/Cluster/i18n/en.json +23 -0
  15. package/dist/containers/Cluster/i18n/index.d.ts +1 -1
  16. package/dist/containers/Clusters/Clusters.js +40 -3
  17. package/dist/containers/Clusters/Clusters.js.map +1 -1
  18. package/dist/containers/Clusters/columns.js +9 -0
  19. package/dist/containers/Clusters/columns.js.map +1 -1
  20. package/dist/containers/Clusters/constants.d.ts +2 -0
  21. package/dist/containers/Clusters/constants.js +4 -0
  22. package/dist/containers/Clusters/constants.js.map +1 -1
  23. package/dist/containers/Clusters/i18n/en.json +1 -0
  24. package/dist/containers/Clusters/i18n/index.d.ts +1 -1
  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/Storage/PaginatedStorageGroupsTable/columns/hooks.d.ts +1 -0
  34. package/dist/containers/Storage/PaginatedStorageNodes/useStorageNodesColumnsToSelect.d.ts +1 -0
  35. package/dist/containers/Storage/PaginatedStorageNodesTable/columns/hooks.d.ts +1 -0
  36. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.d.ts +15 -3
  37. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js +41 -22
  38. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/CompactTableAction/CompactTableAction.js.map +1 -1
  39. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js +36 -45
  40. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/TableInfo.js.map +1 -1
  41. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.d.ts +17 -0
  42. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js +19 -0
  43. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/components/TableInfoSection.js.map +1 -0
  44. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.d.ts +16 -0
  45. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js +33 -0
  46. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTableCompaction.js.map +1 -0
  47. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.d.ts +14 -0
  48. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js +39 -0
  49. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/hooks/useTablePartitioning.js.map +1 -0
  50. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/en.json +6 -3
  51. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/i18n/index.d.ts +1 -1
  52. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.d.ts +27 -0
  53. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js +64 -0
  54. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/index.js.map +1 -0
  55. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.d.ts +6 -0
  56. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js +38 -0
  57. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareColumnTableInfo.js.map +1 -0
  58. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.d.ts +32 -0
  59. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js +94 -0
  60. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareCommonTableInfo.js.map +1 -0
  61. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.d.ts +11 -0
  62. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js +45 -0
  63. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/preparePartitionConfig.js.map +1 -0
  64. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.d.ts +10 -0
  65. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js +53 -0
  66. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareRowTableInfo.js.map +1 -0
  67. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.d.ts +10 -0
  68. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js +19 -0
  69. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/prepareTTL.js.map +1 -0
  70. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.d.ts +18 -0
  71. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js +41 -0
  72. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo/renderHelpers.js.map +1 -0
  73. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantStorage/useTenantStorageNewData.d.ts +5 -5
  74. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js +1 -0
  75. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/TopicMessageGeneralInfo.js.map +1 -1
  76. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.js +8 -0
  77. package/dist/containers/Tenant/Diagnostics/TopicData/TopicMessageDetails/components/fields.js.map +1 -1
  78. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.d.ts +1 -0
  79. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js +8 -0
  80. package/dist/containers/Tenant/Diagnostics/TopicData/columns/columns.js.map +1 -1
  81. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/en.json +1 -0
  82. package/dist/containers/Tenant/Diagnostics/TopicData/i18n/index.d.ts +1 -1
  83. package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js +3 -0
  84. package/dist/containers/Tenant/Diagnostics/TopicData/utils/constants.js.map +1 -1
  85. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.d.ts +1 -0
  86. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js +1 -0
  87. package/dist/containers/Tenant/Diagnostics/TopicData/utils/types.js.map +1 -1
  88. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js +39 -1
  89. package/dist/containers/Tenant/ObjectSummary/SchemaTree/SchemaTree.js.map +1 -1
  90. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js +4 -0
  91. package/dist/containers/Tenant/Query/NewSQL/NewSQL.js.map +1 -1
  92. package/dist/containers/Tenant/Query/NewSQL/i18n/en.json +1 -0
  93. package/dist/containers/Tenant/Query/NewSQL/i18n/index.d.ts +1 -1
  94. package/dist/containers/Tenant/i18n/en.json +2 -0
  95. package/dist/containers/Tenant/i18n/index.d.ts +1 -1
  96. package/dist/containers/Tenant/utils/newSQLQueryActions.d.ts +1 -0
  97. package/dist/containers/Tenant/utils/newSQLQueryActions.js +2 -1
  98. package/dist/containers/Tenant/utils/newSQLQueryActions.js.map +1 -1
  99. package/dist/containers/Tenant/utils/schema.d.ts +1 -0
  100. package/dist/containers/Tenant/utils/schema.js +3 -0
  101. package/dist/containers/Tenant/utils/schema.js.map +1 -1
  102. package/dist/containers/Tenant/utils/schemaActions.d.ts +3 -0
  103. package/dist/containers/Tenant/utils/schemaActions.js +26 -7
  104. package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
  105. package/dist/containers/Tenant/utils/schemaQueryTemplates.d.ts +1 -0
  106. package/dist/containers/Tenant/utils/schemaQueryTemplates.js +9 -0
  107. package/dist/containers/Tenant/utils/schemaQueryTemplates.js.map +1 -1
  108. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js +9 -17
  109. package/dist/containers/Versions/NodesTreeTitle/NodesTreeTitle.js.map +1 -1
  110. package/dist/store/configureStore.d.ts +4 -4
  111. package/dist/store/defaultStore.d.ts +2 -2
  112. package/dist/store/reducers/api.d.ts +1 -1
  113. package/dist/store/reducers/api.js +1 -1
  114. package/dist/store/reducers/api.js.map +1 -1
  115. package/dist/store/reducers/authentication/authentication.d.ts +4 -4
  116. package/dist/store/reducers/cancelQuery.d.ts +2 -2
  117. package/dist/store/reducers/capabilities/capabilities.d.ts +39 -39
  118. package/dist/store/reducers/capabilities/hooks.d.ts +5 -5
  119. package/dist/store/reducers/cluster/cluster.d.ts +5 -5
  120. package/dist/store/reducers/cluster/cluster.js +3 -2
  121. package/dist/store/reducers/cluster/cluster.js.map +1 -1
  122. package/dist/store/reducers/cluster/utils.d.ts +2 -1
  123. package/dist/store/reducers/cluster/utils.js +28 -0
  124. package/dist/store/reducers/cluster/utils.js.map +1 -1
  125. package/dist/store/reducers/clusters/clusters.d.ts +2 -2
  126. package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
  127. package/dist/store/reducers/configs.d.ts +3 -3
  128. package/dist/store/reducers/environments/environments.d.ts +2 -2
  129. package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +4 -4
  130. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +111 -111
  131. package/dist/store/reducers/heatmap.d.ts +2 -2
  132. package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
  133. package/dist/store/reducers/index.d.ts +3 -3
  134. package/dist/store/reducers/network/network.d.ts +2 -2
  135. package/dist/store/reducers/node/node.d.ts +3 -3
  136. package/dist/store/reducers/node/selectors.d.ts +1 -1
  137. package/dist/store/reducers/nodes/nodes.d.ts +2 -2
  138. package/dist/store/reducers/nodesList.d.ts +12 -12
  139. package/dist/store/reducers/operations.d.ts +6 -9
  140. package/dist/store/reducers/operations.js +5 -24
  141. package/dist/store/reducers/operations.js.map +1 -1
  142. package/dist/store/reducers/overview/overview.d.ts +2 -2
  143. package/dist/store/reducers/partitions/partitions.d.ts +3 -3
  144. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
  145. package/dist/store/reducers/planToSvg.d.ts +2 -2
  146. package/dist/store/reducers/preview.d.ts +2 -2
  147. package/dist/store/reducers/query/api.d.ts +4 -4
  148. package/dist/store/reducers/replication.d.ts +2 -2
  149. package/dist/store/reducers/schema/schema.d.ts +16 -16
  150. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +39 -39
  151. package/dist/store/reducers/settings/api.d.ts +4 -4
  152. package/dist/store/reducers/settings/settings.d.ts +1 -1
  153. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
  154. package/dist/store/reducers/showCreateTable/showCreateTable.d.ts +2 -2
  155. package/dist/store/reducers/storage/storage.d.ts +3 -3
  156. package/dist/store/reducers/storageUsage/StorageUsage.d.ts +2 -2
  157. package/dist/store/reducers/streamingQuery/streamingQuery.d.ts +2 -2
  158. package/dist/store/reducers/tableData.d.ts +1 -1
  159. package/dist/store/reducers/tablePartitioning/tablePartitioning.d.ts +2 -2
  160. package/dist/store/reducers/tableSchemaData.d.ts +2 -2
  161. package/dist/store/reducers/tablet.d.ts +7 -7
  162. package/dist/store/reducers/tablets.d.ts +3 -3
  163. package/dist/store/reducers/tenant/tenant.d.ts +2 -2
  164. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
  165. package/dist/store/reducers/tenantOverview/storage/tenantOverviewStorage.d.ts +2 -2
  166. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
  167. package/dist/store/reducers/tenants/tenants.d.ts +2 -2
  168. package/dist/store/reducers/topic.d.ts +45 -45
  169. package/dist/store/reducers/vdisk/vdisk.d.ts +3 -3
  170. package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
  171. package/dist/types/api/cluster.d.ts +10 -1
  172. package/dist/types/api/cluster.js +8 -0
  173. package/dist/types/api/cluster.js.map +1 -1
  174. package/dist/types/api/topic.d.ts +1 -0
  175. package/dist/utils/balancer.d.ts +1 -0
  176. package/dist/utils/balancer.js +5 -0
  177. package/dist/utils/balancer.js.map +1 -0
  178. package/dist/utils/clusterLinks/resolveClusterLinks.d.ts +6 -4
  179. package/dist/utils/clusterLinks/resolveClusterLinks.js +22 -6
  180. package/dist/utils/clusterLinks/resolveClusterLinks.js.map +1 -1
  181. package/dist/utils/hooks/index.d.ts +1 -0
  182. package/dist/utils/hooks/index.js +1 -0
  183. package/dist/utils/hooks/index.js.map +1 -1
  184. package/dist/utils/hooks/useCompactionFeature.d.ts +13 -0
  185. package/dist/utils/hooks/useCompactionFeature.js +20 -0
  186. package/dist/utils/hooks/useCompactionFeature.js.map +1 -0
  187. package/dist/utils/hooks/useSelectedColumns.d.ts +1 -0
  188. package/dist/utils/hooks/useSelectedColumns.js +5 -0
  189. package/dist/utils/hooks/useSelectedColumns.js.map +1 -1
  190. package/dist/utils/hooks/useStartCompaction.d.ts +7 -0
  191. package/dist/utils/hooks/useStartCompaction.js +22 -0
  192. package/dist/utils/hooks/useStartCompaction.js.map +1 -0
  193. package/dist/utils/parseBalancer.d.ts +0 -1
  194. package/dist/utils/parseBalancer.js +3 -6
  195. package/dist/utils/parseBalancer.js.map +1 -1
  196. package/package.json +1 -1
  197. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.d.ts +0 -42
  198. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js +0 -252
  199. package/dist/containers/Tenant/Diagnostics/Overview/TableInfo/prepareTableInfo.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  import type { GetChartDataParams } from './getChartData';
2
2
  export declare const chartApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, {
3
- getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "CompactionList", import("./types").PreparedMetricsData | undefined, "api", any>;
4
- }, "api", "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "CompactionList", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
3
+ getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList", import("./types").PreparedMetricsData | undefined, "api", any>;
4
+ }, "api", "Events" | "All" | "Conversations" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "TableData" | "Partitions" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule" | "OperationList", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
@@ -15,5 +15,6 @@ export interface VDiskProps {
15
15
  highlighted?: boolean;
16
16
  placement?: PopupPlacement;
17
17
  popupOffset?: PopupProps['offset'];
18
+ withOpaqueBackground?: boolean;
18
19
  }
19
- export declare const VDisk: ({ data, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement, popupOffset, }: VDiskProps) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const VDisk: ({ data, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement, popupOffset, withOpaqueBackground, }: VDiskProps) => import("react/jsx-runtime").JSX.Element;
@@ -10,7 +10,7 @@ import { i18n } from './i18n';
10
10
  import './VDisk.scss';
11
11
  const b = cn('ydb-vdisk-component');
12
12
  const DEFAULT_POPUP_OFFSET = { mainAxis: 2, crossAxis: 0 };
13
- export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement = ['top', 'bottom', 'left', 'right'], popupOffset = DEFAULT_POPUP_OFFSET, }) => {
13
+ export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, onHidePopup, progressBarClassName, delayClose, delayOpen, withIcon, highlighted, placement = ['top', 'bottom', 'left', 'right'], popupOffset = DEFAULT_POPUP_OFFSET, withOpaqueBackground, }) => {
14
14
  const getVDiskLink = useVDiskPagePath();
15
15
  const vDiskPath = getVDiskLink({ nodeId: data.NodeId, vDiskId: data.StringifiedId });
16
16
  const severity = data.Severity;
@@ -18,6 +18,9 @@ export const VDisk = ({ data = {}, compact, inactive, showPopup, onShowPopup, on
18
18
  const isDonor = data.DonorMode;
19
19
  return (_jsx(HoverPopup, { showPopup: showPopup, onShowPopup: onShowPopup, onHidePopup: onHidePopup, renderPopupContent: () => _jsx(VDiskPopup, { data: data }), offset: popupOffset, delayClose: delayClose, delayOpen: delayOpen,
20
20
  // Allow all placement options, component should choose first available
21
- placement: placement, children: _jsx("div", { className: b(), children: _jsx(InternalLink, { to: vDiskPath, className: b('content', { compact }), children: _jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: severity, compact: compact, inactive: inactive, striped: isReplicatingColor || isDonor, isDonor: isDonor, className: progressBarClassName, withIcon: withIcon, highlighted: highlighted, noDataPlaceholder: i18n('context_no-data') }) }) }) }));
21
+ placement: placement, children: _jsx("div", { className: b(), children: _jsx(InternalLink, { to: vDiskPath, className: b('content', {
22
+ compact,
23
+ 'with-opaque-background': withOpaqueBackground,
24
+ }), children: _jsx(DiskStateProgressBar, { diskAllocatedPercent: data.AllocatedPercent, severity: severity, compact: compact, inactive: inactive, striped: isReplicatingColor || isDonor, isDonor: isDonor, className: progressBarClassName, withIcon: withIcon, highlighted: highlighted, noDataPlaceholder: i18n('context_no-data') }) }) }) }));
22
25
  };
23
26
  //# sourceMappingURL=VDisk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VDisk.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDisk.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,oCAAoC,EAAC,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAyB,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;AAkB/E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAC9C,WAAW,GAAG,oBAAoB,GACzB,EAAE,EAAE;IACb,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,YAAY,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC,CAAC;IAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,kBAAkB,GAAG,QAAQ,KAAK,oCAAoC,CAAC,IAAI,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IAE/B,OAAO,CACH,KAAC,UAAU,IACP,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,EACpD,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS;QACpB,uEAAuE;QACvE,SAAS,EAAE,SAAS,YAEpB,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,YAAY,IAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,OAAO,EAAC,CAAC,YAC3D,KAAC,oBAAoB,IACjB,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,kBAAkB,IAAI,OAAO,EACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAC5C,GACS,GACb,GACG,CAChB,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"VDisk.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDisk.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,EAAE,EAAC,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAC,oCAAoC,EAAC,MAAM,6BAA6B,CAAC;AAEjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,8CAA8C,CAAC;AAClF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,oBAAoB,GAAyB,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;AAmB/E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,OAAO,EACP,QAAQ,EACR,SAAS,EACT,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAC9C,WAAW,GAAG,oBAAoB,EAClC,oBAAoB,GACX,EAAE,EAAE;IACb,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,YAAY,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAC,CAAC,CAAC;IAEnF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,MAAM,kBAAkB,GAAG,QAAQ,KAAK,oCAAoC,CAAC,IAAI,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;IAE/B,OAAO,CACH,KAAC,UAAU,IACP,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,EACpD,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS;QACpB,uEAAuE;QACvE,SAAS,EAAE,SAAS,YAEpB,cAAK,SAAS,EAAE,CAAC,EAAE,YACf,KAAC,YAAY,IACT,EAAE,EAAE,SAAS,EACb,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE;oBACpB,OAAO;oBACP,wBAAwB,EAAE,oBAAoB;iBACjD,CAAC,YAEF,KAAC,oBAAoB,IACjB,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,kBAAkB,IAAI,OAAO,EACtC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAC5C,GACS,GACb,GACG,CAChB,CAAC;AACN,CAAC,CAAC"}
@@ -6,7 +6,11 @@
6
6
  display: block;
7
7
 
8
8
  border-radius: var(--disk-border-radius); // to match interactive area with disk shape
9
- background: var(--g-color-base-background);
9
+ background: transparent;
10
+
11
+ &_with-opaque-background {
12
+ background: var(--g-color-base-background);
13
+ }
10
14
  }
11
15
  &__content_compact {
12
16
  border-radius: var(
@@ -1,6 +1,6 @@
1
1
  import type { PreparedVDisk } from '../../utils/disks/types';
2
2
  import type { VDiskProps } from './VDisk';
3
- interface VDiskWithDonorsStackProps extends VDiskProps {
3
+ interface VDiskWithDonorsStackProps extends Omit<VDiskProps, 'withOpaqueBackground'> {
4
4
  data?: PreparedVDisk;
5
5
  className?: string;
6
6
  stackClassName?: string;
@@ -41,9 +41,10 @@ export function VDiskWithDonorsStack({ data, className, stackClassName, withIcon
41
41
  compact,
42
42
  withIcon,
43
43
  popupOffset: diskInStackPopupOffset,
44
+ withOpaqueBackground: true,
44
45
  };
45
46
  const mainDiskPlacement = (donors === null || donors === void 0 ? void 0 : donors.length) ? diskInStackPlacement : undefined;
46
- const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, compact: compact, expanded: highlightedVDiskInStack, children: [_jsx(VDisk, { placement: mainDiskPlacement, data: data, popupOffset: highlightedVDiskInStack ? diskInStackPopupOffset : undefined, ...mainVDiskProps }), donors.map((donor, index) => (_jsx(VDisk, { data: donor, placement: diskInStackPlacement, highlighted: donor.StringifiedId === internalHighlightedVDisk, onShowPopup: () => {
47
+ const content = donors && donors.length > 0 ? (_jsxs(Stack, { className: stackClassName, compact: compact, expanded: highlightedVDiskInStack, children: [_jsx(VDisk, { placement: mainDiskPlacement, data: data, popupOffset: highlightedVDiskInStack ? diskInStackPopupOffset : undefined, ...mainVDiskProps, withOpaqueBackground: true }), donors.map((donor, index) => (_jsx(VDisk, { data: donor, placement: diskInStackPlacement, highlighted: donor.StringifiedId === internalHighlightedVDisk, onShowPopup: () => {
47
48
  if (donor.StringifiedId) {
48
49
  setInternalHighlightedVDisk === null || setInternalHighlightedVDisk === void 0 ? void 0 : setInternalHighlightedVDisk(donor.StringifiedId);
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VDiskWithDonorsStack.js","sourceRoot":"","sources":["../../../src/components/VDisk/VDiskWithDonorsStack.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAC,KAAK,EAAC,MAAM,gBAAgB,CAAC;AAGrC,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAW9B,MAAM,oBAAoB,GAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC/D,MAAM,sBAAsB,GAAG,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAC,CAAC;AAE3D,MAAM,UAAU,oBAAoB,CAAC,EACjC,IAAI,EACJ,SAAS,EACT,cAAc,EACd,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EAAE,UAAU,EACrB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,YAAY,EACzB,GAAG,SAAS,EACY;IACxB,MAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,aAAa,CAAC;IACpC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,gBAAgB,KAAK,OAAO,CAAC,CAAC;IAEvE,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAEzF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAC1B,GAAG,EAAE,WAAC,OAAA,IAAI,GAAG,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,EAChE,CAAC,MAAM,CAAC,CACX,CAAC;IAEF,MAAM,uBAAuB,GAAG,OAAO,CACnC,wBAAwB;QACpB,CAAC,wBAAwB,KAAK,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CACvF,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,OAAO,EAAE,CAAC;YACV,2BAA2B,CAAC,OAAO,CAAC,CAAC;YACrC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,OAAO,CAAC,CAAC;QACnC,CAAC;IACL,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QACvC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,SAAS,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,8EAA8E;IAC9E,wEAAwE;IACxE,MAAM,cAAc,GAAwB;QACxC,GAAG,SAAS;QACZ,OAAO;QACP,QAAQ;QACR,SAAS,EAAE,aAAa;QACxB,WAAW,EAAE,aAAa;QAC1B,WAAW;QACX,WAAW;KACd,CAAC;IAEF,6EAA6E;IAC7E,6EAA6E;IAC7E,gEAAgE;IAChE,MAAM,eAAe,GAAwB;QACzC,GAAG,SAAS;QACZ,OAAO;QACP,QAAQ;QACR,WAAW,EAAE,sBAAsB;QACnC,oBAAoB,EAAE,IAAI;KAC7B,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5E,MAAM,OAAO,GACT,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1B,MAAC,KAAK,IAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,aACjF,KAAC,KAAK,IACF,SAAS,EAAE,iBAAiB,EAC5B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,uBAAuB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAS,KACrE,cAAc,EAClB,oBAAoB,SACtB,EACD,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,KAAC,KAAK,IAEF,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,oBAAoB,EAC/B,WAAW,EAAE,KAAK,CAAC,aAAa,KAAK,wBAAwB,EAC7D,WAAW,EAAE,GAAG,EAAE;oBACd,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;wBACtB,2BAA2B,aAA3B,2BAA2B,uBAA3B,2BAA2B,CAAG,KAAK,CAAC,aAAa,CAAC,CAAC;oBACvD,CAAC;gBACL,CAAC,EACD,WAAW,EAAE,GAAG,EAAE;oBACd,2BAA2B,CAAC,SAAS,CAAC,CAAC;gBAC3C,CAAC,KACG,eAAe,IAZd,GAAG,KAAK,IAAI,KAAK,CAAC,aAAa,EAAE,CAaxC,CACL,CAAC,IACE,CACX,CAAC,CAAC,CAAC,CACA,KAAC,KAAK,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,KAAM,cAAc,GAAI,CAChE,CAAC;IAEN,OAAO,cAAK,SAAS,EAAE,SAAS,YAAG,OAAO,GAAO,CAAC;AACtD,CAAC"}
@@ -60,7 +60,7 @@ function ClusterDoughnuts({ cluster, loading, collapsed }) {
60
60
  valueIsDefined(cluster.MapStorageUsed) &&
61
61
  valueIsDefined(cluster.MapStorageTotal)) {
62
62
  const { MapStorageUsed, MapStorageTotal } = cluster;
63
- const storageTypes = Array.from(new Set(Object.keys(MapStorageUsed).concat(Object.keys(MapStorageTotal))));
63
+ const storageTypes = Array.from(new Set(Object.keys(MapStorageUsed).concat(Object.keys(MapStorageTotal)))).sort();
64
64
  storageTypes.forEach((storageType) => {
65
65
  const used = MapStorageUsed[storageType];
66
66
  const total = MapStorageTotal[storageType];
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterOverview.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterOverview/ClusterOverview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClusterOverview.js","sourceRoot":"","sources":["../../../../src/containers/Cluster/ClusterOverview/ClusterOverview.tsx"],"names":[],"mappings":"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"}
@@ -1,54 +1,173 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { DefinitionList, Flex, Label, Text } from '@gravity-ui/uikit';
4
- import { BridgePileState } from '../../../../types/api/cluster';
3
+ import { ArrowChevronRight, Ban, CircleCheck, CirclePause, LinkSlash } from '@gravity-ui/icons';
4
+ import { Flex, HelpMark, Icon, Label, Text } from '@gravity-ui/uikit';
5
+ import { BridgePileGroupStatus, BridgePileState } from '../../../../types/api/cluster';
5
6
  import { cn } from '../../../../utils/cn';
6
7
  import { EMPTY_DATA_PLACEHOLDER } from '../../../../utils/constants';
7
8
  import { formatNumber } from '../../../../utils/dataFormatters/dataFormatters';
8
9
  import i18n from '../../i18n';
9
10
  import './BridgeInfoTable.scss';
10
- const b = cn('bridge-info-table');
11
- function getBridgePileStateTheme(state) {
12
- if (!state) {
13
- return 'unknown';
14
- }
15
- switch (state.toUpperCase()) {
11
+ const b = cn('ydb-bridge-info-table');
12
+ const progressB = cn('ydb-bridge-info-table-progress');
13
+ const legendB = cn('ydb-bridge-info-table-legend');
14
+ function getBridgePileStateInfo(state) {
15
+ switch (state) {
16
16
  case BridgePileState.PRIMARY:
17
+ return {
18
+ label: i18n('value_bridge-state-primary'),
19
+ theme: 'normal',
20
+ };
17
21
  case BridgePileState.PROMOTED:
22
+ return {
23
+ label: i18n('value_bridge-state-promoted'),
24
+ theme: 'normal',
25
+ icon: _jsx(Icon, { data: ArrowChevronRight, size: 12 }),
26
+ help: i18n('context_bridge-pile-state-promoted'),
27
+ };
18
28
  case BridgePileState.SYNCHRONIZED:
19
- return 'success'; // Green - healthy states
29
+ return {
30
+ label: i18n('value_bridge-state-synchronised'),
31
+ theme: 'success',
32
+ icon: _jsx(Icon, { data: CircleCheck, size: 12 }),
33
+ help: i18n('context_bridge-pile-state-synchronised'),
34
+ };
20
35
  case BridgePileState.NOT_SYNCHRONIZED:
21
- return 'warning'; // Yellow - needs attention
36
+ return {
37
+ label: i18n('value_bridge-state-not-synchronised'),
38
+ theme: 'normal',
39
+ icon: _jsx(Icon, { data: Ban, size: 12 }),
40
+ help: i18n('context_bridge-pile-state-not-synchronised'),
41
+ };
22
42
  case BridgePileState.SUSPENDED:
43
+ return {
44
+ label: i18n('value_bridge-state-suspended'),
45
+ theme: 'warning',
46
+ icon: _jsx(Icon, { data: CirclePause, size: 12 }),
47
+ help: i18n('context_bridge-pile-state-suspended'),
48
+ };
23
49
  case BridgePileState.DISCONNECTED:
24
- return 'danger'; // Red - critical states
50
+ return {
51
+ label: i18n('value_bridge-state-disconnected'),
52
+ theme: 'unknown',
53
+ icon: _jsx(Icon, { data: LinkSlash, size: 12 }),
54
+ help: i18n('context_bridge-pile-state-disconnected'),
55
+ };
25
56
  case BridgePileState.UNSPECIFIED:
57
+ return {
58
+ label: i18n('value_bridge-state-unspecified'),
59
+ theme: 'unknown',
60
+ };
26
61
  default:
27
- return 'unknown'; // Purple - unknown state
62
+ return {
63
+ label: state,
64
+ theme: 'unknown',
65
+ };
66
+ }
67
+ }
68
+ function getNodesLabel(nodes) {
69
+ if (nodes === undefined) {
70
+ return EMPTY_DATA_PLACEHOLDER;
71
+ }
72
+ return i18n('value_nodes', {
73
+ count: nodes,
74
+ formattedCount: formatNumber(nodes),
75
+ });
76
+ }
77
+ function getBridgePileGroupStatusInfo(status) {
78
+ switch (status) {
79
+ case BridgePileGroupStatus.UNKNOWN:
80
+ return {
81
+ label: i18n('value_bridge-group-status-unknown'),
82
+ theme: 'secondary',
83
+ };
84
+ case BridgePileGroupStatus.FULL:
85
+ return {
86
+ label: i18n('value_bridge-group-status-full'),
87
+ theme: 'positive',
88
+ };
89
+ case BridgePileGroupStatus.PARTIAL:
90
+ return {
91
+ label: i18n('value_bridge-group-status-partial'),
92
+ theme: 'warning',
93
+ };
94
+ case BridgePileGroupStatus.DEGRADED:
95
+ return {
96
+ label: i18n('value_bridge-group-status-degraded'),
97
+ theme: 'danger',
98
+ };
99
+ case BridgePileGroupStatus.DISINTEGRATED:
100
+ return {
101
+ label: i18n('value_bridge-group-status-disintegrated'),
102
+ theme: 'dark-complementary',
103
+ };
104
+ default:
105
+ return {
106
+ label: EMPTY_DATA_PLACEHOLDER,
107
+ theme: 'secondary',
108
+ };
109
+ }
110
+ }
111
+ function getBridgePileGroupStatus(status) {
112
+ if (Object.values(BridgePileGroupStatus).includes(status)) {
113
+ return status;
114
+ }
115
+ return undefined;
116
+ }
117
+ function prepareGroupStatuses(groupStatuses) {
118
+ return Object.entries(groupStatuses !== null && groupStatuses !== void 0 ? groupStatuses : {})
119
+ .map(([status, value]) => {
120
+ const groupStatus = getBridgePileGroupStatus(status);
121
+ const { label, theme } = groupStatus
122
+ ? getBridgePileGroupStatusInfo(groupStatus)
123
+ : { label: status, theme: 'secondary' };
124
+ const numericValue = Number(value);
125
+ if (!Number.isFinite(numericValue) || numericValue <= 0) {
126
+ return undefined;
127
+ }
128
+ return {
129
+ label,
130
+ theme,
131
+ value: numericValue,
132
+ };
133
+ })
134
+ .filter((status) => status !== undefined);
135
+ }
136
+ function SegmentedProgressBar({ statuses, describedBy }) {
137
+ const total = statuses.reduce((sum, { value }) => sum + value, 0);
138
+ if (!Number.isFinite(total) || total <= 0) {
139
+ return (_jsx("div", { className: progressB({ empty: true }), role: "img", "aria-label": i18n('context_group-statuses-empty') }));
140
+ }
141
+ return (_jsx("div", { className: progressB(), role: "img", "aria-label": i18n('context_group-statuses'), "aria-describedby": describedBy, children: statuses.map(({ label, theme, value }) => (_jsx("div", { className: progressB('item', { theme }), "aria-hidden": "true", style: {
142
+ width: `${(value / total) * 100}%`,
143
+ } }, `${label}-${value}`))) }));
144
+ }
145
+ function GroupStatusesLegend({ statuses, id }) {
146
+ if (!statuses.length) {
147
+ return (_jsx(Text, { variant: "caption-2", color: "secondary", children: EMPTY_DATA_PLACEHOLDER }));
28
148
  }
149
+ return (_jsx("ul", { id: id, className: legendB(), "aria-label": i18n('context_group-statuses'), children: statuses.map(({ label, theme, value }) => (_jsxs("li", { className: legendB('item'), children: [_jsx("span", { "aria-hidden": "true", className: legendB('dot', { theme }) }), _jsx(Text, { variant: "caption-2", className: legendB('label'), children: label }), _jsx(Text, { variant: "caption-2", color: "secondary", children: formatNumber(value) })] }, `${label}-${value}`))) }));
29
150
  }
30
151
  const BridgePileCard = React.memo(function BridgePileCard({ pile }) {
31
- const renderStateStatus = React.useCallback(() => {
32
- if (!pile.State) {
33
- return EMPTY_DATA_PLACEHOLDER;
152
+ var _a;
153
+ const groupStatusesLegendId = React.useId();
154
+ const stateStatus = React.useMemo(() => {
155
+ const { label, theme, icon, help } = getBridgePileStateInfo(pile.State);
156
+ if (!label) {
157
+ return null;
34
158
  }
35
- const theme = getBridgePileStateTheme(pile.State);
36
- return _jsx(Label, { theme: theme, children: pile.State });
159
+ const showStateHelp = Boolean(help);
160
+ return (_jsx(Label, { theme: theme, size: "xs", icon: icon, className: b('state-label', { 'with-help': showStateHelp }), children: _jsxs(Flex, { alignItems: "center", gap: 2, wrap: "nowrap", children: [label, showStateHelp ? (_jsx(HelpMark, { iconSize: "s", className: b('state-help'), popoverProps: {
161
+ placement: ['top', 'bottom'],
162
+ className: b('state-help-popover'),
163
+ }, children: help })) : null] }) }));
37
164
  }, [pile.State]);
38
- const info = React.useMemo(() => [
39
- {
40
- name: i18n('field_state'),
41
- content: renderStateStatus(),
42
- },
43
- {
44
- name: i18n('field_nodes'),
45
- content: pile.Nodes === undefined ? EMPTY_DATA_PLACEHOLDER : formatNumber(pile.Nodes),
46
- },
47
- ], [renderStateStatus, pile.Nodes]);
48
- return (_jsxs(Flex, { direction: "column", gap: 3, className: b('pile-card'), children: [_jsx(Text, { variant: "body-2", children: pile.Name || EMPTY_DATA_PLACEHOLDER }), _jsx(DefinitionList, { nameMaxWidth: 160, children: info.map(({ name, content }) => (_jsx(DefinitionList.Item, { name: name, children: content }, name))) })] }));
165
+ const groupStatuses = React.useMemo(() => prepareGroupStatuses(pile.GroupStatuses), [pile.GroupStatuses]);
166
+ const groupStatusesDescriptionId = groupStatuses.length ? groupStatusesLegendId : undefined;
167
+ return (_jsxs(Flex, { direction: "column", gap: 2, className: b('pile'), children: [_jsxs(Flex, { justifyContent: "space-between", alignItems: "flex-start", gap: 3, children: [_jsxs(Flex, { direction: "column", className: b('pile-title'), children: [_jsx(Text, { variant: "subheader-1", ellipsis: true, children: ((_a = pile.Name) === null || _a === void 0 ? void 0 : _a.trim()) || EMPTY_DATA_PLACEHOLDER }), _jsx(Text, { variant: "caption-2", color: "secondary", children: getNodesLabel(pile.Nodes) })] }), stateStatus] }), _jsxs(Flex, { direction: "column", gap: 1, className: b('statuses'), children: [_jsx(SegmentedProgressBar, { statuses: groupStatuses, describedBy: groupStatusesDescriptionId }), _jsx(GroupStatusesLegend, { statuses: groupStatuses, id: groupStatusesDescriptionId })] })] }));
49
168
  });
50
169
  export const BridgeInfoTable = React.memo(function BridgeInfoTable({ piles }) {
51
170
  const renderedPiles = React.useMemo(() => piles.map((pile, index) => { var _a; return _jsx(BridgePileCard, { pile: pile }, (_a = pile.PileId) !== null && _a !== void 0 ? _a : index); }), [piles]);
52
- return (_jsx(Flex, { gap: 2, className: b(), children: renderedPiles }));
171
+ return (_jsx(Flex, { gap: 2, wrap: true, className: b(), children: renderedPiles }));
53
172
  });
54
173
  //# sourceMappingURL=BridgeInfoTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BridgeInfoTable.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BridgeInfoTable.js","sourceRoot":"","sources":["../../../../../src/containers/Cluster/ClusterOverview/components/BridgeInfoTable.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,31 @@
1
1
  @use '../../../../styles/mixins.scss';
2
2
 
3
- .bridge-info-table {
4
- height: 100%;
3
+ @mixin bridge-group-status-background {
4
+ &_theme_positive {
5
+ background-color: var(--g-color-text-positive);
6
+ }
7
+
8
+ &_theme_warning {
9
+ background-color: var(--g-color-text-warning);
10
+ }
11
+
12
+ &_theme_danger {
13
+ background-color: var(--g-color-text-danger);
14
+ }
5
15
 
6
- &__pile-card {
7
- --g-definition-list-item-gap: var(--g-spacing-3);
16
+ &_theme_dark-complementary {
17
+ background-color: var(--g-color-text-dark-complementary);
18
+ }
19
+
20
+ &_theme_secondary {
21
+ background-color: var(--g-color-text-secondary);
22
+ }
23
+ }
24
+
25
+ .ydb-bridge-info-table {
26
+ height: 100%;
8
27
 
28
+ &__pile {
9
29
  width: 321px;
10
30
  padding: var(--g-spacing-3) var(--g-spacing-4);
11
31
 
@@ -15,13 +35,89 @@
15
35
  @include mixins.body-2-typography();
16
36
  }
17
37
 
18
- &__status-icon {
19
- &_primary {
20
- color: var(--g-color-text-positive);
21
- }
38
+ &__pile-title {
39
+ min-width: 0;
40
+ }
41
+
42
+ &__state-label {
43
+ flex-shrink: 0;
22
44
 
23
- &:not(&_primary) {
24
- color: var(--g-color-private-white-250);
45
+ &_with-help .g-label__text {
46
+ margin-inline: var(--g-spacing-1) var(--g-spacing-1);
25
47
  }
26
48
  }
49
+
50
+ &__state-help {
51
+ color: inherit;
52
+ }
53
+
54
+ &__state-help-popover {
55
+ white-space: pre-line;
56
+ }
57
+
58
+ &__statuses {
59
+ width: 100%;
60
+ }
61
+ }
62
+
63
+ .ydb-bridge-info-table-progress {
64
+ display: flex;
65
+ overflow: hidden;
66
+ align-items: center;
67
+ gap: var(--g-spacing-half);
68
+
69
+ height: 10px;
70
+
71
+ border-radius: var(--g-border-radius-xs);
72
+
73
+ &_empty {
74
+ background-color: var(--g-color-sfx-shadow);
75
+ }
76
+
77
+ &__item {
78
+ min-width: 8px;
79
+ height: 4px;
80
+
81
+ border-radius: var(--g-border-radius-xs);
82
+
83
+ @include bridge-group-status-background();
84
+ }
85
+ }
86
+
87
+ .ydb-bridge-info-table-legend {
88
+ display: flex;
89
+ flex-wrap: wrap;
90
+ gap: var(--g-spacing-2);
91
+
92
+ min-width: 0;
93
+ margin: 0;
94
+ padding: 0;
95
+
96
+ list-style: none;
97
+
98
+ &__item {
99
+ display: inline-flex;
100
+ align-items: center;
101
+ gap: var(--g-spacing-1);
102
+
103
+ min-width: 0;
104
+ }
105
+
106
+ &__dot {
107
+ flex: 0 0 6px;
108
+
109
+ width: 6px;
110
+ height: 6px;
111
+
112
+ border-radius: 50%;
113
+
114
+ @include bridge-group-status-background();
115
+ }
116
+
117
+ &__label {
118
+ overflow: hidden;
119
+
120
+ white-space: nowrap;
121
+ text-overflow: ellipsis;
122
+ }
27
123
  }
@@ -13,6 +13,29 @@
13
13
  "label_overview": "Overview",
14
14
  "field_state": "State",
15
15
  "field_nodes": "Nodes",
16
+ "value_nodes": {
17
+ "one": "{{formattedCount}} node",
18
+ "other": "{{formattedCount}} nodes"
19
+ },
20
+ "value_bridge-state-primary": "Primary",
21
+ "value_bridge-state-promoted": "Promoted",
22
+ "value_bridge-state-synchronised": "Synchronised",
23
+ "value_bridge-state-not-synchronised": "Not synchronised",
24
+ "value_bridge-state-suspended": "Suspended",
25
+ "value_bridge-state-disconnected": "Disconnected",
26
+ "value_bridge-state-unspecified": "Unspecified",
27
+ "value_bridge-group-status-unknown": "Unknown",
28
+ "value_bridge-group-status-full": "Full",
29
+ "value_bridge-group-status-partial": "Partial",
30
+ "value_bridge-group-status-degraded": "Degraded",
31
+ "value_bridge-group-status-disintegrated": "Disintegrated",
32
+ "context_bridge-pile-state-promoted": "Pile that is being promoted from SYNCHRONIZED\nto PRIMARY. It stays in this state during the graceful\nswitchover. After completion, YDB will automatically\nset it to PRIMARY.",
33
+ "context_bridge-pile-state-synchronised": "Secondary pile where all storage groups are fully\nsynchronized with PRIMARY. In normal operation,\nthe pair works as PRIMARY + SYNCHRONISED.",
34
+ "context_bridge-pile-state-not-synchronised": "Storage groups of this pile are not yet fully synchronized\nwith PRIMARY. After synchronization is complete, YDB\nwill automatically transition the pile to SYNCHRONIZED.",
35
+ "context_bridge-pile-state-suspended": "Pile is being gracefully transitioned to DISCONNECTED\nstate. It remains in this state during the graceful shutdown.\nAfter completion, YDB will automatically move it\nto DISCONNECTED.",
36
+ "context_bridge-pile-state-disconnected": "Pile is disconnected from PRIMARY and does\nnot participate in operation execution.",
37
+ "context_group-statuses": "Storage group statuses",
38
+ "context_group-statuses-empty": "No storage group status data",
16
39
  "context_cpu": "CPU load",
17
40
  "context_memory": "Memory used",
18
41
  "title_storage-by-type": "Storage {{type}}",
@@ -1,2 +1,2 @@
1
- declare const _default: (key: "title_allocated" | "title_available-one" | "title_available-other" | "context_storage-group-allocation-progress" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs" | "title_healthcheck-dashboard" | "action_download-healthcheck", params?: import("@gravity-ui/i18n").Params) => string;
1
+ declare const _default: (key: "title_allocated" | "title_available-one" | "title_available-other" | "context_storage-group-allocation-progress" | "title_cpu" | "title_storage-groups" | "title_memory" | "title_network" | "title_links" | "title_details" | "title_bridge" | "label_overview" | "field_state" | "field_nodes" | "value_nodes" | "value_bridge-state-primary" | "value_bridge-state-promoted" | "value_bridge-state-synchronised" | "value_bridge-state-not-synchronised" | "value_bridge-state-suspended" | "value_bridge-state-disconnected" | "value_bridge-state-unspecified" | "value_bridge-group-status-unknown" | "value_bridge-group-status-full" | "value_bridge-group-status-partial" | "value_bridge-group-status-degraded" | "value_bridge-group-status-disintegrated" | "context_bridge-pile-state-promoted" | "context_bridge-pile-state-synchronised" | "context_bridge-pile-state-not-synchronised" | "context_bridge-pile-state-suspended" | "context_bridge-pile-state-disconnected" | "context_group-statuses" | "context_group-statuses-empty" | "context_cpu" | "context_memory" | "title_storage-by-type" | "title_storage" | "context_network" | "context_cpu-description" | "context_memory-description" | "context_storage-by-type-description" | "context_storage-total-description" | "context_network-description" | "tab_databases" | "tab_nodes" | "tab_storage" | "tab_network" | "tab_versions" | "tab_tablets" | "tab_events" | "tab_configs" | "title_healthcheck-dashboard" | "action_download-healthcheck", params?: import("@gravity-ui/i18n").Params) => string;
2
2
  export default _default;
@@ -67,8 +67,45 @@ export function Clusters({ scrollContainerRef }) {
67
67
  onStatusClick: handleStatusClick,
68
68
  });
69
69
  }, [isDeleteClusterAvailable, isEditClusterAvailable, handleStatusClick]);
70
- const { columnsToShow, columnsToSelect, setColumns } = useSelectedColumns(rawColumns, CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_TITLES, DEFAULT_COLUMNS, [COLUMNS_NAMES.TITLE]);
71
70
  const clusters = query.data;
71
+ // Check which columns have data across all clusters
72
+ const { hasAnyStatus, hasAnyService, hasAnyGalaxy } = React.useMemo(() => {
73
+ if (!clusters || clusters.length === 0) {
74
+ return { hasAnyStatus: true, hasAnyService: true, hasAnyGalaxy: true };
75
+ }
76
+ return {
77
+ hasAnyStatus: clusters.some((cluster) => cluster.status),
78
+ hasAnyService: clusters.some((cluster) => cluster.service),
79
+ hasAnyGalaxy: clusters.some((cluster) => cluster.galaxy),
80
+ };
81
+ }, [clusters]);
82
+ const { columnsToShow, columnsToSelect, setColumns, selectedColumnIds } = useSelectedColumns(rawColumns, CLUSTERS_SELECTED_COLUMNS_KEY, COLUMNS_TITLES, DEFAULT_COLUMNS, [COLUMNS_NAMES.TITLE]);
83
+ // Filter out empty columns that user has NOT explicitly selected
84
+ // This hides them from both the table and the column selector
85
+ const filteredColumnsToSelect = React.useMemo(() => {
86
+ return columnsToSelect.filter((column) => {
87
+ // If user explicitly selected this column, always show it
88
+ if (selectedColumnIds.has(column.id)) {
89
+ return true;
90
+ }
91
+ // Otherwise, hide empty columns
92
+ if (column.id === COLUMNS_NAMES.STATUS && !hasAnyStatus) {
93
+ return false;
94
+ }
95
+ if (column.id === COLUMNS_NAMES.SERVICE && !hasAnyService) {
96
+ return false;
97
+ }
98
+ if (column.id === COLUMNS_NAMES.GALAXY && !hasAnyGalaxy) {
99
+ return false;
100
+ }
101
+ return true;
102
+ });
103
+ }, [columnsToSelect, selectedColumnIds, hasAnyStatus, hasAnyService, hasAnyGalaxy]);
104
+ // Filter columns to show based on filtered selector
105
+ const filteredColumnsToShow = React.useMemo(() => {
106
+ const allowedColumnIds = new Set(filteredColumnsToSelect.map((col) => col.id));
107
+ return columnsToShow.filter((column) => allowedColumnIds.has(column.name));
108
+ }, [columnsToShow, filteredColumnsToSelect]);
72
109
  const { servicesToSelect, versions, galaxiesToSelect } = React.useMemo(() => {
73
110
  const clustersServices = new Set();
74
111
  const uniqVersions = new Set();
@@ -110,7 +147,7 @@ export function Clusters({ scrollContainerRef }) {
110
147
  return (_jsxs(React.Fragment, { children: [_jsx(Search, { placeholder: i18n('controls_search-placeholder'), endContent: _jsx(Icon, { data: Magnifier, className: b('search-icon') }), onChange: changeClusterName, value: clusterName, width: 320 }), galaxiesToSelect.length > 0 || galaxy.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_galaxy-select-label'), value: galaxy, options: galaxiesToSelect, onUpdate: changeGalaxy, width: 200 })) : null, statuses.length > 0 || status.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_status-select-label'), value: status, options: statuses, onUpdate: changeStatus, width: 200 })) : null, servicesToSelect.length > 0 || service.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_service-select-label'), value: service, options: servicesToSelect, onUpdate: changeService, width: 200 })) : null, versions.length > 0 || version.length > 0 ? (_jsx(Select, { multiple: true, filterable: true, hasClear: true, placeholder: i18n('controls_select-placeholder'), label: i18n('controls_version-select-label'), value: version, options: versions, onUpdate: changeVersion, width: 200 })) : null] }));
111
148
  };
112
149
  const renderColumnSetup = () => {
113
- return (_jsx(TableColumnSetup, { popupWidth: 242, items: columnsToSelect, showStatus: true, onUpdate: setColumns }));
150
+ return (_jsx(TableColumnSetup, { popupWidth: 242, items: filteredColumnsToSelect, showStatus: true, onUpdate: setColumns }));
114
151
  };
115
152
  const renderClustersCount = () => {
116
153
  if (query.isLoading) {
@@ -119,7 +156,7 @@ export function Clusters({ scrollContainerRef }) {
119
156
  return (_jsx(Text, { variant: "body-1", color: "hint", className: b('clusters-count'), children: i18n('clusters-count', { count: filteredClusters.length }) }));
120
157
  };
121
158
  const renderContent = () => {
122
- return (_jsx(ResizeableDataTable, { isLoading: query.isLoading, columnsWidthLSKey: CLUSTERS_COLUMNS_WIDTH_LS_KEY, wrapperClassName: b('table'), data: filteredClusters, columns: columnsToShow, settings: { ...DEFAULT_TABLE_SETTINGS, dynamicRender: false }, initialSortOrder: {
159
+ return (_jsx(ResizeableDataTable, { isLoading: query.isLoading, columnsWidthLSKey: CLUSTERS_COLUMNS_WIDTH_LS_KEY, wrapperClassName: b('table'), data: filteredClusters, columns: filteredColumnsToShow, settings: { ...DEFAULT_TABLE_SETTINGS, dynamicRender: false }, initialSortOrder: {
123
160
  columnId: COLUMNS_NAMES.TITLE,
124
161
  order: DataTable.ASCENDING,
125
162
  } }));