ydb-embedded-ui 8.12.0 → 8.13.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/ErrorBoundary/ErrorBoundary.d.ts +3 -7
- package/dist/components/ErrorBoundary/ErrorBoundary.js +44 -7
- package/dist/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/dist/components/ErrorBoundary/ErrorBoundary.scss +26 -30
- package/dist/components/ErrorBoundary/i18n/en.json +7 -5
- package/dist/components/ErrorBoundary/i18n/index.d.ts +1 -1
- package/dist/components/ErrorBoundary/i18n/index.js +1 -2
- package/dist/components/ErrorBoundary/i18n/index.js.map +1 -1
- package/dist/components/ErrorBoundary/utils.d.ts +17 -0
- package/dist/components/ErrorBoundary/utils.js +43 -0
- package/dist/components/ErrorBoundary/utils.js.map +1 -0
- package/dist/components/Errors/ResponseError/ResponseError.js +3 -16
- package/dist/components/Errors/ResponseError/ResponseError.js.map +1 -1
- package/dist/components/FullNodeViewer/i18n/index.d.ts +1 -1
- package/dist/components/PDiskInfo/PDiskInfo.d.ts +0 -1
- package/dist/components/PDiskInfo/PDiskInfo.js +1 -4
- package/dist/components/PDiskInfo/PDiskInfo.js.map +1 -1
- package/dist/components/PDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/PDiskPopup/PDiskPopup.js +6 -2
- package/dist/components/PDiskPopup/PDiskPopup.js.map +1 -1
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js +49 -17
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.js.map +1 -1
- package/dist/components/QueryExecutionStatus/QueryExecutionStatus.scss +0 -12
- package/dist/components/StorageGroupInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.js +2 -1
- package/dist/components/VDiskInfo/VDiskInfo.js.map +1 -1
- package/dist/components/VDiskInfo/VDiskInfo.scss +0 -6
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -1
- package/dist/components/VDiskPopup/VDiskPopup.js +5 -2
- package/dist/components/VDiskPopup/VDiskPopup.js.map +1 -1
- package/dist/containers/App/App.scss +10 -0
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js +1 -0
- package/dist/containers/Tenant/Diagnostics/DiagnosticsPages.js.map +1 -1
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js +1 -0
- package/dist/containers/Tenant/Diagnostics/Overview/Overview.js.map +1 -1
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js +1 -0
- package/dist/containers/Tenant/ObjectSummary/ObjectSummary.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +11 -19
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditor/helpers.d.ts +10 -0
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js +15 -0
- package/dist/containers/Tenant/Query/QueryEditor/helpers.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.d.ts +15 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js +26 -0
- package/dist/containers/Tenant/Query/QueryEditorControls/EditorButton.js.map +1 -0
- package/dist/containers/Tenant/Query/{CancelQueryButton/CancelQueryButton.scss → QueryEditorControls/EditorButton.scss} +7 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.d.ts +4 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js +77 -18
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.scss +3 -4
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.d.ts +1 -4
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js +16 -10
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/QueryResultViewer.scss +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js +2 -7
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js +2 -2
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.scss +2 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js +25 -20
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map +1 -1
- package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.scss +7 -7
- package/dist/containers/Tenant/Query/QueryResult/i18n/en.json +7 -3
- package/dist/containers/Tenant/Query/QueryResult/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.js +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.js.map +1 -1
- package/dist/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.scss +3 -1
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.d.ts +2 -0
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.js +17 -0
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.js.map +1 -0
- package/dist/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.scss +5 -0
- package/dist/containers/Tenant/Query/i18n/en.json +5 -1
- package/dist/containers/Tenant/Query/i18n/index.d.ts +1 -1
- package/dist/containers/Tenant/utils/controls.js +1 -0
- package/dist/containers/Tenant/utils/controls.js.map +1 -1
- package/dist/containers/Tenant/utils/schema.js +7 -0
- package/dist/containers/Tenant/utils/schema.js.map +1 -1
- package/dist/containers/Tenant/utils/schemaActions.js +1 -0
- package/dist/containers/Tenant/utils/schemaActions.js.map +1 -1
- package/dist/containers/UserSettings/settings.js +1 -2
- package/dist/containers/UserSettings/settings.js.map +1 -1
- package/dist/services/api/base.d.ts +1 -0
- package/dist/services/api/base.js.map +1 -1
- package/dist/services/api/viewer.d.ts +2 -1
- package/dist/services/api/viewer.js +3 -2
- package/dist/services/api/viewer.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/configureStore.js +11 -7
- package/dist/store/configureStore.js.map +1 -1
- package/dist/store/reducers/query/query.d.ts +12 -1
- package/dist/store/reducers/query/query.js +39 -8
- package/dist/store/reducers/query/query.js.map +1 -1
- package/dist/store/reducers/query/streamingReducers.js +1 -22
- package/dist/store/reducers/query/streamingReducers.js.map +1 -1
- package/dist/store/reducers/query/types.d.ts +2 -0
- package/dist/styles/illustrations.scss +20 -0
- package/dist/styles/index.scss +1 -0
- package/dist/types/api/schema/schema.d.ts +2 -1
- package/dist/types/api/schema/schema.js +1 -0
- package/dist/types/api/schema/schema.js.map +1 -1
- package/dist/types/store/query.d.ts +0 -9
- package/dist/utils/constants.d.ts +1 -0
- package/dist/utils/constants.js +1 -0
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/createToast.d.ts +2 -1
- package/dist/utils/createToast.js +2 -2
- package/dist/utils/createToast.js.map +1 -1
- package/dist/utils/downloadFile.d.ts +2 -0
- package/dist/utils/downloadFile.js +17 -0
- package/dist/utils/downloadFile.js.map +1 -0
- package/dist/utils/prepareErrorMessage.d.ts +1 -0
- package/dist/utils/prepareErrorMessage.js +18 -0
- package/dist/utils/prepareErrorMessage.js.map +1 -0
- package/package.json +8 -4
- package/dist/components/ElapsedTime/ElapsedTime.d.ts +0 -5
- package/dist/components/ElapsedTime/ElapsedTime.js +0 -25
- package/dist/components/ElapsedTime/ElapsedTime.js.map +0 -1
- package/dist/components/ElapsedTime/ElapsedTime.scss +0 -3
- package/dist/components/ErrorBoundary/i18n/ru.json +0 -7
- package/dist/components/PDiskInfo/PDiskInfo.scss +0 -7
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.d.ts +0 -8
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js +0 -11
- package/dist/containers/Tenant/Query/CancelQueryButton/CancelQueryButton.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.d.ts +0 -6
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.js +0 -15
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.js.map +0 -1
- package/dist/containers/Tenant/Query/QueryDuration/QueryDuration.scss +0 -27
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/utils.d.ts +0 -1
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/utils.js +0 -9
- package/dist/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/utils.js.map +0 -1
@@ -1,34 +1,93 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import
|
3
|
-
import {
|
4
|
-
import QuerySettingsDescription from '../../../../components/QuerySettingsDescription/QuerySettingsDescription';
|
2
|
+
import React from 'react';
|
3
|
+
import { cancelQueryApi } from '../../../../store/reducers/cancelQuery';
|
5
4
|
import { selectUserInput } from '../../../../store/reducers/query/query';
|
6
5
|
import { cn } from '../../../../utils/cn';
|
6
|
+
import createToast from '../../../../utils/createToast';
|
7
7
|
import { useTypedSelector } from '../../../../utils/hooks';
|
8
|
-
import { useChangedQuerySettings } from '../../../../utils/hooks/useChangedQuerySettings';
|
9
8
|
import { NewSQL } from '../NewSQL/NewSQL';
|
9
|
+
import { queryManagerInstance } from '../QueryEditor/helpers';
|
10
10
|
import { SaveQuery } from '../SaveQuery/SaveQuery';
|
11
11
|
import i18n from '../i18n';
|
12
|
+
import { EditorButton } from './EditorButton';
|
12
13
|
import './QueryEditorControls.scss';
|
13
14
|
const b = cn('ydb-query-editor-controls');
|
14
|
-
const
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
const STOP_APPEAR_TIMEOUT = 400;
|
16
|
+
const STOP_AUTO_HIDE_TIMEOUT = 5000;
|
17
|
+
const ActionButton = ({ type, isHighlighted, isLoading, isStoppable, controlsDisabled, onActionClick, renderStopButton, }) => {
|
18
|
+
if (isStoppable && isLoading && isHighlighted) {
|
19
|
+
return renderStopButton();
|
20
|
+
}
|
21
|
+
const ButtonComponent = type === 'run' ? EditorButton.Run : EditorButton.Explain;
|
22
|
+
return (_jsx(ButtonComponent, { onClick: onActionClick, disabled: controlsDisabled, loading: isLoading, view: isHighlighted ? 'action' : undefined }));
|
20
23
|
};
|
21
|
-
|
24
|
+
const CANCEL_ERROR_ANIMATION_DURATION = 500;
|
25
|
+
export const QueryEditorControls = ({ disabled, isLoading, highlightedAction, queryId, tenantName, isStreamingEnabled, handleSendExecuteClick, onSettingsButtonClick, handleGetExplainQueryClick, }) => {
|
22
26
|
const input = useTypedSelector(selectUserInput);
|
23
|
-
const
|
24
|
-
const
|
25
|
-
const
|
27
|
+
const [sendCancelQuery, cancelQueryResponse] = cancelQueryApi.useCancelQueryMutation();
|
28
|
+
const [isStoppable, setIsStoppable] = React.useState(isLoading);
|
29
|
+
const stopButtonAppearRef = React.useRef(null);
|
30
|
+
const cancelErrorAnimationRef = React.useRef(null);
|
31
|
+
const [cancelQueryError, setCancelQueryError] = React.useState(false);
|
32
|
+
const onStopButtonClick = React.useCallback(async () => {
|
33
|
+
if (queryId) {
|
34
|
+
try {
|
35
|
+
if (isStreamingEnabled) {
|
36
|
+
queryManagerInstance.abortQuery();
|
37
|
+
}
|
38
|
+
else if (queryId) {
|
39
|
+
await sendCancelQuery({ queryId, database: tenantName }).unwrap();
|
40
|
+
}
|
41
|
+
}
|
42
|
+
catch (_a) {
|
43
|
+
createToast({
|
44
|
+
name: 'stop-error',
|
45
|
+
title: '',
|
46
|
+
content: i18n('toaster.stop-error'),
|
47
|
+
type: 'error',
|
48
|
+
autoHiding: STOP_AUTO_HIDE_TIMEOUT,
|
49
|
+
});
|
50
|
+
setCancelQueryError(true);
|
51
|
+
if (cancelErrorAnimationRef.current) {
|
52
|
+
window.clearTimeout(cancelErrorAnimationRef.current);
|
53
|
+
}
|
54
|
+
cancelErrorAnimationRef.current = window.setTimeout(() => {
|
55
|
+
setCancelQueryError(false);
|
56
|
+
}, CANCEL_ERROR_ANIMATION_DURATION);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
}, [isStreamingEnabled, queryId, sendCancelQuery, tenantName]);
|
60
|
+
const isRunHighlighted = highlightedAction === 'execute';
|
61
|
+
const isExplainHighlighted = highlightedAction === 'explain';
|
62
|
+
const runSetStoppableTimeout = React.useCallback(() => {
|
63
|
+
if (stopButtonAppearRef.current) {
|
64
|
+
window.clearTimeout(stopButtonAppearRef.current);
|
65
|
+
}
|
66
|
+
setIsStoppable(false);
|
67
|
+
stopButtonAppearRef.current = window.setTimeout(() => {
|
68
|
+
setIsStoppable(true);
|
69
|
+
}, STOP_APPEAR_TIMEOUT);
|
70
|
+
}, []);
|
71
|
+
const onRunButtonClick = React.useCallback(() => {
|
26
72
|
handleSendExecuteClick(input);
|
27
|
-
|
28
|
-
|
73
|
+
runSetStoppableTimeout();
|
74
|
+
}, [handleSendExecuteClick, input, runSetStoppableTimeout]);
|
75
|
+
const onExplainButtonClick = React.useCallback(() => {
|
29
76
|
handleGetExplainQueryClick(input);
|
30
|
-
|
77
|
+
runSetStoppableTimeout();
|
78
|
+
}, [handleGetExplainQueryClick, input, runSetStoppableTimeout]);
|
79
|
+
React.useEffect(() => {
|
80
|
+
return () => {
|
81
|
+
if (stopButtonAppearRef.current) {
|
82
|
+
window.clearTimeout(stopButtonAppearRef.current);
|
83
|
+
}
|
84
|
+
if (cancelErrorAnimationRef.current) {
|
85
|
+
window.clearTimeout(cancelErrorAnimationRef.current);
|
86
|
+
}
|
87
|
+
};
|
88
|
+
}, []);
|
31
89
|
const controlsDisabled = disabled || !input;
|
32
|
-
|
90
|
+
const renderStopButton = () => (_jsx(EditorButton.Stop, { loading: cancelQueryResponse.isLoading, error: cancelQueryError, onClick: onStopButtonClick, view: "action" }));
|
91
|
+
return (_jsxs("div", { className: b(), children: [_jsxs("div", { className: b('left'), children: [_jsx(ActionButton, { type: "run", isHighlighted: isRunHighlighted, isLoading: isLoading, isStoppable: isStoppable, controlsDisabled: controlsDisabled, onActionClick: onRunButtonClick, renderStopButton: renderStopButton }), _jsx(ActionButton, { type: "explain", isHighlighted: isExplainHighlighted, isLoading: isLoading, isStoppable: isStoppable, controlsDisabled: controlsDisabled, onActionClick: onExplainButtonClick, renderStopButton: renderStopButton }), _jsx(EditorButton.Settings, { onClick: onSettingsButtonClick, isLoading: isLoading })] }), _jsxs("div", { className: b('right'), children: [_jsx(NewSQL, {}), _jsx(SaveQuery, { buttonProps: { disabled } })] })] }));
|
33
92
|
};
|
34
93
|
//# sourceMappingURL=QueryEditorControls.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryEditorControls.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
1
|
+
{"version":3,"file":"QueryEditorControls.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QueryEditorControls/QueryEditorControls.tsx"],"names":[],"mappings":"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"}
|
@@ -1,12 +1,11 @@
|
|
1
1
|
.ydb-query-editor-controls {
|
2
2
|
display: flex;
|
3
|
-
flex: 0 0
|
3
|
+
flex: 0 0 60px;
|
4
4
|
justify-content: space-between;
|
5
|
-
align-items:
|
5
|
+
align-items: center;
|
6
6
|
gap: 24px;
|
7
7
|
|
8
|
-
min-height:
|
9
|
-
padding: 5px 0px;
|
8
|
+
min-height: 60px;
|
10
9
|
|
11
10
|
&__right,
|
12
11
|
&__left {
|
@@ -10,11 +10,8 @@ interface ExecuteResultProps {
|
|
10
10
|
tenantName: string;
|
11
11
|
queryText?: string;
|
12
12
|
tableSettings?: Partial<Settings>;
|
13
|
-
isCancelling: boolean;
|
14
|
-
isCancelError: boolean;
|
15
|
-
onCancelRunningQuery?: VoidFunction;
|
16
13
|
onCollapseResults: VoidFunction;
|
17
14
|
onExpandResults: VoidFunction;
|
18
15
|
}
|
19
|
-
export declare function QueryResultViewer({ result, resultType, isResultsCollapsed, theme, tenantName, queryText,
|
16
|
+
export declare function QueryResultViewer({ result, resultType, isResultsCollapsed, theme, tenantName, queryText, tableSettings, onCollapseResults, onExpandResults, }: ExecuteResultProps): import("react/jsx-runtime").JSX.Element;
|
20
17
|
export {};
|
@@ -1,22 +1,19 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import React from 'react';
|
3
|
-
import { ClipboardButton, RadioButton } from '@gravity-ui/uikit';
|
4
|
-
import Divider from '../../../../components/Divider/Divider';
|
5
|
-
import ElapsedTime from '../../../../components/ElapsedTime/ElapsedTime';
|
3
|
+
import { ClipboardButton, Flex, RadioButton, Text } from '@gravity-ui/uikit';
|
6
4
|
import EnableFullscreenButton from '../../../../components/EnableFullscreenButton/EnableFullscreenButton';
|
7
5
|
import Fullscreen from '../../../../components/Fullscreen/Fullscreen';
|
6
|
+
import { Illustration } from '../../../../components/Illustration';
|
8
7
|
import { LoaderWrapper } from '../../../../components/LoaderWrapper/LoaderWrapper';
|
9
8
|
import { QueryExecutionStatus } from '../../../../components/QueryExecutionStatus';
|
10
9
|
import { disableFullscreen } from '../../../../store/reducers/fullscreen';
|
11
|
-
import { valueIsDefined } from '../../../../utils';
|
12
10
|
import { cn } from '../../../../utils/cn';
|
13
11
|
import { USE_SHOW_PLAN_SVG_KEY } from '../../../../utils/constants';
|
14
12
|
import { getStringifiedData } from '../../../../utils/dataFormatters/dataFormatters';
|
15
13
|
import { useSetting, useTypedDispatch } from '../../../../utils/hooks';
|
16
14
|
import { PaneVisibilityToggleButtons } from '../../utils/paneVisibilityToggleHelpers';
|
17
|
-
import { CancelQueryButton } from '../CancelQueryButton/CancelQueryButton';
|
18
|
-
import { QueryDuration } from '../QueryDuration/QueryDuration';
|
19
15
|
import { QuerySettingsBanner } from '../QuerySettingsBanner/QuerySettingsBanner';
|
16
|
+
import { QueryStoppedBanner } from '../QueryStoppedBanner/QueryStoppedBanner';
|
20
17
|
import { getPreparedResult } from '../utils/getPreparedResult';
|
21
18
|
import { isQueryCancelledError } from '../utils/isQueryCancelledError';
|
22
19
|
import { Ast } from './components/Ast/Ast';
|
@@ -61,7 +58,8 @@ const RESULT_OPTIONS_TITLES = {
|
|
61
58
|
};
|
62
59
|
const EXECUTE_SECTIONS = ['result', 'schema', 'simplified', 'stats'];
|
63
60
|
const EXPLAIN_SECTIONS = ['schema', 'json', 'simplified', 'ast'];
|
64
|
-
export function QueryResultViewer({ result, resultType = 'execute', isResultsCollapsed, theme, tenantName, queryText,
|
61
|
+
export function QueryResultViewer({ result, resultType = 'execute', isResultsCollapsed, theme, tenantName, queryText, tableSettings, onCollapseResults, onExpandResults, }) {
|
62
|
+
var _a;
|
65
63
|
const dispatch = useTypedDispatch();
|
66
64
|
const isExecute = resultType === 'execute';
|
67
65
|
const isExplain = resultType === 'explain';
|
@@ -151,13 +149,20 @@ export function QueryResultViewer({ result, resultType = 'execute', isResultsCol
|
|
151
149
|
activeSection: RESULT_OPTIONS_TITLES[activeSection],
|
152
150
|
}) }));
|
153
151
|
};
|
152
|
+
const renderCommonErrorView = (isStopped) => {
|
153
|
+
return (_jsxs(Flex, { justifyContent: "center", alignItems: "center", width: "100%", gap: 8, children: [_jsx(Illustration, { name: "error", className: b('illustration') }), _jsxs(Flex, { direction: "column", gap: 2, children: [_jsx(Text, { variant: "subheader-2", children: isStopped ? i18n('stopped.title') : i18n('error.title') }), _jsx(Text, { color: "complementary", children: isStopped ? i18n('stopped.description') : i18n('error.description') })] })] }));
|
154
|
+
};
|
154
155
|
const renderResultSection = () => {
|
155
156
|
var _a, _b;
|
157
|
+
const isStopped = isQueryCancelledError(error);
|
156
158
|
if (activeSection === RESULT_OPTIONS_IDS.result) {
|
159
|
+
if (error && isStopped && !(resultSets === null || resultSets === void 0 ? void 0 : resultSets.length)) {
|
160
|
+
return renderCommonErrorView(isStopped);
|
161
|
+
}
|
157
162
|
return (_jsx(ResultSetsViewer, { resultSets: resultSets, error: error, selectedResultSet: selectedResultSet, tableSettings: tableSettings, setSelectedResultSet: setSelectedResultSet }));
|
158
163
|
}
|
159
164
|
if (error) {
|
160
|
-
return _jsx(QueryResultError, { error: error });
|
165
|
+
return isExecute || isStopped ? (renderCommonErrorView(isStopped)) : (_jsx(QueryResultError, { error: error }));
|
161
166
|
}
|
162
167
|
if (activeSection === RESULT_OPTIONS_IDS.schema) {
|
163
168
|
if (!((_a = preparedPlan === null || preparedPlan === void 0 ? void 0 : preparedPlan.nodes) === null || _a === void 0 ? void 0 : _a.length)) {
|
@@ -192,11 +197,12 @@ export function QueryResultViewer({ result, resultType = 'execute', isResultsCol
|
|
192
197
|
return null;
|
193
198
|
};
|
194
199
|
const renderLeftControls = () => {
|
195
|
-
return (_jsxs("div", { className: b('controls-left'), children: [
|
200
|
+
return (_jsxs("div", { className: b('controls-left'), children: [radioButtonOptions.length && activeSection ? (_jsx(RadioButton, { options: radioButtonOptions, value: activeSection, onUpdate: onSelectSection })) : null, _jsx(QueryExecutionStatus, { error: error, loading: isLoading }), (data === null || data === void 0 ? void 0 : data.traceId) && isExecute ? _jsx(TraceButton, { traceId: data.traceId }) : null] }));
|
196
201
|
};
|
197
202
|
const renderRightControls = () => {
|
198
203
|
return (_jsxs("div", { className: b('controls-right'), children: [renderQueryInfoDropdown(), renderClipboardButton(), _jsx(EnableFullscreenButton, {}), _jsx(PaneVisibilityToggleButtons, { onCollapse: onCollapseResults, onExpand: onExpandResults, isCollapsed: isResultsCollapsed, initialDirection: "bottom" })] }));
|
199
204
|
};
|
200
|
-
|
205
|
+
const isCancelled = isQueryCancelledError(error);
|
206
|
+
return (_jsxs(React.Fragment, { children: [_jsxs("div", { className: b('controls'), children: [renderLeftControls(), renderRightControls()] }), isLoading || isCancelled ? null : _jsx(QuerySettingsBanner, {}), isCancelled && ((_a = data.resultSets) === null || _a === void 0 ? void 0 : _a.length) ? _jsx(QueryStoppedBanner, {}) : null, _jsx(LoaderWrapper, { loading: isLoading && (!data.resultSets || activeSection !== 'result'), children: _jsx(Fullscreen, { className: b('result'), children: renderResultSection() }) })] }));
|
201
207
|
}
|
202
208
|
//# sourceMappingURL=QueryResultViewer.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryResultViewer.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QueryResult/QueryResultViewer.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,eAAe,EAAE,
|
1
|
+
{"version":3,"file":"QueryResultViewer.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QueryResult/QueryResultViewer.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAC,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAE3E,OAAO,sBAAsB,MAAM,sEAAsE,CAAC;AAC1G,OAAO,UAAU,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAC,YAAY,EAAC,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAC,aAAa,EAAC,MAAM,oDAAoD,CAAC;AACjF,OAAO,EAAC,oBAAoB,EAAC,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAIxE,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,qBAAqB,EAAC,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAC,kBAAkB,EAAC,MAAM,iDAAiD,CAAC;AACnF,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAC,2BAA2B,EAAC,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAC,mBAAmB,EAAC,MAAM,4CAA4C,CAAC;AAC/E,OAAO,EAAC,kBAAkB,EAAC,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAC,qBAAqB,EAAC,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAC,GAAG,EAAC,MAAM,sBAAsB,CAAC;AACzC,OAAO,EAAC,KAAK,EAAC,MAAM,0BAA0B,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAC,eAAe,EAAC,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAC,gBAAgB,EAAC,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAC,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAC,cAAc,EAAC,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,WAAW,EAAC,MAAM,sCAAsC,CAAC;AACjE,OAAO,IAAI,MAAM,QAAQ,CAAC;AAE1B,OAAO,0BAA0B,CAAC;AAElC,MAAM,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,CAAC;AAEjC,MAAM,kBAAkB,GAAG;IACvB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;CACJ,CAAC;AAIX,MAAM,qBAAqB,GAA8B;IACrD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAC;AAEF,MAAM,gBAAgB,GAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAClF,MAAM,gBAAgB,GAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AAe9E,MAAM,UAAU,iBAAiB,CAAC,EAC9B,MAAM,EACN,UAAU,GAAG,SAAS,EACtB,kBAAkB,EAClB,KAAK,EACL,UAAU,EACV,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,GACE;;IACjB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,CAAC;IAC3C,MAAM,SAAS,GAAG,UAAU,KAAK,SAAS,CAAC;IAE3C,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAY,GAAG,EAAE;QACrE,OAAO,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAU,qBAAqB,CAAC,CAAC;IAEtE,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,EAAC,GAAG,MAAM,CAAC;IAC7C,MAAM,EAAC,YAAY,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAC,GAAG,IAAI,CAAC;IAEpE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACxE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC,EAAE,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC;IAEhC,MAAM,kBAAkB,GAAoC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC3E,IAAI,QAAQ,GAAgB,EAAE,CAAC;QAE/B,IAAI,SAAS,EAAE,CAAC;YACZ,QAAQ,GAAG,gBAAgB,CAAC;QAChC,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACnB,QAAQ,GAAG,gBAAgB,CAAC;QAChC,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5B,OAAO;gBACH,KAAK,EAAE,OAAO;gBACd,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC;aAC1C,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAE3B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,GAAG,EAAE;YACR,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,eAAe,GAAG,CAAC,KAAgB,EAAE,EAAE;QACzC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;;QACxB,QAAQ,aAAa,EAAE,CAAC;YACpB,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7B,MAAM,aAAa,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAG,iBAAiB,CAAC,CAAC;gBAC5D,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,CAAC;gBAC7D,OAAO,WAAW,CAAC;YACvB,CAAC;YACD,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3B,OAAO,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC;YAClC,CAAC;YACD,KAAK,kBAAkB,CAAC,UAAU;gBAC9B,OAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,QAAQ,CAAC;YACpC,KAAK,kBAAkB,CAAC,KAAK;gBACzB,OAAO,KAAK,CAAC;YACjB,KAAK,kBAAkB,CAAC,GAAG;gBACvB,OAAO,GAAG,CAAC;YACf;gBACI,OAAO,SAAS,CAAC;QACzB,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAC/B,IAAI,SAAS,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,CACH,KAAC,eAAe,IACZ,IAAI,EAAE,QAAQ,EACd,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAC,aAAa,EAAC,CAAC,GAC7C,CACL,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACjC,IAAI,SAAS,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,CACH,KAAC,iBAAiB,IACd,gBAAgB,EAAE;gBACd,SAAS;gBACT,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,EACD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,OAAO,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,KAAI,gBAAgB,IAAI,SAAS,CAAC,GACpE,CACL,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;QAC3B,OAAO,CACH,KAAC,WAAW,IACR,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE;gBACtC,aAAa,EAAE,qBAAqB,CAAC,aAAa,CAAC;aACtD,CAAC,GACJ,CACL,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAAC,SAAkB,EAAE,EAAE;QACjD,OAAO,CACH,MAAC,IAAI,IAAC,cAAc,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,EAAE,CAAC,aACjE,KAAC,YAAY,IAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,GAAI,EAC3D,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAE,CAAC,aAC3B,KAAC,IAAI,IAAC,OAAO,EAAC,aAAa,YACtB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GACrD,EACP,KAAC,IAAI,IAAC,KAAK,EAAC,eAAe,YACtB,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GACjE,IACJ,IACJ,CACV,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;;QAC7B,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE/C,IAAI,aAAa,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,KAAK,IAAI,SAAS,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA,EAAE,CAAC;gBAC5C,OAAO,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAC5C,CAAC;YAED,OAAO,CACH,KAAC,gBAAgB,IACb,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,iBAAiB,EACpC,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,GAC5C,CACL,CAAC;QACN,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,CAC5B,qBAAqB,CAAC,SAAS,CAAC,CACnC,CAAC,CAAC,CAAC,CACA,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,GAAI,CACrC,CAAC;QACN,CAAC;QAED,IAAI,aAAa,KAAK,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,CAAA,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,0CAAE,MAAM,CAAA,EAAE,CAAC;gBAC/B,OAAO,iBAAiB,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,KAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,GAAI,CAAC;QAC1D,CAAC;QACD,IAAI,aAAa,KAAK,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAA,EAAE,CAAC;gBAC1B,OAAO,iBAAiB,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,KAAC,eAAe,IAAC,IAAI,EAAE,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,GAAI,CAAC;QAC7D,CAAC;QACD,IAAI,aAAa,KAAK,kBAAkB,CAAC,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,MAAM,CAAA,EAAE,CAAC;gBAChC,OAAO,iBAAiB,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,KAAC,cAAc,IAAC,IAAI,EAAE,cAAc,CAAC,IAAI,GAAI,CAAC;QACzD,CAAC;QACD,IAAI,aAAa,KAAK,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,iBAAiB,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,KAAC,eAAe,IAAC,IAAI,EAAE,KAAK,GAAI,CAAC;QAC5C,CAAC;QACD,IAAI,aAAa,KAAK,kBAAkB,CAAC,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,OAAO,iBAAiB,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO,KAAC,GAAG,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAI,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,aAC7B,kBAAkB,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,CAC1C,KAAC,WAAW,IACR,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,eAAe,GAC3B,CACL,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,oBAAoB,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,GAAI,EACzD,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,KAAI,SAAS,CAAC,CAAC,CAAC,KAAC,WAAW,IAAC,OAAO,EAAE,IAAI,CAAC,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,IACzE,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC7B,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,aAC9B,uBAAuB,EAAE,EACzB,qBAAqB,EAAE,EACxB,KAAC,sBAAsB,KAAG,EAC1B,KAAC,2BAA2B,IACxB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,EAAE,eAAe,EACzB,WAAW,EAAE,kBAAkB,EAC/B,gBAAgB,EAAC,QAAQ,GAC3B,IACA,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAEjD,OAAO,CACH,MAAC,KAAK,CAAC,QAAQ,eACX,eAAK,SAAS,EAAE,CAAC,CAAC,UAAU,CAAC,aACxB,kBAAkB,EAAE,EACpB,mBAAmB,EAAE,IACpB,EACL,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAC,mBAAmB,KAAG,EACzD,WAAW,KAAI,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,CAAA,CAAC,CAAC,CAAC,KAAC,kBAAkB,KAAG,CAAC,CAAC,CAAC,IAAI,EACvE,KAAC,aAAa,IAAC,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,KAAK,QAAQ,CAAC,YACjF,KAAC,UAAU,IAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAG,mBAAmB,EAAE,GAAc,GAC5D,IACH,CACpB,CAAC;AACN,CAAC"}
|
@@ -4,11 +4,11 @@ import { ArrowDownToLine, ArrowUpRightFromSquare } from '@gravity-ui/icons';
|
|
4
4
|
import { Text } from '@gravity-ui/uikit';
|
5
5
|
import { planToSvgApi } from '../../../../../../store/reducers/planToSvg';
|
6
6
|
import createToast from '../../../../../../utils/createToast';
|
7
|
+
import { createAndDownloadJsonFile, downloadFile } from '../../../../../../utils/downloadFile';
|
7
8
|
import { prepareCommonErrorMessage } from '../../../../../../utils/errors';
|
8
9
|
import { parseQueryError } from '../../../../../../utils/query';
|
9
10
|
import i18n from '../../i18n';
|
10
11
|
import { b } from './shared';
|
11
|
-
import { downloadFile } from './utils';
|
12
12
|
export function MenuItemContent({ title, description }) {
|
13
13
|
return (_jsxs("div", { className: b('menu-item-content'), children: [_jsx(Text, { variant: "body-1", children: title }), _jsx(Text, { variant: "body-1", color: "secondary", children: description })] }));
|
14
14
|
}
|
@@ -85,12 +85,7 @@ export function useQueryInfoMenuItems({ queryResultsInfo, database, hasPlanToSvg
|
|
85
85
|
database,
|
86
86
|
...(parsedError && { error: parsedError }),
|
87
87
|
};
|
88
|
-
|
89
|
-
type: 'application/json',
|
90
|
-
});
|
91
|
-
const url = URL.createObjectURL(blob);
|
92
|
-
downloadFile(url, `query-diagnostics-${new Date().getTime()}.json`);
|
93
|
-
URL.revokeObjectURL(url);
|
88
|
+
createAndDownloadJsonFile(diagnosticsData, `query-diagnostics-${new Date().getTime()}`);
|
94
89
|
};
|
95
90
|
menuItems.push([
|
96
91
|
{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useQueryInfoMenuItems.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,eAAe,EAAE,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AAE1E,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAC,YAAY,EAAC,MAAM,4CAA4C,CAAC;AAExE,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,EAAC,CAAC,EAAC,MAAM,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"useQueryInfoMenuItems.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Query/QueryResult/components/QueryInfoDropdown/useQueryInfoMenuItems.tsx"],"names":[],"mappings":"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"}
|
package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js
CHANGED
@@ -5,7 +5,7 @@ import { isNetworkError } from '../../../../../../utils/response';
|
|
5
5
|
import { ResultIssues } from '../../../Issues/Issues';
|
6
6
|
import { isQueryCancelledError } from '../../../utils/isQueryCancelledError';
|
7
7
|
import './QueryResultError.scss';
|
8
|
-
const b = cn('ydb-query-result-error
|
8
|
+
const b = cn('ydb-query-result-error');
|
9
9
|
export function QueryResultError({ error }) {
|
10
10
|
const parsedError = parseQueryError(error);
|
11
11
|
// "Stopped" message is displayed in QueryExecutionStatus
|
@@ -17,7 +17,7 @@ export function QueryResultError({ error }) {
|
|
17
17
|
return _jsx("div", { className: b('message'), children: error.message });
|
18
18
|
}
|
19
19
|
if (typeof parsedError === 'object') {
|
20
|
-
return _jsx(ResultIssues, { data: parsedError });
|
20
|
+
return (_jsx("div", { className: b('message'), children: _jsx(ResultIssues, { data: parsedError }) }));
|
21
21
|
}
|
22
22
|
return _jsx("div", { className: b('message'), children: parsedError });
|
23
23
|
}
|
package/dist/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryResultError.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAE3E,OAAO,yBAAyB,CAAC;AAEjC,MAAM,CAAC,GAAG,EAAE,CAAC,
|
1
|
+
{"version":3,"file":"QueryResultError.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Query/QueryResult/components/QueryResultError/QueryResultError.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,EAAE,EAAC,MAAM,4BAA4B,CAAC;AAC9C,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAE3E,OAAO,yBAAyB,CAAC;AAEjC,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;AAEvC,MAAM,UAAU,gBAAgB,CAAC,EAAC,KAAK,EAAmB;IACtD,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAE3C,yDAAyD;IACzD,+DAA+D;IAC/D,IAAI,CAAC,WAAW,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAG,KAAK,CAAC,OAAO,GAAO,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YACxB,KAAC,YAAY,IAAC,IAAI,EAAE,WAAW,GAAI,GACjC,CACT,CAAC;IACN,CAAC;IAED,OAAO,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAG,WAAW,GAAO,CAAC;AAC7D,CAAC"}
|
package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js
CHANGED
@@ -1,35 +1,40 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import { Tabs, Text } from '@gravity-ui/uikit';
|
2
|
+
import { Flex, Tabs, Text } from '@gravity-ui/uikit';
|
3
3
|
import { QueryResultTable } from '../../../../../../components/QueryResultTable';
|
4
|
-
import { getArray } from '../../../../../../utils';
|
5
4
|
import { cn } from '../../../../../../utils/cn';
|
6
|
-
import i18n from '../../i18n';
|
7
5
|
import { QueryResultError } from '../QueryResultError/QueryResultError';
|
8
6
|
import './ResultSetsViewer.scss';
|
9
7
|
const b = cn('ydb-query-result-sets-viewer');
|
10
8
|
export function ResultSetsViewer(props) {
|
11
9
|
const { selectedResultSet, setSelectedResultSet, resultSets, error } = props;
|
12
|
-
const resultsSetsCount = (resultSets === null || resultSets === void 0 ? void 0 : resultSets.length) || 0;
|
13
10
|
const currentResult = resultSets === null || resultSets === void 0 ? void 0 : resultSets[selectedResultSet];
|
14
11
|
const renderTabs = () => {
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
}
|
25
|
-
return null;
|
12
|
+
const tabsItems = (resultSets === null || resultSets === void 0 ? void 0 : resultSets.map((_, index) => {
|
13
|
+
var _a, _b;
|
14
|
+
const resultSet = resultSets === null || resultSets === void 0 ? void 0 : resultSets[index];
|
15
|
+
return {
|
16
|
+
id: String(index),
|
17
|
+
title: (_jsxs(Flex, { gap: 2, alignItems: "center", children: [_jsx(Text, { children: `Result #${index + 1}${((_a = resultSets === null || resultSets === void 0 ? void 0 : resultSets[index]) === null || _a === void 0 ? void 0 : _a.truncated) ? '(T)' : ''}` }), _jsx(Text, { color: "secondary", children: ((_b = resultSet.result) === null || _b === void 0 ? void 0 : _b.length) || 0 })] })),
|
18
|
+
};
|
19
|
+
})) || [];
|
20
|
+
return (_jsx(Tabs, { className: b('tabs'), size: "l", items: tabsItems, activeTab: String(selectedResultSet), onSelectTab: (tabId) => setSelectedResultSet(Number(tabId)) }));
|
26
21
|
};
|
27
|
-
const
|
22
|
+
const renderSingleResult = () => {
|
28
23
|
var _a;
|
29
|
-
|
30
|
-
|
31
|
-
|
24
|
+
const result = resultSets === null || resultSets === void 0 ? void 0 : resultSets[0];
|
25
|
+
return (_jsxs(Flex, { gap: 2, alignItems: "center", className: b('title'), children: [_jsx(Text, { children: (result === null || result === void 0 ? void 0 : result.truncated) ? 'Truncated' : 'Result' }), _jsx(Text, { color: "secondary", children: ((_a = result === null || result === void 0 ? void 0 : result.result) === null || _a === void 0 ? void 0 : _a.length) || 0 })] }));
|
26
|
+
};
|
27
|
+
const renderResults = () => {
|
28
|
+
if (resultSets === null || resultSets === void 0 ? void 0 : resultSets.length) {
|
29
|
+
if ((resultSets === null || resultSets === void 0 ? void 0 : resultSets.length) > 1) {
|
30
|
+
return renderTabs();
|
31
|
+
}
|
32
|
+
else {
|
33
|
+
return renderSingleResult();
|
34
|
+
}
|
35
|
+
}
|
36
|
+
return null;
|
32
37
|
};
|
33
|
-
return (_jsxs("div", { className: b('result-wrapper'), children: [
|
38
|
+
return (_jsxs("div", { className: b('result-wrapper'), children: [props.error ? _jsx(QueryResultError, { error: error }) : null, renderResults(), currentResult ? (_jsx("div", { className: b('result'), children: _jsx(QueryResultTable, { settings: props.tableSettings, data: currentResult.result, columns: currentResult.columns }) })) : null] }));
|
34
39
|
}
|
35
40
|
//# sourceMappingURL=ResultSetsViewer.js.map
|
package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ResultSetsViewer.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"ResultSetsViewer.js","sourceRoot":"","sources":["../../../../../../../src/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.tsx"],"names":[],"mappings":"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"}
|
package/dist/containers/Tenant/Query/QueryResult/components/ResultSetsViewer/ResultSetsViewer.scss
CHANGED
@@ -2,15 +2,15 @@
|
|
2
2
|
|
3
3
|
.ydb-query-result-sets-viewer {
|
4
4
|
&__tabs {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
&__head {
|
9
|
-
margin-top: var(--g-spacing-4);
|
5
|
+
margin-bottom: var(--g-spacing-1);
|
6
|
+
padding-top: var(--g-spacing-1);
|
7
|
+
padding-left: var(--g-spacing-4);
|
10
8
|
}
|
11
9
|
|
12
|
-
&
|
13
|
-
|
10
|
+
&__title {
|
11
|
+
padding-top: var(--g-spacing-4);
|
12
|
+
padding-bottom: var(--g-spacing-4);
|
13
|
+
padding-left: var(--g-spacing-4);
|
14
14
|
}
|
15
15
|
|
16
16
|
&__result-wrapper {
|
@@ -3,8 +3,8 @@
|
|
3
3
|
"description.empty-result": "There is no {{activeSection}} for the request",
|
4
4
|
"action.result": "Result",
|
5
5
|
"action.stats": "Stats",
|
6
|
-
"action.schema": "
|
7
|
-
"action.explain-plan": "Explain
|
6
|
+
"action.schema": "Computation Graph",
|
7
|
+
"action.explain-plan": "Explain",
|
8
8
|
"action.json": "JSON",
|
9
9
|
"action.ast": "AST",
|
10
10
|
"action.copy": "Copy {{activeSection}}",
|
@@ -18,5 +18,9 @@
|
|
18
18
|
"text_download_description": "SVG",
|
19
19
|
"text_diagnostics": "Download Diagnostics",
|
20
20
|
"text_diagnostics_description": "JSON",
|
21
|
-
"text_error-plan-svg": "Error: {{error}}"
|
21
|
+
"text_error-plan-svg": "Error: {{error}}",
|
22
|
+
"error.title": "Query Failed",
|
23
|
+
"error.description": "An error occurred, please see the Result tab for details",
|
24
|
+
"stopped.title": "Query stopped",
|
25
|
+
"stopped.description": "Query was stopped"
|
22
26
|
}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
declare const _default: (key: "trace" | "description.graph-is-not-supported" | "description.empty-result" | "action.result" | "action.stats" | "action.schema" | "action.explain-plan" | "action.json" | "action.ast" | "action.copy" | "title.truncated" | "title.result" | "tooltip_actions" | "text_open-execution-plan" | "text_open-execution-plan_description" | "text_download" | "text_download_description" | "text_diagnostics" | "text_diagnostics_description" | "text_error-plan-svg", params?: import("@gravity-ui/i18n").Params) => string;
|
1
|
+
declare const _default: (key: "trace" | "error.title" | "description.graph-is-not-supported" | "description.empty-result" | "action.result" | "action.stats" | "action.schema" | "action.explain-plan" | "action.json" | "action.ast" | "action.copy" | "title.truncated" | "title.result" | "tooltip_actions" | "text_open-execution-plan" | "text_open-execution-plan_description" | "text_download" | "text_download_description" | "text_diagnostics" | "text_diagnostics_description" | "text_error-plan-svg" | "error.description" | "stopped.title" | "stopped.description", params?: import("@gravity-ui/i18n").Params) => string;
|
2
2
|
export default _default;
|
@@ -8,6 +8,6 @@ const b = cn('ydb-query-settings-banner');
|
|
8
8
|
import './QuerySettingsBanner.scss';
|
9
9
|
export function QuerySettingsBanner() {
|
10
10
|
const { isBannerShown, changedLastExecutionSettingsDescriptions, closeBanner } = useChangedQuerySettings();
|
11
|
-
return isBannerShown ? (_jsx(Alert, { className: b(), theme: "info", align: "baseline", message: _jsx(QuerySettingsDescription, { prefix: i18n('banner.query-settings.message'), querySettings: changedLastExecutionSettingsDescriptions }), onClose: closeBanner })) : null;
|
11
|
+
return isBannerShown ? (_jsx(Alert, { className: b(), theme: "info", align: "baseline", style: { paddingTop: 11, paddingBottom: 11 }, message: _jsx(QuerySettingsDescription, { prefix: i18n('banner.query-settings.message'), querySettings: changedLastExecutionSettingsDescriptions }), onClose: closeBanner })) : null;
|
12
12
|
}
|
13
13
|
//# sourceMappingURL=QuerySettingsBanner.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QuerySettingsBanner.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAExC,OAAO,wBAAwB,MAAM,0EAA0E,CAAC;AAChH,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,uBAAuB,EAAC,MAAM,iDAAiD,CAAC;AACxF,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAE1C,OAAO,4BAA4B,CAAC;AAEpC,MAAM,UAAU,mBAAmB;IAC/B,MAAM,EAAC,aAAa,EAAE,wCAAwC,EAAE,WAAW,EAAC,GACxE,uBAAuB,EAAE,CAAC;IAC9B,OAAO,aAAa,CAAC,CAAC,CAAC,CACnB,KAAC,KAAK,IACF,SAAS,EAAE,CAAC,EAAE,EACd,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,UAAU,EAChB,OAAO,EACH,KAAC,wBAAwB,IACrB,MAAM,EAAE,IAAI,CAAC,+BAA+B,CAAC,EAC7C,aAAa,EAAE,wCAAwC,GACzD,EAEN,OAAO,EAAE,WAAW,GACtB,CACL,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC"}
|
1
|
+
{"version":3,"file":"QuerySettingsBanner.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QuerySettingsBanner/QuerySettingsBanner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAExC,OAAO,wBAAwB,MAAM,0EAA0E,CAAC;AAChH,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,uBAAuB,EAAC,MAAM,iDAAiD,CAAC;AACxF,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,CAAC,GAAG,EAAE,CAAC,2BAA2B,CAAC,CAAC;AAE1C,OAAO,4BAA4B,CAAC;AAEpC,MAAM,UAAU,mBAAmB;IAC/B,MAAM,EAAC,aAAa,EAAE,wCAAwC,EAAE,WAAW,EAAC,GACxE,uBAAuB,EAAE,CAAC;IAC9B,OAAO,aAAa,CAAC,CAAC,CAAC,CACnB,KAAC,KAAK,IACF,SAAS,EAAE,CAAC,EAAE,EACd,KAAK,EAAC,MAAM,EACZ,KAAK,EAAC,UAAU,EAChB,KAAK,EAAE,EAAC,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAC,EAC1C,OAAO,EACH,KAAC,wBAAwB,IACrB,MAAM,EAAE,IAAI,CAAC,+BAA+B,CAAC,EAC7C,aAAa,EAAE,wCAAwC,GACzD,EAEN,OAAO,EAAE,WAAW,GACtB,CACL,CAAC,CAAC,CAAC,IAAI,CAAC;AACb,CAAC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import React from 'react';
|
3
|
+
import { Alert } from '@gravity-ui/uikit';
|
4
|
+
import { cn } from '../../../../utils/cn';
|
5
|
+
import { QUERY_STOPPED_BANNER_CLOSED_KEY } from '../../../../utils/constants';
|
6
|
+
import { useSetting } from '../../../../utils/hooks';
|
7
|
+
import i18n from '../i18n';
|
8
|
+
const b = cn('ydb-query-stopped-banner');
|
9
|
+
import './QueryStoppedBanner.scss';
|
10
|
+
export function QueryStoppedBanner() {
|
11
|
+
const [isQueryStoppedBannerClosed, setIsQueryStoppedBannerClosed] = useSetting(QUERY_STOPPED_BANNER_CLOSED_KEY);
|
12
|
+
const closeBanner = React.useCallback(() => {
|
13
|
+
setIsQueryStoppedBannerClosed(true);
|
14
|
+
}, [setIsQueryStoppedBannerClosed]);
|
15
|
+
return isQueryStoppedBannerClosed ? null : (_jsx(Alert, { className: b(), theme: "normal", align: "center", style: { paddingTop: 11, paddingBottom: 11 }, message: _jsx("div", { className: b('message'), children: i18n('banner.query-stopped.message') }), layout: "horizontal", actions: _jsx(Alert.Actions, { children: _jsx(Alert.Action, { view: "normal", onClick: closeBanner, children: i18n('banner.query-stopped.never-show') }) }) }));
|
16
|
+
}
|
17
|
+
//# sourceMappingURL=QueryStoppedBanner.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"QueryStoppedBanner.js","sourceRoot":"","sources":["../../../../../src/containers/Tenant/Query/QueryStoppedBanner/QueryStoppedBanner.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAC,EAAE,EAAC,MAAM,sBAAsB,CAAC;AACxC,OAAO,EAAC,+BAA+B,EAAC,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,CAAC;AAEzC,OAAO,2BAA2B,CAAC;AAEnC,MAAM,UAAU,kBAAkB;IAC9B,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAAG,UAAU,CAC1E,+BAA+B,CAClC,CAAC;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAEpC,OAAO,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACvC,KAAC,KAAK,IACF,SAAS,EAAE,CAAC,EAAE,EACd,KAAK,EAAC,QAAQ,EACd,KAAK,EAAC,QAAQ,EACd,KAAK,EAAE,EAAC,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAC,EAC1C,OAAO,EAAE,cAAK,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,YAAG,IAAI,CAAC,8BAA8B,CAAC,GAAO,EACnF,MAAM,EAAC,YAAY,EACnB,OAAO,EACH,KAAC,KAAK,CAAC,OAAO,cACV,KAAC,KAAK,CAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,WAAW,YAC3C,IAAI,CAAC,iCAAiC,CAAC,GAC7B,GACH,GAEtB,CACL,CAAC;AACN,CAAC"}
|