ydb-embedded-ui 11.1.1 → 11.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/MetricChart/reducer.d.ts +2 -2
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/containers/Operations/useOperationsInfiniteQuery.d.ts +1 -1
- package/dist/containers/Tablet/Tablet.js +5 -6
- package/dist/containers/Tablet/Tablet.js.map +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.js +5 -1
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.js.map +1 -1
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.test.d.ts +1 -0
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.test.js +28 -0
- package/dist/containers/Tenant/Query/Preview/components/TablePreview.test.js.map +1 -0
- package/dist/containers/VDiskPage/VDiskPage.js +55 -9
- package/dist/containers/VDiskPage/VDiskPage.js.map +1 -1
- package/dist/containers/VDiskPage/VDiskPage.scss +3 -4
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.d.ts +8 -0
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js +64 -0
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.js.map +1 -0
- package/dist/containers/VDiskPage/VDiskTablets/VDiskTablets.scss +0 -0
- package/dist/containers/VDiskPage/VDiskTablets/columns.d.ts +3 -0
- package/dist/containers/VDiskPage/VDiskTablets/columns.js +60 -0
- package/dist/containers/VDiskPage/VDiskTablets/columns.js.map +1 -0
- package/dist/containers/VDiskPage/VDiskTablets/constants.d.ts +12 -0
- package/dist/containers/VDiskPage/VDiskTablets/constants.js +14 -0
- package/dist/containers/VDiskPage/VDiskTablets/constants.js.map +1 -0
- package/dist/containers/VDiskPage/VDiskTablets/index.d.ts +1 -0
- package/dist/containers/VDiskPage/VDiskTablets/index.js +2 -0
- package/dist/containers/VDiskPage/VDiskTablets/index.js.map +1 -0
- package/dist/containers/VDiskPage/i18n/en.json +5 -0
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -1
- package/dist/services/api/viewer.d.ts +6 -0
- package/dist/services/api/viewer.js +7 -0
- package/dist/services/api/viewer.js.map +1 -1
- package/dist/store/configureStore.d.ts +7 -5
- package/dist/store/configureStore.js +4 -5
- package/dist/store/configureStore.js.map +1 -1
- package/dist/store/defaultStore.d.ts +2 -2
- package/dist/store/reducers/api.d.ts +1 -1
- package/dist/store/reducers/api.js +1 -0
- package/dist/store/reducers/api.js.map +1 -1
- package/dist/store/reducers/authentication/authentication.d.ts +4 -4
- package/dist/store/reducers/cancelQuery.d.ts +2 -2
- package/dist/store/reducers/capabilities/capabilities.d.ts +31 -31
- package/dist/store/reducers/cluster/cluster.d.ts +5 -5
- package/dist/store/reducers/clusters/clusters.d.ts +2 -2
- package/dist/store/reducers/codeAssist/codeAssist.d.ts +6 -6
- package/dist/store/reducers/executeTopQueries/executeTopQueries.d.ts +3 -3
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +44 -44
- package/dist/store/reducers/heatmap.d.ts +2 -2
- package/dist/store/reducers/hotKeys/hotKeys.d.ts +2 -2
- package/dist/store/reducers/index.d.ts +3 -3
- package/dist/store/reducers/network/network.d.ts +2 -2
- package/dist/store/reducers/node/node.d.ts +3 -3
- package/dist/store/reducers/node/selectors.d.ts +1 -1
- package/dist/store/reducers/nodes/nodes.d.ts +2 -2
- package/dist/store/reducers/nodesList.d.ts +3 -3
- package/dist/store/reducers/operations.d.ts +4 -4
- package/dist/store/reducers/overview/overview.d.ts +2 -2
- package/dist/store/reducers/partitions/partitions.d.ts +2 -2
- package/dist/store/reducers/pdisk/pdisk.d.ts +2 -2
- package/dist/store/reducers/planToSvg.d.ts +2 -2
- package/dist/store/reducers/preview.d.ts +2 -2
- package/dist/store/reducers/query/query.d.ts +3 -3
- package/dist/store/reducers/replication.d.ts +2 -2
- package/dist/store/reducers/schema/schema.d.ts +16 -16
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +39 -39
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +2 -2
- package/dist/store/reducers/storage/storage.d.ts +3 -3
- package/dist/store/reducers/tableData.d.ts +1 -1
- package/dist/store/reducers/tableSchemaData.d.ts +2 -2
- package/dist/store/reducers/tablet.d.ts +7 -7
- package/dist/store/reducers/tablets.d.ts +3 -3
- package/dist/store/reducers/tenant/tenant.d.ts +3 -3
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +2 -2
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +2 -2
- package/dist/store/reducers/tenants/selectors.d.ts +21 -21
- package/dist/store/reducers/tenants/tenants.d.ts +2 -2
- package/dist/store/reducers/topic.d.ts +45 -45
- package/dist/store/reducers/vdisk/vdisk.d.ts +3 -2
- package/dist/store/reducers/vdisk/vdisk.js +18 -0
- package/dist/store/reducers/vdisk/vdisk.js.map +1 -1
- package/dist/store/reducers/viewSchema/viewSchema.d.ts +2 -2
- package/dist/types/api/vdiskBlobIndex.d.ts +64 -0
- package/dist/types/api/vdiskBlobIndex.js +7 -0
- package/dist/types/api/vdiskBlobIndex.js.map +1 -0
- package/package.json +2 -1
@@ -1,4 +1,4 @@
|
|
1
1
|
import type { GetChartDataParams } from './getChartData';
|
2
2
|
export declare const chartApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, {
|
3
|
-
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "AccessRights" | "Backups" | "BackupsSchedule", import("./types").PreparedMetricsData | undefined, "api", any>;
|
4
|
-
}, "api", "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "AccessRights" | "Backups" | "BackupsSchedule", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
3
|
+
getChartData: import("@reduxjs/toolkit/query").QueryDefinition<GetChartDataParams, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", import("./types").PreparedMetricsData | undefined, "api", any>;
|
4
|
+
}, "api", "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", typeof import("@reduxjs/toolkit/query").coreModuleName | typeof import("@reduxjs/toolkit/query/react").reactHooksModuleName>;
|
@@ -1 +1 @@
|
|
1
|
-
export declare const vDiskInfoKeyset: (key: "
|
1
|
+
export declare const vDiskInfoKeyset: (key: "size" | "links" | "yes" | "no" | "kind" | "pool-name" | "guid" | "developer-ui" | "slot-id" | "incarnation-guid" | "instance-guid" | "replication-status" | "state-status" | "space-status" | "fresh-rank-satisfaction" | "level-rank-satisfaction" | "front-queues" | "has-unreadable-blobs" | "read-throughput" | "write-throughput" | "vdisk-page" | "vdiks-title", params?: import("@gravity-ui/i18n").Params) => string;
|
@@ -16,6 +16,6 @@ export declare function useOperationsInfiniteQuery({ database, kind, pageSize, s
|
|
16
16
|
database: string;
|
17
17
|
kind: OperationKind;
|
18
18
|
page_size?: number;
|
19
|
-
}, string | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "AccessRights" | "Backups" | "BackupsSchedule", import("../../types/api/operations").TOperationList, "api", typeof import("../../store/reducers/api")._NEVER>>;
|
19
|
+
}, string | undefined, import("@reduxjs/toolkit/query").BaseQueryFn<void, typeof import("../../store/reducers/api")._NEVER, unknown, {}>, "All" | "PDiskData" | "PreviewData" | "SchemaTree" | "StorageData" | "Tablet" | "UserData" | "VDiskData" | "VDiskBlobIndexStat" | "AccessRights" | "Backups" | "BackupsSchedule", import("../../types/api/operations").TOperationList, "api", typeof import("../../store/reducers/api")._NEVER>>;
|
20
20
|
};
|
21
21
|
export {};
|
@@ -67,14 +67,13 @@ export function Tablet() {
|
|
67
67
|
tabletType,
|
68
68
|
}));
|
69
69
|
}, [dispatch, queryDatabase, id, tabletType]);
|
70
|
-
const { Leader
|
70
|
+
const { Leader } = tablet;
|
71
71
|
const metaItems = [];
|
72
72
|
if (database) {
|
73
73
|
metaItems.push(`${i18n('tablet.meta-database')}: ${database}`);
|
74
74
|
}
|
75
|
-
|
76
|
-
|
77
|
-
}
|
75
|
+
// Add "Tablet" instead of tablet type to metadata
|
76
|
+
metaItems.push(i18n('tablet.header'));
|
78
77
|
if (Leader === false) {
|
79
78
|
metaItems.push(i18n('tablet.meta-follower').toUpperCase());
|
80
79
|
}
|
@@ -82,9 +81,9 @@ export function Tablet() {
|
|
82
81
|
}
|
83
82
|
function TabletContent({ id, tablet, history, database, }) {
|
84
83
|
const isEmpty = !Object.keys(tablet).length;
|
85
|
-
const { Overall, HiveId, FollowerId } = tablet;
|
84
|
+
const { Overall, HiveId, FollowerId, Type } = tablet;
|
86
85
|
const tabletName = `${id}${FollowerId ? `.${FollowerId}` : ''}`;
|
87
|
-
return (_jsxs(EmptyStateWrapper, { title: i18n('emptyState'), className: b('placeholder'), isEmpty: isEmpty, children: [_jsxs(Flex, { gap: 5, direction: "column", children: [_jsx(EntityPageTitle, { entityName: i18n('tablet.header'), status: Overall !== null && Overall !== void 0 ? Overall : EFlag.Grey, id: tabletName }), _jsx(TabletControls, { tablet: tablet }), _jsx(TabletInfo, { tablet: tablet })] }), _jsx(TabletTabs, { id: id, hiveId: HiveId, history: history, database: database })] }));
|
86
|
+
return (_jsxs(EmptyStateWrapper, { title: i18n('emptyState'), className: b('placeholder'), isEmpty: isEmpty, children: [_jsxs(Flex, { gap: 5, direction: "column", children: [_jsx(EntityPageTitle, { entityName: Type || i18n('tablet.header'), status: Overall !== null && Overall !== void 0 ? Overall : EFlag.Grey, id: tabletName }), _jsx(TabletControls, { tablet: tablet }), _jsx(TabletInfo, { tablet: tablet })] }), _jsx(TabletTabs, { id: id, hiveId: HiveId, history: history, database: database })] }));
|
88
87
|
}
|
89
88
|
function TabletTabs({ id, hiveId, history, database, }) {
|
90
89
|
var _a;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Tablet.js","sourceRoot":"","sources":["../../../src/containers/Tablet/Tablet.tsx"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"Tablet.js","sourceRoot":"","sources":["../../../src/containers/Tablet/Tablet.tsx"],"names":[],"mappings":"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"}
|
@@ -1,12 +1,16 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import { QueryResultTable } from '../../../../../components/QueryResultTable';
|
3
3
|
import { previewApi } from '../../../../../store/reducers/preview';
|
4
|
+
import { prepareQueryWithPragmas } from '../../../../../store/reducers/query/utils';
|
5
|
+
import { useQueryExecutionSettings } from '../../../../../utils/hooks/useQueryExecutionSettings';
|
4
6
|
import { isExternalTableType } from '../../../utils/schema';
|
5
7
|
import { Preview } from './PreviewView';
|
6
8
|
const TABLE_PREVIEW_LIMIT = 100;
|
7
9
|
export function TablePreview({ database, path, type }) {
|
8
10
|
var _a, _b, _c;
|
9
|
-
const
|
11
|
+
const [querySettings] = useQueryExecutionSettings();
|
12
|
+
const baseQuery = `select * from \`${path}\` limit 101`;
|
13
|
+
const query = prepareQueryWithPragmas(baseQuery, querySettings.pragmas);
|
10
14
|
const { currentData, isFetching, error } = previewApi.useSendQueryQuery({
|
11
15
|
database,
|
12
16
|
query,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TablePreview.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Query/Preview/components/TablePreview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAwB;;IACtE,MAAM,
|
1
|
+
{"version":3,"file":"TablePreview.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Query/Preview/components/TablePreview.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAC,uBAAuB,EAAC,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAC,yBAAyB,EAAC,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAEtC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAwB;;IACtE,MAAM,CAAC,aAAa,CAAC,GAAG,yBAAyB,EAAE,CAAC;IAEpD,MAAM,SAAS,GAAG,mBAAmB,IAAI,cAAc,CAAC;IACxD,MAAM,KAAK,GAAG,uBAAuB,CAAC,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAExE,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAC,GAAG,UAAU,CAAC,iBAAiB,CACjE;QACI,QAAQ;QACR,KAAK;QACL,MAAM,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc;QACpE,SAAS,EAAE,mBAAmB;KACjC,EACD;QACI,yBAAyB,EAAE,IAAI;KAClC,CACJ,CAAC;IACF,MAAM,OAAO,GAAG,UAAU,IAAI,WAAW,KAAK,SAAS,CAAC;IACxD,MAAM,IAAI,GAAG,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,0CAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;IAEhD,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,KAAC,gBAAgB,IAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,CAAC;IAC1E,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,OAAO,IACJ,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,GAC/B,CACL,CAAC;AACN,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { prepareQueryWithPragmas } from '../../../../../store/reducers/query/utils';
|
2
|
+
describe('TablePreview - Pragma Integration', () => {
|
3
|
+
test('should correctly prepare query with pragmas for table preview', () => {
|
4
|
+
const baseQuery = 'select * from `test-table` limit 101';
|
5
|
+
const pragmas = 'PRAGMA OrderedColumns;';
|
6
|
+
const result = prepareQueryWithPragmas(baseQuery, pragmas);
|
7
|
+
expect(result).toBe('PRAGMA OrderedColumns;\n\nselect * from `test-table` limit 101');
|
8
|
+
});
|
9
|
+
test('should handle empty pragmas correctly in table preview', () => {
|
10
|
+
const baseQuery = 'select * from `test-table` limit 101';
|
11
|
+
const pragmas = '';
|
12
|
+
const result = prepareQueryWithPragmas(baseQuery, pragmas);
|
13
|
+
expect(result).toBe('select * from `test-table` limit 101');
|
14
|
+
});
|
15
|
+
test('should handle multiple pragmas correctly in table preview', () => {
|
16
|
+
const baseQuery = 'select * from `test-table` limit 101';
|
17
|
+
const pragmas = 'PRAGMA OrderedColumns;\nPRAGMA AnsiOptionalAS;';
|
18
|
+
const result = prepareQueryWithPragmas(baseQuery, pragmas);
|
19
|
+
expect(result).toBe('PRAGMA OrderedColumns;\nPRAGMA AnsiOptionalAS;\n\nselect * from `test-table` limit 101');
|
20
|
+
});
|
21
|
+
test('should handle pragmas without semicolon correctly in table preview', () => {
|
22
|
+
const baseQuery = 'select * from `test-table` limit 101';
|
23
|
+
const pragmas = 'PRAGMA OrderedColumns';
|
24
|
+
const result = prepareQueryWithPragmas(baseQuery, pragmas);
|
25
|
+
expect(result).toBe('PRAGMA OrderedColumns;\n\nselect * from `test-table` limit 101');
|
26
|
+
});
|
27
|
+
});
|
28
|
+
//# sourceMappingURL=TablePreview.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"TablePreview.test.js","sourceRoot":"","sources":["../../../../../../src/containers/Tenant/Query/Preview/components/TablePreview.test.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,uBAAuB,EAAC,MAAM,2CAA2C,CAAC;AAElF,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC/C,IAAI,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,SAAS,GAAG,sCAAsC,CAAC;QACzD,MAAM,OAAO,GAAG,wBAAwB,CAAC;QAEzC,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,SAAS,GAAG,sCAAsC,CAAC;QACzD,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,SAAS,GAAG,sCAAsC,CAAC;QACzD,MAAM,OAAO,GAAG,gDAAgD,CAAC;QAEjE,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CACf,wFAAwF,CAC3F,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,SAAS,GAAG,sCAAsC,CAAC;QACzD,MAAM,OAAO,GAAG,uBAAuB,CAAC;QAExC,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3D,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
@@ -1,16 +1,19 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
3
|
import { ArrowsOppositeToDots } from '@gravity-ui/icons';
|
4
|
-
import { Icon } from '@gravity-ui/uikit';
|
4
|
+
import { Icon, Tab, TabList, TabProvider } from '@gravity-ui/uikit';
|
5
5
|
import { skipToken } from '@reduxjs/toolkit/query';
|
6
6
|
import { Helmet } from 'react-helmet-async';
|
7
7
|
import { StringParam, useQueryParams } from 'use-query-params';
|
8
|
+
import { z } from 'zod';
|
8
9
|
import { ButtonWithConfirmDialog } from '../../components/ButtonWithConfirmDialog/ButtonWithConfirmDialog';
|
9
10
|
import { EntityPageTitle } from '../../components/EntityPageTitle/EntityPageTitle';
|
10
11
|
import { ResponseError } from '../../components/Errors/ResponseError';
|
11
12
|
import { InfoViewerSkeleton } from '../../components/InfoViewerSkeleton/InfoViewerSkeleton';
|
13
|
+
import { InternalLink } from '../../components/InternalLink/InternalLink';
|
12
14
|
import { PageMetaWithAutorefresh } from '../../components/PageMeta/PageMeta';
|
13
15
|
import { VDiskInfo } from '../../components/VDiskInfo/VDiskInfo';
|
16
|
+
import { getVDiskPagePath } from '../../routes';
|
14
17
|
import { api } from '../../store/reducers/api';
|
15
18
|
import { useDiskPagesAvailable } from '../../store/reducers/capabilities/hooks';
|
16
19
|
import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
|
@@ -21,20 +24,42 @@ import { getSeverityColor, getVDiskSlotBasedId } from '../../utils/disks/helpers
|
|
21
24
|
import { useAutoRefreshInterval, useTypedDispatch } from '../../utils/hooks';
|
22
25
|
import { useIsUserAllowedToMakeChanges } from '../../utils/hooks/useIsUserAllowedToMakeChanges';
|
23
26
|
import { PaginatedStorage } from '../Storage/PaginatedStorage';
|
27
|
+
import { VDiskTablets } from './VDiskTablets';
|
24
28
|
import { vDiskPageKeyset } from './i18n';
|
25
29
|
import './VDiskPage.scss';
|
26
30
|
const vDiskPageCn = cn('ydb-vdisk-page');
|
31
|
+
const VDISK_TABS_IDS = {
|
32
|
+
storage: 'storage',
|
33
|
+
tablets: 'tablets',
|
34
|
+
};
|
35
|
+
const VDISK_PAGE_TABS = [
|
36
|
+
{
|
37
|
+
id: VDISK_TABS_IDS.storage,
|
38
|
+
get title() {
|
39
|
+
return vDiskPageKeyset('storage');
|
40
|
+
},
|
41
|
+
},
|
42
|
+
{
|
43
|
+
id: VDISK_TABS_IDS.tablets,
|
44
|
+
get title() {
|
45
|
+
return vDiskPageKeyset('tablets');
|
46
|
+
},
|
47
|
+
},
|
48
|
+
];
|
49
|
+
const vDiskTabSchema = z.nativeEnum(VDISK_TABS_IDS).catch(VDISK_TABS_IDS.storage);
|
27
50
|
export function VDiskPage() {
|
28
51
|
const dispatch = useTypedDispatch();
|
29
52
|
const containerRef = React.useRef(null);
|
30
53
|
const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges();
|
31
54
|
const newDiskApiAvailable = useDiskPagesAvailable();
|
32
|
-
const [{ nodeId, pDiskId, vDiskSlotId, vDiskId: vDiskIdParam }] = useQueryParams({
|
55
|
+
const [{ nodeId, pDiskId, vDiskSlotId, vDiskId: vDiskIdParam, activeTab }] = useQueryParams({
|
33
56
|
nodeId: StringParam,
|
34
57
|
pDiskId: StringParam,
|
35
58
|
vDiskSlotId: StringParam,
|
36
59
|
vDiskId: StringParam,
|
60
|
+
activeTab: StringParam,
|
37
61
|
});
|
62
|
+
const vDiskTab = vDiskTabSchema.parse(activeTab);
|
38
63
|
React.useEffect(() => {
|
39
64
|
dispatch(setHeaderBreadcrumbs('vDisk', { nodeId, pDiskId, vDiskSlotId }));
|
40
65
|
}, [dispatch, nodeId, pDiskId, vDiskSlotId]);
|
@@ -113,14 +138,35 @@ export function VDiskPage() {
|
|
113
138
|
const renderInfo = () => {
|
114
139
|
return _jsx(VDiskInfo, { data: vDiskData, className: vDiskPageCn('info'), wrap: true });
|
115
140
|
};
|
141
|
+
const renderTabs = () => {
|
142
|
+
const vDiskParamsDefined = valueIsDefined(nodeId) && valueIsDefined(pDiskId) && valueIsDefined(vDiskSlotId);
|
143
|
+
return (_jsx("div", { className: vDiskPageCn('tabs'), children: _jsx(TabProvider, { value: vDiskTab, children: _jsx(TabList, { size: "l", children: VDISK_PAGE_TABS.map(({ id, title }) => {
|
144
|
+
const path = vDiskParamsDefined
|
145
|
+
? getVDiskPagePath({ nodeId, pDiskId, vDiskSlotId }, { activeTab: id })
|
146
|
+
: undefined;
|
147
|
+
return (_jsx(Tab, { value: id, children: _jsx(InternalLink, { as: "tab", to: path, children: title }) }, id));
|
148
|
+
}) }) }) }));
|
149
|
+
};
|
150
|
+
const renderTabsContent = () => {
|
151
|
+
switch (vDiskTab) {
|
152
|
+
case 'storage': {
|
153
|
+
return renderStorageInfo();
|
154
|
+
}
|
155
|
+
case 'tablets': {
|
156
|
+
return (_jsx(VDiskTablets, { nodeId: nodeId !== null && nodeId !== void 0 ? nodeId : undefined, pDiskId: pDiskId !== null && pDiskId !== void 0 ? pDiskId : undefined, vDiskSlotId: vDiskSlotId !== null && vDiskSlotId !== void 0 ? vDiskSlotId : undefined, className: vDiskPageCn('tablets-content') }));
|
157
|
+
}
|
158
|
+
default:
|
159
|
+
return null;
|
160
|
+
}
|
161
|
+
};
|
116
162
|
const renderStorageInfo = () => {
|
117
163
|
if (valueIsDefined(GroupID) && valueIsDefined(nodeId)) {
|
118
|
-
return (
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
164
|
+
return (_jsx(PaginatedStorage, { groupId: GroupID, nodeId: nodeId, pDiskId: pDiskId !== null && pDiskId !== void 0 ? pDiskId : undefined, scrollContainerRef: containerRef, viewContext: {
|
165
|
+
groupId: GroupID === null || GroupID === void 0 ? void 0 : GroupID.toString(),
|
166
|
+
nodeId: nodeId === null || nodeId === void 0 ? void 0 : nodeId.toString(),
|
167
|
+
pDiskId: pDiskId === null || pDiskId === void 0 ? void 0 : pDiskId.toString(),
|
168
|
+
vDiskSlotId: vDiskSlotId === null || vDiskSlotId === void 0 ? void 0 : vDiskSlotId.toString(),
|
169
|
+
} }));
|
124
170
|
}
|
125
171
|
return null;
|
126
172
|
};
|
@@ -128,7 +174,7 @@ export function VDiskPage() {
|
|
128
174
|
if (loading) {
|
129
175
|
return _jsx(InfoViewerSkeleton, { rows: 9 });
|
130
176
|
}
|
131
|
-
return (_jsxs(React.Fragment, { children: [error ? _jsx(ResponseError, { error: error }) : null, renderInfo(),
|
177
|
+
return (_jsxs(React.Fragment, { children: [error ? _jsx(ResponseError, { error: error }) : null, renderInfo(), renderTabs(), renderTabsContent()] }));
|
132
178
|
};
|
133
179
|
return (_jsxs("div", { className: vDiskPageCn(null), ref: containerRef, children: [renderHelmet(), renderPageMeta(), renderPageTitle(), renderControls(), renderContent()] }));
|
134
180
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDiskPage.js","sourceRoot":"","sources":["../../../src/containers/VDiskPage/VDiskPage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"VDiskPage.js","sourceRoot":"","sources":["../../../src/containers/VDiskPage/VDiskPage.tsx"],"names":[],"mappings":"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"}
|
@@ -12,7 +12,7 @@
|
|
12
12
|
&__title,
|
13
13
|
&__controls,
|
14
14
|
&__info,
|
15
|
-
&
|
15
|
+
&__tabs {
|
16
16
|
position: sticky;
|
17
17
|
left: 0;
|
18
18
|
|
@@ -29,8 +29,7 @@
|
|
29
29
|
gap: var(--g-spacing-2);
|
30
30
|
}
|
31
31
|
|
32
|
-
&
|
33
|
-
margin-
|
34
|
-
@include mixins.header-1-typography();
|
32
|
+
&__tablets-content {
|
33
|
+
margin-top: var(--g-spacing-4);
|
35
34
|
}
|
36
35
|
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
interface VDiskTabletsProps {
|
2
|
+
nodeId?: string | number;
|
3
|
+
pDiskId?: string | number;
|
4
|
+
vDiskSlotId?: string | number;
|
5
|
+
className?: string;
|
6
|
+
}
|
7
|
+
export declare function VDiskTablets({ nodeId, pDiskId, vDiskSlotId, className }: VDiskTabletsProps): import("react/jsx-runtime").JSX.Element;
|
8
|
+
export {};
|
@@ -0,0 +1,64 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import React from 'react';
|
3
|
+
import DataTable from '@gravity-ui/react-data-table';
|
4
|
+
import { skipToken } from '@reduxjs/toolkit/query';
|
5
|
+
import { PageError } from '../../../components/Errors/PageError/PageError';
|
6
|
+
import { InfoViewerSkeleton } from '../../../components/InfoViewerSkeleton/InfoViewerSkeleton';
|
7
|
+
import { ResizeableDataTable } from '../../../components/ResizeableDataTable/ResizeableDataTable';
|
8
|
+
import { vDiskApi } from '../../../store/reducers/vdisk/vdisk';
|
9
|
+
import { DEFAULT_TABLE_SETTINGS } from '../../../utils/constants';
|
10
|
+
import { useAutoRefreshInterval } from '../../../utils/hooks';
|
11
|
+
import { safeParseNumber } from '../../../utils/utils';
|
12
|
+
import { vDiskPageKeyset } from '../i18n';
|
13
|
+
import { getColumns } from './columns';
|
14
|
+
const VDISK_TABLETS_COLUMNS_WIDTH_LS_KEY = 'vdiskTabletsColumnsWidth';
|
15
|
+
const columns = getColumns();
|
16
|
+
export function VDiskTablets({ nodeId, pDiskId, vDiskSlotId, className }) {
|
17
|
+
const [autoRefreshInterval] = useAutoRefreshInterval();
|
18
|
+
const params = nodeId && pDiskId && vDiskSlotId ? { nodeId, pDiskId, vDiskSlotId } : skipToken;
|
19
|
+
const { currentData, isFetching, error } = vDiskApi.useGetVDiskBlobIndexStatQuery(params, {
|
20
|
+
pollingInterval: autoRefreshInterval,
|
21
|
+
});
|
22
|
+
const loading = isFetching && currentData === undefined;
|
23
|
+
const tableData = React.useMemo(() => {
|
24
|
+
if (!currentData) {
|
25
|
+
return [];
|
26
|
+
}
|
27
|
+
// Check if we have the expected structure: {stat: {tablets: [...]}}
|
28
|
+
const stat = currentData.stat;
|
29
|
+
if (!stat || !Array.isArray(stat.tablets)) {
|
30
|
+
return [];
|
31
|
+
}
|
32
|
+
// Transform the nested structure into flat table rows
|
33
|
+
const flatData = [];
|
34
|
+
stat.tablets.forEach((tablet) => {
|
35
|
+
const tabletId = tablet.tablet_id;
|
36
|
+
if (!tabletId || !Array.isArray(tablet.channels)) {
|
37
|
+
return; // Skip tablets without ID or channels
|
38
|
+
}
|
39
|
+
tablet.channels.forEach((channel, channelIndex) => {
|
40
|
+
// Only include channels that have count and data_size
|
41
|
+
if (channel.count && channel.data_size) {
|
42
|
+
flatData.push({
|
43
|
+
TabletId: tabletId,
|
44
|
+
ChannelId: channelIndex,
|
45
|
+
Count: safeParseNumber(channel.count),
|
46
|
+
Size: safeParseNumber(channel.data_size),
|
47
|
+
});
|
48
|
+
}
|
49
|
+
});
|
50
|
+
});
|
51
|
+
return flatData;
|
52
|
+
}, [currentData]);
|
53
|
+
if (error) {
|
54
|
+
return _jsx(PageError, { error: error, position: "left", size: "s" });
|
55
|
+
}
|
56
|
+
if (loading) {
|
57
|
+
return _jsx(InfoViewerSkeleton, { rows: 5 });
|
58
|
+
}
|
59
|
+
return (_jsx("div", { className: className, children: _jsx(ResizeableDataTable, { columnsWidthLSKey: VDISK_TABLETS_COLUMNS_WIDTH_LS_KEY, data: tableData, columns: columns, settings: DEFAULT_TABLE_SETTINGS, loading: loading, initialSortOrder: {
|
60
|
+
columnId: vDiskPageKeyset('size'),
|
61
|
+
order: DataTable.DESCENDING,
|
62
|
+
} }) }));
|
63
|
+
}
|
64
|
+
//# sourceMappingURL=VDiskTablets.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"VDiskTablets.js","sourceRoot":"","sources":["../../../../src/containers/VDiskPage/VDiskTablets/VDiskTablets.tsx"],"names":[],"mappings":"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"}
|
File without changes
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import DataTable from '@gravity-ui/react-data-table';
|
3
|
+
import { isNil } from 'lodash';
|
4
|
+
import { InternalLink } from '../../../components/InternalLink/InternalLink';
|
5
|
+
import { getTabletPagePath } from '../../../routes';
|
6
|
+
import { EMPTY_DATA_PLACEHOLDER } from '../../../utils/constants';
|
7
|
+
import { formatBytes, formatNumber } from '../../../utils/dataFormatters/dataFormatters';
|
8
|
+
import { safeParseNumber } from '../../../utils/utils';
|
9
|
+
import { COLUMNS_NAMES, COLUMNS_TITLES } from './constants';
|
10
|
+
export function getColumns() {
|
11
|
+
return [
|
12
|
+
{
|
13
|
+
name: COLUMNS_NAMES.TABLET_ID,
|
14
|
+
header: COLUMNS_TITLES[COLUMNS_NAMES.TABLET_ID],
|
15
|
+
render: ({ row }) => {
|
16
|
+
const tabletId = row.TabletId;
|
17
|
+
if (!tabletId) {
|
18
|
+
return EMPTY_DATA_PLACEHOLDER;
|
19
|
+
}
|
20
|
+
return (_jsx(InternalLink, { to: getTabletPagePath(String(tabletId)), children: tabletId }));
|
21
|
+
},
|
22
|
+
width: 220,
|
23
|
+
},
|
24
|
+
{
|
25
|
+
name: COLUMNS_NAMES.CHANNEL_ID,
|
26
|
+
header: COLUMNS_TITLES[COLUMNS_NAMES.CHANNEL_ID],
|
27
|
+
align: DataTable.RIGHT,
|
28
|
+
render: ({ row }) => { var _a; return (_a = row.ChannelId) !== null && _a !== void 0 ? _a : EMPTY_DATA_PLACEHOLDER; },
|
29
|
+
width: 130,
|
30
|
+
sortable: true,
|
31
|
+
},
|
32
|
+
{
|
33
|
+
name: COLUMNS_NAMES.COUNT,
|
34
|
+
header: COLUMNS_TITLES[COLUMNS_NAMES.COUNT],
|
35
|
+
align: DataTable.RIGHT,
|
36
|
+
render: ({ row }) => {
|
37
|
+
if (isNil(row.Count)) {
|
38
|
+
return EMPTY_DATA_PLACEHOLDER;
|
39
|
+
}
|
40
|
+
return formatNumber(row.Count);
|
41
|
+
},
|
42
|
+
width: 100,
|
43
|
+
},
|
44
|
+
{
|
45
|
+
name: COLUMNS_NAMES.SIZE,
|
46
|
+
header: COLUMNS_TITLES[COLUMNS_NAMES.SIZE],
|
47
|
+
align: DataTable.RIGHT,
|
48
|
+
render: ({ row }) => {
|
49
|
+
const size = row.Size;
|
50
|
+
if (isNil(size)) {
|
51
|
+
return EMPTY_DATA_PLACEHOLDER;
|
52
|
+
}
|
53
|
+
const numericSize = safeParseNumber(size);
|
54
|
+
return formatBytes(numericSize);
|
55
|
+
},
|
56
|
+
width: 120,
|
57
|
+
},
|
58
|
+
];
|
59
|
+
}
|
60
|
+
//# sourceMappingURL=columns.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../../src/containers/VDiskPage/VDiskTablets/columns.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAC,KAAK,EAAC,MAAM,QAAQ,CAAC;AAE7B,OAAO,EAAC,YAAY,EAAC,MAAM,+CAA+C,CAAC;AAC3E,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAC,aAAa,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AAE1D,MAAM,UAAU,UAAU;IACtB,OAAO;QACH;YACI,IAAI,EAAE,aAAa,CAAC,SAAS;YAC7B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC;YAC/C,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;gBACd,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,OAAO,sBAAsB,CAAC;gBAClC,CAAC;gBACD,OAAO,CACH,KAAC,YAAY,IAAC,EAAE,EAAE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAG,QAAQ,GAAgB,CACnF,CAAC;YACN,CAAC;YACD,KAAK,EAAE,GAAG;SACb;QACD;YACI,IAAI,EAAE,aAAa,CAAC,UAAU;YAC9B,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC;YAChD,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,SAAS,mCAAI,sBAAsB,CAAA,EAAA;YAC1D,KAAK,EAAE,GAAG;YACV,QAAQ,EAAE,IAAI;SACjB;QACD;YACI,IAAI,EAAE,aAAa,CAAC,KAAK;YACzB,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;gBACd,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACnB,OAAO,sBAAsB,CAAC;gBAClC,CAAC;gBACD,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,KAAK,EAAE,GAAG;SACb;QACD;YACI,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC;YAC1C,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,EAAE;gBACd,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACtB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACd,OAAO,sBAAsB,CAAC;gBAClC,CAAC;gBACD,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,WAAW,CAAC,WAAW,CAAC,CAAC;YACpC,CAAC;YACD,KAAK,EAAE,GAAG;SACb;KACJ,CAAC;AACN,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare const COLUMNS_NAMES: {
|
2
|
+
readonly TABLET_ID: "TabletId";
|
3
|
+
readonly CHANNEL_ID: "ChannelId";
|
4
|
+
readonly COUNT: "Count";
|
5
|
+
readonly SIZE: "Size";
|
6
|
+
};
|
7
|
+
export declare const COLUMNS_TITLES: {
|
8
|
+
readonly TabletId: string;
|
9
|
+
readonly ChannelId: string;
|
10
|
+
readonly Count: string;
|
11
|
+
readonly Size: string;
|
12
|
+
};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { vDiskPageKeyset } from '../i18n';
|
2
|
+
export const COLUMNS_NAMES = {
|
3
|
+
TABLET_ID: 'TabletId',
|
4
|
+
CHANNEL_ID: 'ChannelId',
|
5
|
+
COUNT: 'Count',
|
6
|
+
SIZE: 'Size',
|
7
|
+
};
|
8
|
+
export const COLUMNS_TITLES = {
|
9
|
+
[COLUMNS_NAMES.TABLET_ID]: vDiskPageKeyset('tablet-id'),
|
10
|
+
[COLUMNS_NAMES.CHANNEL_ID]: vDiskPageKeyset('channel-id'),
|
11
|
+
[COLUMNS_NAMES.COUNT]: vDiskPageKeyset('count'),
|
12
|
+
[COLUMNS_NAMES.SIZE]: vDiskPageKeyset('size'),
|
13
|
+
};
|
14
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/containers/VDiskPage/VDiskTablets/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAExC,MAAM,CAAC,MAAM,aAAa,GAAG;IACzB,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE,WAAW;IACvB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC;IACvD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC;IACzD,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC;IAC/C,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC;CACvC,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { VDiskTablets } from './VDiskTablets';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/VDiskPage/VDiskTablets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC"}
|
@@ -4,6 +4,11 @@
|
|
4
4
|
"pdisk": "PDisk",
|
5
5
|
"vdisk": "VDisk",
|
6
6
|
"storage": "Storage",
|
7
|
+
"tablets": "Tablets",
|
8
|
+
"tablet-id": "Tablet ID",
|
9
|
+
"channel-id": "Channel ID",
|
10
|
+
"count": "Count",
|
11
|
+
"size": "Size",
|
7
12
|
"evict-vdisk-button": "Evict VDisk",
|
8
13
|
"force-evict-vdisk-button": "Evict anyway",
|
9
14
|
"evict-vdisk-dialog-header": "Evict VDisk",
|
@@ -1 +1 @@
|
|
1
|
-
export declare const vDiskPageKeyset: (key: "storage" | "node" | "fqdn" | "pdisk" | "vdisk" | "evict-vdisk-button" | "force-evict-vdisk-button" | "evict-vdisk-dialog-header" | "evict-vdisk-dialog-text" | "evict-vdisk-not-allowed", params?: import("@gravity-ui/i18n").Params) => string;
|
1
|
+
export declare const vDiskPageKeyset: (key: "tablets" | "storage" | "count" | "size" | "node" | "fqdn" | "tablet-id" | "pdisk" | "vdisk" | "channel-id" | "evict-vdisk-button" | "force-evict-vdisk-button" | "evict-vdisk-dialog-header" | "evict-vdisk-dialog-text" | "evict-vdisk-not-allowed", params?: import("@gravity-ui/i18n").Params) => string;
|
@@ -21,6 +21,7 @@ import type { TDomainKey, TEvTabletStateResponse, UnmergedTEvTabletStateResponse
|
|
21
21
|
import type { TTenantInfo, TTenants } from '../../types/api/tenant';
|
22
22
|
import type { DescribeTopicResult, TopicDataRequest, TopicDataResponse } from '../../types/api/topic';
|
23
23
|
import type { TEvVDiskStateResponse } from '../../types/api/vdisk';
|
24
|
+
import type { VDiskBlobIndexResponse } from '../../types/api/vdiskBlobIndex';
|
24
25
|
import type { TUserToken } from '../../types/api/whoami';
|
25
26
|
import type { TabletsApiRequestParams } from '../../types/store/tablets';
|
26
27
|
import type { Nullable } from '../../utils/typecheckers';
|
@@ -124,6 +125,11 @@ export declare class ViewerAPI extends BaseYdbAPI {
|
|
124
125
|
pDiskId: string | number;
|
125
126
|
nodeId: string | number;
|
126
127
|
}, { concurrentId, signal }?: AxiosOptions): Promise<TEvVDiskStateResponse>;
|
128
|
+
getVDiskBlobIndexStat({ vDiskSlotId, pDiskId, nodeId, }: {
|
129
|
+
vDiskSlotId: string | number;
|
130
|
+
pDiskId: string | number;
|
131
|
+
nodeId: string | number;
|
132
|
+
}, { concurrentId, signal }?: AxiosOptions): Promise<VDiskBlobIndexResponse>;
|
127
133
|
getNodeWhiteboardPDiskInfo({ nodeId, pDiskId }: {
|
128
134
|
nodeId: string | number;
|
129
135
|
pDiskId: string | number;
|
@@ -263,6 +263,13 @@ export class ViewerAPI extends BaseYdbAPI {
|
|
263
263
|
filter: `(PDiskId=${pDiskId};VDiskSlotId=${vDiskSlotId})`,
|
264
264
|
}, { concurrentId, requestConfig: { signal } });
|
265
265
|
}
|
266
|
+
getVDiskBlobIndexStat({ vDiskSlotId, pDiskId, nodeId, }, { concurrentId, signal } = {}) {
|
267
|
+
return this.get(this.getPath('/vdisk/blobindexstat'), {
|
268
|
+
node_id: nodeId,
|
269
|
+
pdisk_id: pDiskId,
|
270
|
+
vslot_id: vDiskSlotId,
|
271
|
+
}, { concurrentId, requestConfig: { signal } });
|
272
|
+
}
|
266
273
|
getNodeWhiteboardPDiskInfo({ nodeId, pDiskId }, { concurrentId, signal } = {}) {
|
267
274
|
return this.get(this.getPath('/viewer/json/pdiskinfo?enums=true'), {
|
268
275
|
filter: `(NodeId=${nodeId}${pDiskId ? `;PDiskId=${pDiskId}` : ''})`,
|