ydb-embedded-ui 5.4.0 → 5.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. package/dist/components/DiskPageTitle/DiskPageTitle.d.ts +11 -0
  2. package/dist/components/DiskPageTitle/DiskPageTitle.js +8 -0
  3. package/dist/components/DiskPageTitle/DiskPageTitle.scss +17 -0
  4. package/dist/{containers/Storage → components}/DiskStateProgressBar/DiskStateProgressBar.js +3 -3
  5. package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +1 -1
  6. package/dist/components/GroupInfo/GroupInfo.d.ts +8 -0
  7. package/dist/components/GroupInfo/GroupInfo.js +28 -0
  8. package/dist/components/GroupInfo/i18n/en.json +6 -0
  9. package/dist/components/GroupInfo/i18n/index.d.ts +1 -0
  10. package/dist/components/GroupInfo/i18n/index.js +4 -0
  11. package/dist/components/MetricChart/MetricChart.js +3 -1
  12. package/dist/components/MetricChart/types.d.ts +4 -0
  13. package/dist/components/MonacoEditor/MonacoEditor.d.ts +2 -0
  14. package/dist/components/MonacoEditor/MonacoEditor.js +7 -0
  15. package/dist/{containers/Storage → components}/PDiskPopup/PDiskPopup.d.ts +3 -3
  16. package/dist/{containers/Storage → components}/PDiskPopup/PDiskPopup.js +6 -5
  17. package/dist/components/PageMeta/PageMeta.d.ts +2 -1
  18. package/dist/components/PageMeta/PageMeta.js +9 -2
  19. package/dist/components/PageMeta/PageMeta.scss +9 -0
  20. package/dist/components/Stack/Stack.scss +2 -0
  21. package/dist/{containers/Storage → components}/VDisk/VDisk.d.ts +2 -2
  22. package/dist/{containers/Storage → components}/VDisk/VDisk.js +8 -8
  23. package/dist/{containers/Storage → components}/VDisk/VDisk.scss +1 -1
  24. package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +12 -0
  25. package/dist/components/VDisk/VDiskWithDonorsStack.js +14 -0
  26. package/dist/components/VDiskInfo/VDiskInfo.d.ts +10 -0
  27. package/dist/components/VDiskInfo/VDiskInfo.js +113 -0
  28. package/dist/components/VDiskInfo/VDiskInfo.scss +8 -0
  29. package/dist/components/VDiskInfo/i18n/en.json +23 -0
  30. package/dist/components/VDiskInfo/i18n/index.d.ts +1 -0
  31. package/dist/components/VDiskInfo/i18n/index.js +4 -0
  32. package/dist/{containers/Storage → components}/VDiskPopup/VDiskPopup.d.ts +3 -3
  33. package/dist/{containers/Storage → components}/VDiskPopup/VDiskPopup.js +8 -7
  34. package/dist/components/VirtualTable/TableHead.d.ts +2 -1
  35. package/dist/components/VirtualTable/TableHead.js +6 -6
  36. package/dist/components/VirtualTable/constants.d.ts +1 -0
  37. package/dist/components/VirtualTable/constants.js +1 -0
  38. package/dist/containers/App/App.js +0 -2
  39. package/dist/containers/App/App.scss +3 -0
  40. package/dist/containers/App/Content.js +19 -5
  41. package/dist/containers/App/appSlots.d.ts +9 -3
  42. package/dist/containers/App/appSlots.js +2 -1
  43. package/dist/containers/Header/breadcrumbs.js +12 -0
  44. package/dist/containers/Header/i18n/en.json +1 -0
  45. package/dist/containers/Header/i18n/index.d.ts +1 -1
  46. package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +2 -2
  47. package/dist/containers/Node/NodeStructure/NodeStructure.js +1 -1
  48. package/dist/containers/Node/NodeStructure/Pdisk.js +2 -2
  49. package/dist/containers/Node/NodeStructure/Vdisk.d.ts +6 -2
  50. package/dist/containers/Node/NodeStructure/Vdisk.js +5 -78
  51. package/dist/containers/Nodes/getNodesColumns.js +0 -1
  52. package/dist/containers/PDiskPage/PDiskPage.d.ts +3 -0
  53. package/dist/containers/{PDisk/PDisk.js → PDiskPage/PDiskPage.js} +9 -11
  54. package/dist/containers/{PDisk/PDisk.scss → PDiskPage/PDiskPage.scss} +0 -14
  55. package/dist/containers/Storage/PDisk/PDisk.js +4 -10
  56. package/dist/containers/Storage/PDisk/PDisk.scss +0 -2
  57. package/dist/containers/Storage/Storage.js +1 -2
  58. package/dist/containers/Storage/StorageGroups/StorageGroups.scss +1 -7
  59. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +1 -1
  60. package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +9 -17
  61. package/dist/containers/Storage/VirtualStorage.js +3 -7
  62. package/dist/containers/Tablet/TabletControls/TabletControls.js +2 -1
  63. package/dist/containers/TabletsFilters/TabletsFilters.d.ts +2 -2
  64. package/dist/containers/TabletsFilters/TabletsFilters.js +7 -6
  65. package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +1 -1
  66. package/dist/containers/Tenant/Diagnostics/Network/Network.js +2 -2
  67. package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -2
  68. package/dist/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.js +1 -1
  69. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.js +4 -0
  70. package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +5 -3
  71. package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +6 -4
  72. package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +2 -2
  73. package/dist/containers/Tenant/Tenant.js +10 -5
  74. package/dist/containers/Tenants/Tenants.js +3 -2
  75. package/dist/containers/VDiskPage/VDiskPage.d.ts +3 -0
  76. package/dist/containers/VDiskPage/VDiskPage.js +109 -0
  77. package/dist/containers/VDiskPage/VDiskPage.scss +32 -0
  78. package/dist/containers/VDiskPage/i18n/en.json +9 -0
  79. package/dist/containers/VDiskPage/i18n/index.d.ts +1 -0
  80. package/dist/containers/VDiskPage/i18n/index.js +4 -0
  81. package/dist/containers/Versions/groupNodes.js +1 -1
  82. package/dist/routes.d.ts +3 -0
  83. package/dist/routes.js +5 -0
  84. package/dist/services/api.d.ts +11 -4
  85. package/dist/services/api.js +26 -4
  86. package/dist/store/configureStore.d.ts +4 -0
  87. package/dist/store/defaultStore.d.ts +2 -0
  88. package/dist/store/reducers/authentication/authentication.d.ts +3 -0
  89. package/dist/store/reducers/cluster/cluster.d.ts +1 -0
  90. package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +1 -0
  91. package/dist/store/reducers/clusters/clusters.d.ts +1 -0
  92. package/dist/store/reducers/clusters/selectors.js +1 -1
  93. package/dist/store/reducers/describe.d.ts +2 -0
  94. package/dist/store/reducers/executeQuery.d.ts +1 -0
  95. package/dist/store/reducers/explainQuery.d.ts +2 -0
  96. package/dist/store/reducers/header/types.d.ts +4 -1
  97. package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +1 -0
  98. package/dist/store/reducers/heatmap.d.ts +1 -0
  99. package/dist/store/reducers/host.d.ts +1 -0
  100. package/dist/store/reducers/index.d.ts +3 -0
  101. package/dist/store/reducers/index.js +2 -0
  102. package/dist/store/reducers/network/network.d.ts +1 -0
  103. package/dist/store/reducers/node/node.d.ts +2 -0
  104. package/dist/store/reducers/node/selectors.js +1 -1
  105. package/dist/store/reducers/nodes/nodes.d.ts +2 -0
  106. package/dist/store/reducers/nodesList.d.ts +1 -0
  107. package/dist/store/reducers/olapStats.d.ts +1 -0
  108. package/dist/store/reducers/overview/overview.d.ts +2 -0
  109. package/dist/store/reducers/partitions/partitions.d.ts +1 -0
  110. package/dist/store/reducers/pdisk/pdisk.d.ts +2 -0
  111. package/dist/store/reducers/pdisk/utils.js +1 -1
  112. package/dist/store/reducers/preview.d.ts +1 -0
  113. package/dist/store/reducers/schema/schema.d.ts +1 -0
  114. package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +1 -0
  115. package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +1 -0
  116. package/dist/store/reducers/storage/storage.d.ts +2 -0
  117. package/dist/store/reducers/storage/types.d.ts +3 -1
  118. package/dist/store/reducers/storage/utils.d.ts +1 -1
  119. package/dist/store/reducers/storage/utils.js +8 -9
  120. package/dist/store/reducers/tablet.d.ts +2 -0
  121. package/dist/store/reducers/tablets.d.ts +1 -0
  122. package/dist/store/reducers/tabletsFilters.d.ts +1 -0
  123. package/dist/store/reducers/tenant/tenant.d.ts +1 -0
  124. package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +1 -0
  125. package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.d.ts +1 -0
  126. package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.d.ts +1 -0
  127. package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.d.ts +1 -0
  128. package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.d.ts +1 -0
  129. package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +1 -0
  130. package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +1 -0
  131. package/dist/store/reducers/tenants/selectors.js +1 -1
  132. package/dist/store/reducers/tenants/tenants.d.ts +1 -0
  133. package/dist/store/reducers/topic.d.ts +1 -0
  134. package/dist/store/reducers/vdisk/types.d.ts +25 -0
  135. package/dist/store/reducers/vdisk/utils.d.ts +11 -0
  136. package/dist/store/reducers/vdisk/utils.js +33 -0
  137. package/dist/store/reducers/vdisk/vdisk.d.ts +100 -0
  138. package/dist/store/reducers/vdisk/vdisk.js +64 -0
  139. package/dist/store/state-url-mapping.js +6 -4
  140. package/dist/types/api/storage.d.ts +2 -0
  141. package/dist/utils/bytesParsers/__test__/formatBytes.test.js +7 -7
  142. package/dist/utils/clusterVersionColors.js +1 -1
  143. package/dist/utils/dataFormatters/dataFormatters.js +1 -0
  144. package/dist/utils/disks/constants.js +2 -2
  145. package/dist/utils/disks/types.d.ts +5 -1
  146. package/dist/utils/filters.js +1 -1
  147. package/dist/utils/hooks/useTableResize.d.ts +1 -1
  148. package/dist/utils/hooks/useTableResize.js +5 -3
  149. package/dist/utils/lazyComponent.d.ts +4 -0
  150. package/dist/utils/lazyComponent.js +25 -0
  151. package/dist/utils/monaco/index.d.ts +1 -0
  152. package/dist/utils/monaco/index.js +4 -0
  153. package/dist/utils/monaco/s-expression/constants.d.ts +1 -0
  154. package/dist/utils/monaco/s-expression/constants.js +1 -0
  155. package/dist/utils/monaco/s-expression/registerLanguage.d.ts +1 -0
  156. package/dist/utils/{monaco.js → monaco/s-expression/registerLanguage.js} +2 -19
  157. package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/generateSuggestions.d.ts +2 -2
  158. package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/generateSuggestions.js +40 -11
  159. package/dist/utils/monaco/yqlSuggestions/registerCompletionItemProvider.d.ts +1 -0
  160. package/dist/utils/monaco/yqlSuggestions/registerCompletionItemProvider.js +15 -0
  161. package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/yqlSuggestions.js +1 -1
  162. package/dist/utils/numeral.js +7 -1
  163. package/dist/utils/storage.d.ts +1 -0
  164. package/dist/utils/storage.js +1 -0
  165. package/dist/utils/timeParsers/parsers.js +1 -1
  166. package/package.json +3 -1
  167. package/dist/containers/PDisk/PDisk.d.ts +0 -3
  168. package/dist/containers/Storage/DiskStateProgressBar/index.d.ts +0 -1
  169. package/dist/containers/Storage/DiskStateProgressBar/index.js +0 -1
  170. package/dist/containers/Storage/PDiskPopup/index.d.ts +0 -1
  171. package/dist/containers/Storage/PDiskPopup/index.js +0 -1
  172. package/dist/containers/Storage/VDisk/index.d.ts +0 -1
  173. package/dist/containers/Storage/VDisk/index.js +0 -1
  174. package/dist/containers/Storage/VDiskPopup/index.d.ts +0 -1
  175. package/dist/containers/Storage/VDiskPopup/index.js +0 -1
  176. package/dist/containers/Storage/utils/types.d.ts +0 -5
  177. package/dist/utils/monaco.d.ts +0 -3
  178. /package/dist/{containers/Storage → components}/DiskStateProgressBar/DiskStateProgressBar.d.ts +0 -0
  179. /package/dist/{containers/Storage → components}/DiskStateProgressBar/DiskStateProgressBar.scss +0 -0
  180. /package/dist/{containers/Storage → components}/PDiskPopup/PDiskPopup.scss +0 -0
  181. /package/dist/{containers/Storage → components}/VDiskPopup/VDiskPopup.scss +0 -0
  182. /package/dist/containers/{PDisk → PDiskPage}/PDiskGroups.d.ts +0 -0
  183. /package/dist/containers/{PDisk → PDiskPage}/PDiskGroups.js +0 -0
  184. /package/dist/containers/{PDisk → PDiskPage}/i18n/en.json +0 -0
  185. /package/dist/containers/{PDisk → PDiskPage}/i18n/index.d.ts +0 -0
  186. /package/dist/containers/{PDisk → PDiskPage}/i18n/index.js +0 -0
  187. /package/dist/containers/{PDisk → PDiskPage}/shared.d.ts +0 -0
  188. /package/dist/containers/{PDisk → PDiskPage}/shared.js +0 -0
  189. /package/dist/{containers/Storage/utils → store/reducers/vdisk}/types.js +0 -0
  190. /package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/constants.d.ts +0 -0
  191. /package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/constants.js +0 -0
  192. /package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/yqlSuggestions.d.ts +0 -0
