ydb-embedded-ui 8.8.0 → 8.9.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/AutoRefreshControl/i18n/index.d.ts +1 -1
- package/dist/components/EntityPageTitle/EntityPageTitle.d.ts +3 -3
- package/dist/components/EntityPageTitle/EntityPageTitle.js +2 -1
- package/dist/components/EntityPageTitle/EntityPageTitle.js.map +1 -1
- package/dist/components/FullNodeViewer/FullNodeViewer.d.ts +1 -1
- package/dist/components/FullNodeViewer/FullNodeViewer.js +32 -14
- package/dist/components/FullNodeViewer/FullNodeViewer.js.map +1 -1
- package/dist/components/FullNodeViewer/FullNodeViewer.scss +8 -8
- package/dist/components/FullNodeViewer/i18n/en.json +18 -0
- package/dist/components/FullNodeViewer/i18n/index.d.ts +2 -0
- package/dist/components/FullNodeViewer/i18n/index.js +5 -0
- package/dist/components/FullNodeViewer/i18n/index.js.map +1 -0
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js +1 -1
- package/dist/components/NodeHostWrapper/NodeHostWrapper.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PageMeta/PageMeta.js +2 -1
- package/dist/components/PageMeta/PageMeta.js.map +1 -1
- package/dist/components/TabletsStatistic/TabletsStatistic.js +2 -2
- package/dist/components/TabletsStatistic/TabletsStatistic.js.map +1 -1
- package/dist/components/VDisk/utils.js +6 -5
- package/dist/components/VDisk/utils.js.map +1 -1
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/components/nodesColumns/i18n/index.d.ts +1 -1
- package/dist/containers/AppWithClusters/AppWithClusters.js +0 -3
- package/dist/containers/AppWithClusters/AppWithClusters.js.map +1 -1
- package/dist/containers/Header/breadcrumbs.js +2 -2
- package/dist/containers/Header/breadcrumbs.js.map +1 -1
- package/dist/containers/Node/Node.d.ts +1 -7
- package/dist/containers/Node/Node.js +70 -65
- package/dist/containers/Node/Node.js.map +1 -1
- package/dist/containers/Node/Node.scss +18 -44
- package/dist/containers/Node/NodePages.d.ts +25 -9
- package/dist/containers/Node/NodePages.js +24 -16
- package/dist/containers/Node/NodePages.js.map +1 -1
- package/dist/containers/Node/i18n/en.json +7 -1
- package/dist/containers/Node/i18n/index.d.ts +1 -1
- package/dist/containers/Node/i18n/index.js +1 -2
- package/dist/containers/Node/i18n/index.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js +17 -30
- package/dist/containers/Tenant/Query/QueryEditor/YqlEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/helpers.d.ts +15 -9
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js +39 -10
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js.map +1 -1
- package/dist/containers/UserSettings/i18n/en.json +2 -0
- package/dist/containers/UserSettings/i18n/index.d.ts +1 -1
- package/dist/containers/UserSettings/settings.d.ts +3 -1
- package/dist/containers/UserSettings/settings.js +13 -3
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/routes.d.ts +1 -2
- package/dist/routes.js +0 -1
- package/dist/routes.js.map +1 -1
- package/dist/services/settings.d.ts +1 -0
- package/dist/services/settings.js +2 -1
- package/dist/services/settings.js.map +1 -1
- package/dist/store/reducers/storage/utils.js +3 -1
- package/dist/store/reducers/storage/utils.js.map +1 -1
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js +7 -0
- package/dist/utils/disks/__test__/calculateVDiskSeverity.test.js.map +1 -1
- package/dist/utils/disks/calculateVDiskSeverity.js +1 -1
- package/dist/utils/disks/calculateVDiskSeverity.js.map +1 -1
- package/dist/utils/hooks/useNodeDeveloperUIHref.d.ts +2 -0
- package/dist/utils/hooks/useNodeDeveloperUIHref.js +23 -0
- package/dist/utils/hooks/useNodeDeveloperUIHref.js.map +1 -0
- package/dist/utils/monaco/yql/generateSuggestions.d.ts +16 -37
- package/dist/utils/monaco/yql/generateSuggestions.js +22 -379
- package/dist/utils/monaco/yql/generateSuggestions.js.map +1 -1
- package/dist/utils/monaco/yql/yql.completionItemProvider.js +55 -12
- package/dist/utils/monaco/yql/yql.completionItemProvider.js.map +1 -1
- package/package.json +4 -4
- package/dist/components/BasicNodeViewer/BasicNodeViewer.d.ts +0 -10
- package/dist/components/BasicNodeViewer/BasicNodeViewer.js +0 -28
- package/dist/components/BasicNodeViewer/BasicNodeViewer.js.map +0 -1
- package/dist/components/BasicNodeViewer/BasicNodeViewer.scss +0 -35
- package/dist/components/BasicNodeViewer/index.d.ts +0 -1
- package/dist/components/BasicNodeViewer/index.js +0 -2
- package/dist/components/BasicNodeViewer/index.js.map +0 -1
- package/dist/containers/AppWithClusters/ExtendedNode/ExtendedNode.d.ts +0 -4
- package/dist/containers/AppWithClusters/ExtendedNode/ExtendedNode.js +0 -9
- package/dist/containers/AppWithClusters/ExtendedNode/ExtendedNode.js.map +0 -1
- package/dist/containers/Node/i18n/ru.json +0 -4
- package/dist/utils/monaco/yql/yqlSuggestions.d.ts +0 -4
- package/dist/utils/monaco/yql/yqlSuggestions.js +0 -96
- package/dist/utils/monaco/yql/yqlSuggestions.js.map +0 -1
@@ -1,14 +1,16 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
3
|
import { Tabs } from '@gravity-ui/uikit';
|
4
|
+
import { skipToken } from '@reduxjs/toolkit/query';
|
4
5
|
import { Helmet } from 'react-helmet-async';
|
5
|
-
import {
|
6
|
+
import { useRouteMatch } from 'react-router-dom';
|
6
7
|
import { useQueryParams } from 'use-query-params';
|
7
|
-
import {
|
8
|
-
import { BasicNodeViewer } from '../../components/BasicNodeViewer';
|
8
|
+
import { EntityPageTitle } from '../../components/EntityPageTitle/EntityPageTitle';
|
9
9
|
import { ResponseError } from '../../components/Errors/ResponseError';
|
10
10
|
import { FullNodeViewer } from '../../components/FullNodeViewer/FullNodeViewer';
|
11
|
-
import {
|
11
|
+
import { InfoViewerSkeleton } from '../../components/InfoViewerSkeleton/InfoViewerSkeleton';
|
12
|
+
import { InternalLink } from '../../components/InternalLink';
|
13
|
+
import { PageMetaWithAutorefresh } from '../../components/PageMeta/PageMeta';
|
12
14
|
import routes from '../../routes';
|
13
15
|
import { useCapabilitiesLoaded, useDiskPagesAvailable, } from '../../store/reducers/capabilities/hooks';
|
14
16
|
import { setHeaderBreadcrumbs } from '../../store/reducers/header/header';
|
@@ -17,91 +19,94 @@ import { cn } from '../../utils/cn';
|
|
17
19
|
import { useAutoRefreshInterval, useTypedDispatch } from '../../utils/hooks';
|
18
20
|
import { PaginatedStorage } from '../Storage/PaginatedStorage';
|
19
21
|
import { Tablets } from '../Tablets';
|
20
|
-
import {
|
22
|
+
import { NODE_TABS, getDefaultNodePath, nodePageQueryParams, nodePageTabSchema } from './NodePages';
|
21
23
|
import NodeStructure from './NodeStructure/NodeStructure';
|
24
|
+
import i18n from './i18n';
|
22
25
|
import './Node.scss';
|
23
26
|
const b = cn('node');
|
24
27
|
const STORAGE_ROLE = 'Storage';
|
25
|
-
export function Node(
|
26
|
-
var _a, _b
|
28
|
+
export function Node() {
|
29
|
+
var _a, _b;
|
27
30
|
const container = React.useRef(null);
|
28
31
|
const dispatch = useTypedDispatch();
|
29
|
-
const match =
|
30
|
-
const
|
32
|
+
const match = useRouteMatch(routes.node);
|
33
|
+
const nodeId = match === null || match === void 0 ? void 0 : match.params.id;
|
34
|
+
const activeTabIdFromQuery = match === null || match === void 0 ? void 0 : match.params.activeTab;
|
31
35
|
const [{ database: tenantNameFromQuery }] = useQueryParams(nodePageQueryParams);
|
36
|
+
const activeTabId = nodePageTabSchema.parse(activeTabIdFromQuery);
|
32
37
|
const [autoRefreshInterval] = useAutoRefreshInterval();
|
33
|
-
const
|
34
|
-
const
|
35
|
-
const node = currentData;
|
38
|
+
const params = nodeId ? { nodeId } : skipToken;
|
39
|
+
const { currentData: node, isLoading, error, } = nodeApi.useGetNodeInfoQuery(params, { pollingInterval: autoRefreshInterval });
|
36
40
|
const capabilitiesLoaded = useCapabilitiesLoaded();
|
37
41
|
const isDiskPagesAvailable = useDiskPagesAvailable();
|
38
|
-
const
|
42
|
+
const pageLoading = isLoading || !capabilitiesLoaded;
|
43
|
+
const isStorageNode = (_a = node === null || node === void 0 ? void 0 : node.Roles) === null || _a === void 0 ? void 0 : _a.find((el) => el === STORAGE_ROLE);
|
44
|
+
const { activeTab, nodeTabs } = React.useMemo(() => {
|
39
45
|
var _a;
|
40
|
-
|
41
|
-
|
46
|
+
let actulaNodeTabs = isStorageNode
|
47
|
+
? NODE_TABS
|
48
|
+
: NODE_TABS.filter((el) => el.id !== 'storage');
|
42
49
|
if (isDiskPagesAvailable) {
|
43
|
-
|
50
|
+
actulaNodeTabs = actulaNodeTabs.filter((el) => el.id !== 'structure');
|
44
51
|
}
|
45
|
-
const
|
46
|
-
|
47
|
-
|
48
|
-
title: page.name,
|
49
|
-
};
|
50
|
-
});
|
51
|
-
let actualActiveTab = actualNodeTabs.find(({ id }) => id === activeTab);
|
52
|
-
if (!actualActiveTab) {
|
53
|
-
actualActiveTab = actualNodeTabs[0];
|
54
|
-
}
|
55
|
-
return { activeTabVerified: actualActiveTab, nodeTabs: actualNodeTabs };
|
56
|
-
}, [activeTab, node, isDiskPagesAvailable]);
|
52
|
+
const actualActiveTab = (_a = actulaNodeTabs.find(({ id }) => id === activeTabId)) !== null && _a !== void 0 ? _a : actulaNodeTabs[0];
|
53
|
+
return { activeTab: actualActiveTab, nodeTabs: actulaNodeTabs };
|
54
|
+
}, [isStorageNode, isDiskPagesAvailable, activeTabId]);
|
57
55
|
const tenantName = ((_b = node === null || node === void 0 ? void 0 : node.Tenants) === null || _b === void 0 ? void 0 : _b[0]) || (tenantNameFromQuery === null || tenantNameFromQuery === void 0 ? void 0 : tenantNameFromQuery.toString());
|
58
|
-
let nodeRole;
|
59
|
-
if (node) {
|
60
|
-
// Compute nodes have tenantName, storage nodes doesn't
|
61
|
-
const isStorage = !((_c = node === null || node === void 0 ? void 0 : node.Tenants) === null || _c === void 0 ? void 0 : _c[0]);
|
62
|
-
nodeRole = isStorage ? 'Storage' : 'Compute';
|
63
|
-
}
|
64
56
|
React.useEffect(() => {
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
57
|
+
// Dispatch only if loaded to get correct node role
|
58
|
+
if (!isLoading) {
|
59
|
+
dispatch(setHeaderBreadcrumbs('node', {
|
60
|
+
tenantName,
|
61
|
+
nodeRole: isStorageNode ? 'Storage' : 'Compute',
|
62
|
+
nodeId,
|
63
|
+
}));
|
64
|
+
}
|
65
|
+
}, [dispatch, tenantName, nodeId, isLoading, isStorageNode]);
|
66
|
+
return (_jsxs("div", { className: b(null), ref: container, children: [_jsx(NodePageHelmet, { node: node, activeTabTitle: activeTab.title }), _jsx(NodePageMeta, { node: node, loading: pageLoading }), _jsx(NodePageTitle, { node: node }), error ? _jsx(ResponseError, { error: error, className: b('error') }) : null, _jsx(NodePageInfo, { node: node, loading: pageLoading }), nodeId ? (_jsx(NodePageContent, { nodeId: nodeId, tenantName: tenantName, activeTabId: activeTab.id, tabs: nodeTabs, parentContainer: container })) : null] }));
|
67
|
+
}
|
68
|
+
function NodePageHelmet({ node, activeTabTitle }) {
|
69
|
+
const host = (node === null || node === void 0 ? void 0 : node.Host) ? node.Host : i18n('node');
|
70
|
+
return (_jsx(Helmet, { titleTemplate: `%s — ${host} — YDB Monitoring`, defaultTitle: `${host} — YDB Monitoring`, children: _jsx("title", { children: activeTabTitle }) }));
|
71
|
+
}
|
72
|
+
function NodePageMeta({ node, loading }) {
|
73
|
+
const hostItem = (node === null || node === void 0 ? void 0 : node.Host) ? `${i18n('fqdn')}: ${node.Host}` : undefined;
|
74
|
+
const dcItem = (node === null || node === void 0 ? void 0 : node.DC) ? `${i18n('dc')}: ${node.DC}` : undefined;
|
75
|
+
return (_jsx(PageMetaWithAutorefresh, { loading: loading, items: [hostItem, dcItem], className: b('meta') }));
|
76
|
+
}
|
77
|
+
function NodePageTitle({ node }) {
|
78
|
+
return (_jsx(EntityPageTitle, { entityName: i18n('node'), status: node === null || node === void 0 ? void 0 : node.SystemState, id: node === null || node === void 0 ? void 0 : node.NodeId, className: b('title') }));
|
79
|
+
}
|
80
|
+
function NodePageInfo({ node, loading }) {
|
81
|
+
if (loading) {
|
82
|
+
return _jsx(InfoViewerSkeleton, { className: b('info'), rows: 10 });
|
83
|
+
}
|
84
|
+
return _jsx(FullNodeViewer, { node: node, className: b('info') });
|
85
|
+
}
|
86
|
+
function NodePageContent({ nodeId, tenantName, activeTabId, tabs, parentContainer, }) {
|
71
87
|
const renderTabs = () => {
|
72
|
-
return (
|
73
|
-
|
74
|
-
|
88
|
+
return (_jsx("div", { className: b('tabs'), children: _jsx(Tabs, { size: "l", items: tabs, activeTab: activeTabId, wrapTo: ({ id }, tabNode) => {
|
89
|
+
const path = getDefaultNodePath(nodeId, { database: tenantName }, id);
|
90
|
+
return (_jsx(InternalLink, { to: path, children: tabNode }, id));
|
91
|
+
} }) }));
|
75
92
|
};
|
76
93
|
const renderTabContent = () => {
|
77
|
-
switch (
|
78
|
-
case
|
79
|
-
return (_jsx(
|
80
|
-
|
81
|
-
|
82
|
-
}
|
83
|
-
case TABLETS: {
|
84
|
-
return (_jsx(Tablets, { nodeId: nodeId, database: tenantName, className: b('node-page-wrapper') }));
|
94
|
+
switch (activeTabId) {
|
95
|
+
case 'storage': {
|
96
|
+
return (_jsx(PaginatedStorage, { nodeId: nodeId, parentRef: parentContainer, viewContext: {
|
97
|
+
nodeId: nodeId,
|
98
|
+
} }));
|
85
99
|
}
|
86
|
-
case
|
87
|
-
return _jsx(
|
100
|
+
case 'tablets': {
|
101
|
+
return _jsx(Tablets, { nodeId: nodeId, database: tenantName });
|
88
102
|
}
|
89
|
-
case
|
90
|
-
return _jsx(
|
103
|
+
case 'structure': {
|
104
|
+
return _jsx(NodeStructure, { nodeId: nodeId });
|
91
105
|
}
|
92
106
|
default:
|
93
107
|
return false;
|
94
108
|
}
|
95
109
|
};
|
96
|
-
|
97
|
-
return _jsx(Loader, { size: "l" });
|
98
|
-
}
|
99
|
-
if (node) {
|
100
|
-
return (_jsxs("div", { className: b(null, props.className), children: [_jsx(Helmet, { titleTemplate: `%s — ${node.Host} — YDB Monitoring`, defaultTitle: `${node.Host} — YDB Monitoring`, children: _jsx("title", { children: activeTabVerified.title }) }), _jsx(BasicNodeViewer, { node: node, additionalNodesProps: props.additionalNodesProps, className: b('header') }), error ? _jsx(ResponseError, { error: error, className: b('error') }) : null, renderTabs(), _jsx("div", { className: b('content'), children: renderTabContent() })] }));
|
101
|
-
}
|
102
|
-
if (error) {
|
103
|
-
return _jsx(ResponseError, { error: error });
|
104
|
-
}
|
105
|
-
return _jsx("div", { className: "error", children: "no node data" });
|
110
|
+
return (_jsxs(React.Fragment, { children: [renderTabs(), renderTabContent()] }));
|
106
111
|
}
|
107
112
|
//# sourceMappingURL=Node.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/containers/Node/Node.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/containers/Node/Node.tsx"],"names":[],"mappings":"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"}
|
@@ -1,60 +1,34 @@
|
|
1
1
|
@use '../../styles/mixins';
|
2
2
|
|
3
3
|
.node {
|
4
|
-
|
5
|
-
@include mixins.flex-container();
|
6
|
-
|
7
|
-
&__header {
|
8
|
-
margin: 16px 20px;
|
9
|
-
}
|
4
|
+
position: relative;
|
10
5
|
|
11
|
-
|
12
|
-
position: relative;
|
13
|
-
|
14
|
-
overflow: auto;
|
15
|
-
@include mixins.flex-container();
|
16
|
-
}
|
17
|
-
|
18
|
-
&__storage {
|
19
|
-
overflow: auto;
|
6
|
+
overflow: auto;
|
20
7
|
|
21
|
-
|
22
|
-
|
23
|
-
}
|
8
|
+
height: 100%;
|
9
|
+
padding: 0 20px;
|
24
10
|
|
11
|
+
&__meta,
|
12
|
+
&__title,
|
13
|
+
&__info,
|
14
|
+
&__error,
|
25
15
|
&__tabs {
|
26
|
-
|
27
|
-
|
28
|
-
align-items: center;
|
29
|
-
|
30
|
-
padding: 0 20px;
|
31
|
-
@include mixins.tabs-wrapper-styles();
|
32
|
-
}
|
33
|
-
|
34
|
-
&__tab {
|
35
|
-
margin-right: 40px;
|
36
|
-
|
37
|
-
text-decoration: none;
|
38
|
-
|
39
|
-
&:last-child {
|
40
|
-
margin-right: 0;
|
41
|
-
}
|
16
|
+
position: sticky;
|
17
|
+
left: 0;
|
42
18
|
|
43
|
-
|
44
|
-
text-transform: uppercase;
|
45
|
-
}
|
19
|
+
margin-bottom: 20px;
|
46
20
|
}
|
47
21
|
|
48
|
-
&
|
49
|
-
|
22
|
+
&__meta {
|
23
|
+
margin-top: 20px;
|
50
24
|
}
|
51
25
|
|
52
|
-
&
|
53
|
-
|
54
|
-
|
26
|
+
&__tabs,
|
27
|
+
&__error {
|
28
|
+
margin-bottom: 0;
|
55
29
|
}
|
56
30
|
|
57
|
-
&
|
58
|
-
|
31
|
+
&__tabs {
|
32
|
+
@include mixins.tabs-wrapper-styles();
|
59
33
|
}
|
60
34
|
}
|
@@ -1,15 +1,31 @@
|
|
1
|
+
import { z } from 'zod';
|
1
2
|
import type { QueryParamsTypeFromQueryObject } from '../../routes';
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
import type { ValueOf } from '../../types/common';
|
4
|
+
declare const NODE_TABS_IDS: {
|
5
|
+
readonly storage: "storage";
|
6
|
+
readonly tablets: "tablets";
|
7
|
+
readonly structure: "structure";
|
8
|
+
};
|
9
|
+
export type NodeTab = ValueOf<typeof NODE_TABS_IDS>;
|
10
|
+
export declare const NODE_TABS: ({
|
11
|
+
id: "storage";
|
12
|
+
readonly title: string;
|
13
|
+
} | {
|
14
|
+
id: "structure";
|
15
|
+
readonly title: string;
|
16
|
+
} | {
|
17
|
+
id: "tablets";
|
18
|
+
readonly title: string;
|
19
|
+
})[];
|
20
|
+
export declare const nodePageTabSchema: z.ZodCatch<z.ZodNativeEnum<{
|
21
|
+
readonly storage: "storage";
|
22
|
+
readonly tablets: "tablets";
|
23
|
+
readonly structure: "structure";
|
24
|
+
}>>;
|
11
25
|
export declare const nodePageQueryParams: {
|
12
26
|
database: import("serialize-query-params").QueryParamConfig<string | null | undefined, string | null | undefined>;
|
27
|
+
pdiskId: import("serialize-query-params").QueryParamConfig<string | null | undefined, string | null | undefined>;
|
28
|
+
vdiskId: import("serialize-query-params").QueryParamConfig<string | null | undefined, string | null | undefined>;
|
13
29
|
};
|
14
30
|
type NodePageQuery = QueryParamsTypeFromQueryObject<typeof nodePageQueryParams>;
|
15
31
|
export declare function getDefaultNodePath(nodeId: string | number, query?: NodePageQuery, activeTab?: NodeTab): string;
|
@@ -1,31 +1,39 @@
|
|
1
1
|
import { StringParam } from 'use-query-params';
|
2
|
+
import { z } from 'zod';
|
2
3
|
import routes, { createHref } from '../../routes';
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
name: 'Overview',
|
11
|
-
},
|
4
|
+
import i18n from './i18n';
|
5
|
+
const NODE_TABS_IDS = {
|
6
|
+
storage: 'storage',
|
7
|
+
tablets: 'tablets',
|
8
|
+
structure: 'structure',
|
9
|
+
};
|
10
|
+
export const NODE_TABS = [
|
12
11
|
{
|
13
|
-
id:
|
14
|
-
|
12
|
+
id: NODE_TABS_IDS.storage,
|
13
|
+
get title() {
|
14
|
+
return i18n('tabs.storage');
|
15
|
+
},
|
15
16
|
},
|
16
17
|
{
|
17
|
-
id:
|
18
|
-
|
18
|
+
id: NODE_TABS_IDS.structure,
|
19
|
+
get title() {
|
20
|
+
return i18n('tabs.structure');
|
21
|
+
},
|
19
22
|
},
|
20
23
|
{
|
21
|
-
id:
|
22
|
-
|
24
|
+
id: NODE_TABS_IDS.tablets,
|
25
|
+
get title() {
|
26
|
+
return i18n('tabs.tablets');
|
27
|
+
},
|
23
28
|
},
|
24
29
|
];
|
30
|
+
export const nodePageTabSchema = z.nativeEnum(NODE_TABS_IDS).catch(NODE_TABS_IDS.tablets);
|
25
31
|
export const nodePageQueryParams = {
|
26
32
|
database: StringParam,
|
33
|
+
pdiskId: StringParam,
|
34
|
+
vdiskId: StringParam,
|
27
35
|
};
|
28
|
-
export function getDefaultNodePath(nodeId, query = {}, activeTab
|
36
|
+
export function getDefaultNodePath(nodeId, query = {}, activeTab) {
|
29
37
|
return createHref(routes.node, {
|
30
38
|
id: nodeId,
|
31
39
|
activeTab,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"NodePages.js","sourceRoot":"","sources":["../../../src/containers/Node/NodePages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"NodePages.js","sourceRoot":"","sources":["../../../src/containers/Node/NodePages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,OAAO,MAAM,EAAE,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAGhD,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,MAAM,aAAa,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;CAChB,CAAC;AAIX,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB;QACI,EAAE,EAAE,aAAa,CAAC,OAAO;QACzB,IAAI,KAAK;YACL,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;KACJ;IACD;QACI,EAAE,EAAE,aAAa,CAAC,SAAS;QAC3B,IAAI,KAAK;YACL,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC;KACJ;IACD;QACI,EAAE,EAAE,aAAa,CAAC,OAAO;QACzB,IAAI,KAAK;YACL,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;QAChC,CAAC;KACJ;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAE1F,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAC/B,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,WAAW;CACvB,CAAC;AAIF,MAAM,UAAU,kBAAkB,CAC9B,MAAuB,EACvB,QAAuB,EAAE,EACzB,SAAmB;IAEnB,OAAO,UAAU,CACb,MAAM,CAAC,IAAI,EACX;QACI,EAAE,EAAE,MAAM;QACV,SAAS;KACZ,EACD,KAAK,CACR,CAAC;AACN,CAAC"}
|
@@ -1,4 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"pdisk.developer-ui-button-title": "PDisk Developer UI page",
|
3
|
-
"vdisk.developer-ui-button-title": "VDisk Developer UI page"
|
3
|
+
"vdisk.developer-ui-button-title": "VDisk Developer UI page",
|
4
|
+
"tabs.storage": "Storage",
|
5
|
+
"tabs.structure": "Structure",
|
6
|
+
"tabs.tablets": "Tablets",
|
7
|
+
"node": "Node",
|
8
|
+
"fqdn": "FQDN",
|
9
|
+
"dc": "DC"
|
4
10
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
declare const _default: (key: "pdisk.developer-ui-button-title" | "vdisk.developer-ui-button-title", params?: import("@gravity-ui/i18n").Params) => string;
|
1
|
+
declare const _default: (key: "node" | "fqdn" | "pdisk.developer-ui-button-title" | "vdisk.developer-ui-button-title" | "tabs.storage" | "tabs.structure" | "tabs.tablets" | "dc", params?: import("@gravity-ui/i18n").Params) => string;
|
2
2
|
export default _default;
|
@@ -1,6 +1,5 @@
|
|
1
1
|
import { registerKeysets } from '../../../utils/i18n';
|
2
2
|
import en from './en.json';
|
3
|
-
import ru from './ru.json';
|
4
3
|
const COMPONENT = 'ydb-node-page';
|
5
|
-
export default registerKeysets(COMPONENT, { en
|
4
|
+
export default registerKeysets(COMPONENT, { en });
|
6
5
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/Node/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/containers/Node/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,SAAS,GAAG,eAAe,CAAC;AAElC,eAAe,eAAe,CAAC,SAAS,EAAE,EAAC,EAAE,EAAC,CAAC,CAAC"}
|
@@ -1,25 +1,26 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import React from 'react';
|
2
3
|
import NiceModal from '@ebay/nice-modal-react';
|
3
|
-
import {
|
4
|
+
import { createMonacoGhostInstance } from '@ydb-platform/monaco-ghost';
|
4
5
|
import throttle from 'lodash/throttle';
|
5
6
|
import { MonacoEditor } from '../../../../components/MonacoEditor/MonacoEditor';
|
6
7
|
import { goToNextQuery, goToPreviousQuery, selectQueriesHistory, selectUserInput, } from '../../../../store/reducers/query/query';
|
7
|
-
import { LAST_USED_QUERY_ACTION_KEY } from '../../../../utils/constants';
|
8
|
+
import { ENABLE_CODE_ASSISTANT, LAST_USED_QUERY_ACTION_KEY } from '../../../../utils/constants';
|
8
9
|
import { useEventHandler, useSetting, useTypedDispatch, useTypedSelector, } from '../../../../utils/hooks';
|
9
10
|
import { YQL_LANGUAGE_ID } from '../../../../utils/monaco/constats';
|
10
11
|
import { useUpdateErrorsHighlighting } from '../../../../utils/monaco/highlightErrors';
|
11
12
|
import { QUERY_ACTIONS } from '../../../../utils/query';
|
12
13
|
import { SAVE_QUERY_DIALOG } from '../SaveQuery/SaveQuery';
|
13
14
|
import i18n from '../i18n';
|
14
|
-
import {
|
15
|
-
import { useCodeAssist, useEditorOptions } from './helpers';
|
15
|
+
import { useCodeAssistHelpers, useEditorOptions } from './helpers';
|
16
16
|
import { getKeyBindings } from './keybindings';
|
17
17
|
const CONTEXT_MENU_GROUP_ID = 'navigation';
|
18
18
|
export function YqlEditor({ changeUserInput, theme, handleSendExecuteClick, handleGetExplainQueryClick, }) {
|
19
19
|
const input = useTypedSelector(selectUserInput);
|
20
20
|
const dispatch = useTypedDispatch();
|
21
|
+
const [monacoGhostInstance, setMonacoGhostInstance] = React.useState();
|
21
22
|
const historyQueries = useTypedSelector(selectQueriesHistory);
|
22
|
-
const
|
23
|
+
const [isCodeAssistEnabled] = useSetting(ENABLE_CODE_ASSISTANT);
|
23
24
|
const editorOptions = useEditorOptions();
|
24
25
|
const updateErrorsHighlighting = useUpdateErrorsHighlighting();
|
25
26
|
const [lastUsedQueryAction] = useSetting(LAST_USED_QUERY_ACTION_KEY);
|
@@ -40,20 +41,16 @@ export function YqlEditor({ changeUserInput, theme, handleSendExecuteClick, hand
|
|
40
41
|
const editorWillUnmount = () => {
|
41
42
|
window.ydbEditor = undefined;
|
42
43
|
};
|
43
|
-
const
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
config: {
|
54
|
-
language: YQL_LANGUAGE_ID,
|
55
|
-
},
|
56
|
-
});
|
44
|
+
const { monacoGhostConfig, prepareUserQueriesCache } = useCodeAssistHelpers();
|
45
|
+
React.useEffect(() => {
|
46
|
+
if (monacoGhostInstance && isCodeAssistEnabled) {
|
47
|
+
monacoGhostInstance.register(monacoGhostConfig);
|
48
|
+
prepareUserQueriesCache();
|
49
|
+
}
|
50
|
+
return () => {
|
51
|
+
monacoGhostInstance === null || monacoGhostInstance === void 0 ? void 0 : monacoGhostInstance.unregister();
|
52
|
+
};
|
53
|
+
}, [isCodeAssistEnabled, monacoGhostConfig, monacoGhostInstance, prepareUserQueriesCache]);
|
57
54
|
const editorDidMount = (editor, monaco) => {
|
58
55
|
window.ydbEditor = editor;
|
59
56
|
const keybindings = getKeyBindings(monaco);
|
@@ -67,17 +64,7 @@ export function YqlEditor({ changeUserInput, theme, handleSendExecuteClick, hand
|
|
67
64
|
}
|
68
65
|
});
|
69
66
|
if (window.api.codeAssist) {
|
70
|
-
|
71
|
-
codeAssist.prepareUserQueriesCache([
|
72
|
-
...historyQueries.map((query, index) => ({
|
73
|
-
name: `query${index}.yql`,
|
74
|
-
text: query.queryText,
|
75
|
-
})),
|
76
|
-
...savedQueries.map((query) => ({
|
77
|
-
name: query.name,
|
78
|
-
text: query.body,
|
79
|
-
})),
|
80
|
-
]);
|
67
|
+
setMonacoGhostInstance(createMonacoGhostInstance(editor));
|
81
68
|
}
|
82
69
|
initResizeHandler(editor);
|
83
70
|
initUserPrompt(editor, getLastQueryText);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"YqlEditor.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QueryEditor/YqlEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAC,
|
1
|
+
{"version":3,"file":"YqlEditor.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QueryEditor/YqlEditor.tsx"],"names":[],"mappings":"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"}
|
@@ -2,13 +2,19 @@ import type { AcceptEvent, DeclineEvent, IgnoreEvent, PromptFile } from '@ydb-pl
|
|
2
2
|
import type Monaco from 'monaco-editor';
|
3
3
|
export type EditorOptions = Monaco.editor.IEditorOptions & Monaco.editor.IGlobalEditorOptions;
|
4
4
|
export declare function useEditorOptions(): EditorOptions;
|
5
|
-
export declare function
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
5
|
+
export declare function useCodeAssistHelpers(): {
|
6
|
+
prepareUserQueriesCache: () => Promise<any>;
|
7
|
+
monacoGhostConfig: {
|
8
|
+
api: {
|
9
|
+
getCodeAssistSuggestions: (promptFiles: PromptFile[]) => Promise<import("@ydb-platform/monaco-ghost").Suggestions>;
|
10
|
+
};
|
11
|
+
eventHandlers: {
|
12
|
+
onCompletionAccept: (event: AcceptEvent) => Promise<any>;
|
13
|
+
onCompletionDecline: (event: DeclineEvent) => Promise<any>;
|
14
|
+
onCompletionIgnore: (event: IgnoreEvent) => Promise<any>;
|
15
|
+
};
|
16
|
+
config: {
|
17
|
+
language: string;
|
18
|
+
};
|
19
|
+
};
|
14
20
|
};
|