ydb-embedded-ui 8.6.0 → 8.7.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 (46) hide show
  1. package/dist/components/HoverPopup/HoverPopup.d.ts +3 -1
  2. package/dist/components/HoverPopup/HoverPopup.js +3 -3
  3. package/dist/components/HoverPopup/HoverPopup.js.map +1 -1
  4. package/dist/components/MetricChart/MetricChart.js +4 -1
  5. package/dist/components/MetricChart/MetricChart.js.map +1 -1
  6. package/dist/components/MetricChart/types.d.ts +1 -0
  7. package/dist/components/QueryResultTable/QueryResultTable.js +1 -1
  8. package/dist/components/QueryResultTable/QueryResultTable.js.map +1 -1
  9. package/dist/components/VDisk/VDisk.d.ts +3 -1
  10. package/dist/components/VDisk/VDisk.js +2 -2
  11. package/dist/components/VDisk/VDisk.js.map +1 -1
  12. package/dist/containers/Storage/PDisk/PDisk.js +2 -2
  13. package/dist/containers/Storage/PDisk/PDisk.js.map +1 -1
  14. package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/defaultDashboardConfig.js +5 -12
  15. package/dist/containers/Tenant/Diagnostics/TenantOverview/DefaultOverviewContent/defaultDashboardConfig.js.map +1 -1
  16. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/Healthcheck.scss +6 -0
  17. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js +4 -1
  18. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckDetails.js.map +1 -1
  19. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js +10 -3
  20. package/dist/containers/Tenant/Diagnostics/TenantOverview/Healthcheck/HealthcheckPreview.js.map +1 -1
  21. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.js +1 -0
  22. package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.js.map +1 -1
  23. package/dist/containers/Tenant/Query/i18n/en.json +1 -1
  24. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js +5 -5
  25. package/dist/containers/Tenant/Schema/SchemaViewer/SchemaViewer.js.map +1 -1
  26. package/dist/containers/Tenant/Schema/SchemaViewer/columns.d.ts +5 -5
  27. package/dist/containers/Tenant/Schema/SchemaViewer/columns.js +27 -8
  28. package/dist/containers/Tenant/Schema/SchemaViewer/columns.js.map +1 -1
  29. package/dist/containers/Tenant/Schema/SchemaViewer/types.d.ts +2 -2
  30. package/dist/containers/Tenant/Tenant.js +7 -3
  31. package/dist/containers/Tenant/Tenant.js.map +1 -1
  32. package/dist/store/reducers/schema/schema.d.ts +416 -0
  33. package/dist/store/reducers/schema/schema.js +6 -1
  34. package/dist/store/reducers/schema/schema.js.map +1 -1
  35. package/dist/utils/__test__/getColumnWidth.test.js +75 -0
  36. package/dist/utils/__test__/getColumnWidth.test.js.map +1 -0
  37. package/dist/utils/getColumnWidth.d.ts +10 -0
  38. package/dist/utils/getColumnWidth.js +25 -0
  39. package/dist/utils/getColumnWidth.js.map +1 -0
  40. package/package.json +2 -2
  41. package/dist/components/QueryResultTable/utils/getColumnWidth.d.ts +0 -7
  42. package/dist/components/QueryResultTable/utils/getColumnWidth.js +0 -16
  43. package/dist/components/QueryResultTable/utils/getColumnWidth.js.map +0 -1
  44. package/dist/components/QueryResultTable/utils/getColumnWidth.test.js +0 -32
  45. package/dist/components/QueryResultTable/utils/getColumnWidth.test.js.map +0 -1
  46. /package/dist/{components/QueryResultTable/utils → utils/__test__}/getColumnWidth.test.d.ts +0 -0
@@ -1,4 +1,5 @@
1
1
  import type { TEvDescribeSchemeResult } from '../../../types/api/schema';