@@ -97,6 +97,7 @@ export declare const authenticate: (user: string, password: string) => (dispatch
97
97
  saveQuery: string | null;
98
98
  fullscreen: boolean;
99
99
  clusters: import("../clusters/types").ClustersState;
100
+ vDisk: import("../vdisk/types").VDiskState;
100
101
  }) => Promise<unknown>;
101
102
  export declare const logout: () => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
102
103
  singleClusterMode: boolean;
@@ -179,6 +180,7 @@ export declare const logout: () => (dispatch: import("redux").Dispatch<import("r
179
180
  saveQuery: string | null;
180
181
  fullscreen: boolean;
181
182
  clusters: import("../clusters/types").ClustersState;
183
+ vDisk: import("../vdisk/types").VDiskState;
182
184
  }) => Promise<unknown>;
183
185
  export declare const getUser: () => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
184
186
  singleClusterMode: boolean;
@@ -261,5 +263,6 @@ export declare const getUser: () => (dispatch: import("redux").Dispatch<import("
261
263
  saveQuery: string | null;
262
264
  fullscreen: boolean;
263
265
  clusters: import("../clusters/types").ClustersState;
266
+ vDisk: import("../vdisk/types").VDiskState;
264
267
  }) => Promise<string | undefined>;
265
268
  export default authentication;
