ydb-embedded-ui 19.0.0 → 20.0.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 (172) hide show
  1. package/README.md +15 -0
  2. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js +15 -2
  3. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.js.map +1 -1
  4. package/dist/components/DiskStateProgressBar/DiskStateProgressBar.scss +77 -10
  5. package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
  6. package/dist/components/QueryExecutionLabel/i18n/index.d.ts +1 -1
  7. package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
  8. package/dist/containers/App/Content.js +2 -2
  9. package/dist/containers/App/Content.js.map +1 -1
  10. package/dist/containers/App/NavigationWrapper.js +2 -15
  11. package/dist/containers/App/NavigationWrapper.js.map +1 -1
  12. package/dist/containers/Authentication/Authentication.js +22 -5
  13. package/dist/containers/Authentication/Authentication.js.map +1 -1
  14. package/dist/containers/Authentication/Authentication.scss +4 -0
  15. package/dist/containers/Authentication/i18n/en.json +2 -1
  16. package/dist/containers/Authentication/i18n/index.d.ts +1 -1
  17. package/dist/containers/Authentication/utils.d.ts +8 -0
  18. package/dist/containers/Authentication/utils.js +32 -0
  19. package/dist/containers/Authentication/utils.js.map +1 -1
  20. package/dist/containers/Cluster/Cluster.js +3 -4
  21. package/dist/containers/Cluster/Cluster.js.map +1 -1
  22. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.d.ts +1 -1
  23. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js +0 -6
  24. package/dist/containers/Cluster/ClusterOverview/components/ClusterMetricsNetwork.js.map +1 -1
  25. package/dist/containers/Configs/i18n/index.d.ts +1 -1
  26. package/dist/containers/Storage/Disks/Disks.js +5 -3
  27. package/dist/containers/Storage/Disks/Disks.js.map +1 -1
  28. package/dist/containers/Storage/PDisk/PDisk.d.ts +3 -1
  29. package/dist/containers/Storage/PDisk/PDisk.js +7 -18
  30. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  31. package/dist/containers/Storage/PDisk/PDiskVDisks.d.ts +13 -0
  32. package/dist/containers/Storage/PDisk/PDiskVDisks.js +20 -0
  33. package/dist/containers/Storage/PDisk/PDiskVDisks.js.map +1 -0
  34. package/dist/containers/Storage/PaginatedStorage.js +2 -1
  35. package/dist/containers/Storage/PaginatedStorage.js.map +1 -1
  36. package/dist/containers/Storage/PaginatedStorageGroupsTable/columns/columns.js +1 -1
  37. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js +40 -4
  38. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.js.map +1 -1
  39. package/dist/containers/Storage/StorageExpertModePanel/StorageExpertModePanel.scss +8 -4
  40. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.d.ts +2 -4
  41. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js +3 -17
  42. package/dist/containers/Storage/StorageExpertModePanel/components/CompactionLegend.js.map +1 -1
  43. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.d.ts +5 -0
  44. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js +16 -0
  45. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDecommitLegend.js.map +1 -0
  46. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.d.ts +1 -0
  47. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.js +7 -0
  48. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDeviceLegend.js.map +1 -0
  49. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.d.ts +5 -0
  50. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js +17 -0
  51. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskDriveLegend.js.map +1 -0
  52. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.d.ts +5 -0
  53. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js +23 -0
  54. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskMaintenanceLegend.js.map +1 -0
  55. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.d.ts +5 -0
  56. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.js +23 -0
  57. package/dist/containers/Storage/StorageExpertModePanel/components/PDiskStateLegend.js.map +1 -0
  58. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.d.ts +3 -1
  59. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js +4 -4
  60. package/dist/containers/Storage/StorageExpertModePanel/components/SpaceLegend.js.map +1 -1
  61. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js +3 -3
  62. package/dist/containers/Storage/StorageExpertModePanel/components/StateLegend.js.map +1 -1
  63. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.d.ts +6 -0
  64. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js +21 -0
  65. package/dist/containers/Storage/StorageExpertModePanel/components/StatusPairLegend.js.map +1 -0
  66. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.d.ts +3 -2
  67. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js +13 -7
  68. package/dist/containers/Storage/StorageExpertModePanel/components/getSpaceLegendSelection.js.map +1 -1
  69. package/dist/containers/Storage/StorageExpertModePanel/components/index.d.ts +5 -0
  70. package/dist/containers/Storage/StorageExpertModePanel/components/index.js +5 -0
  71. package/dist/containers/Storage/StorageExpertModePanel/components/index.js.map +1 -1
  72. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.d.ts +2 -6
  73. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js +10 -6
  74. package/dist/containers/Storage/StorageExpertModePanel/components/useSpaceLegendSelection.js.map +1 -1
  75. package/dist/containers/Storage/StorageExpertModePanel/constants.d.ts +19 -0
  76. package/dist/containers/Storage/StorageExpertModePanel/constants.js +10 -0
  77. package/dist/containers/Storage/StorageExpertModePanel/constants.js.map +1 -1
  78. package/dist/containers/Storage/StorageExpertModePanel/i18n/en.json +23 -0
  79. package/dist/containers/Storage/StorageExpertModePanel/i18n/index.d.ts +1 -1
  80. package/dist/containers/Storage/i18n/en.json +1 -1
  81. package/dist/containers/Storage/i18n/index.d.ts +1 -1
  82. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.d.ts +2 -0
  83. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js +142 -0
  84. package/dist/containers/Storage/useStoragePDiskDisplayStateGetter.js.map +1 -0
  85. package/dist/containers/Storage/useStorageQueryParams.d.ts +5 -1
  86. package/dist/containers/Storage/useStorageQueryParams.js +26 -2
  87. package/dist/containers/Storage/useStorageQueryParams.js.map +1 -1
  88. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js +2 -3
  89. package/dist/containers/Tenant/Diagnostics/Network/NetworkWrapper.js.map +1 -1
  90. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.d.ts +2 -1
  91. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js +6 -2
  92. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/DatabaseInfo.js.map +1 -1
  93. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.d.ts +2 -0
  94. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.js +9 -0
  95. package/dist/containers/Tenant/Diagnostics/Overview/DatabaseInfo/utils.js.map +1 -0
  96. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +1 -1
  97. package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
  98. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js +1 -4
  99. package/dist/containers/Tenant/Diagnostics/TenantOverview/MetricsTabs/MetricsTabs.js.map +1 -1
  100. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js +1 -6
  101. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantNetwork/TenantNetwork.js.map +1 -1
  102. package/dist/containers/Tenant/Diagnostics/i18n/index.d.ts +1 -1
  103. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +3 -4
  104. package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
  105. package/dist/containers/Tenant/Query/QueryResult/utils.d.ts +2 -0
  106. package/dist/containers/Tenant/Query/QueryResult/utils.js +9 -0
  107. package/dist/containers/Tenant/Query/QueryResult/utils.js.map +1 -0
  108. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js +4 -15
  109. package/dist/containers/Tenant/Query/QuerySettingsDialog/QuerySettingsDialog.js.map +1 -1
  110. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/en.json +0 -1
  111. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/index.d.ts +1 -1
  112. package/dist/containers/Tenant/Query/QuerySettingsDialog/i18n/ru.json +0 -1
  113. package/dist/containers/Tenants/TenantsTable.js +21 -26
  114. package/dist/containers/Tenants/TenantsTable.js.map +1 -1
  115. package/dist/containers/UserSettings/i18n/en.json +1 -4
  116. package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
  117. package/dist/containers/UserSettings/settings.d.ts +3 -8
  118. package/dist/containers/UserSettings/settings.js +11 -58
  119. package/dist/containers/UserSettings/settings.js.map +1 -1
  120. package/dist/lib.d.ts +1 -1
  121. package/dist/lib.js.map +1 -1
  122. package/dist/store/reducers/capabilities/hooks.d.ts +1 -0
  123. package/dist/store/reducers/capabilities/hooks.js +5 -0
  124. package/dist/store/reducers/capabilities/hooks.js.map +1 -1
  125. package/dist/store/reducers/query/api.js +4 -0
  126. package/dist/store/reducers/query/api.js.map +1 -1
  127. package/dist/store/reducers/query/types.d.ts +2 -1
  128. package/dist/store/reducers/settings/constants.d.ts +2 -8
  129. package/dist/store/reducers/settings/constants.js +2 -8
  130. package/dist/store/reducers/settings/constants.js.map +1 -1
  131. package/dist/store/reducers/storage/prepareGroupsDisks.d.ts +3 -1
  132. package/dist/store/reducers/storage/prepareGroupsDisks.js +3 -1
  133. package/dist/store/reducers/storage/prepareGroupsDisks.js.map +1 -1
  134. package/dist/store/reducers/tenant/tenant.d.ts +1 -0
  135. package/dist/store/reducers/tenant/tenant.js +1 -0
  136. package/dist/store/reducers/tenant/tenant.js.map +1 -1
  137. package/dist/styles/mixins.scss +8 -8
  138. package/dist/styles/space-colors.scss +48 -4
  139. package/dist/types/api/capabilities.d.ts +1 -1
  140. package/dist/types/api/pdisk.d.ts +2 -0
  141. package/dist/types/api/storage.d.ts +2 -1
  142. package/dist/types/api/storage.js.map +1 -1
  143. package/dist/types/api/tenant.d.ts +2 -0
  144. package/dist/types/api/tenant.js.map +1 -1
  145. package/dist/uiFactory/types.d.ts +5 -0
  146. package/dist/utils/constants.d.ts +1 -1
  147. package/dist/utils/constants.js +1 -5
  148. package/dist/utils/constants.js.map +1 -1
  149. package/dist/utils/disks/displayState.d.ts +7 -1
  150. package/dist/utils/disks/displayState.js +11 -0
  151. package/dist/utils/disks/displayState.js.map +1 -1
  152. package/dist/utils/disks/helpers.d.ts +2 -2
  153. package/dist/utils/disks/iconCalculators.d.ts +2 -0
  154. package/dist/utils/disks/iconCalculators.js +24 -19
  155. package/dist/utils/disks/iconCalculators.js.map +1 -1
  156. package/dist/utils/disks/pdiskState.d.ts +8 -0
  157. package/dist/utils/disks/pdiskState.js +165 -0
  158. package/dist/utils/disks/pdiskState.js.map +1 -0
  159. package/dist/utils/disks/severityCalculators.d.ts +6 -5
  160. package/dist/utils/disks/severityCalculators.js +17 -32
  161. package/dist/utils/disks/severityCalculators.js.map +1 -1
  162. package/dist/utils/disks/types.d.ts +3 -1
  163. package/dist/utils/hooks/useChangedQuerySettings.d.ts +2 -2
  164. package/dist/utils/hooks/useQueryExecutionSettings.d.ts +11 -2
  165. package/dist/utils/hooks/useQueryExecutionSettings.js +2 -18
  166. package/dist/utils/hooks/useQueryExecutionSettings.js.map +1 -1
  167. package/dist/utils/hooks/useQueryStreamingSetting.js +1 -8
  168. package/dist/utils/hooks/useQueryStreamingSetting.js.map +1 -1
  169. package/package.json +2 -2
  170. package/dist/components/NetworkTable/hooks.d.ts +0 -2
  171. package/dist/components/NetworkTable/hooks.js +0 -14
  172. package/dist/components/NetworkTable/hooks.js.map +0 -1