2
+ import type { RootState } from '../../defaultStore';
2
3
  declare const _default: import("redux").Reducer<{
3
4
  loading: boolean;
4
5
  data: {};
@@ -46,3 +47,418 @@ export declare function useGetSchemaQuery({ path, database }: {
46
47
  isLoading: boolean;
47
48
  error: unknown;
48
49
  };
50
+ export declare const selectSchemaObjectData: ((state: {
51
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", "api">;
52
+ singleClusterMode: boolean;
53
+ cluster: import("../cluster/types").ClusterState;
54
+ tenant: import("../tenant/types").TenantState;
55
+ tooltip: import("../../../types/store/tooltip").ITooltipState;
56
+ schema: {
57
+ loading: boolean;
58
+ data: {};
59
+ currentSchemaPath: undefined;
60
+ showPreview: boolean;
61
+ };
62
+ tenants: import("../tenants/types").TenantsState;
63
+ partitions: {
64
+ selectedConsumer?: string;
65
+ };
66
+ query: import("../query/types").QueryState;
67
+ heatmap: import("../../../types/store/heatmap").IHeatmapState;
68
+ settings: import("../settings/types").SettingsState;
69
+ executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
70
+ shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
71
+ authentication: import("../authentication/types").AuthenticationState;
72
+ header: import("../header/types").HeaderState;
73
+ queryActions: import("../queryActions/types").QueryActionsState;
74
+ fullscreen: boolean;
75
+ clusters: import("../clusters/types").ClustersFilters;
76
+ }, path: string, database: string) => (TEvDescribeSchemeResult & {
77
+ partial?: boolean;
78
+ }) | undefined) & {
79
+ clearCache: () => void;
80
+ resultsCount: () => number;
81
+ resetResultsCount: () => void;
82
+ } & {
83
+ resultFunc: (resultFuncArgs_0: {
84
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", "api">;
85
+ singleClusterMode: boolean;
86
+ cluster: import("../cluster/types").ClusterState;
87
+ tenant: import("../tenant/types").TenantState;
88
+ tooltip: import("../../../types/store/tooltip").ITooltipState;
89
+ schema: {
90
+ loading: boolean;
91
+ data: {};
92
+ currentSchemaPath: undefined;
93
+ showPreview: boolean;
94
+ };
95
+ tenants: import("../tenants/types").TenantsState;
96
+ partitions: {
97
+ selectedConsumer?: string;
98
+ };
99
+ query: import("../query/types").QueryState;
100
+ heatmap: import("../../../types/store/heatmap").IHeatmapState;
101
+ settings: import("../settings/types").SettingsState;
102
+ executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
103
+ shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
104
+ authentication: import("../authentication/types").AuthenticationState;
105
+ header: import("../header/types").HeaderState;
106
+ queryActions: import("../queryActions/types").QueryActionsState;
107
+ fullscreen: boolean;
108
+ clusters: import("../clusters/types").ClustersFilters;
109
+ }, resultFuncArgs_1: string, resultFuncArgs_2: (state: import("@reduxjs/toolkit/query").RootState<{
110
+ createDirectory: import("@reduxjs/toolkit/query").MutationDefinition<{
111
+ database: string;
112
+ path: string;
113
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", unknown, "api">;
114
+ getSchema: import("@reduxjs/toolkit/query").QueryDefinition<{
115
+ path: string;
116
+ database: string;
117
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", {
118
+ [path: string]: TEvDescribeSchemeResult & {
119
+ partial?: boolean;
120
+ };
121
+ }, "api">;
122
+ }, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", "api">) => ({
123
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
124
+ originalArgs?: undefined | undefined;
125
+ data?: undefined | undefined;
126
+ error?: undefined | undefined;
127
+ requestId?: undefined | undefined;
128
+ endpointName?: string | undefined;
129
+ startedTimeStamp?: undefined | undefined;
130
+ fulfilledTimeStamp?: undefined | undefined;
131
+ } & {
132
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
133
+ isUninitialized: true;
134
+ isLoading: false;
135
+ isSuccess: false;
136
+ isError: false;
137
+ }) | ({
138
+ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
139
+ error: undefined;
140
+ originalArgs: {
141
+ path: string;
142
+ database: string;
143
+ };
144
+ requestId: string;
145
+ endpointName: string;
146
+ startedTimeStamp: number;
147
+ data: {
148
+ [path: string]: TEvDescribeSchemeResult & {
149
+ partial?: boolean;
150
+ };
151
+ };
152
+ fulfilledTimeStamp: number;
153
+ } & {
154
+ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
155
+ isUninitialized: false;
156
+ isLoading: false;
157
+ isSuccess: true;
158
+ isError: false;
159
+ }) | ({
160
+ status: import("@reduxjs/toolkit/query").QueryStatus.pending;
161
+ originalArgs: {
162
+ path: string;
163
+ database: string;
164
+ };
165
+ requestId: string;
166
+ data?: {
167
+ [path: string]: TEvDescribeSchemeResult & {
168
+ partial?: boolean;
169
+ };
170
+ } | undefined;
171
+ error?: unknown;
172
+ endpointName: string;
173
+ startedTimeStamp: number;
174
+ fulfilledTimeStamp?: number | undefined;
175
+ } & {
176
+ status: import("@reduxjs/toolkit/query").QueryStatus.pending;
177
+ isUninitialized: false;
178
+ isLoading: true;
179
+ isSuccess: false;
180
+ isError: false;
181
+ }) | ({
182
+ status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
183
+ data?: {
184
+ [path: string]: TEvDescribeSchemeResult & {
185
+ partial?: boolean;
186
+ };
187
+ } | undefined;
188
+ fulfilledTimeStamp?: number | undefined;
189
+ originalArgs: {
190
+ path: string;
191
+ database: string;
192
+ };
193
+ requestId: string;
194
+ endpointName: string;
195
+ startedTimeStamp: number;
196
+ error: unknown;
197
+ } & {
198
+ status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
199
+ isUninitialized: false;
200
+ isLoading: false;
201
+ isSuccess: false;
202
+ isError: true;
203
+ })) => (TEvDescribeSchemeResult & {
204
+ partial?: boolean;
205
+ }) | undefined;
206
+ memoizedResultFunc: ((resultFuncArgs_0: {
207
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", "api">;
208
+ singleClusterMode: boolean;
209
+ cluster: import("../cluster/types").ClusterState;
210
+ tenant: import("../tenant/types").TenantState;
211
+ tooltip: import("../../../types/store/tooltip").ITooltipState;
212
+ schema: {
213
+ loading: boolean;
214
+ data: {};
215
+ currentSchemaPath: undefined;
216
+ showPreview: boolean;
217
+ };
218
+ tenants: import("../tenants/types").TenantsState;
219
+ partitions: {
220
+ selectedConsumer?: string;
221
+ };
222
+ query: import("../query/types").QueryState;
223
+ heatmap: import("../../../types/store/heatmap").IHeatmapState;
224
+ settings: import("../settings/types").SettingsState;
225
+ executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
226
+ shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
227
+ authentication: import("../authentication/types").AuthenticationState;
228
+ header: import("../header/types").HeaderState;
229
+ queryActions: import("../queryActions/types").QueryActionsState;
230
+ fullscreen: boolean;
231
+ clusters: import("../clusters/types").ClustersFilters;
232
+ }, resultFuncArgs_1: string, resultFuncArgs_2: (state: import("@reduxjs/toolkit/query").RootState<{
233
+ createDirectory: import("@reduxjs/toolkit/query").MutationDefinition<{
234
+ database: string;
235
+ path: string;
236
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", unknown, "api">;
237
+ getSchema: import("@reduxjs/toolkit/query").QueryDefinition<{
238
+ path: string;
239
+ database: string;
240
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", {
241
+ [path: string]: TEvDescribeSchemeResult & {
242
+ partial?: boolean;
243
+ };
244
+ }, "api">;
245
+ }, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", "api">) => ({
246
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
247
+ originalArgs?: undefined | undefined;
248
+ data?: undefined | undefined;
249
+ error?: undefined | undefined;
250
+ requestId?: undefined | undefined;
251
+ endpointName?: string | undefined;
252
+ startedTimeStamp?: undefined | undefined;
253
+ fulfilledTimeStamp?: undefined | undefined;
254
+ } & {
255
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
256
+ isUninitialized: true;
257
+ isLoading: false;
258
+ isSuccess: false;
259
+ isError: false;
260
+ }) | ({
261
+ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
262
+ error: undefined;
263
+ originalArgs: {
264
+ path: string;
265
+ database: string;
266
+ };
267
+ requestId: string;
268
+ endpointName: string;
269
+ startedTimeStamp: number;
270
+ data: {
271
+ [path: string]: TEvDescribeSchemeResult & {
272
+ partial?: boolean;
273
+ };
274
+ };
275
+ fulfilledTimeStamp: number;
276
+ } & {
277
+ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
278
+ isUninitialized: false;
279
+ isLoading: false;
280
+ isSuccess: true;
281
+ isError: false;
282
+ }) | ({
283
+ status: import("@reduxjs/toolkit/query").QueryStatus.pending;
284
+ originalArgs: {
285
+ path: string;
286
+ database: string;
287
+ };
288
+ requestId: string;
289
+ data?: {
290
+ [path: string]: TEvDescribeSchemeResult & {
291
+ partial?: boolean;
292
+ };
293
+ } | undefined;
294
+ error?: unknown;
295
+ endpointName: string;
296
+ startedTimeStamp: number;
297
+ fulfilledTimeStamp?: number | undefined;
298
+ } & {
299
+ status: import("@reduxjs/toolkit/query").QueryStatus.pending;
300
+ isUninitialized: false;
301
+ isLoading: true;
302
+ isSuccess: false;
303
+ isError: false;
304
+ }) | ({
305
+ status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
306
+ data?: {
307
+ [path: string]: TEvDescribeSchemeResult & {
308
+ partial?: boolean;
309
+ };
310
+ } | undefined;
311
+ fulfilledTimeStamp?: number | undefined;
312
+ originalArgs: {
313
+ path: string;
314
+ database: string;
315
+ };
316
+ requestId: string;
317
+ endpointName: string;
318
+ startedTimeStamp: number;
319
+ error: unknown;
320
+ } & {
321
+ status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
322
+ isUninitialized: false;
323
+ isLoading: false;
324
+ isSuccess: false;
325
+ isError: true;
326
+ })) => (TEvDescribeSchemeResult & {
327
+ partial?: boolean;
328
+ }) | undefined) & {
329
+ clearCache: () => void;
330
+ resultsCount: () => number;
331
+ resetResultsCount: () => void;
332
+ };
333
+ lastResult: () => (TEvDescribeSchemeResult & {
334
+ partial?: boolean;
335
+ }) | undefined;
336
+ dependencies: [(state: RootState) => {
337
+ api: import("@reduxjs/toolkit/query").CombinedState<{}, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", "api">;
338
+ singleClusterMode: boolean;
339
+ cluster: import("../cluster/types").ClusterState;
340
+ tenant: import("../tenant/types").TenantState;
341
+ tooltip: import("../../../types/store/tooltip").ITooltipState;
342
+ schema: {
343
+ loading: boolean;
344
+ data: {};
345
+ currentSchemaPath: undefined;
346
+ showPreview: boolean;
347
+ };
348
+ tenants: import("../tenants/types").TenantsState;
349
+ partitions: {
350
+ selectedConsumer?: string;
351
+ };
352
+ query: import("../query/types").QueryState;
353
+ heatmap: import("../../../types/store/heatmap").IHeatmapState;
354
+ settings: import("../settings/types").SettingsState;
355
+ executeTopQueries: import("../executeTopQueries/types").TopQueriesFilters;
356
+ shardsWorkload: import("../shardsWorkload/types").ShardsWorkloadFilters;
357
+ authentication: import("../authentication/types").AuthenticationState;
358
+ header: import("../header/types").HeaderState;
359
+ queryActions: import("../queryActions/types").QueryActionsState;
360
+ fullscreen: boolean;
361
+ clusters: import("../clusters/types").ClustersFilters;
362
+ }, (_state: RootState, path: string) => string, (_state: RootState, path: string, database: string) => (state: import("@reduxjs/toolkit/query").RootState<{
363
+ createDirectory: import("@reduxjs/toolkit/query").MutationDefinition<{
364
+ database: string;
365
+ path: string;
366
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", unknown, "api">;
367
+ getSchema: import("@reduxjs/toolkit/query").QueryDefinition<{
368
+ path: string;
369
+ database: string;
370
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", {
371
+ [path: string]: TEvDescribeSchemeResult & {
372
+ partial?: boolean;
373
+ };
374
+ }, "api">;
375
+ }, "All" | "PDiskData" | "PreviewData" | "StorageData" | "Tablet" | "UserData" | "VDiskData", "api">) => ({
376
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
377
+ originalArgs?: undefined | undefined;
378
+ data?: undefined | undefined;
379
+ error?: undefined | undefined;
380
+ requestId?: undefined | undefined;
381
+ endpointName?: string | undefined;
382
+ startedTimeStamp?: undefined | undefined;
383
+ fulfilledTimeStamp?: undefined | undefined;
384
+ } & {
385
+ status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
386
+ isUninitialized: true;
387
+ isLoading: false;
388
+ isSuccess: false;
389
+ isError: false;
390
+ }) | ({
391
+ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
392
+ error: undefined;
393
+ originalArgs: {
394
+ path: string;
395
+ database: string;
396
+ };
397
+ requestId: string;
398
+ endpointName: string;
399
+ startedTimeStamp: number;
400
+ data: {
401
+ [path: string]: TEvDescribeSchemeResult & {
402
+ partial?: boolean;
403
+ };
404
+ };
405
+ fulfilledTimeStamp: number;
406
+ } & {
407
+ status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
408
+ isUninitialized: false;
409
+ isLoading: false;
410
+ isSuccess: true;
411
+ isError: false;
412
+ }) | ({
413
+ status: import("@reduxjs/toolkit/query").QueryStatus.pending;
414
+ originalArgs: {
415
+ path: string;
416
+ database: string;
417
+ };
418
+ requestId: string;
419
+ data?: {
420
+ [path: string]: TEvDescribeSchemeResult & {
421
+ partial?: boolean;
422
+ };
423
+ } | undefined;
424
+ error?: unknown;
425
+ endpointName: string;
426
+ startedTimeStamp: number;
427
+ fulfilledTimeStamp?: number | undefined;
428
+ } & {
429
+ status: import("@reduxjs/toolkit/query").QueryStatus.pending;
430
+ isUninitialized: false;
431
+ isLoading: true;
432
+ isSuccess: false;
433
+ isError: false;
434
+ }) | ({
435
+ status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
436
+ data?: {
437
+ [path: string]: TEvDescribeSchemeResult & {
438
+ partial?: boolean;
439
+ };
440
+ } | undefined;
441
+ fulfilledTimeStamp?: number | undefined;
442
+ originalArgs: {
443
+ path: string;
444
+ database: string;
445
+ };
446
+ requestId: string;
447
+ endpointName: string;
448
+ startedTimeStamp: number;
449
+ error: unknown;
450
+ } & {
451
+ status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
452
+ isUninitialized: false;
453
+ isLoading: false;
454
+ isSuccess: false;
455
+ isError: true;
456
+ })];
457
+ recomputations: () => number;
458
+ resetRecomputations: () => void;
459
+ dependencyRecomputations: () => number;
460
+ resetDependencyRecomputations: () => void;
461
+ } & {
462
+ argsMemoize: typeof import("reselect").weakMapMemoize;
463
+ memoize: typeof import("reselect").weakMapMemoize;
464
+ };
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { createSlice } from '@reduxjs/toolkit';
2
+ import { createSelector, createSlice } from '@reduxjs/toolkit';
3
3
  import { api } from '../api';
4
4
  const initialState = {
5
5
  loading: true,
@@ -93,4 +93,9 @@ export function useGetSchemaQuery({ path, database }) {
93
93
  }, [refetch, path, shouldLoad]);
94
94
  return { data, isLoading, error: currentPathError };
95
95
  }
96
+ const getSchemaSelector = createSelector((path) => path, (_path, database) => database, (path, database) => schemaApi.endpoints.getSchema.select({ path, database }));
97
+ export const selectSchemaObjectData = createSelector((state) => state, (_state, path) => path, (_state, path, database) => getSchemaSelector(path, database), (state, path, selectSchemaData) => {
98
+ var _a;
99
+ return (_a = selectSchemaData(state).data) === null || _a === void 0 ? void 0 : _a[path];
100
+ });
96
101
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/store/reducers/schema/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/store/reducers/schema/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { HEADER_PADDING, MAX_COLUMN_WIDTH, PIXELS_PER_CHARACTER, SORT_ICON_TO_CHARACTERS, getColumnWidth, } from '../getColumnWidth';
2
+ describe('getColumnWidth', () => {
3
+ it('returns minimum width for empty data', () => {
4
+ const result = getColumnWidth({ data: [], name: 'test' });
5
+ expect(result).toBe(HEADER_PADDING + 'test'.length * PIXELS_PER_CHARACTER);
6
+ });
7
+ it('calculates correct width for string columns', () => {
8
+ const data = [{ test: 'short' }, { test: 'medium length' }, { test: 'this is a longer string' }];
9
+ const result = getColumnWidth({ data, name: 'test' });
10
+ expect(result).toBe(HEADER_PADDING + 'this is a longer string'.length * PIXELS_PER_CHARACTER);
11
+ });
12
+ it('calculates correct width for columns with sorting', () => {
13
+ const result = getColumnWidth({ data: [], name: 'test', sortable: true });
14
+ expect(result).toBe(HEADER_PADDING + ('test'.length + SORT_ICON_TO_CHARACTERS) * PIXELS_PER_CHARACTER);
15
+ });
16
+ it('calculates correct width for columns with sorting and column name wider than header', () => {
17
+ const data = [{ test: 'this is a longer string' }];
18
+ const result = getColumnWidth({ data, name: 'test', sortable: true });
19
+ expect(result).toBe(HEADER_PADDING + 'this is a longer string'.length * PIXELS_PER_CHARACTER);
20
+ });
21
+ it('calculates correct width for columns with header', () => {
22
+ const result = getColumnWidth({ data: [], name: 'test', header: 'a' });
23
+ expect(result).toBe(HEADER_PADDING + 'a'.length * PIXELS_PER_CHARACTER);
24
+ });
25
+ it('returns MAX_COLUMN_WIDTH when calculated width exceeds it', () => {
26
+ const data = [{ test: 'a'.repeat(100) }];
27
+ const result = getColumnWidth({ data, name: 'test' });
28
+ expect(result).toBe(MAX_COLUMN_WIDTH);
29
+ });
30
+ it('handles undefined data correctly', () => {
31
+ const result = getColumnWidth({ name: 'test' });
32
+ expect(result).toBe(HEADER_PADDING + 'test'.length * PIXELS_PER_CHARACTER);
33
+ });
34
+ it('handles missing values in data correctly', () => {
35
+ const data = [{ test: 'short' }, {}, { test: 'longer string' }];
36
+ const result = getColumnWidth({ data, name: 'test' });
37
+ expect(result).toBe(HEADER_PADDING + 'longer string'.length * PIXELS_PER_CHARACTER);
38
+ });
39
+ it('uses column name length when all values are shorter', () => {
40
+ const data = [{ longColumnName: 'a' }, { longColumnName: 'bb' }];
41
+ const result = getColumnWidth({ data, name: 'longColumnName' });
42
+ expect(result).toBe(HEADER_PADDING + 'longColumnName'.length * PIXELS_PER_CHARACTER);
43
+ });
44
+ it('handles null values in data correctly', () => {
45
+ const data = [{ test: 'a' }, { test: null }];
46
+ const result = getColumnWidth({ data, name: 'test' });
47
+ expect(result).toBe(HEADER_PADDING + 'test'.length * PIXELS_PER_CHARACTER);
48
+ });
49
+ it('handles undefined values in data correctly', () => {
50
+ const data = [{ test: 'a' }, { test: undefined }];
51
+ const result = getColumnWidth({ data, name: 'test' });
52
+ expect(result).toBe(HEADER_PADDING + 'test'.length * PIXELS_PER_CHARACTER);
53
+ });
54
+ it('handles empty string values in data correctly', () => {
55
+ const data = [{ test: 'short' }, { test: '' }, { test: 'longer string' }];
56
+ const result = getColumnWidth({ data, name: 'test' });
57
+ expect(result).toBe(HEADER_PADDING + 'longer string'.length * PIXELS_PER_CHARACTER);
58
+ });
59
+ it('handles an array of numbers correctly', () => {
60
+ const data = [{ test: 1 }, { test: 123 }, { test: 12345 }];
61
+ const result = getColumnWidth({ data, name: 'test' });
62
+ expect(result).toBe(HEADER_PADDING + '12345'.length * PIXELS_PER_CHARACTER);
63
+ });
64
+ it('handles an array of mixed data types correctly', () => {
65
+ const data = [{ test: 'short' }, { test: 123 }, { test: null }, { test: 'longer string' }];
66
+ const result = getColumnWidth({ data, name: 'test' });
67
+ expect(result).toBe(HEADER_PADDING + 'longer string'.length * PIXELS_PER_CHARACTER);
68
+ });
69
+ it('handles empty name correctly', () => {
70
+ const data = [{ test: 'test' }];
71
+ const result = getColumnWidth({ data, name: '' });
72
+ expect(result).toBe(HEADER_PADDING);
73
+ });
74
+ });
75
+ //# sourceMappingURL=getColumnWidth.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getColumnWidth.test.js","sourceRoot":"","sources":["../../../src/utils/__test__/getColumnWidth.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const MAX_COLUMN_WIDTH = 600;
2
+ export declare const HEADER_PADDING = 20;
3
+ export declare const SORT_ICON_TO_CHARACTERS = 2;
4
+ export declare const PIXELS_PER_CHARACTER = 10;
5
+ export declare function getColumnWidth({ data, name, header, sortable, }: {
6
+ data?: Record<string, unknown>[];
7
+ name: string;
8
+ header?: string;
9
+ sortable?: boolean;
10
+ }): number;
@@ -0,0 +1,25 @@
1
+ export const MAX_COLUMN_WIDTH = 600;
2
+ export const HEADER_PADDING = 20;
3
+ export const SORT_ICON_TO_CHARACTERS = 2;
4
+ export const PIXELS_PER_CHARACTER = 10;
5
+ export function getColumnWidth({ data, name, header, sortable, }) {
6
+ const headerContentLength = typeof header === 'string' ? header.length : name.length;
7
+ let maxColumnContentLength = sortable
8
+ ? headerContentLength + SORT_ICON_TO_CHARACTERS
9
+ : headerContentLength;
10
+ if (data) {
11
+ for (const row of data) {
12
+ let cellLength = 0;
13
+ if (row[name]) {
14
+ cellLength = String(row[name]).length;
15
+ }
16
+ maxColumnContentLength = Math.max(maxColumnContentLength, cellLength);
17
+ if (maxColumnContentLength * PIXELS_PER_CHARACTER + HEADER_PADDING >=
18
+ MAX_COLUMN_WIDTH) {
19
+ return MAX_COLUMN_WIDTH;
20
+ }
21
+ }
22
+ }
23
+ return maxColumnContentLength * PIXELS_PER_CHARACTER + HEADER_PADDING;
24
+ }
25
+ //# sourceMappingURL=getColumnWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getColumnWidth.js","sourceRoot":"","sources":["../../src/utils/getColumnWidth.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEvC,MAAM,UAAU,cAAc,CAAC,EAC3B,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,QAAQ,GAMX;IACG,MAAM,mBAAmB,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAErF,IAAI,sBAAsB,GAAG,QAAQ;QACjC,CAAC,CAAC,mBAAmB,GAAG,uBAAuB;QAC/C,CAAC,CAAC,mBAAmB,CAAC;IAE1B,IAAI,IAAI,EAAE,CAAC;QACP,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACZ,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1C,CAAC;YAED,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;YAEtE,IACI,sBAAsB,GAAG,oBAAoB,GAAG,cAAc;gBAC9D,gBAAgB,EAClB,CAAC;gBACC,OAAO,gBAAgB,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,sBAAsB,GAAG,oBAAoB,GAAG,cAAc,CAAC;AAC1E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ydb-embedded-ui",
3
- "version": "8.6.0",
3
+ "version": "8.7.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -13,7 +13,7 @@
13
13
  "@bem-react/classname": "^1.6.0",
14
14
  "@ebay/nice-modal-react": "^1.2.13",
15
15
  "@gravity-ui/axios-wrapper": "^1.5.1",
16
- "@gravity-ui/chartkit": "^5.19.2",
16
+ "@gravity-ui/chartkit": "^5.20.0",
17
17
  "@gravity-ui/components": "^3.13.2",
18
18
  "@gravity-ui/date-components": "^2.11.0",
19
19
  "@gravity-ui/date-utils": "^2.5.6",
@@ -1,7 +0,0 @@
1
- import type { KeyValueRow } from '../../../types/api/query';
2
- export declare const MAX_COLUMN_WIDTH = 600;
3
- export declare const HEADER_PADDING = 20;
4
- export declare const getColumnWidth: ({ data, name }: {
5
- data?: KeyValueRow[];
6
- name: string;
7
- }) => number;
@@ -1,16 +0,0 @@
1
- export const MAX_COLUMN_WIDTH = 600;
2
- export const HEADER_PADDING = 20;
3
- export const getColumnWidth = ({ data, name }) => {
4
- let maxColumnContentLength = name.length;
5
- if (data) {
6
- for (const row of data) {
7
- const cellLength = row[name] ? String(row[name]).length : 0;
8
- maxColumnContentLength = Math.max(maxColumnContentLength, cellLength);
9
- if (maxColumnContentLength * 10 + HEADER_PADDING >= MAX_COLUMN_WIDTH) {
10
- return MAX_COLUMN_WIDTH;
11
- }
12
- }
13
- }
14
- return maxColumnContentLength * 10 + HEADER_PADDING;
15
- };
16
- //# sourceMappingURL=getColumnWidth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getColumnWidth.js","sourceRoot":"","sources":["../../../../src/components/QueryResultTable/utils/getColumnWidth.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAC,IAAI,EAAE,IAAI,EAAuC,EAAE,EAAE;IACjF,IAAI,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IAEzC,IAAI,IAAI,EAAE,CAAC;QACP,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,sBAAsB,GAAG,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;YAEtE,IAAI,sBAAsB,GAAG,EAAE,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;gBACnE,OAAO,gBAAgB,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,sBAAsB,GAAG,EAAE,GAAG,cAAc,CAAC;AACxD,CAAC,CAAC"}