@@ -93,5 +93,6 @@ export declare function getClusterInfo(clusterName?: string): (dispatch: Dispatc
93
93
  saveQuery: string | null;
94
94
  fullscreen: boolean;
95
95
  clusters: import("../clusters/types").ClustersState;
96
+ vDisk: import("../vdisk/types").VDiskState;
96
97
  }) => Promise<unknown>;
97
98
  export default cluster;
@@ -87,5 +87,6 @@ export declare function getClusterNodes(): (dispatch: import("redux").Dispatch<i
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: import("../clusters/types").ClustersState;
90
+ vDisk: import("../vdisk/types").VDiskState;
90
91
  }) => Promise<PreparedClusterNode[] | undefined>;
91
92
  export default clusterNodes;
@@ -87,6 +87,7 @@ export declare function fetchClustersList(): (dispatch: import("redux").Dispatch
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: ClustersState;
90
+ vDisk: import("../vdisk/types").VDiskState;
90
91
  }) => Promise<import("./types").PreparedCluster[] | undefined>;
91
92
  export declare function changeClustersFilters(filters: Partial<ClustersFilters>): {
92
93
  readonly type: "clusters/CHANGE_FILTER";
@@ -1,5 +1,5 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
- import { escapeRegExp } from 'lodash/fp';
2
+ import escapeRegExp from 'lodash/escapeRegExp';
3
3
  import { getMinorVersion } from '../../../utils/versions';
4
4
  // ==== Filters ====
5
5
  const isMatchesByStatus = (clusterData, selectedStatuses) => {
@@ -96,6 +96,7 @@ export declare function getDescribe({ path }: {
96
96
  saveQuery: string | null;
97
97
  fullscreen: boolean;
98
98
  clusters: import("./clusters/types").ClustersState;
99
+ vDisk: import("./vdisk/types").VDiskState;
99
100
  }) => Promise<IDescribeHandledResponse | undefined>;
100
101
  export declare function getDescribeBatched(paths: string[]): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
101
102
  singleClusterMode: boolean;
@@ -178,5 +179,6 @@ export declare function getDescribeBatched(paths: string[]): (dispatch: import("
178
179
  saveQuery: string | null;
179
180
  fullscreen: boolean;
180
181
  clusters: import("./clusters/types").ClustersState;
182
+ vDisk: import("./vdisk/types").VDiskState;
181
183
  }) => Promise<IDescribeHandledResponse | undefined>;
182
184
  export default describe;
@@ -93,6 +93,7 @@ export declare const sendExecuteQuery: ({ query, database, mode, schema }: SendQ
93
93
  saveQuery: string | null;
94
94
  fullscreen: boolean;
95
95
  clusters: import("./clusters/types").ClustersState;
96
+ vDisk: import("./vdisk/types").VDiskState;
96
97
  }) => Promise<import("../../types/store/query").IQueryResult | undefined>;
97
98
  export declare const saveQueryToHistory: (queryText: string, mode: QueryMode) => {
98
99
  readonly type: "query/SAVE_QUERY_TO_HISTORY";
@@ -93,6 +93,7 @@ export declare const getExplainQueryAst: ({ query, database }: QueryRequestParam
93
93
  saveQuery: string | null;
94
94
  fullscreen: boolean;
95
95
  clusters: import("./clusters/types").ClustersState;
96
+ vDisk: import("./vdisk/types").VDiskState;
96
97
  }) => Promise<import("../../types/store/query").IQueryResult | undefined>;
97
98
  export declare const explainVersions: {
98
99
  v2: string;
@@ -181,5 +182,6 @@ export declare const getExplainQuery: ({ query, database, mode }: ExplainQueryPa
181
182
  saveQuery: string | null;
182
183
  fullscreen: boolean;
183
184
  clusters: import("./clusters/types").ClustersState;
185
+ vDisk: import("./vdisk/types").VDiskState;
184
186
  }) => Promise<PreparedExplainResponse | undefined>;
185
187
  export default explainQuery;
@@ -1,7 +1,7 @@
1
1
  import type { ClusterTab } from '../../../containers/Cluster/utils';
2
2
  import type { EType } from '../../../types/api/tablet';
3
3
  import { setHeaderBreadcrumbs } from './header';
4
- export type Page = 'cluster' | 'tenant' | 'node' | 'pDisk' | 'tablets' | 'tablet' | undefined;
4
+ export type Page = 'cluster' | 'tenant' | 'node' | 'pDisk' | 'vDisk' | 'tablets' | 'tablet' | undefined;
5
5
  export interface ClusterBreadcrumbsOptions {
6
6
  clusterName?: string;
7
7
  clusterTab?: ClusterTab;
@@ -15,6 +15,9 @@ export interface NodeBreadcrumbsOptions extends TenantBreadcrumbsOptions {
15
15
  export interface PDiskBreadcrumbsOptions extends Omit<NodeBreadcrumbsOptions, 'tenantName'> {
16
16
  pDiskId?: string | number;
17
17
  }
18
+ export interface VDiskBreadcrumbsOptions extends PDiskBreadcrumbsOptions {
19
+ vDiskSlotId?: string | number;
20
+ }
18
21
  export interface TabletsBreadcrumbsOptions extends TenantBreadcrumbsOptions {
19
22
  nodeIds?: string[] | number[];
20
23
  }
@@ -94,6 +94,7 @@ export declare function getHealthcheckInfo(database: string): (dispatch: import(
94
94
  saveQuery: string | null;
95
95
  fullscreen: boolean;
96
96
  clusters: import("../clusters/types").ClustersState;
97
+ vDisk: import("../vdisk/types").VDiskState;
97
98
  }) => Promise<unknown>;
98
99
  export declare const setDataWasNotLoaded: () => {
99
100
  readonly type: "healthcheckInfo/SET_DATA_WAS_NOT_LOADED";
@@ -94,6 +94,7 @@ export declare function getTabletsInfo({ nodes, path }: IHeatmapApiRequestParams
94
94
  saveQuery: string | null;
95
95
  fullscreen: boolean;
96
96
  clusters: import("./clusters/types").ClustersState;
97
+ vDisk: import("./vdisk/types").VDiskState;
97
98
  }) => Promise<{
98
99
  data: IHeatmapTabletData[];
99
100
  metrics: {
@@ -87,5 +87,6 @@ export declare function getHostInfo(): (dispatch: import("redux").Dispatch<impor
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: import("./clusters/types").ClustersState;
90
+ vDisk: import("./vdisk/types").VDiskState;
90
91
  }) => Promise<unknown>;
91
92
  export default host;
@@ -109,6 +109,7 @@ export declare const rootReducer: {
109
109
  readonly type: "DISABLE_FULLSCREEN_MODE";
110
110
  }) => boolean;
111
111
  clusters: import("redux").Reducer<import("./clusters/types").ClustersState, import("./clusters/types").ClustersAction, import("./clusters/types").ClustersState>;
112
+ vDisk: import("redux").Reducer<import("./vdisk/types").VDiskState, import("./vdisk/types").VDiskAction, import("./vdisk/types").VDiskState>;
112
113
  };
113
114
  declare const combinedReducer: import("redux").Reducer<{
114
115
  singleClusterMode: boolean;
@@ -191,6 +192,7 @@ declare const combinedReducer: import("redux").Reducer<{
191
192
  saveQuery: string | null;
192
193
  fullscreen: boolean;
193
194
  clusters: import("./clusters/types").ClustersState;
195
+ vDisk: import("./vdisk/types").VDiskState;
194
196
  }, any, Partial<{
195
197
  singleClusterMode: boolean | undefined;
196
198
  nodes: never;
@@ -242,5 +244,6 @@ declare const combinedReducer: import("redux").Reducer<{
242
244
  saveQuery: never;
243
245
  fullscreen: never;
244
246
  clusters: never;
247
+ vDisk: never;
245
248
  }>>;
246
249
  export default combinedReducer;
@@ -43,6 +43,7 @@ import saveQuery from './saveQuery';
43
43
  import fullscreen from './fullscreen';
44
44
  import singleClusterMode from './singleClusterMode';
45
45
  import clusters from './clusters/clusters';
46
+ import vDisk from './vdisk/vdisk';
46
47
  export const rootReducer = {
47
48
  singleClusterMode,
48
49
  nodes,
@@ -88,6 +89,7 @@ export const rootReducer = {
88
89
  saveQuery,
89
90
  fullscreen,
90
91
  clusters,
92
+ vDisk,
91
93
  };
92
94
  const combinedReducer = combineReducers(Object.assign({}, rootReducer));
93
95
  export default combinedReducer;
@@ -90,5 +90,6 @@ export declare const getNetworkInfo: (tenant: string) => (dispatch: import("redu
90
90
  saveQuery: string | null;
91
91
  fullscreen: boolean;
92
92
  clusters: import("../clusters/types").ClustersState;
93
+ vDisk: import("../vdisk/types").VDiskState;
93
94
  }) => Promise<unknown>;
94
95
  export default network;
@@ -92,6 +92,7 @@ export declare const getNodeInfo: (id: string) => (dispatch: import("redux").Dis
92
92
  saveQuery: string | null;
93
93
  fullscreen: boolean;
94
94
  clusters: import("../clusters/types").ClustersState;
95
+ vDisk: import("../vdisk/types").VDiskState;
95
96
  }) => Promise<import("./types").PreparedNode | undefined>;
96
97
  export declare const getNodeStructure: (nodeId: string) => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
97
98
  singleClusterMode: boolean;
@@ -174,6 +175,7 @@ export declare const getNodeStructure: (nodeId: string) => (dispatch: import("re
174
175
  saveQuery: string | null;
175
176
  fullscreen: boolean;
176
177
  clusters: import("../clusters/types").ClustersState;
178
+ vDisk: import("../vdisk/types").VDiskState;
177
179
  }) => Promise<unknown>;
178
180
  export declare function resetNode(): {
179
181
  readonly type: "node/RESET_NODE";
@@ -18,7 +18,7 @@ export const selectNodeStructure = createSelector([selectNodeId, selectRawNodeSt
18
18
  if (!structure[String(pDiskId)]) {
19
19
  structure[String(pDiskId)] = Object.assign({ vDisks: {} }, preparedPDisk);
20
20
  }
21
- structure[String(pDiskId)].vDisks[vDiskId] = Object.assign(Object.assign({}, vd), {
21
+ structure[String(pDiskId)].vDisks[vDiskId] = Object.assign(Object.assign({}, vd), { PDiskId: pDiskId, NodeId: nodeId,
22
22
  // VDisk doesn't have its own StoragePoolName when located inside StoragePool data
23
23
  StoragePoolName: pool.Name });
24
24
  });
@@ -88,6 +88,7 @@ export declare function getNodes({ type, storage, ...params }: NodesApiRequestPa
88
88
  saveQuery: string | null;
89
89
  fullscreen: boolean;
90
90
  clusters: import("../clusters/types").ClustersState;
91
+ vDisk: import("../vdisk/types").VDiskState;
91
92
  }) => Promise<import("./types").NodesHandledResponse | undefined>;
92
93
  export declare function getComputeNodes({ version, ...params }: ComputeApiRequestParams): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
93
94
  singleClusterMode: boolean;
@@ -170,6 +171,7 @@ export declare function getComputeNodes({ version, ...params }: ComputeApiReques
170
171
  saveQuery: string | null;
171
172
  fullscreen: boolean;
172
173
  clusters: import("../clusters/types").ClustersState;
174
+ vDisk: import("../vdisk/types").VDiskState;
173
175
  }) => Promise<import("./types").NodesHandledResponse | undefined>;
174
176
  export declare const resetNodesState: () => {
175
177
  readonly type: "nodes/RESET_NODES_STATE";
@@ -87,6 +87,7 @@ export declare function getNodesList(): (dispatch: import("redux").Dispatch<impo
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: import("./clusters/types").ClustersState;
90
+ vDisk: import("./vdisk/types").VDiskState;
90
91
  }) => Promise<unknown>;
91
92
  export declare const selectNodesMap: (state: NodesListRootStateSlice) => import("../../types/store/nodesList").NodesMap | undefined;
92
93
  export default nodesList;
@@ -89,6 +89,7 @@ export declare const getOlapStats: ({ path }: {
89
89
  saveQuery: string | null;
90
90
  fullscreen: boolean;
91
91
  clusters: import("./clusters/types").ClustersState;
92
+ vDisk: import("./vdisk/types").VDiskState;
92
93
  }) => Promise<import("../../types/store/query").IQueryResult | undefined>;
93
94
  export declare function resetLoadingState(): {
94
95
  readonly type: "olapStats/RESET_LOADING_STATE";
@@ -93,6 +93,7 @@ export declare function getOverview({ path }: {
93
93
  saveQuery: string | null;
94
94
  fullscreen: boolean;
95
95
  clusters: import("../clusters/types").ClustersState;
96
+ vDisk: import("../vdisk/types").VDiskState;
96
97
  }) => Promise<OverviewHandledResponse | undefined>;
97
98
  export declare function getOverviewBatched(paths: string[]): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
98
99
  singleClusterMode: boolean;
@@ -175,6 +176,7 @@ export declare function getOverviewBatched(paths: string[]): (dispatch: import("
175
176
  saveQuery: string | null;
176
177
  fullscreen: boolean;
177
178
  clusters: import("../clusters/types").ClustersState;
179
+ vDisk: import("../vdisk/types").VDiskState;
178
180
  }) => Promise<OverviewHandledResponse | undefined>;
179
181
  export declare function setDataWasNotLoaded(): {
180
182
  readonly type: "overview/SET_DATA_WAS_NOT_LOADED";
@@ -94,5 +94,6 @@ export declare function getPartitions(path: string, consumerName?: string): (dis
94
94
  saveQuery: string | null;
95
95
  fullscreen: boolean;
96
96
  clusters: import("../clusters/types").ClustersState;
97
+ vDisk: import("../vdisk/types").VDiskState;
97
98
  }) => Promise<import("./types").PreparedPartitionData[] | undefined>;
98
99
  export default partitions;
@@ -98,6 +98,7 @@ export declare const getPDiskData: ({ nodeId, pDiskId, }: {
98
98
  saveQuery: string | null;
99
99
  fullscreen: boolean;
100
100
  clusters: import("../clusters/types").ClustersState;
101
+ vDisk: import("../vdisk/types").VDiskState;
101
102
  }) => Promise<{
102
103
  NodeId: number | undefined;
103
104
  NodeHost: string | undefined;
@@ -206,5 +207,6 @@ export declare const getPDiskStorage: ({ nodeId, pDiskId, }: {
206
207
  saveQuery: string | null;
207
208
  fullscreen: boolean;
208
209
  clusters: import("../clusters/types").ClustersState;
210
+ vDisk: import("../vdisk/types").VDiskState;
209
211
  }) => Promise<import("../storage/types").PreparedStorageGroup[] | undefined>;
210
212
  export default pdisk;
@@ -24,7 +24,7 @@ export function preparePDiskStorageResponse(data, pDiskId, nodeId) {
24
24
  return groupPDiskId === Number(pDiskId) && groupNodeId === Number(nodeId);
25
25
  });
26
26
  if (groupHasPDiskVDisks) {
27
- preparedGroups.push(prepareStorageGroupData(group, pool.Name));
27
+ preparedGroups.push(prepareStorageGroupData(group, pool));
28
28
  }
29
29
  });
30
30
  });
@@ -96,6 +96,7 @@ export declare const sendQuery: ({ query, database, action }: SendQueryParams) =
96
96
  saveQuery: string | null;
97
97
  fullscreen: boolean;
98
98
  clusters: import("./clusters/types").ClustersState;
99
+ vDisk: import("./vdisk/types").VDiskState;
99
100
  }) => Promise<IQueryResult | undefined>;
