@ytsaurus/ui 1.9.0 → 1.10.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/README.md +0 -1
- package/build/cjs/shared/constants/settings-types.d.ts +7 -1
- package/build/cjs/shared/constants/settings-types.js.map +1 -1
- package/build/cjs/shared/constants/settings.d.ts +1 -0
- package/build/cjs/shared/constants/settings.js +1 -0
- package/build/cjs/shared/constants/settings.js.map +1 -1
- package/build/cjs/ui/components/Icon/Icon.d.ts +1 -0
- package/build/cjs/ui/components/Icon/importGravityIcons.d.ts +1 -0
- package/build/cjs/ui/components/Icon/importGravityIcons.js +18 -1
- package/build/cjs/ui/components/Icon/importGravityIcons.js.map +1 -1
- package/build/cjs/ui/containers/SettingsPanel/settings-description.js +1 -2
- package/build/cjs/ui/containers/SettingsPanel/settings-description.js.map +1 -1
- package/build/cjs/ui/hooks/use-prevent-unload.d.ts +3 -0
- package/build/cjs/ui/hooks/use-prevent-unload.js +25 -0
- package/build/cjs/ui/hooks/use-prevent-unload.js.map +1 -0
- package/build/cjs/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js +27 -13
- package/build/cjs/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js.map +1 -1
- package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.d.ts +1 -0
- package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -1
- package/build/cjs/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.d.ts +2 -0
- package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js +28 -0
- package/build/cjs/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js.map +1 -0
- package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +1 -7
- package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js +4 -34
- package/build/cjs/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js +5 -3
- package/build/cjs/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js +11 -11
- package/build/cjs/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js +3 -2
- package/build/cjs/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +4 -0
- package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js +14 -1
- package/build/cjs/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/query/actions.d.ts +1 -1
- package/build/cjs/ui/pages/query-tracker/module/query/actions.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/query/reducer.d.ts +1 -0
- package/build/cjs/ui/pages/query-tracker/module/query/reducer.js +6 -1
- package/build/cjs/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.d.ts +1 -0
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.js +4 -1
- package/build/cjs/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.d.ts +839 -0
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.js +12 -0
- package/build/cjs/ui/pages/query-tracker/module/settings/selector.js.map +1 -0
- package/build/cjs/ui/store/actions/settings/index.d.ts +3 -2
- package/build/cjs/ui/store/actions/settings/index.js +8 -2
- package/build/cjs/ui/store/actions/settings/index.js.map +1 -1
- package/build/cjs/ui/store/reducers/global/cluster-ui-config.d.ts +0 -1
- package/build/cjs/ui/store/reducers/global/cluster-ui-config.js.map +1 -1
- package/build/cjs/ui/store/selectors/global/index.d.ts +0 -840
- package/build/cjs/ui/store/selectors/global/index.js +2 -8
- package/build/cjs/ui/store/selectors/global/index.js.map +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/table.d.ts +1 -1
- package/build/cjs/ui/store/selectors/navigation/content/table.js +2 -3
- package/build/cjs/ui/store/selectors/navigation/content/table.js.map +1 -1
- package/build/cjs/ui/store/selectors/settings-base.d.ts +3 -0
- package/build/cjs/ui/store/selectors/settings-base.js +10 -0
- package/build/cjs/ui/store/selectors/settings-base.js.map +1 -0
- package/build/esm/shared/constants/settings-types.d.ts +7 -1
- package/build/esm/shared/constants/settings-types.js.map +1 -1
- package/build/esm/shared/constants/settings.d.ts +1 -0
- package/build/esm/shared/constants/settings.js +2 -1
- package/build/esm/shared/constants/settings.js.map +1 -1
- package/build/esm/ui/components/Icon/Icon.d.ts +1 -0
- package/build/esm/ui/components/Icon/importGravityIcons.d.ts +1 -0
- package/build/esm/ui/components/Icon/importGravityIcons.js +18 -1
- package/build/esm/ui/components/Icon/importGravityIcons.js.map +1 -1
- package/build/esm/ui/containers/SettingsPanel/settings-description.js +2 -3
- package/build/esm/ui/containers/SettingsPanel/settings-description.js.map +1 -1
- package/build/esm/ui/hooks/use-prevent-unload.d.ts +3 -0
- package/build/esm/ui/hooks/use-prevent-unload.js +19 -0
- package/build/esm/ui/hooks/use-prevent-unload.js.map +1 -0
- package/build/esm/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js +28 -13
- package/build/esm/ui/pages/components/tabs/node/NodeLocations/NodeLocations.js.map +1 -1
- package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.d.ts +1 -0
- package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js +12 -1
- package/build/esm/ui/pages/components/tabs/nodes/NodeCard/NodeCard.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.d.ts +2 -0
- package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js +21 -0
- package/build/esm/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.js.map +1 -0
- package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.d.ts +1 -7
- package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js +4 -34
- package/build/esm/ui/pages/query-tracker/QueryEditor/QueryEditor.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js +5 -3
- package/build/esm/ui/pages/query-tracker/QueryResults/hooks/useQueryResultTabs.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js +11 -11
- package/build/esm/ui/pages/query-tracker/QueryTracker/QueryTracker.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js +4 -2
- package/build/esm/ui/pages/query-tracker/QueryTrackerTopRow/index.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.d.ts +4 -0
- package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js +13 -0
- package/build/esm/ui/pages/query-tracker/hooks/QueriesList/index.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/query/actions.d.ts +1 -1
- package/build/esm/ui/pages/query-tracker/module/query/actions.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/query/reducer.d.ts +1 -0
- package/build/esm/ui/pages/query-tracker/module/query/reducer.js +6 -1
- package/build/esm/ui/pages/query-tracker/module/query/reducer.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/query/selectors.d.ts +1 -0
- package/build/esm/ui/pages/query-tracker/module/query/selectors.js +3 -0
- package/build/esm/ui/pages/query-tracker/module/query/selectors.js.map +1 -1
- package/build/esm/ui/pages/query-tracker/module/settings/selector.d.ts +839 -0
- package/build/esm/ui/pages/query-tracker/module/settings/selector.js +6 -0
- package/build/esm/ui/pages/query-tracker/module/settings/selector.js.map +1 -0
- package/build/esm/ui/store/actions/settings/index.d.ts +3 -2
- package/build/esm/ui/store/actions/settings/index.js +7 -2
- package/build/esm/ui/store/actions/settings/index.js.map +1 -1
- package/build/esm/ui/store/reducers/global/cluster-ui-config.d.ts +0 -1
- package/build/esm/ui/store/reducers/global/cluster-ui-config.js.map +1 -1
- package/build/esm/ui/store/selectors/global/index.d.ts +0 -840
- package/build/esm/ui/store/selectors/global/index.js +0 -6
- package/build/esm/ui/store/selectors/global/index.js.map +1 -1
- package/build/esm/ui/store/selectors/navigation/content/table.d.ts +1 -1
- package/build/esm/ui/store/selectors/navigation/content/table.js +2 -3
- package/build/esm/ui/store/selectors/navigation/content/table.js.map +1 -1
- package/build/esm/ui/store/selectors/settings-base.d.ts +3 -0
- package/build/esm/ui/store/selectors/settings-base.js +4 -0
- package/build/esm/ui/store/selectors/settings-base.js.map +1 -0
- package/dist/public/build/assets-manifest.json +22 -22
- package/dist/public/build/css/{225.b92ccff1.chunk.css → 150.81172525.chunk.css} +1 -1
- package/dist/public/build/css/{225.b92ccff1.chunk.css.map → 150.81172525.chunk.css.map} +1 -1
- package/dist/public/build/css/{622.fd3f4ea8.chunk.css → 869.8f91d9da.chunk.css} +1 -1
- package/dist/public/build/css/{622.fd3f4ea8.chunk.css.map → 869.8f91d9da.chunk.css.map} +1 -1
- package/dist/public/build/css/{315.6f50c50a.chunk.css → 934.adfa96ce.chunk.css} +1 -1
- package/dist/public/build/css/{315.6f50c50a.chunk.css.map → 934.adfa96ce.chunk.css.map} +1 -1
- package/dist/public/build/js/150.911decab.chunk.js +2 -0
- package/dist/public/build/js/150.911decab.chunk.js.map +1 -0
- package/dist/public/build/js/869.3cf341b5.chunk.js +3 -0
- package/dist/public/build/js/869.3cf341b5.chunk.js.map +1 -0
- package/dist/public/build/js/925.ef88f4d2.chunk.js +2 -0
- package/dist/public/build/js/{925.88573496.chunk.js.map → 925.ef88f4d2.chunk.js.map} +1 -1
- package/dist/public/build/js/934.fb5e730e.chunk.js +2 -0
- package/dist/public/build/js/934.fb5e730e.chunk.js.map +1 -0
- package/dist/public/build/js/main.ff54db3c.js +3 -0
- package/dist/public/build/js/{main.4662be9b.js.map → main.ff54db3c.js.map} +1 -1
- package/dist/public/build/js/{runtime.f4dc30b7.js → runtime.fea34b4d.js} +2 -2
- package/dist/public/build/js/{runtime.f4dc30b7.js.map → runtime.fea34b4d.js.map} +1 -1
- package/dist/public/build/manifest.json +18 -18
- package/dist/shared/constants/settings-types.d.ts +7 -1
- package/dist/shared/constants/settings.d.ts +1 -0
- package/dist/shared/constants/settings.js +1 -0
- package/package.json +2 -2
- package/dist/public/build/js/225.1200e703.chunk.js +0 -2
- package/dist/public/build/js/225.1200e703.chunk.js.map +0 -1
- package/dist/public/build/js/315.332b1ef1.chunk.js +0 -2
- package/dist/public/build/js/315.332b1ef1.chunk.js.map +0 -1
- package/dist/public/build/js/622.137ced51.chunk.js +0 -3
- package/dist/public/build/js/622.137ced51.chunk.js.map +0 -1
- package/dist/public/build/js/925.88573496.chunk.js +0 -2
- package/dist/public/build/js/main.4662be9b.js +0 -3
- /package/dist/public/build/js/{622.137ced51.chunk.js.LICENSE.txt → 869.3cf341b5.chunk.js.LICENSE.txt} +0 -0
- /package/dist/public/build/js/{main.4662be9b.js.LICENSE.txt → main.ff54db3c.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["React","Button","Icon","useQueriesListSidebarToggle","jsx","_jsx","QueriesListSidebarToggleButton","_useQueriesListSideba","isQueriesListSidebarVisible","toggleQueriesListSideBarToggle","view","size","title","concat","onClick","children","awesome"],"sources":["QueriesListSidebarToggleButton.tsx"],"sourcesContent":["import React from 'react';\nimport {Button} from '@gravity-ui/uikit';\nimport Icon from '../../../components/Icon/Icon';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\n\nexport function QueriesListSidebarToggleButton() {\n const {isQueriesListSidebarVisible, toggleQueriesListSideBarToggle} =\n useQueriesListSidebarToggle();\n\n return (\n <Button\n view=\"outlined\"\n size=\"l\"\n title={`${isQueriesListSidebarVisible ? 'Hide' : 'Show'} queries list`}\n onClick={toggleQueriesListSideBarToggle}\n >\n <Icon awesome=\"layout-side-content\" size={16} />\n </Button>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAQC,MAAM,QAAO,mBAAmB;AACxC,OAAOC,IAAI,MAAM,+BAA+B;AAChD,SAAQC,2BAA2B,QAAO,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjE,OAAO,SAASC,8BAA8BA,CAAA,EAAG;EAC7C,IAAAC,qBAAA,GACIJ,2BAA2B,CAAC,CAAC;IAD1BK,2BAA2B,GAAAD,qBAAA,CAA3BC,2BAA2B;IAAEC,8BAA8B,GAAAF,qBAAA,CAA9BE,8BAA8B;EAGlE,oBACIJ,IAAA,CAACJ,MAAM;IACHS,IAAI,EAAC,UAAU;IACfC,IAAI,EAAC,GAAG;IACRC,KAAK,KAAAC,MAAA,CAAKL,2BAA2B,GAAG,MAAM,GAAG,MAAM,kBAAgB;IACvEM,OAAO,EAAEL,8BAA+B;IAAAM,QAAA,eAExCV,IAAA,CAACH,IAAI;MAACc,OAAO,EAAC,qBAAqB;MAACL,IAAI,EAAE;IAAG,CAAE;EAAC,CAC5C,CAAC;AAEjB"}
|
@@ -1,11 +1,5 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import './QueryEditor.scss';
|
3
|
-
|
4
|
-
visible: boolean;
|
5
|
-
setVisibility: (visible: boolean) => void;
|
6
|
-
};
|
7
|
-
export default function QueryEditor({ onStartQuery, listVisible, }: {
|
3
|
+
export default function QueryEditor({ onStartQuery, }: {
|
8
4
|
onStartQuery?: (queryId: string) => boolean | void;
|
9
|
-
listVisible?: QueryListVisible;
|
10
5
|
}): React.JSX.Element;
|
11
|
-
export {};
|
@@ -46,23 +46,6 @@ LayoutFooterIcon.defaultProps = {
|
|
46
46
|
fill: "none",
|
47
47
|
viewBox: "0 0 16 16"
|
48
48
|
};
|
49
|
-
var LayoutSideContentIcon = function LayoutSideContentIcon(props) {
|
50
|
-
return /*#__PURE__*/_jsx("svg", _objectSpread(_objectSpread({}, props), {}, {
|
51
|
-
children: /*#__PURE__*/_jsx("path", {
|
52
|
-
fill: "currentColor",
|
53
|
-
fillRule: "evenodd",
|
54
|
-
d: "M6 3.5h6A1.5 1.5 0 0 1 13.5 5v6a1.5 1.5 0 0 1-1.5 1.5H6v-9Zm-1.5 0H4A1.5 1.5 0 0 0 2.5 5v6A1.5 1.5 0 0 0 4 12.5h.5v-9ZM1 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V5Z",
|
55
|
-
clipRule: "evenodd"
|
56
|
-
})
|
57
|
-
}));
|
58
|
-
};
|
59
|
-
LayoutSideContentIcon.defaultProps = {
|
60
|
-
xmlns: "http://www.w3.org/2000/svg",
|
61
|
-
width: "16",
|
62
|
-
height: "16",
|
63
|
-
fill: "none",
|
64
|
-
viewBox: "0 0 16 16"
|
65
|
-
};
|
66
49
|
var XmarkIcon = function XmarkIcon(props) {
|
67
50
|
return /*#__PURE__*/_jsx("svg", _objectSpread(_objectSpread({}, props), {}, {
|
68
51
|
children: /*#__PURE__*/_jsx("path", {
|
@@ -189,24 +172,13 @@ var QueryEditorView = /*#__PURE__*/React.memo(function QueryEditorView(_ref) {
|
|
189
172
|
var ResultView = /*#__PURE__*/React.memo(function ResultView(_ref2) {
|
190
173
|
var query = _ref2.query,
|
191
174
|
resultViewMode = _ref2.resultViewMode,
|
192
|
-
setResultViewMode = _ref2.setResultViewMode
|
193
|
-
listVisible = _ref2.listVisible;
|
175
|
+
setResultViewMode = _ref2.setResultViewMode;
|
194
176
|
return /*#__PURE__*/_jsx(QueryResults, {
|
195
177
|
query: query,
|
196
178
|
className: b('results'),
|
197
179
|
minimized: resultViewMode === 'minimized',
|
198
180
|
toolbar: /*#__PURE__*/_jsxs(_Fragment, {
|
199
|
-
children: [
|
200
|
-
className: b('meta-action'),
|
201
|
-
view: listVisible.visible ? 'flat' : 'outlined',
|
202
|
-
onClick: function onClick() {
|
203
|
-
return listVisible.setVisibility(!listVisible.visible);
|
204
|
-
},
|
205
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
206
|
-
data: LayoutSideContentIcon,
|
207
|
-
size: 16
|
208
|
-
})
|
209
|
-
}), resultViewMode === 'split' ? /*#__PURE__*/_jsx(Button, {
|
181
|
+
children: [resultViewMode === 'split' ? /*#__PURE__*/_jsx(Button, {
|
210
182
|
className: b('meta-action'),
|
211
183
|
view: "flat",
|
212
184
|
onClick: function onClick() {
|
@@ -241,8 +213,7 @@ var ResultView = /*#__PURE__*/React.memo(function ResultView(_ref2) {
|
|
241
213
|
});
|
242
214
|
});
|
243
215
|
export default function QueryEditor(_ref3) {
|
244
|
-
var onStartQuery = _ref3.onStartQuery
|
245
|
-
listVisible = _ref3.listVisible;
|
216
|
+
var onStartQuery = _ref3.onStartQuery;
|
246
217
|
var query = useCurrentQuery();
|
247
218
|
var _useState = useState('minimized'),
|
248
219
|
_useState2 = _slicedToArray(_useState, 2),
|
@@ -273,8 +244,7 @@ export default function QueryEditor(_ref3) {
|
|
273
244
|
}), (query === null || query === void 0 ? void 0 : query.id) && isExecuted && /*#__PURE__*/_jsx(ResultView, {
|
274
245
|
query: query,
|
275
246
|
setResultViewMode: setResultViewMode,
|
276
|
-
resultViewMode: resultViewMode
|
277
|
-
listVisible: listVisible
|
247
|
+
resultViewMode: resultViewMode
|
278
248
|
})]
|
279
249
|
})]
|
280
250
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","MonacoEditor","block","monaco","Button","Icon","Loader","playIcon","useDispatch","useSelector","getQuery","getQueryEditorErrors","getQueryEngine","getQueryText","isQueryExecuted","isQueryLoading","runQuery","updateQueryDraft","FlexSplitPane","QueryResults","SquareIcon","props","_jsx","_objectSpread","children","fill","fillRule","d","clipRule","defaultProps","xmlns","width","height","viewBox","LayoutFooterIcon","LayoutSideContentIcon","XmarkIcon","useCurrentQuery","forEach_","uniqBy_","jsx","jsxs","_jsxs","Fragment","_Fragment","b","QueryEditorView","memo","_ref","_editorRef$current","onStartQuery","editorRef","activeQuery","text","engine","editorErrors","decorationsCollection","undefined","model","current","getModel","_editorRef$current2","_editorRef$current3","focus","setScrollTop","id","updateErrorMarkers","_decorationsCollectio","_editorRef$current4","markers","decorations","error","attributes","message","range","Range","start_position","row","column","end_position","startLineNumber","startColumn","endLineNumber","endColumn","marker","severity","MarkerSeverity","Error","push","line","options","isWholeLine","className","editor","setModelMarkers","clear","createDecorationsCollection","monacoConfig","fontSize","language","renderWhitespace","minimap","enabled","dispatch","upadteQueryText","query","runQueryCallback","value","onChange","view","onClick","data","ResultView","_ref2","resultViewMode","setResultViewMode","listVisible","minimized","toolbar","visible","setVisibility","size","QueryEditor","_ref3","_useState","_useState2","_slicedToArray","_useState3","_useState4","partSizes","setSize","isExecuted","isLoading","_defineProperty","direction","VERTICAL","onResizeEnd","getInitialSizes"],"sources":["QueryEditor.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport MonacoEditor, {MonacoEditorConfig} from '../../../components/MonacoEditor';\nimport block from 'bem-cn-lite';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\nimport {Button, Icon, Loader} from '@gravity-ui/uikit';\n\nimport playIcon from '../../../../../img/svg/play.svg';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {\n getQuery,\n getQueryEditorErrors,\n getQueryEngine,\n getQueryText,\n isQueryExecuted,\n isQueryLoading,\n} from '../module/query/selectors';\nimport {runQuery, updateQueryDraft} from '../module/query/actions';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {QueryResults} from '../QueryResults';\nimport SquareIcon from '@gravity-ui/icons/svgs/square.svg';\nimport LayoutFooterIcon from '@gravity-ui/icons/svgs/layout-footer.svg';\n\nimport LayoutSideContentIcon from '@gravity-ui/icons/svgs/layout-side-content.svg';\nimport XmarkIcon from '@gravity-ui/icons/svgs/xmark.svg';\n\nimport './QueryEditor.scss';\nimport {QueryItem} from '../module/api';\nimport {useCurrentQuery} from '../QueryResults/hooks/useCurrentQuery';\nimport forEach_ from 'lodash/forEach';\nimport uniqBy_ from 'lodash/uniqBy';\n\nconst b = block('query-container');\n\nconst QueryEditorView = React.memo(function QueryEditorView({\n onStartQuery,\n}: {\n onStartQuery?: (queryId: string) => boolean | void;\n}) {\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const activeQuery = useSelector(getQuery);\n const text = useSelector(getQueryText);\n const engine = useSelector(getQueryEngine);\n const editorErrors = useSelector(getQueryEditorErrors);\n const decorationsCollection = useRef<monaco.editor.IEditorDecorationsCollection | undefined>(\n undefined,\n );\n const model = editorRef.current?.getModel();\n\n useEffect(() => {\n editorRef.current?.focus();\n editorRef.current?.setScrollTop(0);\n }, [editorRef.current, activeQuery?.id]);\n\n useEffect(\n function updateErrorMarkers() {\n if (model) {\n const markers: monaco.editor.IMarkerData[] = [];\n const decorations: monaco.editor.IModelDeltaDecoration[] = [];\n forEach_(editorErrors, (error) => {\n const {attributes, message} = error;\n const range = new monaco.Range(\n attributes.start_position.row,\n attributes.start_position.column,\n attributes.end_position.row,\n attributes.end_position.column,\n );\n const {startLineNumber, startColumn, endLineNumber, endColumn} = range;\n const marker: monaco.editor.IMarkerData = {\n message: message,\n severity: monaco.MarkerSeverity.Error,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n };\n markers.push(marker);\n const line = {\n range: range,\n options: {\n isWholeLine: true,\n className: b('error-line'),\n },\n };\n decorations.push(line);\n });\n monaco.editor.setModelMarkers(model, 'query-tracker', markers);\n decorationsCollection.current?.clear();\n decorationsCollection.current = editorRef.current?.createDecorationsCollection(\n uniqBy_(decorations, (d) => d.range.startLineNumber),\n );\n }\n },\n [editorErrors, model],\n );\n\n const monacoConfig = useMemo<MonacoEditorConfig>(() => {\n return {\n fontSize: 14,\n language: engine,\n renderWhitespace: 'boundary',\n minimap: {\n enabled: true,\n },\n };\n }, [engine]);\n const dispatch = useDispatch();\n const upadteQueryText = useCallback(\n function (text: string) {\n dispatch(updateQueryDraft({query: text, error: undefined}));\n },\n [dispatch],\n );\n\n const runQueryCallback = useCallback(\n function () {\n dispatch(runQuery(onStartQuery));\n },\n [dispatch, onStartQuery],\n );\n return (\n <div className={b('query')}>\n <MonacoEditor\n editorRef={editorRef}\n value={text || ''}\n language={'yql'}\n className={b('editor')}\n onChange={upadteQueryText}\n monacoConfig={monacoConfig}\n />\n <div className={b('actions')}>\n <div className=\"query-run-action\">\n <Button\n className=\"query-run-action-button\"\n view=\"action\"\n onClick={runQueryCallback}\n >\n <Icon data={playIcon} />\n Run\n </Button>\n </div>\n </div>\n </div>\n );\n});\n\nconst ResultView = React.memo(function ResultView({\n query,\n resultViewMode,\n setResultViewMode,\n listVisible,\n}: {\n query: QueryItem;\n resultViewMode: ResultMode;\n setResultViewMode: (v: ResultMode) => void;\n listVisible?: QueryListVisible;\n}) {\n return (\n <QueryResults\n query={query}\n className={b('results')}\n minimized={resultViewMode === 'minimized'}\n toolbar={\n <>\n {listVisible && (\n <Button\n className={b('meta-action')}\n view={listVisible.visible ? 'flat' : 'outlined'}\n onClick={() => listVisible.setVisibility(!listVisible.visible)}\n >\n <Icon data={LayoutSideContentIcon} size={16} />\n </Button>\n )}\n {resultViewMode === 'split' ? (\n <Button\n className={b('meta-action')}\n view=\"flat\"\n onClick={() => setResultViewMode('full')}\n >\n <Icon data={SquareIcon} size={16} />\n </Button>\n ) : (\n <Button\n className={b('meta-action')}\n view=\"flat\"\n onClick={() => setResultViewMode('split')}\n >\n <Icon data={LayoutFooterIcon} size={16} />\n </Button>\n )}\n {resultViewMode !== 'minimized' && (\n <Button\n className={b('meta-action')}\n view=\"flat\"\n onClick={() => setResultViewMode('minimized')}\n >\n <Icon data={XmarkIcon} size={16} />\n </Button>\n )}\n </>\n }\n />\n );\n});\n\ntype ResultMode = 'full' | 'minimized' | 'split';\ntype QueryListVisible = {\n visible: boolean;\n setVisibility: (visible: boolean) => void;\n};\nexport default function QueryEditor({\n onStartQuery,\n listVisible,\n}: {\n onStartQuery?: (queryId: string) => boolean | void;\n listVisible?: QueryListVisible;\n}) {\n const query = useCurrentQuery();\n\n const [resultViewMode, setResultViewMode] = useState<ResultMode>('minimized');\n\n const [partSizes, setSize] = useState([50, 50]);\n\n useEffect(() => {\n setResultViewMode('split');\n }, [query?.id]);\n\n const isExecuted = useSelector(isQueryExecuted);\n const isLoading = useSelector(isQueryLoading);\n\n return (\n <>\n {isLoading && (\n <div className={b('loading')}>\n <Loader />\n </div>\n )}\n <FlexSplitPane\n className={b({[resultViewMode]: true})}\n direction={FlexSplitPane.VERTICAL}\n onResizeEnd={setSize}\n getInitialSizes={() => partSizes}\n >\n {resultViewMode !== 'full' && <QueryEditorView onStartQuery={onStartQuery} />}\n\n {query?.id && isExecuted && (\n <ResultView\n query={query}\n setResultViewMode={setResultViewMode}\n resultViewMode={resultViewMode}\n listVisible={listVisible}\n />\n )}\n </FlexSplitPane>\n </>\n );\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","MonacoEditor","block","monaco","Button","Icon","Loader","playIcon","useDispatch","useSelector","getQuery","getQueryEditorErrors","getQueryEngine","getQueryText","isQueryExecuted","isQueryLoading","runQuery","updateQueryDraft","FlexSplitPane","QueryResults","SquareIcon","props","_jsx","_objectSpread","children","fill","fillRule","d","clipRule","defaultProps","xmlns","width","height","viewBox","LayoutFooterIcon","XmarkIcon","useCurrentQuery","forEach_","uniqBy_","jsx","jsxs","_jsxs","Fragment","_Fragment","b","QueryEditorView","memo","_ref","_editorRef$current","onStartQuery","editorRef","activeQuery","text","engine","editorErrors","decorationsCollection","undefined","model","current","getModel","_editorRef$current2","_editorRef$current3","focus","setScrollTop","id","updateErrorMarkers","_decorationsCollectio","_editorRef$current4","markers","decorations","error","attributes","message","range","Range","start_position","row","column","end_position","startLineNumber","startColumn","endLineNumber","endColumn","marker","severity","MarkerSeverity","Error","push","line","options","isWholeLine","className","editor","setModelMarkers","clear","createDecorationsCollection","monacoConfig","fontSize","language","renderWhitespace","minimap","enabled","dispatch","upadteQueryText","query","runQueryCallback","value","onChange","view","onClick","data","ResultView","_ref2","resultViewMode","setResultViewMode","minimized","toolbar","size","QueryEditor","_ref3","_useState","_useState2","_slicedToArray","_useState3","_useState4","partSizes","setSize","isExecuted","isLoading","_defineProperty","direction","VERTICAL","onResizeEnd","getInitialSizes"],"sources":["QueryEditor.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport MonacoEditor, {MonacoEditorConfig} from '../../../components/MonacoEditor';\nimport block from 'bem-cn-lite';\nimport * as monaco from 'monaco-editor/esm/vs/editor/editor.api';\nimport {Button, Icon, Loader} from '@gravity-ui/uikit';\n\nimport playIcon from '../../../../../img/svg/play.svg';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {\n getQuery,\n getQueryEditorErrors,\n getQueryEngine,\n getQueryText,\n isQueryExecuted,\n isQueryLoading,\n} from '../module/query/selectors';\nimport {runQuery, updateQueryDraft} from '../module/query/actions';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {QueryResults} from '../QueryResults';\nimport SquareIcon from '@gravity-ui/icons/svgs/square.svg';\nimport LayoutFooterIcon from '@gravity-ui/icons/svgs/layout-footer.svg';\n\nimport XmarkIcon from '@gravity-ui/icons/svgs/xmark.svg';\n\nimport './QueryEditor.scss';\nimport {QueryItem} from '../module/api';\nimport {useCurrentQuery} from '../QueryResults/hooks/useCurrentQuery';\nimport forEach_ from 'lodash/forEach';\nimport uniqBy_ from 'lodash/uniqBy';\n\nconst b = block('query-container');\n\nconst QueryEditorView = React.memo(function QueryEditorView({\n onStartQuery,\n}: {\n onStartQuery?: (queryId: string) => boolean | void;\n}) {\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const activeQuery = useSelector(getQuery);\n const text = useSelector(getQueryText);\n const engine = useSelector(getQueryEngine);\n const editorErrors = useSelector(getQueryEditorErrors);\n const decorationsCollection = useRef<monaco.editor.IEditorDecorationsCollection | undefined>(\n undefined,\n );\n const model = editorRef.current?.getModel();\n\n useEffect(() => {\n editorRef.current?.focus();\n editorRef.current?.setScrollTop(0);\n }, [editorRef.current, activeQuery?.id]);\n\n useEffect(\n function updateErrorMarkers() {\n if (model) {\n const markers: monaco.editor.IMarkerData[] = [];\n const decorations: monaco.editor.IModelDeltaDecoration[] = [];\n forEach_(editorErrors, (error) => {\n const {attributes, message} = error;\n const range = new monaco.Range(\n attributes.start_position.row,\n attributes.start_position.column,\n attributes.end_position.row,\n attributes.end_position.column,\n );\n const {startLineNumber, startColumn, endLineNumber, endColumn} = range;\n const marker: monaco.editor.IMarkerData = {\n message: message,\n severity: monaco.MarkerSeverity.Error,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n };\n markers.push(marker);\n const line = {\n range: range,\n options: {\n isWholeLine: true,\n className: b('error-line'),\n },\n };\n decorations.push(line);\n });\n monaco.editor.setModelMarkers(model, 'query-tracker', markers);\n decorationsCollection.current?.clear();\n decorationsCollection.current = editorRef.current?.createDecorationsCollection(\n uniqBy_(decorations, (d) => d.range.startLineNumber),\n );\n }\n },\n [editorErrors, model],\n );\n\n const monacoConfig = useMemo<MonacoEditorConfig>(() => {\n return {\n fontSize: 14,\n language: engine,\n renderWhitespace: 'boundary',\n minimap: {\n enabled: true,\n },\n };\n }, [engine]);\n const dispatch = useDispatch();\n const upadteQueryText = useCallback(\n function (text: string) {\n dispatch(updateQueryDraft({query: text, error: undefined}));\n },\n [dispatch],\n );\n\n const runQueryCallback = useCallback(\n function () {\n dispatch(runQuery(onStartQuery));\n },\n [dispatch, onStartQuery],\n );\n return (\n <div className={b('query')}>\n <MonacoEditor\n editorRef={editorRef}\n value={text || ''}\n language={'yql'}\n className={b('editor')}\n onChange={upadteQueryText}\n monacoConfig={monacoConfig}\n />\n <div className={b('actions')}>\n <div className=\"query-run-action\">\n <Button\n className=\"query-run-action-button\"\n view=\"action\"\n onClick={runQueryCallback}\n >\n <Icon data={playIcon} />\n Run\n </Button>\n </div>\n </div>\n </div>\n );\n});\n\nconst ResultView = React.memo(function ResultView({\n query,\n resultViewMode,\n setResultViewMode,\n}: {\n query: QueryItem;\n resultViewMode: ResultMode;\n setResultViewMode: (v: ResultMode) => void;\n}) {\n return (\n <QueryResults\n query={query}\n className={b('results')}\n minimized={resultViewMode === 'minimized'}\n toolbar={\n <>\n {resultViewMode === 'split' ? (\n <Button\n className={b('meta-action')}\n view=\"flat\"\n onClick={() => setResultViewMode('full')}\n >\n <Icon data={SquareIcon} size={16} />\n </Button>\n ) : (\n <Button\n className={b('meta-action')}\n view=\"flat\"\n onClick={() => setResultViewMode('split')}\n >\n <Icon data={LayoutFooterIcon} size={16} />\n </Button>\n )}\n {resultViewMode !== 'minimized' && (\n <Button\n className={b('meta-action')}\n view=\"flat\"\n onClick={() => setResultViewMode('minimized')}\n >\n <Icon data={XmarkIcon} size={16} />\n </Button>\n )}\n </>\n }\n />\n );\n});\n\ntype ResultMode = 'full' | 'minimized' | 'split';\nexport default function QueryEditor({\n onStartQuery,\n}: {\n onStartQuery?: (queryId: string) => boolean | void;\n}) {\n const query = useCurrentQuery();\n\n const [resultViewMode, setResultViewMode] = useState<ResultMode>('minimized');\n\n const [partSizes, setSize] = useState([50, 50]);\n\n useEffect(() => {\n setResultViewMode('split');\n }, [query?.id]);\n\n const isExecuted = useSelector(isQueryExecuted);\n const isLoading = useSelector(isQueryLoading);\n\n return (\n <>\n {isLoading && (\n <div className={b('loading')}>\n <Loader />\n </div>\n )}\n <FlexSplitPane\n className={b({[resultViewMode]: true})}\n direction={FlexSplitPane.VERTICAL}\n onResizeEnd={setSize}\n getInitialSizes={() => partSizes}\n >\n {resultViewMode !== 'full' && <QueryEditorView onStartQuery={onStartQuery} />}\n\n {query?.id && isExecuted && (\n <ResultView\n query={query}\n setResultViewMode={setResultViewMode}\n resultViewMode={resultViewMode}\n />\n )}\n </FlexSplitPane>\n </>\n );\n}\n"],"mappings":"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"}
|
@@ -65,6 +65,7 @@ export var useQueryResultTabs = function useQueryResultTabs(query) {
|
|
65
65
|
}
|
66
66
|
}, [activeResultParams]);
|
67
67
|
var tabs = useMemo(function () {
|
68
|
+
var _query$progress, _query$progress2;
|
68
69
|
if (!query) {
|
69
70
|
return [];
|
70
71
|
}
|
@@ -72,7 +73,8 @@ export var useQueryResultTabs = function useQueryResultTabs(query) {
|
|
72
73
|
id: QueryResultTab.META,
|
73
74
|
title: 'Meta'
|
74
75
|
}];
|
75
|
-
|
76
|
+
var emptyProgress = !((_query$progress = query.progress) !== null && _query$progress !== void 0 && (_query$progress = _query$progress.yql_plan) !== null && _query$progress !== void 0 && _query$progress.Basic.nodes.length) && !((_query$progress2 = query.progress) !== null && _query$progress2 !== void 0 && (_query$progress2 = _query$progress2.yql_plan) !== null && _query$progress2 !== void 0 && (_query$progress2 = _query$progress2.Basic.links) !== null && _query$progress2 !== void 0 && _query$progress2.length);
|
77
|
+
if (query.progress && !emptyProgress) {
|
76
78
|
items.unshift({
|
77
79
|
id: QueryResultTab.PROGRESS,
|
78
80
|
title: 'Progress'
|
@@ -84,8 +86,8 @@ export var useQueryResultTabs = function useQueryResultTabs(query) {
|
|
84
86
|
title: 'Error'
|
85
87
|
});
|
86
88
|
} else if (query.state === QueryStatus.COMPLETED) {
|
87
|
-
var _query$
|
88
|
-
if ((_query$
|
89
|
+
var _query$progress3;
|
90
|
+
if ((_query$progress3 = query.progress) !== null && _query$progress3 !== void 0 && _query$progress3.yql_statistics) {
|
89
91
|
items.unshift({
|
90
92
|
id: QueryResultTab.STATISTIC,
|
91
93
|
title: 'Statistics'
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["times_","has_","find_","CompletedStates","QueryStatus","QueryStatusIcon","React","useCallback","useEffect","useMemo","useState","useDispatch","useSelector","loadQueryResultsErrors","getQueryResults","jsx","_jsx","QueryResultTab","isResultTab","tabId","startsWith","createResultTabId","index","concat","parseResultTabIndex","parts","split","parseInt","undefined","useQueryResultTabs","query","_useState","META","_useState2","_slicedToArray","tab","setTab","_useState3","_useState4","activeResultParams","setResultParams","dispatch","resultsMeta","state","id","activeTabId","RESULT","resultIndex","setActiveTab","queryId","tabs","items","title","progress","unshift","PROGRESS","FAILED","ERROR","COMPLETED","_query$progress","yql_statistics","STATISTIC","apply","_toConsumableArray","result_count","num","icon","status","className","isCompleted","_tabs$","category"],"sources":["useQueryResultTabs.tsx"],"sourcesContent":["import {TabsItemProps} from '@gravity-ui/uikit';\nimport times_ from 'lodash/times';\nimport has_ from 'lodash/has';\nimport find_ from 'lodash/find';\nimport {CompletedStates, QueryItem, QueryStatus} from '../../module/api';\nimport {QueryStatusIcon} from '../../QueryStatus';\nimport React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {loadQueryResultsErrors} from '../../module/query_result/actions';\nimport {getQueryResults} from '../../module/query_result/selectors';\nimport {RootState} from '../../../../store/reducers';\n\nexport enum QueryResultTab {\n ERROR = 'error',\n META = 'meta',\n RESULT = 'result',\n STATISTIC = 'statistic',\n PROGRESS = 'progress',\n}\n\nconst isResultTab = (tabId: string) => tabId.startsWith('result/');\n\nconst createResultTabId = (index: number) => `result/${index}`;\n\nconst parseResultTabIndex = (tabId: string) => {\n const parts = tabId.split('/');\n return parts?.[1] ? parseInt(parts?.[1], 10) : undefined;\n};\n\ntype ResultCurrentState = {\n activeTabId: string;\n category: QueryResultTab;\n activeResultParams?: {queryId: string; resultIndex: number};\n};\n\nexport const useQueryResultTabs = (\n query?: QueryItem,\n): [TabsItemProps[], (tab: string, queryId?: string) => void, ResultCurrentState] => {\n const [tab, setTab] = useState<QueryResultTab>(QueryResultTab.META);\n const [activeResultParams, setResultParams] =\n useState<ResultCurrentState['activeResultParams']>(undefined);\n const dispatch = useDispatch();\n const resultsMeta = useSelector((state: RootState) => getQueryResults(state, query?.id || ''));\n\n const activeTabId = useMemo(() => {\n if (tab === QueryResultTab.RESULT) {\n return createResultTabId(activeResultParams?.resultIndex || 0);\n }\n return tab;\n }, [tab, activeResultParams]);\n\n const setActiveTab = useCallback(\n (tabId: string, queryId?: string) => {\n if (isResultTab(tabId)) {\n setTab(QueryResultTab.RESULT);\n const id = queryId || activeResultParams?.queryId;\n if (id) {\n setResultParams({\n queryId: id,\n resultIndex: parseResultTabIndex(tabId) || 0,\n });\n } else {\n setResultParams(undefined);\n }\n } else {\n setTab(tabId as QueryResultTab);\n setResultParams(undefined);\n }\n },\n [activeResultParams],\n );\n\n const tabs = useMemo(() => {\n if (!query) {\n return [];\n }\n const items: TabsItemProps[] = [{id: QueryResultTab.META, title: 'Meta'}];\n if (query.progress) {\n items.unshift({\n id: QueryResultTab.PROGRESS,\n title: 'Progress',\n });\n }\n if (query.state === QueryStatus.FAILED) {\n items.unshift({id: QueryResultTab.ERROR, title: 'Error'});\n } else if (query.state === QueryStatus.COMPLETED) {\n if (query.progress?.yql_statistics) {\n items.unshift({\n id: QueryResultTab.STATISTIC,\n title: 'Statistics',\n });\n }\n items.unshift(\n ...times_(query.result_count, (num) => {\n let icon;\n if (resultsMeta && resultsMeta[num] && has_(resultsMeta[num], 'error')) {\n icon = (\n <QueryStatusIcon\n status={QueryStatus.FAILED}\n className={'query-status_tabs'}\n />\n );\n }\n return {\n id: createResultTabId(num),\n title: query.result_count === 1 ? 'Result' : `Result #${num + 1}`,\n icon,\n };\n }),\n );\n }\n return items;\n }, [query, resultsMeta]);\n\n const isCompleted = find_(CompletedStates, (status) => query?.state === status);\n\n useEffect(() => {\n if (query) {\n dispatch(loadQueryResultsErrors(query));\n }\n setActiveTab(tabs?.[0]?.id, query?.id);\n }, [dispatch, query?.id, isCompleted]);\n\n return [\n tabs,\n setActiveTab,\n {\n activeTabId,\n category: tab,\n activeResultParams,\n },\n ];\n};\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["times_","has_","find_","CompletedStates","QueryStatus","QueryStatusIcon","React","useCallback","useEffect","useMemo","useState","useDispatch","useSelector","loadQueryResultsErrors","getQueryResults","jsx","_jsx","QueryResultTab","isResultTab","tabId","startsWith","createResultTabId","index","concat","parseResultTabIndex","parts","split","parseInt","undefined","useQueryResultTabs","query","_useState","META","_useState2","_slicedToArray","tab","setTab","_useState3","_useState4","activeResultParams","setResultParams","dispatch","resultsMeta","state","id","activeTabId","RESULT","resultIndex","setActiveTab","queryId","tabs","_query$progress","_query$progress2","items","title","emptyProgress","progress","yql_plan","Basic","nodes","length","links","unshift","PROGRESS","FAILED","ERROR","COMPLETED","_query$progress3","yql_statistics","STATISTIC","apply","_toConsumableArray","result_count","num","icon","status","className","isCompleted","_tabs$","category"],"sources":["useQueryResultTabs.tsx"],"sourcesContent":["import {TabsItemProps} from '@gravity-ui/uikit';\nimport times_ from 'lodash/times';\nimport has_ from 'lodash/has';\nimport find_ from 'lodash/find';\nimport {CompletedStates, QueryItem, QueryStatus} from '../../module/api';\nimport {QueryStatusIcon} from '../../QueryStatus';\nimport React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {loadQueryResultsErrors} from '../../module/query_result/actions';\nimport {getQueryResults} from '../../module/query_result/selectors';\nimport {RootState} from '../../../../store/reducers';\n\nexport enum QueryResultTab {\n ERROR = 'error',\n META = 'meta',\n RESULT = 'result',\n STATISTIC = 'statistic',\n PROGRESS = 'progress',\n}\n\nconst isResultTab = (tabId: string) => tabId.startsWith('result/');\n\nconst createResultTabId = (index: number) => `result/${index}`;\n\nconst parseResultTabIndex = (tabId: string) => {\n const parts = tabId.split('/');\n return parts?.[1] ? parseInt(parts?.[1], 10) : undefined;\n};\n\ntype ResultCurrentState = {\n activeTabId: string;\n category: QueryResultTab;\n activeResultParams?: {queryId: string; resultIndex: number};\n};\n\nexport const useQueryResultTabs = (\n query?: QueryItem,\n): [TabsItemProps[], (tab: string, queryId?: string) => void, ResultCurrentState] => {\n const [tab, setTab] = useState<QueryResultTab>(QueryResultTab.META);\n const [activeResultParams, setResultParams] =\n useState<ResultCurrentState['activeResultParams']>(undefined);\n const dispatch = useDispatch();\n const resultsMeta = useSelector((state: RootState) => getQueryResults(state, query?.id || ''));\n\n const activeTabId = useMemo(() => {\n if (tab === QueryResultTab.RESULT) {\n return createResultTabId(activeResultParams?.resultIndex || 0);\n }\n return tab;\n }, [tab, activeResultParams]);\n\n const setActiveTab = useCallback(\n (tabId: string, queryId?: string) => {\n if (isResultTab(tabId)) {\n setTab(QueryResultTab.RESULT);\n const id = queryId || activeResultParams?.queryId;\n if (id) {\n setResultParams({\n queryId: id,\n resultIndex: parseResultTabIndex(tabId) || 0,\n });\n } else {\n setResultParams(undefined);\n }\n } else {\n setTab(tabId as QueryResultTab);\n setResultParams(undefined);\n }\n },\n [activeResultParams],\n );\n\n const tabs = useMemo(() => {\n if (!query) {\n return [];\n }\n const items: TabsItemProps[] = [{id: QueryResultTab.META, title: 'Meta'}];\n const emptyProgress =\n !query.progress?.yql_plan?.Basic.nodes.length &&\n !query.progress?.yql_plan?.Basic.links?.length;\n if (query.progress && !emptyProgress) {\n items.unshift({\n id: QueryResultTab.PROGRESS,\n title: 'Progress',\n });\n }\n if (query.state === QueryStatus.FAILED) {\n items.unshift({id: QueryResultTab.ERROR, title: 'Error'});\n } else if (query.state === QueryStatus.COMPLETED) {\n if (query.progress?.yql_statistics) {\n items.unshift({\n id: QueryResultTab.STATISTIC,\n title: 'Statistics',\n });\n }\n items.unshift(\n ...times_(query.result_count, (num) => {\n let icon;\n if (resultsMeta && resultsMeta[num] && has_(resultsMeta[num], 'error')) {\n icon = (\n <QueryStatusIcon\n status={QueryStatus.FAILED}\n className={'query-status_tabs'}\n />\n );\n }\n return {\n id: createResultTabId(num),\n title: query.result_count === 1 ? 'Result' : `Result #${num + 1}`,\n icon,\n };\n }),\n );\n }\n return items;\n }, [query, resultsMeta]);\n\n const isCompleted = find_(CompletedStates, (status) => query?.state === status);\n\n useEffect(() => {\n if (query) {\n dispatch(loadQueryResultsErrors(query));\n }\n setActiveTab(tabs?.[0]?.id, query?.id);\n }, [dispatch, query?.id, isCompleted]);\n\n return [\n tabs,\n setActiveTab,\n {\n activeTabId,\n category: tab,\n activeResultParams,\n },\n ];\n};\n"],"mappings":"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"}
|
@@ -8,7 +8,9 @@ import QueryEditor from '../QueryEditor/QueryEditor';
|
|
8
8
|
import { QueriesPooling } from '../hooks/QueriesPooling/context';
|
9
9
|
import { QueryEngine, isEngine } from '../module/api';
|
10
10
|
import { SET_QUERY_PARAMS, createEmptyQuery, createQueryFromTablePath, goToQuery, loadQuery } from '../module/query/actions';
|
11
|
-
import {
|
11
|
+
import { usePreventUnload } from '../../../hooks/use-prevent-unload';
|
12
|
+
import { useQueriesListSidebarToggle } from '../hooks/QueriesList';
|
13
|
+
import { getDirtySinceLastSubmit, getQueryGetParams } from '../module/query/selectors';
|
12
14
|
import { QueriesList } from '../QueriesList';
|
13
15
|
import cn from 'bem-cn-lite';
|
14
16
|
import "./QueryTracker.css";
|
@@ -63,14 +65,16 @@ function QueryPage(props) {
|
|
63
65
|
}
|
64
66
|
export default function QueryTracker(_ref) {
|
65
67
|
var match = _ref.match;
|
68
|
+
var _useQueriesListSideba = useQueriesListSidebarToggle(),
|
69
|
+
isQueriesListSidebarVisible = _useQueriesListSideba.isQueriesListSidebarVisible;
|
70
|
+
var isQueryStateDirty = useSelector(getDirtySinceLastSubmit);
|
71
|
+
usePreventUnload({
|
72
|
+
shouldListen: isQueryStateDirty
|
73
|
+
});
|
66
74
|
var _useState = useState(initialSizes),
|
67
75
|
_useState2 = _slicedToArray(_useState, 2),
|
68
76
|
sizes = _useState2[0],
|
69
77
|
setSize = _useState2[1];
|
70
|
-
var _useState3 = useState(true),
|
71
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
72
|
-
listVisible = _useState4[0],
|
73
|
-
setListVisible = _useState4[1];
|
74
78
|
var getSize = useMemo(function () {
|
75
79
|
return function () {
|
76
80
|
return sizes;
|
@@ -98,12 +102,8 @@ export default function QueryTracker(_ref) {
|
|
98
102
|
onResizeEnd: setSize,
|
99
103
|
minSize: minSize,
|
100
104
|
getInitialSizes: getSize,
|
101
|
-
children: [
|
102
|
-
onStartQuery: goToCreatedQuery
|
103
|
-
listVisible: {
|
104
|
-
visible: listVisible,
|
105
|
-
setVisibility: setListVisible
|
106
|
-
}
|
105
|
+
children: [isQueriesListSidebarVisible ? /*#__PURE__*/_jsx(QueriesList, {}) : null, /*#__PURE__*/_jsx(QueryEditor, {
|
106
|
+
onStartQuery: goToCreatedQuery
|
107
107
|
})]
|
108
108
|
})
|
109
109
|
})]
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","useDispatch","useSelector","Route","Switch","FlexSplitPane","QueryEditor","QueriesPooling","QueryEngine","isEngine","SET_QUERY_PARAMS","createEmptyQuery","createQueryFromTablePath","goToQuery","loadQuery","getQueryGetParams","QueriesList","cn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","b","initialSizes","minSize","QueryPageDraft","dispatch","routeParams","engine","YQL","cluster","path","useDraft","type","data","params","_objectSpread","undefined","QueryPage","props","match","queryId","QueryTracker","_ref","
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","useDispatch","useSelector","Route","Switch","FlexSplitPane","QueryEditor","QueriesPooling","QueryEngine","isEngine","SET_QUERY_PARAMS","createEmptyQuery","createQueryFromTablePath","goToQuery","loadQuery","usePreventUnload","useQueriesListSidebarToggle","getDirtySinceLastSubmit","getQueryGetParams","QueriesList","cn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","b","initialSizes","minSize","QueryPageDraft","dispatch","routeParams","engine","YQL","cluster","path","useDraft","type","data","params","_objectSpread","undefined","QueryPage","props","match","queryId","QueryTracker","_ref","_useQueriesListSideba","isQueriesListSidebarVisible","isQueryStateDirty","shouldListen","_useState","_useState2","_slicedToArray","sizes","setSize","getSize","goToCreatedQuery","children","exact","component","concat","className","direction","HORIZONTAL","onResizeEnd","getInitialSizes","onStartQuery"],"sources":["QueryTracker.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport QueryEditor from '../QueryEditor/QueryEditor';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {QueryEngine, isEngine} from '../module/api';\nimport {\n SET_QUERY_PARAMS,\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../module/query/actions';\nimport {usePreventUnload} from '../../../hooks/use-prevent-unload';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\nimport {getDirtySinceLastSubmit, getQueryGetParams} from '../module/query/selectors';\nimport {QueriesList} from '../QueriesList';\n\nimport cn from 'bem-cn-lite';\n\nimport './QueryTracker.scss';\n\nconst b = cn('query-tracker-page');\n\ntype Props = {\n match: {\n path: string;\n params: {\n queryId?: string;\n };\n };\n location: {\n search: string;\n };\n};\n\nconst initialSizes = [23, 77];\nconst minSize = 380; // see history list's cells size\n\nfunction QueryPageDraft() {\n const dispatch = useDispatch();\n const routeParams = useSelector(getQueryGetParams);\n\n useEffect(() => {\n const engine =\n routeParams.engine && isEngine(routeParams.engine)\n ? (routeParams.engine as QueryEngine)\n : QueryEngine.YQL;\n if (routeParams.cluster && routeParams.path) {\n if (routeParams.useDraft) {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {\n ...routeParams,\n useDraft: undefined,\n },\n },\n });\n }\n dispatch(\n createQueryFromTablePath(engine, routeParams.cluster, routeParams.path, {\n useDraft: true,\n }),\n );\n } else {\n dispatch(createEmptyQuery(engine));\n }\n }, [dispatch]);\n return null;\n}\n\nfunction QueryPage(props: Props) {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {},\n },\n });\n if (props.match.params.queryId) {\n dispatch(loadQuery(props.match.params.queryId));\n } else {\n dispatch(createEmptyQuery());\n }\n }, [dispatch, props.match.params.queryId]);\n return null;\n}\n\nexport default function QueryTracker({match}: Props) {\n const {isQueriesListSidebarVisible} = useQueriesListSidebarToggle();\n const isQueryStateDirty = useSelector(getDirtySinceLastSubmit);\n usePreventUnload({shouldListen: isQueryStateDirty});\n const [sizes, setSize] = useState(initialSizes);\n const getSize = useMemo(() => {\n return () => sizes;\n }, [sizes]);\n const dispatch = useDispatch();\n\n const goToCreatedQuery = useCallback(\n (queryId: string) => {\n dispatch(goToQuery(queryId));\n return true;\n },\n [dispatch],\n );\n\n return (\n <>\n <Switch>\n <Route exact path={match.path} component={QueryPageDraft} />\n <Route path={`${match.path}/:queryId`} component={QueryPage} />\n </Switch>\n <QueriesPooling>\n <FlexSplitPane\n className={b('container')}\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n minSize={minSize}\n getInitialSizes={getSize}\n >\n {isQueriesListSidebarVisible ? <QueriesList /> : null}\n <QueryEditor onStartQuery={goToCreatedQuery} />\n </FlexSplitPane>\n </QueriesPooling>\n </>\n );\n}\n"],"mappings":"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"}
|
@@ -6,7 +6,9 @@ import { Page } from '../../../../shared/constants/settings';
|
|
6
6
|
import { QueryMetaForm } from './QueryMetaForm/QueryMetaForm';
|
7
7
|
import "./index.css";
|
8
8
|
import { getQueryGetParams } from '../module/query/selectors';
|
9
|
+
import { QueriesListSidebarToggleButton } from '../QueriesListSidebarToggleButton/QueriesListSidebarToggleButton';
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
11
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
10
12
|
var block = cn('query-tracker-top-row-content');
|
11
13
|
export function QueryHeader() {
|
12
14
|
var routeParams = useSelector(getQueryGetParams);
|
@@ -23,9 +25,9 @@ export function QueryHeader() {
|
|
23
25
|
});
|
24
26
|
}
|
25
27
|
export default function QueryTrackerTopRow() {
|
26
|
-
return /*#__PURE__*/
|
28
|
+
return /*#__PURE__*/_jsxs(RowWithName, {
|
27
29
|
page: Page.QUERIES,
|
28
|
-
children: /*#__PURE__*/_jsx(QueryHeader, {})
|
30
|
+
children: [/*#__PURE__*/_jsx(QueryHeader, {}), /*#__PURE__*/_jsx(QueriesListSidebarToggleButton, {})]
|
29
31
|
});
|
30
32
|
}
|
31
33
|
// #sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","cn","useSelector","RowWithName","Page","QueryMetaForm","getQueryGetParams","jsx","_jsx","block","QueryHeader","routeParams","className","children","cluster","path","QueryTrackerTopRow","page","QUERIES"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {useSelector} from 'react-redux';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {QueryMetaForm} from './QueryMetaForm/QueryMetaForm';\n\nimport './index.scss';\nimport {getQueryGetParams} from '../module/query/selectors';\n\nconst block = cn('query-tracker-top-row-content');\n\nexport function QueryHeader() {\n const routeParams = useSelector(getQueryGetParams);\n\n return (\n <div className={block()}>\n <div className={block('meta')}>\n <QueryMetaForm\n className={block('meta-form')}\n cluster={routeParams.cluster}\n path={routeParams.path}\n />\n </div>\n </div>\n );\n}\n\nexport default function QueryTrackerTopRow() {\n return (\n <RowWithName page={Page.QUERIES}>\n <QueryHeader />\n </RowWithName>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,aAAa;AAC5B,SAAQC,WAAW,QAAO,aAAa;AACvC,SAAQC,WAAW,QAAO,6DAA6D;AACvF,SAAQC,IAAI,QAAO,uCAAuC;AAC1D,SAAQC,aAAa,QAAO,+BAA+B;AAE3D,OAAO,aAAc;AACrB,SAAQC,iBAAiB,QAAO,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
1
|
+
{"version":3,"names":["React","cn","useSelector","RowWithName","Page","QueryMetaForm","getQueryGetParams","QueriesListSidebarToggleButton","jsx","_jsx","jsxs","_jsxs","block","QueryHeader","routeParams","className","children","cluster","path","QueryTrackerTopRow","page","QUERIES"],"sources":["index.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'bem-cn-lite';\nimport {useSelector} from 'react-redux';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {QueryMetaForm} from './QueryMetaForm/QueryMetaForm';\n\nimport './index.scss';\nimport {getQueryGetParams} from '../module/query/selectors';\nimport {QueriesListSidebarToggleButton} from '../QueriesListSidebarToggleButton/QueriesListSidebarToggleButton';\n\nconst block = cn('query-tracker-top-row-content');\n\nexport function QueryHeader() {\n const routeParams = useSelector(getQueryGetParams);\n\n return (\n <div className={block()}>\n <div className={block('meta')}>\n <QueryMetaForm\n className={block('meta-form')}\n cluster={routeParams.cluster}\n path={routeParams.path}\n />\n </div>\n </div>\n );\n}\n\nexport default function QueryTrackerTopRow() {\n return (\n <RowWithName page={Page.QUERIES}>\n <QueryHeader />\n <QueriesListSidebarToggleButton />\n </RowWithName>\n );\n}\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,aAAa;AAC5B,SAAQC,WAAW,QAAO,aAAa;AACvC,SAAQC,WAAW,QAAO,6DAA6D;AACvF,SAAQC,IAAI,QAAO,uCAAuC;AAC1D,SAAQC,aAAa,QAAO,+BAA+B;AAE3D,OAAO,aAAc;AACrB,SAAQC,iBAAiB,QAAO,2BAA2B;AAC3D,SAAQC,8BAA8B,QAAO,kEAAkE;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEhH,IAAMC,KAAK,GAAGX,EAAE,CAAC,+BAA+B,CAAC;AAEjD,OAAO,SAASY,WAAWA,CAAA,EAAG;EAC1B,IAAMC,WAAW,GAAGZ,WAAW,CAACI,iBAAiB,CAAC;EAElD,oBACIG,IAAA;IAAKM,SAAS,EAAEH,KAAK,CAAC,CAAE;IAAAI,QAAA,eACpBP,IAAA;MAAKM,SAAS,EAAEH,KAAK,CAAC,MAAM,CAAE;MAAAI,QAAA,eAC1BP,IAAA,CAACJ,aAAa;QACVU,SAAS,EAAEH,KAAK,CAAC,WAAW,CAAE;QAC9BK,OAAO,EAAEH,WAAW,CAACG,OAAQ;QAC7BC,IAAI,EAAEJ,WAAW,CAACI;MAAK,CAC1B;IAAC,CACD;EAAC,CACL,CAAC;AAEd;AAEA,eAAe,SAASC,kBAAkBA,CAAA,EAAG;EACzC,oBACIR,KAAA,CAACR,WAAW;IAACiB,IAAI,EAAEhB,IAAI,CAACiB,OAAQ;IAAAL,QAAA,gBAC5BP,IAAA,CAACI,WAAW,IAAE,CAAC,eACfJ,IAAA,CAACF,8BAA8B,IAAE,CAAC;EAAA,CACzB,CAAC;AAEtB"}
|
@@ -3,6 +3,8 @@ import { useDispatch, useSelector } from 'react-redux';
|
|
3
3
|
import { QueriesHistoryCursorDirection } from '../../module/api';
|
4
4
|
import { getQueriesList, getQueriesListCursor, hasQueriesListMore, isQueriesListLoading } from '../../module/queries_list/selectors';
|
5
5
|
import { loadNextQueriesList, resetCursor } from '../../module/queries_list/actions';
|
6
|
+
import { setSettingByKey } from '../../../../store/actions/settings';
|
7
|
+
import { getSettingQueryTrackerQueriesListSidebarVisibilityMode } from '../../module/settings/selector';
|
6
8
|
export function useQueryList() {
|
7
9
|
var items = useSelector(getQueriesList);
|
8
10
|
var isLoading = useSelector(isQueriesListLoading);
|
@@ -30,4 +32,15 @@ export var useQueriesPagination = function useQueriesPagination() {
|
|
30
32
|
goFirst: reset
|
31
33
|
};
|
32
34
|
};
|
35
|
+
export var useQueriesListSidebarToggle = function useQueriesListSidebarToggle() {
|
36
|
+
var dispatch = useDispatch();
|
37
|
+
var isQueriesListSidebarVisible = useSelector(getSettingQueryTrackerQueriesListSidebarVisibilityMode);
|
38
|
+
var toggleQueriesListSideBarToggle = function toggleQueriesListSideBarToggle() {
|
39
|
+
dispatch(setSettingByKey('global::queryTracker::queriesListSidebarVisibilityMode', !isQueriesListSidebarVisible));
|
40
|
+
};
|
41
|
+
return {
|
42
|
+
isQueriesListSidebarVisible: isQueriesListSidebarVisible,
|
43
|
+
toggleQueriesListSideBarToggle: toggleQueriesListSideBarToggle
|
44
|
+
};
|
45
|
+
};
|
33
46
|
// #sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["useCallback","useDispatch","useSelector","QueriesHistoryCursorDirection","getQueriesList","getQueriesListCursor","hasQueriesListMore","isQueriesListLoading","loadNextQueriesList","resetCursor","useQueryList","items","isLoading","useQueriesPagination","dispatch","cursor","hasNext","goNext","PAST","goBack","FUTURE","reset","first","cursorTime","last","currentCursorTime","goFirst"],"sources":["index.ts"],"sourcesContent":["import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesHistoryCursorDirection, QueryItem} from '../../module/api';\nimport {\n getQueriesList,\n getQueriesListCursor,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport {loadNextQueriesList, resetCursor} from '../../module/queries_list/actions';\n\nexport function useQueryList(): [QueryItem[], boolean] {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n return [items, isLoading];\n}\n\nexport const useQueriesPagination = () => {\n const dispatch = useDispatch();\n const cursor = useSelector(getQueriesListCursor);\n const hasNext = useSelector(hasQueriesListMore);\n\n const goNext = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n }, [dispatch]);\n\n const goBack = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));\n }, [dispatch]);\n\n const reset = useCallback(() => {\n dispatch(resetCursor());\n }, [dispatch]);\n\n return {\n first: !cursor?.cursorTime,\n last: !hasNext,\n currentCursorTime: cursor?.cursorTime,\n goNext,\n goBack,\n goFirst: reset,\n };\n};\n"],"mappings":"AAAA,SAAQA,WAAW,QAAO,OAAO;AACjC,SAAQC,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,SAAQC,6BAA6B,QAAkB,kBAAkB;AACzE,SACIC,cAAc,EACdC,oBAAoB,EACpBC,kBAAkB,EAClBC,oBAAoB,QACjB,qCAAqC;AAC5C,SAAQC,mBAAmB,EAAEC,WAAW,QAAO,mCAAmC;
|
1
|
+
{"version":3,"names":["useCallback","useDispatch","useSelector","QueriesHistoryCursorDirection","getQueriesList","getQueriesListCursor","hasQueriesListMore","isQueriesListLoading","loadNextQueriesList","resetCursor","setSettingByKey","getSettingQueryTrackerQueriesListSidebarVisibilityMode","useQueryList","items","isLoading","useQueriesPagination","dispatch","cursor","hasNext","goNext","PAST","goBack","FUTURE","reset","first","cursorTime","last","currentCursorTime","goFirst","useQueriesListSidebarToggle","isQueriesListSidebarVisible","toggleQueriesListSideBarToggle"],"sources":["index.ts"],"sourcesContent":["import {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesHistoryCursorDirection, QueryItem} from '../../module/api';\nimport {\n getQueriesList,\n getQueriesListCursor,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport {loadNextQueriesList, resetCursor} from '../../module/queries_list/actions';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getSettingQueryTrackerQueriesListSidebarVisibilityMode} from '../../module/settings/selector';\n\nexport function useQueryList(): [QueryItem[], boolean] {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n return [items, isLoading];\n}\n\nexport const useQueriesPagination = () => {\n const dispatch = useDispatch();\n const cursor = useSelector(getQueriesListCursor);\n const hasNext = useSelector(hasQueriesListMore);\n\n const goNext = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n }, [dispatch]);\n\n const goBack = useCallback(() => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.FUTURE));\n }, [dispatch]);\n\n const reset = useCallback(() => {\n dispatch(resetCursor());\n }, [dispatch]);\n\n return {\n first: !cursor?.cursorTime,\n last: !hasNext,\n currentCursorTime: cursor?.cursorTime,\n goNext,\n goBack,\n goFirst: reset,\n };\n};\n\nexport const useQueriesListSidebarToggle = () => {\n const dispatch = useDispatch();\n const isQueriesListSidebarVisible = useSelector(\n getSettingQueryTrackerQueriesListSidebarVisibilityMode,\n );\n\n const toggleQueriesListSideBarToggle = () => {\n dispatch(\n setSettingByKey<boolean>(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n !isQueriesListSidebarVisible,\n ),\n );\n };\n\n return {\n isQueriesListSidebarVisible,\n toggleQueriesListSideBarToggle,\n };\n};\n"],"mappings":"AAAA,SAAQA,WAAW,QAAO,OAAO;AACjC,SAAQC,WAAW,EAAEC,WAAW,QAAO,aAAa;AACpD,SAAQC,6BAA6B,QAAkB,kBAAkB;AACzE,SACIC,cAAc,EACdC,oBAAoB,EACpBC,kBAAkB,EAClBC,oBAAoB,QACjB,qCAAqC;AAC5C,SAAQC,mBAAmB,EAAEC,WAAW,QAAO,mCAAmC;AAClF,SAAQC,eAAe,QAAO,oCAAoC;AAClE,SAAQC,sDAAsD,QAAO,gCAAgC;AAErG,OAAO,SAASC,YAAYA,CAAA,EAA2B;EACnD,IAAMC,KAAK,GAAGX,WAAW,CAACE,cAAc,CAAC;EACzC,IAAMU,SAAS,GAAGZ,WAAW,CAACK,oBAAoB,CAAC;EAEnD,OAAO,CAACM,KAAK,EAAEC,SAAS,CAAC;AAC7B;AAEA,OAAO,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EACtC,IAAMC,QAAQ,GAAGf,WAAW,CAAC,CAAC;EAC9B,IAAMgB,MAAM,GAAGf,WAAW,CAACG,oBAAoB,CAAC;EAChD,IAAMa,OAAO,GAAGhB,WAAW,CAACI,kBAAkB,CAAC;EAE/C,IAAMa,MAAM,GAAGnB,WAAW,CAAC,YAAM;IAC7BgB,QAAQ,CAACR,mBAAmB,CAACL,6BAA6B,CAACiB,IAAI,CAAC,CAAC;EACrE,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,IAAMK,MAAM,GAAGrB,WAAW,CAAC,YAAM;IAC7BgB,QAAQ,CAACR,mBAAmB,CAACL,6BAA6B,CAACmB,MAAM,CAAC,CAAC;EACvE,CAAC,EAAE,CAACN,QAAQ,CAAC,CAAC;EAEd,IAAMO,KAAK,GAAGvB,WAAW,CAAC,YAAM;IAC5BgB,QAAQ,CAACP,WAAW,CAAC,CAAC,CAAC;EAC3B,CAAC,EAAE,CAACO,QAAQ,CAAC,CAAC;EAEd,OAAO;IACHQ,KAAK,EAAE,EAACP,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEQ,UAAU;IAC1BC,IAAI,EAAE,CAACR,OAAO;IACdS,iBAAiB,EAAEV,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEQ,UAAU;IACrCN,MAAM,EAANA,MAAM;IACNE,MAAM,EAANA,MAAM;IACNO,OAAO,EAAEL;EACb,CAAC;AACL,CAAC;AAED,OAAO,IAAMM,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAA,EAAS;EAC7C,IAAMb,QAAQ,GAAGf,WAAW,CAAC,CAAC;EAC9B,IAAM6B,2BAA2B,GAAG5B,WAAW,CAC3CS,sDACJ,CAAC;EAED,IAAMoB,8BAA8B,GAAG,SAAjCA,8BAA8BA,CAAA,EAAS;IACzCf,QAAQ,CACJN,eAAe,CACX,wDAAwD,EACxD,CAACoB,2BACL,CACJ,CAAC;EACL,CAAC;EAED,OAAO;IACHA,2BAA2B,EAA3BA,2BAA2B;IAC3BC,8BAA8B,EAA9BA;EACJ,CAAC;AACL,CAAC"}
|
@@ -18,7 +18,7 @@ export type UpdateQueryAction = ActionD<typeof UPDATE_QUERY, QueryItem>;
|
|
18
18
|
export declare const SET_QUERY_LOAD_ERROR = "query-tracker/SET_QUERY_LOAD_ERROR";
|
19
19
|
export type SetQueryErrorLoadAction = ActionD<typeof SET_QUERY_LOAD_ERROR, Error | string>;
|
20
20
|
export declare const SET_QUERY_PATCH = "query-tracker/SET_QUERY_PATCH";
|
21
|
-
export type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH,
|
21
|
+
export type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, QueryState['draft']>;
|
22
22
|
export declare const SET_QUERY_PARAMS = "query-tracker/SET_QUERY_PARAMS";
|
23
23
|
export type SetQueryParamsAction = ActionD<typeof SET_QUERY_PARAMS, Partial<Pick<QueryState, 'params'>>>;
|
24
24
|
export declare function loadQuery(queryId: string): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["createQueryUrl","getCluster","QueryEngine","abortQuery","generateQueryFromTable","getQuery","startQuery","requestQueriesList","getCurrentQuery","getQueryDraft","getAppBrowserHistory","wrapApiPromiseByToaster","prepareQueryPlanIds","REQUEST_QUERY","SET_QUERY_READY","SET_QUERY","UPDATE_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_PATCH","SET_QUERY_PARAMS","loadQuery","queryId","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","_getState","query","wrap","_callee$","_context","prev","next","type","toasterName","skipSuccessToast","errorTitle","sent","data","initialQuery","t0","createEmptyQuery","stop","_x","_x2","apply","arguments","updateQueryDraft","createQueryFromTablePath","engine","cluster","path","options","_ref2","_callee2","draft","_callee2$","_context2","useDraft","_x3","length","undefined","YQL","settings","runQuery","afterCreate","_ref3","_callee3","getState","state","_yield$wrapApiPromise","query_id","handled","_callee3$","_context3","_x4","_x5","abortCurrentQuery","_ref4","_callee4","currentQuery","_callee4$","_context4","id","_x6","_x7","goToQuery","_","history","push"],"sources":["actions.ts"],"sourcesContent":["import {createQueryUrl} from '../../utils/navigation';\nimport {Action} from 'redux';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../../store/reducers';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {ActionD} from '../../../../types';\nimport {\n QueryEngine,\n QueryItem,\n abortQuery,\n generateQueryFromTable,\n getQuery,\n startQuery,\n} from '../api';\nimport {requestQueriesList} from '../queries_list/actions';\nimport {getCurrentQuery, getQueryDraft} from './selectors';\nimport {getAppBrowserHistory} from '../../../../store/window-store';\nimport {QueryState} from './reducer';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {prepareQueryPlanIds} from './utills';\n\nexport const REQUEST_QUERY = 'query-tracker/REQUEST_QUERY';\nexport type RequestQueryAction = Action<typeof REQUEST_QUERY>;\n\nexport const SET_QUERY_READY = 'query-tracker/SET_QUERY_READY';\nexport type SetQueryReadyAction = Action<typeof SET_QUERY_READY>;\n\nexport const SET_QUERY = 'query-tracker/SET_QUERY';\nexport type SetQueryAction = ActionD<\n typeof SET_QUERY,\n {\n initialQuery?: QueryItem;\n draftText?: string;\n }\n>;\n\nexport const UPDATE_QUERY = 'query-tracker/UPDATE_QUERY';\nexport type UpdateQueryAction = ActionD<typeof UPDATE_QUERY, QueryItem>;\n\nexport const SET_QUERY_LOAD_ERROR = 'query-tracker/SET_QUERY_LOAD_ERROR';\nexport type SetQueryErrorLoadAction = ActionD<typeof SET_QUERY_LOAD_ERROR, Error | string>;\n\nexport const SET_QUERY_PATCH = 'query-tracker/SET_QUERY_PATCH';\nexport type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, Pick<QueryState, 'draft'>>;\n\nexport const SET_QUERY_PARAMS = 'query-tracker/SET_QUERY_PARAMS';\nexport type SetQueryParamsAction = ActionD<\n typeof SET_QUERY_PARAMS,\n Partial<Pick<QueryState, 'params'>>\n>;\n\nexport function loadQuery(\n queryId: string,\n): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction> {\n return async (dispatch, _getState) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const query = await wrapApiPromiseByToaster(dispatch(getQuery(queryId)), {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n });\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: prepareQueryPlanIds(query),\n },\n });\n } catch (e: unknown) {\n dispatch(createEmptyQuery());\n }\n };\n}\n\nexport function updateQueryDraft(data: Partial<QueryState['draft']>) {\n return {type: SET_QUERY_PATCH, data};\n}\n\nexport function createQueryFromTablePath(\n engine: QueryEngine,\n cluster: string,\n path: string,\n options?: {useDraft?: boolean},\n): ThunkAction<\n any,\n RootState,\n any,\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction\n | SetQueryReadyAction\n> {\n return async (dispatch) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const draft = await wrapApiPromiseByToaster(\n generateQueryFromTable(engine, {cluster, path}),\n {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n },\n );\n if (draft) {\n if (options?.useDraft) {\n dispatch({\n type: UPDATE_QUERY,\n data: draft as QueryItem,\n });\n dispatch({type: SET_QUERY_READY});\n } else {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: draft as QueryItem,\n },\n });\n }\n } else {\n dispatch(createEmptyQuery(engine));\n }\n } catch (e) {\n dispatch(createEmptyQuery(engine));\n }\n };\n}\n\nexport function createEmptyQuery(\n engine = QueryEngine.YQL,\n query?: string,\n settings?: Record<string, string>,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return (dispatch) => {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: {\n query: query || '',\n engine,\n settings: settings || {},\n } as QueryItem,\n },\n });\n };\n}\n\nexport function runQuery(\n afterCreate?: (query_id: string) => boolean | void,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const query = getQueryDraft(state);\n const {query_id} = await wrapApiPromiseByToaster(dispatch(startQuery(query)), {\n toasterName: 'start_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to start query',\n });\n const handled = afterCreate?.(query_id);\n if (!handled) {\n dispatch(loadQuery(query_id));\n }\n dispatch(requestQueriesList());\n };\n}\n\nexport function abortCurrentQuery(): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const currentQuery = getCurrentQuery(state);\n if (currentQuery) {\n await wrapApiPromiseByToaster(dispatch(abortQuery({query_id: currentQuery?.id})), {\n toasterName: 'abort_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to abort query',\n });\n dispatch(loadQuery(currentQuery?.id));\n dispatch(requestQueriesList());\n }\n };\n}\n\nexport function goToQuery(query_id: string): ThunkAction<any, RootState, any, never> {\n return (_, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n const history = getAppBrowserHistory();\n history.push(createQueryUrl(cluster, query_id));\n };\n}\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["createQueryUrl","getCluster","QueryEngine","abortQuery","generateQueryFromTable","getQuery","startQuery","requestQueriesList","getCurrentQuery","getQueryDraft","getAppBrowserHistory","wrapApiPromiseByToaster","prepareQueryPlanIds","REQUEST_QUERY","SET_QUERY_READY","SET_QUERY","UPDATE_QUERY","SET_QUERY_LOAD_ERROR","SET_QUERY_PATCH","SET_QUERY_PARAMS","loadQuery","queryId","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","dispatch","_getState","query","wrap","_callee$","_context","prev","next","type","toasterName","skipSuccessToast","errorTitle","sent","data","initialQuery","t0","createEmptyQuery","stop","_x","_x2","apply","arguments","updateQueryDraft","createQueryFromTablePath","engine","cluster","path","options","_ref2","_callee2","draft","_callee2$","_context2","useDraft","_x3","length","undefined","YQL","settings","runQuery","afterCreate","_ref3","_callee3","getState","state","_yield$wrapApiPromise","query_id","handled","_callee3$","_context3","_x4","_x5","abortCurrentQuery","_ref4","_callee4","currentQuery","_callee4$","_context4","id","_x6","_x7","goToQuery","_","history","push"],"sources":["actions.ts"],"sourcesContent":["import {createQueryUrl} from '../../utils/navigation';\nimport {Action} from 'redux';\nimport {ThunkAction} from 'redux-thunk';\nimport {RootState} from '../../../../store/reducers';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {ActionD} from '../../../../types';\nimport {\n QueryEngine,\n QueryItem,\n abortQuery,\n generateQueryFromTable,\n getQuery,\n startQuery,\n} from '../api';\nimport {requestQueriesList} from '../queries_list/actions';\nimport {getCurrentQuery, getQueryDraft} from './selectors';\nimport {getAppBrowserHistory} from '../../../../store/window-store';\nimport {QueryState} from './reducer';\nimport {wrapApiPromiseByToaster} from '../../../../utils/utils';\nimport {prepareQueryPlanIds} from './utills';\n\nexport const REQUEST_QUERY = 'query-tracker/REQUEST_QUERY';\nexport type RequestQueryAction = Action<typeof REQUEST_QUERY>;\n\nexport const SET_QUERY_READY = 'query-tracker/SET_QUERY_READY';\nexport type SetQueryReadyAction = Action<typeof SET_QUERY_READY>;\n\nexport const SET_QUERY = 'query-tracker/SET_QUERY';\nexport type SetQueryAction = ActionD<\n typeof SET_QUERY,\n {\n initialQuery?: QueryItem;\n draftText?: string;\n }\n>;\n\nexport const UPDATE_QUERY = 'query-tracker/UPDATE_QUERY';\nexport type UpdateQueryAction = ActionD<typeof UPDATE_QUERY, QueryItem>;\n\nexport const SET_QUERY_LOAD_ERROR = 'query-tracker/SET_QUERY_LOAD_ERROR';\nexport type SetQueryErrorLoadAction = ActionD<typeof SET_QUERY_LOAD_ERROR, Error | string>;\n\nexport const SET_QUERY_PATCH = 'query-tracker/SET_QUERY_PATCH';\nexport type SetQueryPatchAction = ActionD<typeof SET_QUERY_PATCH, QueryState['draft']>;\n\nexport const SET_QUERY_PARAMS = 'query-tracker/SET_QUERY_PARAMS';\nexport type SetQueryParamsAction = ActionD<\n typeof SET_QUERY_PARAMS,\n Partial<Pick<QueryState, 'params'>>\n>;\n\nexport function loadQuery(\n queryId: string,\n): ThunkAction<any, RootState, any, SetQueryAction | RequestQueryAction | SetQueryErrorLoadAction> {\n return async (dispatch, _getState) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const query = await wrapApiPromiseByToaster(dispatch(getQuery(queryId)), {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n });\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: prepareQueryPlanIds(query),\n },\n });\n } catch (e: unknown) {\n dispatch(createEmptyQuery());\n }\n };\n}\n\nexport function updateQueryDraft(data: Partial<QueryState['draft']>) {\n return {type: SET_QUERY_PATCH, data};\n}\n\nexport function createQueryFromTablePath(\n engine: QueryEngine,\n cluster: string,\n path: string,\n options?: {useDraft?: boolean},\n): ThunkAction<\n any,\n RootState,\n any,\n | SetQueryAction\n | RequestQueryAction\n | SetQueryErrorLoadAction\n | SetQueryPatchAction\n | UpdateQueryAction\n | SetQueryReadyAction\n> {\n return async (dispatch) => {\n dispatch({type: REQUEST_QUERY});\n try {\n const draft = await wrapApiPromiseByToaster(\n generateQueryFromTable(engine, {cluster, path}),\n {\n toasterName: 'load_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to load query',\n },\n );\n if (draft) {\n if (options?.useDraft) {\n dispatch({\n type: UPDATE_QUERY,\n data: draft as QueryItem,\n });\n dispatch({type: SET_QUERY_READY});\n } else {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: draft as QueryItem,\n },\n });\n }\n } else {\n dispatch(createEmptyQuery(engine));\n }\n } catch (e) {\n dispatch(createEmptyQuery(engine));\n }\n };\n}\n\nexport function createEmptyQuery(\n engine = QueryEngine.YQL,\n query?: string,\n settings?: Record<string, string>,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return (dispatch) => {\n dispatch({\n type: SET_QUERY,\n data: {\n initialQuery: {\n query: query || '',\n engine,\n settings: settings || {},\n } as QueryItem,\n },\n });\n };\n}\n\nexport function runQuery(\n afterCreate?: (query_id: string) => boolean | void,\n): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const query = getQueryDraft(state);\n const {query_id} = await wrapApiPromiseByToaster(dispatch(startQuery(query)), {\n toasterName: 'start_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to start query',\n });\n const handled = afterCreate?.(query_id);\n if (!handled) {\n dispatch(loadQuery(query_id));\n }\n dispatch(requestQueriesList());\n };\n}\n\nexport function abortCurrentQuery(): ThunkAction<any, RootState, any, SetQueryAction> {\n return async (dispatch, getState) => {\n const state = getState();\n const currentQuery = getCurrentQuery(state);\n if (currentQuery) {\n await wrapApiPromiseByToaster(dispatch(abortQuery({query_id: currentQuery?.id})), {\n toasterName: 'abort_query',\n skipSuccessToast: true,\n errorTitle: 'Failed to abort query',\n });\n dispatch(loadQuery(currentQuery?.id));\n dispatch(requestQueriesList());\n }\n };\n}\n\nexport function goToQuery(query_id: string): ThunkAction<any, RootState, any, never> {\n return (_, getState) => {\n const state = getState();\n const cluster = getCluster(state);\n const history = getAppBrowserHistory();\n history.push(createQueryUrl(cluster, query_id));\n };\n}\n"],"mappings":";;AAAA,SAAQA,cAAc,QAAO,wBAAwB;AAIrD,SAAQC,UAAU,QAAO,oCAAoC;AAE7D,SACIC,WAAW,EAEXC,UAAU,EACVC,sBAAsB,EACtBC,QAAQ,EACRC,UAAU,QACP,QAAQ;AACf,SAAQC,kBAAkB,QAAO,yBAAyB;AAC1D,SAAQC,eAAe,EAAEC,aAAa,QAAO,aAAa;AAC1D,SAAQC,oBAAoB,QAAO,gCAAgC;AAEnE,SAAQC,uBAAuB,QAAO,yBAAyB;AAC/D,SAAQC,mBAAmB,QAAO,UAAU;AAE5C,OAAO,IAAMC,aAAa,GAAG,6BAA6B;AAG1D,OAAO,IAAMC,eAAe,GAAG,+BAA+B;AAG9D,OAAO,IAAMC,SAAS,GAAG,yBAAyB;AASlD,OAAO,IAAMC,YAAY,GAAG,4BAA4B;AAGxD,OAAO,IAAMC,oBAAoB,GAAG,oCAAoC;AAGxE,OAAO,IAAMC,eAAe,GAAG,+BAA+B;AAG9D,OAAO,IAAMC,gBAAgB,GAAG,gCAAgC;AAMhE,OAAO,SAASC,SAASA,CACrBC,OAAe,EACgF;EAC/F;IAAA,IAAAC,IAAA,GAAAC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAO,SAAAC,QAAOC,QAAQ,EAAEC,SAAS;MAAA,IAAAC,KAAA;MAAA,OAAAL,mBAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;UAAA;YAC7BP,QAAQ,CAAC;cAACQ,IAAI,EAAEtB;YAAa,CAAC,CAAC;YAACmB,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAE,IAAA;YAAA,OAERvB,uBAAuB,CAACgB,QAAQ,CAACtB,QAAQ,CAACgB,OAAO,CAAC,CAAC,EAAE;cACrEe,WAAW,EAAE,YAAY;cACzBC,gBAAgB,EAAE,IAAI;cACtBC,UAAU,EAAE;YAChB,CAAC,CAAC;UAAA;YAJIT,KAAK,GAAAG,QAAA,CAAAO,IAAA;YAKXZ,QAAQ,CAAC;cACLQ,IAAI,EAAEpB,SAAS;cACfyB,IAAI,EAAE;gBACFC,YAAY,EAAE7B,mBAAmB,CAACiB,KAAK;cAC3C;YACJ,CAAC,CAAC;YAACG,QAAA,CAAAE,IAAA;YAAA;UAAA;YAAAF,QAAA,CAAAC,IAAA;YAAAD,QAAA,CAAAU,EAAA,GAAAV,QAAA;YAEHL,QAAQ,CAACgB,gBAAgB,CAAC,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAX,QAAA,CAAAY,IAAA;QAAA;MAAA,GAAAlB,OAAA;IAAA,CAEpC;IAAA,iBAAAmB,EAAA,EAAAC,GAAA;MAAA,OAAAxB,IAAA,CAAAyB,KAAA,OAAAC,SAAA;IAAA;EAAA;AACL;AAEA,OAAO,SAASC,gBAAgBA,CAACT,IAAkC,EAAE;EACjE,OAAO;IAACL,IAAI,EAAEjB,eAAe;IAAEsB,IAAI,EAAJA;EAAI,CAAC;AACxC;AAEA,OAAO,SAASU,wBAAwBA,CACpCC,MAAmB,EACnBC,OAAe,EACfC,IAAY,EACZC,OAA8B,EAWhC;EACE;IAAA,IAAAC,KAAA,GAAAhC,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAO,SAAA+B,SAAO7B,QAAQ;MAAA,IAAA8B,KAAA;MAAA,OAAAjC,mBAAA,CAAAM,IAAA,UAAA4B,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA1B,IAAA,GAAA0B,SAAA,CAAAzB,IAAA;UAAA;YAClBP,QAAQ,CAAC;cAACQ,IAAI,EAAEtB;YAAa,CAAC,CAAC;YAAC8C,SAAA,CAAA1B,IAAA;YAAA0B,SAAA,CAAAzB,IAAA;YAAA,OAERvB,uBAAuB,CACvCP,sBAAsB,CAAC+C,MAAM,EAAE;cAACC,OAAO,EAAPA,OAAO;cAAEC,IAAI,EAAJA;YAAI,CAAC,CAAC,EAC/C;cACIjB,WAAW,EAAE,YAAY;cACzBC,gBAAgB,EAAE,IAAI;cACtBC,UAAU,EAAE;YAChB,CACJ,CAAC;UAAA;YAPKmB,KAAK,GAAAE,SAAA,CAAApB,IAAA;YAQX,IAAIkB,KAAK,EAAE;cACP,IAAIH,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEM,QAAQ,EAAE;gBACnBjC,QAAQ,CAAC;kBACLQ,IAAI,EAAEnB,YAAY;kBAClBwB,IAAI,EAAEiB;gBACV,CAAC,CAAC;gBACF9B,QAAQ,CAAC;kBAACQ,IAAI,EAAErB;gBAAe,CAAC,CAAC;cACrC,CAAC,MAAM;gBACHa,QAAQ,CAAC;kBACLQ,IAAI,EAAEpB,SAAS;kBACfyB,IAAI,EAAE;oBACFC,YAAY,EAAEgB;kBAClB;gBACJ,CAAC,CAAC;cACN;YACJ,CAAC,MAAM;cACH9B,QAAQ,CAACgB,gBAAgB,CAACQ,MAAM,CAAC,CAAC;YACtC;YAACQ,SAAA,CAAAzB,IAAA;YAAA;UAAA;YAAAyB,SAAA,CAAA1B,IAAA;YAAA0B,SAAA,CAAAjB,EAAA,GAAAiB,SAAA;YAEDhC,QAAQ,CAACgB,gBAAgB,CAACQ,MAAM,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAQ,SAAA,CAAAf,IAAA;QAAA;MAAA,GAAAY,QAAA;IAAA,CAE1C;IAAA,iBAAAK,GAAA;MAAA,OAAAN,KAAA,CAAAR,KAAA,OAAAC,SAAA;IAAA;EAAA;AACL;AAEA,OAAO,SAASL,gBAAgBA,CAAA,EAIoB;EAAA,IAHhDQ,MAAM,GAAAH,SAAA,CAAAc,MAAA,QAAAd,SAAA,QAAAe,SAAA,GAAAf,SAAA,MAAG9C,WAAW,CAAC8D,GAAG;EAAA,IACxBnC,KAAc,GAAAmB,SAAA,CAAAc,MAAA,OAAAd,SAAA,MAAAe,SAAA;EAAA,IACdE,QAAiC,GAAAjB,SAAA,CAAAc,MAAA,OAAAd,SAAA,MAAAe,SAAA;EAEjC,OAAO,UAACpC,QAAQ,EAAK;IACjBA,QAAQ,CAAC;MACLQ,IAAI,EAAEpB,SAAS;MACfyB,IAAI,EAAE;QACFC,YAAY,EAAE;UACVZ,KAAK,EAAEA,KAAK,IAAI,EAAE;UAClBsB,MAAM,EAANA,MAAM;UACNc,QAAQ,EAAEA,QAAQ,IAAI,CAAC;QAC3B;MACJ;IACJ,CAAC,CAAC;EACN,CAAC;AACL;AAEA,OAAO,SAASC,QAAQA,CACpBC,WAAkD,EACF;EAChD;IAAA,IAAAC,KAAA,GAAA7C,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAO,SAAA4C,SAAO1C,QAAQ,EAAE2C,QAAQ;MAAA,IAAAC,KAAA,EAAA1C,KAAA,EAAA2C,qBAAA,EAAAC,QAAA,EAAAC,OAAA;MAAA,OAAAlD,mBAAA,CAAAM,IAAA,UAAA6C,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA3C,IAAA,GAAA2C,SAAA,CAAA1C,IAAA;UAAA;YACtBqC,KAAK,GAAGD,QAAQ,CAAC,CAAC;YAClBzC,KAAK,GAAGpB,aAAa,CAAC8D,KAAK,CAAC;YAAAK,SAAA,CAAA1C,IAAA;YAAA,OACTvB,uBAAuB,CAACgB,QAAQ,CAACrB,UAAU,CAACuB,KAAK,CAAC,CAAC,EAAE;cAC1EO,WAAW,EAAE,aAAa;cAC1BC,gBAAgB,EAAE,IAAI;cACtBC,UAAU,EAAE;YAChB,CAAC,CAAC;UAAA;YAAAkC,qBAAA,GAAAI,SAAA,CAAArC,IAAA;YAJKkC,QAAQ,GAAAD,qBAAA,CAARC,QAAQ;YAKTC,OAAO,GAAGP,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGM,QAAQ,CAAC;YACvC,IAAI,CAACC,OAAO,EAAE;cACV/C,QAAQ,CAACP,SAAS,CAACqD,QAAQ,CAAC,CAAC;YACjC;YACA9C,QAAQ,CAACpB,kBAAkB,CAAC,CAAC,CAAC;UAAC;UAAA;YAAA,OAAAqE,SAAA,CAAAhC,IAAA;QAAA;MAAA,GAAAyB,QAAA;IAAA,CAClC;IAAA,iBAAAQ,GAAA,EAAAC,GAAA;MAAA,OAAAV,KAAA,CAAArB,KAAA,OAAAC,SAAA;IAAA;EAAA;AACL;AAEA,OAAO,SAAS+B,iBAAiBA,CAAA,EAAqD;EAClF;IAAA,IAAAC,KAAA,GAAAzD,iBAAA,eAAAC,mBAAA,CAAAC,IAAA,CAAO,SAAAwD,SAAOtD,QAAQ,EAAE2C,QAAQ;MAAA,IAAAC,KAAA,EAAAW,YAAA;MAAA,OAAA1D,mBAAA,CAAAM,IAAA,UAAAqD,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAnD,IAAA,GAAAmD,SAAA,CAAAlD,IAAA;UAAA;YACtBqC,KAAK,GAAGD,QAAQ,CAAC,CAAC;YAClBY,YAAY,GAAG1E,eAAe,CAAC+D,KAAK,CAAC;YAAA,KACvCW,YAAY;cAAAE,SAAA,CAAAlD,IAAA;cAAA;YAAA;YAAAkD,SAAA,CAAAlD,IAAA;YAAA,OACNvB,uBAAuB,CAACgB,QAAQ,CAACxB,UAAU,CAAC;cAACsE,QAAQ,EAAES,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG;YAAE,CAAC,CAAC,CAAC,EAAE;cAC9EjD,WAAW,EAAE,aAAa;cAC1BC,gBAAgB,EAAE,IAAI;cACtBC,UAAU,EAAE;YAChB,CAAC,CAAC;UAAA;YACFX,QAAQ,CAACP,SAAS,CAAC8D,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEG,EAAE,CAAC,CAAC;YACrC1D,QAAQ,CAACpB,kBAAkB,CAAC,CAAC,CAAC;UAAC;UAAA;YAAA,OAAA6E,SAAA,CAAAxC,IAAA;QAAA;MAAA,GAAAqC,QAAA;IAAA,CAEtC;IAAA,iBAAAK,GAAA,EAAAC,GAAA;MAAA,OAAAP,KAAA,CAAAjC,KAAA,OAAAC,SAAA;IAAA;EAAA;AACL;AAEA,OAAO,SAASwC,SAASA,CAACf,QAAgB,EAA2C;EACjF,OAAO,UAACgB,CAAC,EAAEnB,QAAQ,EAAK;IACpB,IAAMC,KAAK,GAAGD,QAAQ,CAAC,CAAC;IACxB,IAAMlB,OAAO,GAAGnD,UAAU,CAACsE,KAAK,CAAC;IACjC,IAAMmB,OAAO,GAAGhF,oBAAoB,CAAC,CAAC;IACtCgF,OAAO,CAACC,IAAI,CAAC3F,cAAc,CAACoD,OAAO,EAAEqB,QAAQ,CAAC,CAAC;EACnD,CAAC;AACL"}
|
@@ -12,6 +12,7 @@ var initState = {
|
|
12
12
|
queryItem: undefined,
|
13
13
|
draft: _objectSpread({}, initialQueryDraftState),
|
14
14
|
params: {},
|
15
|
+
dirtySinceLastSubmit: false,
|
15
16
|
state: 'init'
|
16
17
|
};
|
17
18
|
export function reducer() {
|
@@ -23,6 +24,7 @@ export function reducer() {
|
|
23
24
|
return _objectSpread(_objectSpread({}, state), {}, {
|
24
25
|
queryItem: action.data.initialQuery,
|
25
26
|
draft: _objectSpread(_objectSpread({}, initialQueryDraftState), action.data.initialQuery ? cleanupQueryForDraft(_objectSpread({}, action.data.initialQuery)) : {}),
|
27
|
+
dirtySinceLastSubmit: false,
|
26
28
|
state: 'ready'
|
27
29
|
});
|
28
30
|
}
|
@@ -56,8 +58,11 @@ export function reducer() {
|
|
56
58
|
}
|
57
59
|
case SET_QUERY_PATCH:
|
58
60
|
{
|
61
|
+
var _action$data2;
|
62
|
+
var hasQuery = Boolean(action === null || action === void 0 || (_action$data2 = action.data) === null || _action$data2 === void 0 ? void 0 : _action$data2.query);
|
59
63
|
return _objectSpread(_objectSpread({}, state), {}, {
|
60
|
-
draft: _objectSpread(_objectSpread({}, state.draft), action.data)
|
64
|
+
draft: _objectSpread(_objectSpread({}, state.draft), action.data),
|
65
|
+
dirtySinceLastSubmit: hasQuery
|
61
66
|
});
|
62
67
|
}
|
63
68
|
case SET_QUERY_PARAMS:
|