@@ -4,7 +4,7 @@ import { EFlag } from '../../types/api/enums';
4
4
  import type { TVDiskStateInfo, TVSlotId } from '../../types/api/vdisk';
5
5
  import type { DiskColor, PreparedVDisk } from './types';
6
6
  export declare function isFullVDiskData(disk: PreparedVDisk | TVDiskStateInfo | TVSlotId): disk is PreparedVDisk | TVDiskStateInfo;
7
- export declare const getSpaceSeverity: (allocatedPercent?: number) => 21 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 22 | 11 | 12 | 16 | 17 | 18 | 19 | 20 | import("./types").DataSeverity;
7
+ export declare const getSpaceSeverity: (allocatedPercent?: number) => 21 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 22 | 11 | 16 | 17 | 18 | 19 | 20 | import("./types").DataSeverity;
8
8
  /**
9
9
  * Convert data severity (0-5) to EFlag color.
10
10
  * Used for PreparedVDisk.Severity and PreparedPDisk.Severity in Default mode.
@@ -21,7 +21,7 @@ export declare function getDataSeverityColor(severity: number | undefined): EFla
21
21
  * @returns Disk color for visualization
22
22
  */
23
23
  export declare function getDisplaySeverityColor(severity: number | undefined): DiskColor;
24
- export declare function getColorSeverity(color?: EFlag): 0 | 1 | 2 | 5 | 4 | 21 | 3 | 6 | 7 | 8 | 9 | 10 | 13 | 14 | 15 | 22 | 11 | 12 | 16 | 17 | 18 | 19 | 20;
24
+ export declare function getColorSeverity(color?: EFlag): 0 | 1 | 2 | 5 | 4 | 21 | 3 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 22 | 11 | 16 | 17 | 18 | 19 | 20;
25
25
  export declare function getPDiskId({ nodeId, pDiskId, }: {
26
26
  nodeId?: string | number | null;
27
27
  pDiskId?: string | number | null;
@@ -1,4 +1,5 @@
1
1
  import type { IconData } from '@gravity-ui/uikit';
2
+ import { EFlag } from '../../types/api/enums';
2
3
  import type { PreparedVDisk } from './types';
3
4
  export interface IconWithColor {
4
5
  icon: IconData;
@@ -29,6 +30,7 @@ export declare function calculateSpaceIcon(vDisk: PreparedVDisk, isDonor?: boole
29
30
  * - Impaired (Red): Dots9 icon
30
31
  */
31
32
  export declare function calculateFrontQueuesIcon(vDisk: PreparedVDisk, isDonor?: boolean): IconData | undefined;
33
+ export declare function calculateFlagPairIcon(firstFlag: EFlag | undefined, secondFlag: EFlag | undefined): IconWithColor[] | undefined;
32
34
  /**
33
35
  * Compaction-based icon logic - shows two icons (Fresh + Level) side by side
34
36
  * Each icon has its own color based on its rank
@@ -25,6 +25,9 @@ export function calculateStateIcon(vDisk, isDonor) {
25
25
  return DONOR_ICON;
26
26
  }
27
27
  const state = vDisk.VDiskState;
28
+ if (state === undefined) {
29
+ return CircleQuestionFill;
30
+ }
28
31
  // Initial states get Clock icon (Figma: "иконка с часиками")
29
32
  if (state === EVDiskState.Initial || state === EVDiskState.SyncGuidRecovery) {
30
33
  return ClockFill;
@@ -102,10 +105,10 @@ export function calculateFrontQueuesIcon(vDisk, isDonor) {
102
105
  }
103
106
  }
104
107
  /**
105
- * Get icon and color for a single compaction rank (Fresh or Level)
106
- * Maps EFlag to corresponding icon and color from CompactionLegend
108
+ * Get icon and color for a single status flag.
109
+ * Maps EFlag to the corresponding pair-legend icon and color.
107
110
  */
108
- function getCompactionRankIconWithColor(flag) {
111
+ function getFlagIconWithColor(flag) {
109
112
  if (!flag || flag === EFlag.Grey) {
110
113
  return {
111
114
  icon: CircleQuestionFill,
@@ -113,6 +116,7 @@ function getCompactionRankIconWithColor(flag) {
113
116
  };
114
117
  }
115
118
  switch (flag) {
119
+ case EFlag.Blue:
116
120
  case EFlag.Green:
117
121
  return {
118
122
  icon: CircleCheckFill,
@@ -137,6 +141,22 @@ function getCompactionRankIconWithColor(flag) {
137
141
  return undefined;
138
142
  }
139
143
  }
144
+ export function calculateFlagPairIcon(firstFlag, secondFlag) {
145
+ const flags = [firstFlag, secondFlag];
146
+ if (flags.every((flag) => flag === EFlag.Green || flag === EFlag.Blue)) {
147
+ return undefined;
148
+ }
149
+ const firstIconWithColor = getFlagIconWithColor(firstFlag);
150
+ const secondIconWithColor = getFlagIconWithColor(secondFlag);
151
+ const icons = [];
152
+ if (firstIconWithColor) {
153
+ icons.push(firstIconWithColor);
154
+ }
155
+ if (secondIconWithColor) {
156
+ icons.push(secondIconWithColor);
157
+ }
158
+ return icons.length > 0 ? icons : undefined;
159
+ }
140
160
  /**
141
161
  * Compaction-based icon logic - shows two icons (Fresh + Level) side by side
142
162
  * Each icon has its own color based on its rank
@@ -157,22 +177,7 @@ export function calculateCompactionIcon(vDisk, isDonor) {
157
177
  }
158
178
  const freshFlag = (_b = (_a = vDisk.SatisfactionRank) === null || _a === void 0 ? void 0 : _a.FreshRank) === null || _b === void 0 ? void 0 : _b.Flag;
159
179
  const levelFlag = (_d = (_c = vDisk.SatisfactionRank) === null || _c === void 0 ? void 0 : _c.LevelRank) === null || _d === void 0 ? void 0 : _d.Flag;
160
- // If both ranks are green, no icon
161
- if (freshFlag === EFlag.Green && levelFlag === EFlag.Green) {
162
- return undefined;
163
- }
164
- // At least one rank is missing or not green - show both icons with their respective colors
165
- const freshIconWithColor = getCompactionRankIconWithColor(freshFlag);
166
- const levelIconWithColor = getCompactionRankIconWithColor(levelFlag);
167
- // Return array of icons with colors [Fresh, Level]
168
- const icons = [];
169
- if (freshIconWithColor) {
170
- icons.push(freshIconWithColor);
171
- }
172
- if (levelIconWithColor) {
173
- icons.push(levelIconWithColor);
174
- }
175
- return icons.length > 0 ? icons : undefined;
180
+ return calculateFlagPairIcon(freshFlag, levelFlag);
176
181
  }
177
182
  /**
178
183
  * Calculate the All mode icon using VDiskState semantics.
@@ -1 +1 @@
1
- {"version":3,"file":"iconCalculators.js","sourceRoot":"","sources":["../../../src/utils/disks/iconCalculators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iconCalculators.js","sourceRoot":"","sources":["../../../src/utils/disks/iconCalculators.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { EDecommitStatus, EDriveStatus, EMaintenanceStatus, TPDiskState } from '../../types/api/pdisk';
2
+ import type { DiskDisplayState } from './displayState';
3
+ type PDiskStateDisplayState = Pick<DiskDisplayState, 'severity' | 'icon'>;
4
+ export declare function getPDiskStateDisplayState(state?: TPDiskState): PDiskStateDisplayState;
5
+ export declare function getPDiskDriveDisplayState(status?: EDriveStatus): PDiskStateDisplayState;
6
+ export declare function getPDiskDecommitDisplayState(status?: EDecommitStatus): PDiskStateDisplayState;
7
+ export declare function getPDiskMaintenanceDisplayState(status?: EMaintenanceStatus): PDiskStateDisplayState;
8
+ export {};
@@ -0,0 +1,165 @@
1
+ import { ArrowUpFromLine, Ban, CircleExclamation, CircleExclamationFill, CircleQuestionFill, CircleStopFill, CircleXmark, CircleXmarkFill, Clock, ClockFill, HourglassStart, TrashBin, Wrench, Xmark, } from '@gravity-ui/icons';
2
+ import { DISK_COLOR_STATE_TO_NUMERIC_SEVERITY, NOT_AVAILABLE_SEVERITY, SOLID_RED_SEVERITY, } from './constants';
3
+ const NOT_AVAILABLE_DISPLAY_STATE = {
4
+ severity: NOT_AVAILABLE_SEVERITY,
5
+ icon: undefined,
6
+ };
7
+ const PDISK_STATE_DISPLAY_STATE = {
8
+ Normal: {
9
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
10
+ icon: undefined,
11
+ },
12
+ Initial: {
13
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
14
+ icon: ClockFill,
15
+ },
16
+ InitialFormatRead: {
17
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
18
+ icon: ClockFill,
19
+ },
20
+ InitialSysLogRead: {
21
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
22
+ icon: ClockFill,
23
+ },
24
+ InitialCommonLogRead: {
25
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
26
+ icon: ClockFill,
27
+ },
28
+ OpenFileError: {
29
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
30
+ icon: CircleExclamationFill,
31
+ },
32
+ DeviceIoError: {
33
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
34
+ icon: CircleExclamationFill,
35
+ },
36
+ Stopped: {
37
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
38
+ icon: CircleStopFill,
39
+ },
40
+ InitialFormatReadError: {
41
+ severity: SOLID_RED_SEVERITY,
42
+ icon: CircleXmarkFill,
43
+ },
44
+ InitialSysLogReadError: {
45
+ severity: SOLID_RED_SEVERITY,
46
+ icon: CircleXmarkFill,
47
+ },
48
+ InitialSysLogParseError: {
49
+ severity: SOLID_RED_SEVERITY,
50
+ icon: CircleXmarkFill,
51
+ },
52
+ InitialCommonLogReadError: {
53
+ severity: SOLID_RED_SEVERITY,
54
+ icon: CircleXmarkFill,
55
+ },
56
+ InitialCommonLogParseError: {
57
+ severity: SOLID_RED_SEVERITY,
58
+ icon: CircleXmarkFill,
59
+ },
60
+ CommonLoggerInitError: {
61
+ severity: SOLID_RED_SEVERITY,
62
+ icon: CircleXmarkFill,
63
+ },
64
+ ChunkQuotaError: {
65
+ severity: SOLID_RED_SEVERITY,
66
+ icon: CircleXmarkFill,
67
+ },
68
+ Missing: NOT_AVAILABLE_DISPLAY_STATE,
69
+ Timeout: NOT_AVAILABLE_DISPLAY_STATE,
70
+ NodeDisconnected: NOT_AVAILABLE_DISPLAY_STATE,
71
+ Unknown: NOT_AVAILABLE_DISPLAY_STATE,
72
+ };
73
+ export function getPDiskStateDisplayState(state) {
74
+ return isPDiskStateDisplayState(state)
75
+ ? PDISK_STATE_DISPLAY_STATE[state]
76
+ : NOT_AVAILABLE_DISPLAY_STATE;
77
+ }
78
+ const PDISK_DRIVE_DISPLAY_STATE = {
79
+ ACTIVE: {
80
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
81
+ icon: undefined,
82
+ },
83
+ INACTIVE: {
84
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
85
+ icon: Clock,
86
+ },
87
+ TO_BE_REMOVED: {
88
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
89
+ icon: TrashBin,
90
+ },
91
+ FAULTY: {
92
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
93
+ icon: CircleExclamation,
94
+ },
95
+ BROKEN: {
96
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
97
+ icon: CircleXmark,
98
+ },
99
+ UNKNOWN: {
100
+ severity: NOT_AVAILABLE_SEVERITY,
101
+ icon: CircleQuestionFill,
102
+ },
103
+ };
104
+ export function getPDiskDriveDisplayState(status) {
105
+ if (status === undefined || PDISK_DRIVE_DISPLAY_STATE[status] === undefined) {
106
+ return NOT_AVAILABLE_DISPLAY_STATE;
107
+ }
108
+ return PDISK_DRIVE_DISPLAY_STATE[status];
109
+ }
110
+ const PDISK_DECOMMIT_DISPLAY_STATE = {
111
+ DECOMMIT_UNSET: {
112
+ severity: NOT_AVAILABLE_SEVERITY,
113
+ icon: CircleQuestionFill,
114
+ },
115
+ DECOMMIT_NONE: {
116
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
117
+ icon: undefined,
118
+ },
119
+ DECOMMIT_PENDING: {
120
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Blue,
121
+ icon: HourglassStart,
122
+ },
123
+ DECOMMIT_IMMINENT: {
124
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
125
+ icon: ArrowUpFromLine,
126
+ },
127
+ DECOMMIT_REJECTED: {
128
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
129
+ icon: Xmark,
130
+ },
131
+ };
132
+ export function getPDiskDecommitDisplayState(status) {
133
+ var _a;
134
+ return status === undefined
135
+ ? NOT_AVAILABLE_DISPLAY_STATE
136
+ : ((_a = PDISK_DECOMMIT_DISPLAY_STATE[status]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_DISPLAY_STATE);
137
+ }
138
+ const PDISK_MAINTENANCE_DISPLAY_STATE = {
139
+ NOT_SET: {
140
+ severity: NOT_AVAILABLE_SEVERITY,
141
+ icon: CircleQuestionFill,
142
+ },
143
+ NO_REQUEST: {
144
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green,
145
+ icon: undefined,
146
+ },
147
+ LONG_TERM_MAINTENANCE_PLANNED: {
148
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Red,
149
+ icon: Wrench,
150
+ },
151
+ NO_NEW_VDISKS: {
152
+ severity: DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow,
153
+ icon: Ban,
154
+ },
155
+ };
156
+ export function getPDiskMaintenanceDisplayState(status) {
157
+ var _a;
158
+ return status === undefined
159
+ ? NOT_AVAILABLE_DISPLAY_STATE
160
+ : ((_a = PDISK_MAINTENANCE_DISPLAY_STATE[status]) !== null && _a !== void 0 ? _a : NOT_AVAILABLE_DISPLAY_STATE);
161
+ }
162
+ function isPDiskStateDisplayState(state) {
163
+ return state !== undefined && Object.hasOwn(PDISK_STATE_DISPLAY_STATE, state);
164
+ }
165
+ //# sourceMappingURL=pdiskState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdiskState.js","sourceRoot":"","sources":["../../../src/utils/disks/pdiskState.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EFlag } from '../../types/api/enums';
1
2
  import type { DisplaySeverity, PreparedVDisk } from './types';
2
3
  export type SeverityCalculator = (vDisk: PreparedVDisk) => DisplaySeverity;
3
4
  /**
@@ -29,14 +30,14 @@ export declare function calculateSpaceSeverity(vDisk: PreparedVDisk): DisplaySev
29
30
  */
30
31
  export declare function calculateFrontQueuesSeverity(vDisk: PreparedVDisk): DisplaySeverity;
31
32
  /**
32
- * Calculate severity based on compaction status (Fresh/Level rank satisfaction)
33
- * Used in Compaction grouping mode
34
- *
35
- * Border color is determined by the worst of Fresh or Level rank:
36
- * - Both Green -> Green border (OK)
33
+ * Calculate severity based on two related status flags.
34
+ * Border color is determined by the worst flag:
35
+ * - Both Green or Blue -> Green border (OK)
36
+ * - Missing or Grey outranks Green -> no-data styling
37
37
  * - At least one Yellow -> Yellow border (NOTICE)
38
38
  * - At least one Orange or Red -> Red border (WARNING)
39
39
  */
40
+ export declare function calculateFlagPairSeverity(firstFlag: EFlag | undefined, secondFlag: EFlag | undefined): DisplaySeverity;
40
41
  export declare function calculateCompactionSeverity(vDisk: PreparedVDisk): DisplaySeverity;
41
42
  /**
42
43
  * Calculate severity for "All" grouping mode using VDiskState semantics.
@@ -92,43 +92,28 @@ export function calculateFrontQueuesSeverity(vDisk) {
92
92
  }
93
93
  }
94
94
  /**
95
- * Calculate severity based on compaction status (Fresh/Level rank satisfaction)
96
- * Used in Compaction grouping mode
97
- *
98
- * Border color is determined by the worst of Fresh or Level rank:
99
- * - Both Green -> Green border (OK)
95
+ * Calculate severity based on two related status flags.
96
+ * Border color is determined by the worst flag:
97
+ * - Both Green or Blue -> Green border (OK)
98
+ * - Missing or Grey outranks Green -> no-data styling
100
99
  * - At least one Yellow -> Yellow border (NOTICE)
101
100
  * - At least one Orange or Red -> Red border (WARNING)
102
101
  */
103
- export function calculateCompactionSeverity(vDisk) {
104
- var _a, _b, _c, _d;
105
- const freshFlag = (_b = (_a = vDisk.SatisfactionRank) === null || _a === void 0 ? void 0 : _a.FreshRank) === null || _b === void 0 ? void 0 : _b.Flag;
106
- const levelFlag = (_d = (_c = vDisk.SatisfactionRank) === null || _c === void 0 ? void 0 : _c.LevelRank) === null || _d === void 0 ? void 0 : _d.Flag;
107
- // If no data available, return N/D
108
- if (!freshFlag && !levelFlag) {
109
- return NOT_AVAILABLE_SEVERITY;
110
- }
111
- // Grey is an explicit no-data flag from the backend, not a healthy compaction rank.
112
- if (freshFlag === EFlag.Grey || levelFlag === EFlag.Grey) {
113
- return NOT_AVAILABLE_SEVERITY;
114
- }
115
- // Determine worst severity between Fresh and Level
116
- const freshSeverity = freshFlag
117
- ? DISK_COLOR_STATE_TO_NUMERIC_SEVERITY[freshFlag]
118
- : DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green;
119
- const levelSeverity = levelFlag
120
- ? DISK_COLOR_STATE_TO_NUMERIC_SEVERITY[levelFlag]
121
- : DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Green;
122
- const worstSeverity = Math.max(freshSeverity, levelSeverity);
123
- // Map to compaction severity levels
124
- // Orange (4) and Red (5) both map to WARNING (red border)
125
- if (worstSeverity >= DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Orange) {
126
- return COMPACTION_SEVERITY.WARNING; // Red border
102
+ export function calculateFlagPairSeverity(firstFlag, secondFlag) {
103
+ const flags = [firstFlag, secondFlag];
104
+ if (flags.some((flag) => flag === EFlag.Orange || flag === EFlag.Red)) {
105
+ return COMPACTION_SEVERITY.WARNING;
127
106
  }
128
- if (worstSeverity >= DISK_COLOR_STATE_TO_NUMERIC_SEVERITY.Yellow) {
129
- return COMPACTION_SEVERITY.NOTICE; // Yellow border
107
+ if (flags.includes(EFlag.Yellow)) {
108
+ return COMPACTION_SEVERITY.NOTICE;
130
109
  }
131
- return COMPACTION_SEVERITY.OK; // Green border
110
+ return flags.every((flag) => flag === EFlag.Green || flag === EFlag.Blue)
111
+ ? COMPACTION_SEVERITY.OK
112
+ : NOT_AVAILABLE_SEVERITY;
113
+ }
114
+ export function calculateCompactionSeverity(vDisk) {
115
+ var _a, _b, _c, _d;
116
+ return calculateFlagPairSeverity((_b = (_a = vDisk.SatisfactionRank) === null || _a === void 0 ? void 0 : _a.FreshRank) === null || _b === void 0 ? void 0 : _b.Flag, (_d = (_c = vDisk.SatisfactionRank) === null || _c === void 0 ? void 0 : _c.LevelRank) === null || _d === void 0 ? void 0 : _d.Flag);
132
117
  }
133
118
  /**
134
119
  * Calculate severity for "All" grouping mode using VDiskState semantics.
@@ -1 +1 @@
1
- {"version":3,"file":"severityCalculators.js","sourceRoot":"","sources":["../../../src/utils/disks/severityCalculators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"severityCalculators.js","sourceRoot":"","sources":["../../../src/utils/disks/severityCalculators.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { EFlag } from '../../types/api/enums';
2
- import type { TPDiskInfo, TPDiskStateInfo } from '../../types/api/pdisk';
2
+ import type { EDriveStatus, TPDiskInfo, TPDiskStateInfo } from '../../types/api/pdisk';
3
3
  import type { TVDiskStateInfo, TVSlotId } from '../../types/api/vdisk';
4
4
  import type { ValueOf } from '../../types/common';
5
5
  import type { PDISK_TYPES } from './getPDiskType';
@@ -43,9 +43,11 @@ export type PreparedPDisk = Omit<TPDiskStateInfo, 'AvailableSize' | 'TotalSize'
43
43
  AllocatedPercent?: number;
44
44
  WhiteboardSize?: {
45
45
  AllocatedSize?: number;
46
+ AllocatedPercent?: number;
46
47
  TotalSize?: number;
47
48
  };
48
49
  SlotSize?: string;
50
+ DriveStatus?: EDriveStatus;
49
51
  };
50
52
  export interface VDiskRecipientRef {
51
53
  NodeId?: number;
@@ -2,8 +2,8 @@ export declare const useChangedQuerySettings: () => {
2
2
  isBannerShown: boolean;
3
3
  closeBanner: () => void;
4
4
  resetBanner: () => void;
5
- changedCurrentSettings: ("timeout" | "queryMode" | "transactionMode" | "statisticsMode" | "tracingLevel" | "limitRows" | "outputChunkMaxSize" | "pragmas" | "resourcePool")[];
5
+ changedCurrentSettings: ("timeout" | "statisticsMode" | "queryMode" | "transactionMode" | "tracingLevel" | "limitRows" | "outputChunkMaxSize" | "pragmas" | "resourcePool")[];
6
6
  changedCurrentSettingsDescriptions: Record<string, string>;
7
- changedLastExecutionSettings: ("timeout" | "queryMode" | "transactionMode" | "statisticsMode" | "tracingLevel" | "limitRows" | "outputChunkMaxSize" | "pragmas" | "resourcePool")[];
7
+ changedLastExecutionSettings: ("timeout" | "statisticsMode" | "queryMode" | "transactionMode" | "tracingLevel" | "limitRows" | "outputChunkMaxSize" | "pragmas" | "resourcePool")[];
8
8
  changedLastExecutionSettingsDescriptions: Record<string, string>;
9
9
  };
@@ -1,4 +1,3 @@
1
- import type { QuerySettings } from '../../types/store/query';
2
1
  export declare const useQueryExecutionSettings: () => readonly [{
3
2
  queryMode: "query" | "data" | "script" | "scan";
4
3
  transactionMode: "serializable-read-write" | "stale-read-only" | "online-read-only" | "snapshot-read-only" | "snapshot-read-write" | "implicit";
@@ -9,4 +8,14 @@ export declare const useQueryExecutionSettings: () => readonly [{
9
8
  timeout?: number | null | undefined;
10
9
  limitRows?: number | undefined;
11
10
  outputChunkMaxSize?: number | undefined;
12
- }, (settings: QuerySettings) => void];
11
+ }, (value: {
12
+ queryMode: "query" | "data" | "script" | "scan";
13
+ transactionMode: "serializable-read-write" | "stale-read-only" | "online-read-only" | "snapshot-read-only" | "snapshot-read-write" | "implicit";
14
+ statisticsMode: "none" | "basic" | "full" | "profile";
15
+ tracingLevel: "basic" | "off" | "toplevel" | "detailed" | "diagnostic" | "trace";
16
+ pragmas: string;
17
+ resourcePool: string;
18
+ timeout?: number | null | undefined;
19
+ limitRows?: number | undefined;
20
+ outputChunkMaxSize?: number | undefined;
21
+ }) => void];
@@ -1,35 +1,19 @@
1
- import React from 'react';
2
1
  import { useSnapshotReadWriteAvailable, useTracingLevelOptionAvailable, } from '../../store/reducers/capabilities/hooks';
3
2
  import { SETTING_KEYS } from '../../store/reducers/settings/constants';
4
- import { DEFAULT_QUERY_SETTINGS, STATISTICS_MODES, STATISTICS_MODES_WITH_SVG, TRANSACTION_MODES, isStreamingSupportedForMode, querySettingsRestoreSchema, } from '../query';
3
+ import { DEFAULT_QUERY_SETTINGS, TRANSACTION_MODES, isStreamingSupportedForMode, querySettingsRestoreSchema, } from '../query';
5
4
  import { useQueryStreamingSetting } from './useQueryStreamingSetting';
6
5
  import { useSetting } from './useSetting';
7
- function getSvgStatisticsMode(mode) {
8
- return STATISTICS_MODES_WITH_SVG.includes(mode) ? mode : STATISTICS_MODES.full;
9
- }
10
6
  export const useQueryExecutionSettings = () => {
11
7
  const enableTracingLevel = useTracingLevelOptionAvailable();
12
8
  const enableSnapshotReadWrite = useSnapshotReadWriteAvailable();
13
9
  const [storageSettings, setSettings] = useSetting(SETTING_KEYS.QUERY_EXECUTION_SETTINGS);
14
10
  const validatedSettings = querySettingsRestoreSchema.parse(storageSettings);
15
- const [useShowPlanToSvg] = useSetting(SETTING_KEYS.USE_SHOW_PLAN_SVG);
16
11
  const [enableQueryStreaming] = useQueryStreamingSetting();
17
- const setQueryExecutionSettings = React.useCallback((settings) => {
18
- setSettings({
19
- ...settings,
20
- statisticsMode: useShowPlanToSvg
21
- ? getSvgStatisticsMode(settings.statisticsMode)
22
- : settings.statisticsMode,
23
- });
24
- }, [setSettings, useShowPlanToSvg]);
25
12
  const settings = {
26
13
  ...validatedSettings,
27
14
  timeout: enableQueryStreaming && isStreamingSupportedForMode(validatedSettings.queryMode)
28
15
  ? validatedSettings.timeout || null
29
16
  : validatedSettings.timeout || undefined,
30
- statisticsMode: useShowPlanToSvg
31
- ? getSvgStatisticsMode(validatedSettings.statisticsMode)
32
- : validatedSettings.statisticsMode,
33
17
  tracingLevel: enableTracingLevel
34
18
  ? validatedSettings.tracingLevel
35
19
  : DEFAULT_QUERY_SETTINGS.tracingLevel,
@@ -38,6 +22,6 @@ export const useQueryExecutionSettings = () => {
38
22
  ? DEFAULT_QUERY_SETTINGS.transactionMode
39
23
  : validatedSettings.transactionMode,
40
24
  };
41
- return [settings, setQueryExecutionSettings];
25
+ return [settings, setSettings];
42
26
  };
43
27
  //# sourceMappingURL=useQueryExecutionSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryExecutionSettings.js","sourceRoot":"","sources":["../../../src/utils/hooks/useQueryExecutionSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACH,6BAA6B,EAC7B,8BAA8B,GACjC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AAErE,OAAO,EACH,sBAAsB,EACtB,gBAAgB,EAChB,yBAAyB,EACzB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,SAAS,oBAAoB,CAAC,IAAoB;IAC9C,OAAO,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC1C,MAAM,kBAAkB,GAAG,8BAA8B,EAAE,CAAC;IAC5D,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAC;IAChE,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,UAAU,CAC7C,YAAY,CAAC,wBAAwB,CACxC,CAAC;IAEF,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC5E,MAAM,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAU,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC/E,MAAM,CAAC,oBAAoB,CAAC,GAAG,wBAAwB,EAAE,CAAC;IAE1D,MAAM,yBAAyB,GAAG,KAAK,CAAC,WAAW,CAC/C,CAAC,QAAuB,EAAE,EAAE;QACxB,WAAW,CAAC;YACR,GAAG,QAAQ;YACX,cAAc,EAAE,gBAAgB;gBAC5B,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAC/C,CAAC,CAAC,QAAQ,CAAC,cAAc;SAChC,CAAC,CAAC;IACP,CAAC,EACD,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAClC,CAAC;IAEF,MAAM,QAAQ,GAAkB;QAC5B,GAAG,iBAAiB;QACpB,OAAO,EACH,oBAAoB,IAAI,2BAA2B,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC5E,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,IAAI;YACnC,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,SAAS;QAChD,cAAc,EAAE,gBAAgB;YAC5B,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,cAAc,CAAC;YACxD,CAAC,CAAC,iBAAiB,CAAC,cAAc;QACtC,YAAY,EAAE,kBAAkB;YAC5B,CAAC,CAAC,iBAAiB,CAAC,YAAY;YAChC,CAAC,CAAC,sBAAsB,CAAC,YAAY;QACzC,eAAe,EACX,CAAC,uBAAuB;YACxB,iBAAiB,CAAC,eAAe,KAAK,iBAAiB,CAAC,UAAU;YAC9D,CAAC,CAAC,sBAAsB,CAAC,eAAe;YACxC,CAAC,CAAC,iBAAiB,CAAC,eAAe;KAC9C,CAAC;IAEF,OAAO,CAAC,QAAQ,EAAE,yBAAyB,CAAU,CAAC;AAC1D,CAAC,CAAC"}
1
+ {"version":3,"file":"useQueryExecutionSettings.js","sourceRoot":"","sources":["../../../src/utils/hooks/useQueryExecutionSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,6BAA6B,EAC7B,8BAA8B,GACjC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AAErE,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EACjB,2BAA2B,EAC3B,0BAA0B,GAC7B,MAAM,UAAU,CAAC;AAElB,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC1C,MAAM,kBAAkB,GAAG,8BAA8B,EAAE,CAAC;IAC5D,MAAM,uBAAuB,GAAG,6BAA6B,EAAE,CAAC;IAChE,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,GAAG,UAAU,CAC7C,YAAY,CAAC,wBAAwB,CACxC,CAAC;IAEF,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC5E,MAAM,CAAC,oBAAoB,CAAC,GAAG,wBAAwB,EAAE,CAAC;IAE1D,MAAM,QAAQ,GAAkB;QAC5B,GAAG,iBAAiB;QACpB,OAAO,EACH,oBAAoB,IAAI,2BAA2B,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC5E,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,IAAI;YACnC,CAAC,CAAC,iBAAiB,CAAC,OAAO,IAAI,SAAS;QAChD,YAAY,EAAE,kBAAkB;YAC5B,CAAC,CAAC,iBAAiB,CAAC,YAAY;YAChC,CAAC,CAAC,sBAAsB,CAAC,YAAY;QACzC,eAAe,EACX,CAAC,uBAAuB;YACxB,iBAAiB,CAAC,eAAe,KAAK,iBAAiB,CAAC,UAAU;YAC9D,CAAC,CAAC,sBAAsB,CAAC,eAAe;YACxC,CAAC,CAAC,iBAAiB,CAAC,eAAe;KAC9C,CAAC;IAEF,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAU,CAAC;AAC5C,CAAC,CAAC"}
@@ -1,13 +1,6 @@
1
1
  import { SETTING_KEYS } from '../../store/reducers/settings/constants';
2
- import { OLD_BACKEND_CLUSTER_NAMES } from '../constants';
3
- import { useClusterNameFromQuery } from './useDatabaseFromQuery';
4
2
  import { useSetting } from './useSetting';
5
3
  export const useQueryStreamingSetting = () => {
6
- const clusterName = useClusterNameFromQuery();
7
- const isOldBackendCluster = clusterName && OLD_BACKEND_CLUSTER_NAMES.includes(clusterName);
8
- const settingKey = isOldBackendCluster
9
- ? SETTING_KEYS.ENABLE_QUERY_STREAMING_OLD_BACKEND
10
- : SETTING_KEYS.ENABLE_QUERY_STREAMING;
11
- return useSetting(settingKey);
4
+ return useSetting(SETTING_KEYS.ENABLE_QUERY_STREAMING);
12
5
  };
13
6
  //# sourceMappingURL=useQueryStreamingSetting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useQueryStreamingSetting.js","sourceRoot":"","sources":["../../../src/utils/hooks/useQueryStreamingSetting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAwC,EAAE;IAC9E,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;IAE9C,MAAM,mBAAmB,GAAG,WAAW,IAAI,yBAAyB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE3F,MAAM,UAAU,GAAG,mBAAmB;QAClC,CAAC,CAAC,YAAY,CAAC,kCAAkC;QACjD,CAAC,CAAC,YAAY,CAAC,sBAAsB,CAAC;IAE1C,OAAO,UAAU,CAAU,UAAU,CAAC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"useQueryStreamingSetting.js","sourceRoot":"","sources":["../../../src/utils/hooks/useQueryStreamingSetting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AAErE,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAwC,EAAE;IAC9E,OAAO,UAAU,CAAU,YAAY,CAAC,sBAAsB,CAAC,CAAC;AACpE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ydb-embedded-ui",
3
- "version": "19.0.0",
3
+ "version": "20.0.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -22,7 +22,7 @@
22
22
  "@gravity-ui/date-components": "^3.2.3",
23
23
  "@gravity-ui/date-utils": "^2.5.6",
24
24
  "@gravity-ui/i18n": "^1.7.0",
25
- "@gravity-ui/icons": "^2.17.0",
25
+ "@gravity-ui/icons": "^2.21.0",
26
26
  "@gravity-ui/illustrations": "^2.1.0",
27
27
  "@gravity-ui/navigation": "^4.0.18",
28
28
  "@gravity-ui/paranoid": "^3.0.0",
@@ -1,2 +0,0 @@
1
- export declare function useShouldShowDatabaseNetworkTable(): boolean;
2
- export declare function useShouldShowClusterNetworkTable(): boolean;
@@ -1,14 +0,0 @@
1
- import { useNodesHandlerHasWorkingClusterNetworkStats, useViewerNodesHandlerHasNetworkStats, } from '../../store/reducers/capabilities/hooks';
2
- import { SETTING_KEYS } from '../../store/reducers/settings/constants';
3
- import { useSetting } from '../../utils/hooks';
4
- export function useShouldShowDatabaseNetworkTable() {
5
- const viewerNodesHasNetworkStats = useViewerNodesHandlerHasNetworkStats();
6
- const [networkTableEnabled] = useSetting(SETTING_KEYS.ENABLE_NETWORK_TABLE);
7
- return Boolean(viewerNodesHasNetworkStats && networkTableEnabled);
8
- }
9
- export function useShouldShowClusterNetworkTable() {
10
- const nodesHasWorkingClusterNetworkStats = useNodesHandlerHasWorkingClusterNetworkStats();
11
- const [networkTableEnabled] = useSetting(SETTING_KEYS.ENABLE_NETWORK_TABLE);
12
- return Boolean(nodesHasWorkingClusterNetworkStats && networkTableEnabled);
13
- }
14
- //# sourceMappingURL=hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../../src/components/NetworkTable/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,4CAA4C,EAC5C,oCAAoC,GACvC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE7C,MAAM,UAAU,iCAAiC;IAC7C,MAAM,0BAA0B,GAAG,oCAAoC,EAAE,CAAC;IAC1E,MAAM,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAE5E,OAAO,OAAO,CAAC,0BAA0B,IAAI,mBAAmB,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,gCAAgC;IAC5C,MAAM,kCAAkC,GAAG,4CAA4C,EAAE,CAAC;IAC1F,MAAM,CAAC,mBAAmB,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;IAE5E,OAAO,OAAO,CAAC,kCAAkC,IAAI,mBAAmB,CAAC,CAAC;AAC9E,CAAC"}