100
101
  export declare function setQueryOptions(options: any): {
101
102
  readonly type: "preview/SET_QUERY_OPTIONS";
@@ -98,6 +98,7 @@ export declare function getSchema({ path }: {
98
98
  saveQuery: string | null;
99
99
  fullscreen: boolean;
100
100
  clusters: import("../clusters/types").ClustersState;
101
+ vDisk: import("../vdisk/types").VDiskState;
101
102
  }) => Promise<SchemaHandledResponse | undefined>;
102
103
  export declare function setCurrentSchemaPath(currentSchemaPath: string): {
103
104
  readonly type: "schema/SET_SCHEMA";
@@ -89,6 +89,7 @@ export declare function getSchemaAcl({ path }: {
89
89
  saveQuery: string | null;
90
90
  fullscreen: boolean;
91
91
  clusters: import("../clusters/types").ClustersState;
92
+ vDisk: import("../vdisk/types").VDiskState;
92
93
  }) => Promise<unknown>;
93
94
  export declare const setAclWasNotLoaded: () => {
94
95
  readonly type: "schemaAcl/SET_DATA_WAS_NOT_LOADED";
@@ -97,6 +97,7 @@ export declare const sendShardQuery: ({ database, path, sortOrder, filters }: Se
97
97
  saveQuery: string | null;
98
98
  fullscreen: boolean;
99
99
  clusters: import("../clusters/types").ClustersState;
100
+ vDisk: import("../vdisk/types").VDiskState;
100
101
  }) => Promise<import("../../../types/store/query").IQueryResult | undefined>) | {
101
102
  type: "query/SEND_SHARD_QUERY_FAILURE";
102
103
  error: unknown;
@@ -89,6 +89,7 @@ export declare const getStorageNodesInfo: ({ tenant, visibleEntities, ...params
89
89
  saveQuery: string | null;
90
90
  fullscreen: boolean;
91
91
  clusters: import("../clusters/types").ClustersState;
92
+ vDisk: import("../vdisk/types").VDiskState;
92
93
  }) => Promise<import("./types").PreparedStorageResponse | undefined>;
93
94
  export declare const getStorageGroupsInfo: ({ tenant, visibleEntities, nodeId, version, ...params }: StorageApiRequestParams) => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
94
95
  singleClusterMode: boolean;
@@ -171,6 +172,7 @@ export declare const getStorageGroupsInfo: ({ tenant, visibleEntities, nodeId, v
171
172
  saveQuery: string | null;
172
173
  fullscreen: boolean;
173
174
  clusters: import("../clusters/types").ClustersState;
175
+ vDisk: import("../vdisk/types").VDiskState;
174
176
  }) => Promise<import("./types").PreparedStorageResponse | undefined>;
175
177
  export declare function setInitialState(): {
176
178
  readonly type: "storage/SET_INITIAL";
@@ -28,7 +28,7 @@ export interface PreparedStorageGroup extends TStorageGroupInfo {
28
28
  Used: number;
29
29
  Limit: number;
30
30
  Degraded: number;
31
- Kind?: string;
31
+ MediaType?: string;
32
32
  UsedSpaceFlag: number;
33
33
  VDisks?: PreparedVDisk[];
34
34
  }
@@ -48,6 +48,8 @@ export interface StorageSortAndFilterParams extends StorageSortParams {
48
48
  export interface StorageApiRequestParams extends StorageSortAndFilterParams {
49
49
  tenant?: string;
50
50
  nodeId?: string | number;
51
+ poolName?: string;
52
+ groupId?: string | number;
51
53
  visibleEntities?: VisibleEntities;
52
54
  version?: EVersion;
53
55
  }
@@ -1,7 +1,7 @@
1
1
  import type { TNodesInfo } from '../../../types/api/nodes';
2
2
  import type { TStorageGroupInfo, TStorageGroupInfoV2, TStorageInfo, TStoragePoolInfo } from '../../../types/api/storage';
3
3
  import type { PreparedStorageGroup, PreparedStorageResponse } from './types';
4
- export declare const prepareStorageGroupData: (group: TStorageGroupInfo, poolName?: string) => PreparedStorageGroup;
4
+ export declare const prepareStorageGroupData: (group: TStorageGroupInfo, pool: TStoragePoolInfo) => PreparedStorageGroup;
5
5
  export declare const prepareStorageGroupDataV2: (group: TStorageGroupInfoV2) => PreparedStorageGroup;
6
6
  export declare const prepareStorageGroups: (StorageGroups?: TStorageGroupInfoV2[], StoragePools?: TStoragePoolInfo[]) => PreparedStorageGroup[];
7
7
  export declare const prepareStorageNodesResponse: (data: TNodesInfo) => PreparedStorageResponse;
@@ -21,7 +21,7 @@ const prepareVDisk = (vDisk, poolName) => {
21
21
  // VDisk doesn't have its own StoragePoolName when located inside StoragePool data
22
22
  return Object.assign(Object.assign({}, preparedVDisk), { StoragePoolName: poolName, Donors: (_a = preparedVDisk === null || preparedVDisk === void 0 ? void 0 : preparedVDisk.Donors) === null || _a === void 0 ? void 0 : _a.map((donor) => (Object.assign(Object.assign({}, donor), { StoragePoolName: poolName }))) });
23
23
  };
24
- export const prepareStorageGroupData = (group, poolName) => {
24
+ export const prepareStorageGroupData = (group, pool) => {
25
25
  var _a;
26
26
  let missing = 0;
27
27
  let usedSpaceFlag = 0;
@@ -29,7 +29,8 @@ export const prepareStorageGroupData = (group, poolName) => {
29
29
  let limitSizeBytes = 0;
30
30
  let readSpeedBytesPerSec = 0;
31
31
  let writeSpeedBytesPerSec = 0;
32
- let mediaType = '';
32
+ let mediaType;
33
+ const { Name: poolName, MediaType: poolMediaType } = pool;
33
34
  if (group.VDisks) {
34
35
  for (const vDisk of group.VDisks) {
35
36
  const { Replicated, VDiskState, AvailableSize, AllocatedSize, PDisk, DiskSpace, ReadThroughput, WriteThroughput, } = vDisk;
@@ -46,16 +47,15 @@ export const prepareStorageGroupData = (group, poolName) => {
46
47
  limitSizeBytes += available + allocated;
47
48
  readSpeedBytesPerSec += Number(ReadThroughput) || 0;
48
49
  writeSpeedBytesPerSec += Number(WriteThroughput) || 0;
49
- mediaType =
50
- PDiskType && (PDiskType === mediaType || mediaType === '') ? PDiskType : 'Mixed';
50
+ mediaType = PDiskType && (PDiskType === mediaType || !mediaType) ? PDiskType : 'Mixed';
51
51
  }
52
52
  }
53
53
  const vDisks = (_a = group.VDisks) === null || _a === void 0 ? void 0 : _a.map((vdisk) => prepareVDisk(vdisk, poolName));
54
54
  const usage = getUsage({ Used: usedSpaceBytes, Limit: limitSizeBytes }, 5);
55
- return Object.assign(Object.assign({}, group), { VDisks: vDisks, Usage: usage, Read: readSpeedBytesPerSec, Write: writeSpeedBytesPerSec, PoolName: poolName, Used: usedSpaceBytes, Limit: limitSizeBytes, Degraded: missing, UsedSpaceFlag: usedSpaceFlag, Kind: mediaType || undefined });
55
+ return Object.assign(Object.assign({}, group), { VDisks: vDisks, Usage: usage, Read: readSpeedBytesPerSec, Write: writeSpeedBytesPerSec, PoolName: poolName, Used: usedSpaceBytes, Limit: limitSizeBytes, Degraded: missing, UsedSpaceFlag: usedSpaceFlag, MediaType: poolMediaType || mediaType || undefined });
56
56
  };
57
57
  export const prepareStorageGroupDataV2 = (group) => {
58
- const { VDisks = [], PoolName, Usage = 0, Read = 0, Write = 0, Used = 0, Limit = 0, Degraded = 0, Kind, } = group;
58
+ const { VDisks = [], PoolName, Usage = 0, Read = 0, Write = 0, Used = 0, Limit = 0, Degraded = 0, Kind, MediaType, } = group;
59
59
  const UsedSpaceFlag = VDisks.reduce((acc, { DiskSpace }) => {
60
60
  if (DiskSpace && DiskSpace !== EFlag.Grey) {
61
61
  return acc + FLAGS_POINTS[DiskSpace];
@@ -65,8 +65,7 @@ export const prepareStorageGroupDataV2 = (group) => {
65
65
  const vDisks = VDisks.map((vdisk) => prepareVDisk(vdisk, PoolName));
66
66
  const usage = Math.floor(Number(Usage) * 100);
67
67
  return Object.assign(Object.assign({}, group), { UsedSpaceFlag,
68
- PoolName,
69
- Kind, VDisks: vDisks, Usage: usage, Read: Number(Read), Write: Number(Write), Used: Number(Used), Limit: Number(Limit), Degraded: Number(Degraded) });
68
+ PoolName, MediaType: MediaType || Kind, VDisks: vDisks, Usage: usage, Read: Number(Read), Write: Number(Write), Used: Number(Used), Limit: Number(Limit), Degraded: Number(Degraded) });
70
69
  };
71
70
  export const prepareStorageGroups = (StorageGroups, StoragePools) => {
72
71
  let preparedGroups = [];
@@ -77,7 +76,7 @@ export const prepareStorageGroups = (StorageGroups, StoragePools) => {
77
76
  StoragePools === null || StoragePools === void 0 ? void 0 : StoragePools.forEach((pool) => {
78
77
  var _a;
79
78
  (_a = pool.Groups) === null || _a === void 0 ? void 0 : _a.forEach((group) => {
80
- preparedGroups.push(prepareStorageGroupData(group, pool.Name));
79
+ preparedGroups.push(prepareStorageGroupData(group, pool));
81
80
  });
82
81
  });
83
82
  }
@@ -93,6 +93,7 @@ export declare const getTablet: (id: string) => (dispatch: import("redux").Dispa
93
93
  saveQuery: string | null;
94
94
  fullscreen: boolean;
95
95
  clusters: import("./clusters/types").ClustersState;
96
+ vDisk: import("./vdisk/types").VDiskState;
96
97
  }) => Promise<ITabletHandledResponse | undefined>;
97
98
  export declare const getTabletDescribe: (tenantId?: TDomainKey) => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
98
99
  singleClusterMode: boolean;
@@ -175,6 +176,7 @@ export declare const getTabletDescribe: (tenantId?: TDomainKey) => (dispatch: im
175
176
  saveQuery: string | null;
176
177
  fullscreen: boolean;
177
178
  clusters: import("./clusters/types").ClustersState;
179
+ vDisk: import("./vdisk/types").VDiskState;
178
180
  }) => Promise<ITabletDescribeHandledResponse | undefined>;
179
181
  export declare const clearTabletData: () => {
180
182
  readonly type: "tablet/CLEAR_TABLET_DATA";
@@ -99,5 +99,6 @@ export declare function getTabletsInfo(data: ITabletsApiRequestParams): (dispatc
99
99
  saveQuery: string | null;
100
100
  fullscreen: boolean;
101
101
  clusters: import("./clusters/types").ClustersState;
102
+ vDisk: import("./vdisk/types").VDiskState;
102
103
  }) => Promise<unknown>;
103
104
  export default tablets;
@@ -79,6 +79,7 @@ export function getTabletsInfo(data: any): (dispatch: import("redux").Dispatch<i
79
79
  saveQuery: string | null;
80
80
  fullscreen: boolean;
81
81
  clusters: import("./clusters/types").ClustersState;
82
+ vDisk: import("./vdisk/types").VDiskState;
82
83
  }) => Promise<any>;
83
84
  export function clearWasLoadingFlag(): {
84
85
  type: string;
@@ -90,6 +90,7 @@ export declare const getTenantInfo: ({ path }: {
90
90
  saveQuery: string | null;
91
91
  fullscreen: boolean;
92
92
  clusters: import("../clusters/types").ClustersState;
93
+ vDisk: import("../vdisk/types").VDiskState;
93
94
  }) => Promise<TTenant | undefined>;
94
95
  export declare const clearTenant: () => {
95
96
  readonly type: "tenant/CLEAR_TENANT";
@@ -87,6 +87,7 @@ export declare const fetchTopTables: (database: string) => (dispatch: import("re
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: import("../../clusters/types").ClustersState;
90
+ vDisk: import("../../vdisk/types").VDiskState;
90
91
  }) => Promise<import("../../../../types/store/query").IQueryResult | undefined>;
91
92
  export declare function setDataWasNotLoaded(): {
92
93
  readonly type: "top-tables/SET_DATA_WAS_NOT_LOADED";
@@ -88,6 +88,7 @@ export declare function getTopNodesByCpu({ type, sortOrder, sortValue, limit, ..
88
88
  saveQuery: string | null;
89
89
  fullscreen: boolean;
90
90
  clusters: import("../../clusters/types").ClustersState;
91
+ vDisk: import("../../vdisk/types").VDiskState;
91
92
  }) => Promise<import("../../nodes/types").NodesHandledResponse | undefined>;
92
93
  export declare const selectTopNodesByCpu: (state: TopPoolsStateSlice) => import("../../nodes/types").NodesPreparedEntity[] | undefined;
93
94
  export declare const setDataWasNotLoaded: () => {
@@ -88,6 +88,7 @@ export declare function getTopNodesByLoad({ type, sortOrder, sortValue, limit, .
88
88
  saveQuery: string | null;
89
89
  fullscreen: boolean;
90
90
  clusters: import("../../clusters/types").ClustersState;
91
+ vDisk: import("../../vdisk/types").VDiskState;
91
92
  }) => Promise<import("../../nodes/types").NodesHandledResponse | undefined>;
92
93
  export declare const selectTopNodesByLoad: (state: TopNodesByLoadStateSlice) => import("../../nodes/types").NodesPreparedEntity[] | undefined;
93
94
  export declare const setDataWasNotLoaded: () => {
@@ -88,6 +88,7 @@ export declare function getTopNodesByMemory({ type, sortOrder, sortValue, limit,
88
88
  saveQuery: string | null;
89
89
  fullscreen: boolean;
90
90
  clusters: import("../../clusters/types").ClustersState;
91
+ vDisk: import("../../vdisk/types").VDiskState;
91
92
  }) => Promise<import("../../nodes/types").NodesHandledResponse | undefined>;
92
93
  export declare const selectTopNodesByMemory: (state: TopNodesByMemorySlice) => import("../../nodes/types").NodesPreparedEntity[] | undefined;
93
94
  export declare const setDataWasNotLoaded: () => {
@@ -87,6 +87,7 @@ export declare const fetchTenantOverviewTopQueries: (database: string) => (dispa
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: import("../../clusters/types").ClustersState;
90
+ vDisk: import("../../vdisk/types").VDiskState;
90
91
  }) => Promise<import("../../../../types/store/query").IQueryResult | undefined>;
91
92
  export declare function setDataWasNotLoaded(): {
92
93
  readonly type: "tenantOverviewTopQueries/SET_DATA_WAS_NOT_LOADED";
@@ -87,6 +87,7 @@ export declare const sendTenantOverviewTopShardsQuery: (database: string, path?:
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: import("../../clusters/types").ClustersState;
90
+ vDisk: import("../../vdisk/types").VDiskState;
90
91
  }) => Promise<import("../../../../types/store/query").IQueryResult | undefined>;
91
92
  export declare function setDataWasNotLoaded(): {
92
93
  readonly type: "tenantOverviewTopShards/SET_DATA_WAS_NOT_LOADED";
@@ -88,6 +88,7 @@ export declare const getTopStorageGroups: ({ tenant, visibleEntities, nodeId, so
88
88
  saveQuery: string | null;
89
89
  fullscreen: boolean;
90
90
  clusters: import("../../clusters/types").ClustersState;
91
+ vDisk: import("../../vdisk/types").VDiskState;
91
92
  }) => Promise<import("./types").PreparedTopStorageGroupsResponse | undefined>;
92
93
  export declare const selectTopStorageGroups: (state: TopStorageGroupsStateSlice) => import("../../storage/types").PreparedStorageGroup[] | undefined;
93
94
  export declare const setDataWasNotLoaded: () => {
@@ -1,5 +1,5 @@
1
1
  import { createSelector } from '@reduxjs/toolkit';
2
- import { escapeRegExp } from 'lodash';
2
+ import escapeRegExp from 'lodash/escapeRegExp';
3
3
  import { EFlag } from '../../../types/api/enums';
4
4
  import { ProblemFilterValues, selectProblemFilter } from '../settings/settings';
5
5
  // ==== Filters ====
@@ -87,6 +87,7 @@ export declare function getTenantsInfo(clusterName?: string): (dispatch: import(
87
87
  saveQuery: string | null;
88
88
  fullscreen: boolean;
89
89
  clusters: import("../clusters/types").ClustersState;
90
+ vDisk: import("../vdisk/types").VDiskState;
90
91
  }) => Promise<{
91
92
  backend: string | undefined;
92
93
  sharedTenantName: string | undefined;
@@ -93,6 +93,7 @@ export declare function getTopic(path?: string): (dispatch: import("redux").Disp
93
93
  saveQuery: string | null;
94
94
  fullscreen: boolean;
95
95
  clusters: import("./clusters/types").ClustersState;
96
+ vDisk: import("./vdisk/types").VDiskState;
96
97
  }) => Promise<unknown>;
97
98
  export declare const selectConsumersNames: Selector<ITopicRootStateSlice, string[] | undefined>;
98
99
  export declare const selectPreparedTopicStats: Selector<ITopicRootStateSlice, IPreparedTopicStats | undefined>;
@@ -0,0 +1,25 @@
1
+ import type { IResponseError } from '../../../types/api/error';
2
+ import type { PreparedVDisk } from '../../../utils/disks/types';
3
+ import type { ApiRequestAction } from '../../utils';
4
+ import type { PreparedStorageGroup } from '../storage/types';
5
+ import type { FETCH_VDISK, setVDiskDataWasNotLoaded } from './vdisk';
6
+ export type VDiskGroup = Partial<PreparedStorageGroup>;
7
+ export interface VDiskData extends PreparedVDisk {
8
+ NodeId?: number;
9
+ NodeHost?: string;
10
+ NodeType?: string;
11
+ NodeDC?: string;
12
+ PDiskId?: number;
13
+ PDiskType?: string;
14
+ }
15
+ export interface VDiskState {
16
+ loading: boolean;
17
+ wasLoaded: boolean;
18
+ error?: IResponseError;
19
+ vDiskData: VDiskData;
20
+ groupData?: VDiskGroup;
21
+ }
22
+ export type VDiskAction = ApiRequestAction<typeof FETCH_VDISK, {
23
+ vDiskData: VDiskData;
24
+ groupData?: VDiskGroup;
25
+ }, IResponseError> | ReturnType<typeof setVDiskDataWasNotLoaded>;