@finos/legend-application-data-cube 0.1.18 → 0.1.20
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/lib/__lib__/LegendDataCubeNavigation.d.ts +2 -1
- package/lib/__lib__/LegendDataCubeNavigation.d.ts.map +1 -1
- package/lib/__lib__/LegendDataCubeNavigation.js +1 -0
- package/lib/__lib__/LegendDataCubeNavigation.js.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js +9 -4
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.d.ts +2 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.d.ts.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.js +19 -0
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.js.map +1 -1
- package/package.json +5 -5
- package/src/__lib__/LegendDataCubeNavigation.ts +1 -0
- package/src/components/query-builder/LegendDataCubeQueryBuilder.tsx +12 -4
- package/src/stores/query-builder/LegendDataCubeNewQueryState.tsx +29 -1
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
export declare enum LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN {
|
|
17
|
-
QUERY_ID = "queryId"
|
|
17
|
+
QUERY_ID = "queryId",
|
|
18
|
+
SOURCE_DATA = "sourceData"
|
|
18
19
|
}
|
|
19
20
|
export declare const LEGEND_DATA_CUBE_ROUTE_PATTERN: Readonly<{
|
|
20
21
|
QUERY_BUILDER: "/:queryId?";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,QAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,QAAQ,YAAY;IACpB,WAAW,eAAe;CAC3B;AAED,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,MAAM,MAAM,yCAAyC,GAAG;IACtD,CAAC,oCAAoC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,YAAa,MAAM,GAAG,IAAI,KAAG,MAIlE,CAAC"}
|
|
@@ -17,6 +17,7 @@ import { generatePath } from '@finos/legend-application/browser';
|
|
|
17
17
|
export var LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN;
|
|
18
18
|
(function (LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN) {
|
|
19
19
|
LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN["QUERY_ID"] = "queryId";
|
|
20
|
+
LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN["SOURCE_DATA"] = "sourceData";
|
|
20
21
|
})(LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN || (LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN = {}));
|
|
21
22
|
export const LEGEND_DATA_CUBE_ROUTE_PATTERN = Object.freeze({
|
|
22
23
|
QUERY_BUILDER: `/:${LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID}?`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNavigation.js","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeNavigation.js","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,MAAM,CAAN,IAAY,oCAGX;AAHD,WAAY,oCAAoC;IAC9C,4DAAoB,CAAA;IACpB,kEAA0B,CAAA;AAC5B,CAAC,EAHW,oCAAoC,KAApC,oCAAoC,QAG/C;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,aAAa,EAAE,KAAK,oCAAoC,CAAC,QAAQ,GAAG;CACrE,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAsB,EAAU,EAAE;IAC1E,OAAO,YAAY,CAAC,8BAA8B,CAAC,aAAa,EAAE;QAChE,CAAC,oCAAoC,CAAC,QAAQ,CAAC,EAAE,OAAO;KACzD,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeQueryBuilder.d.ts","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkDH,eAAO,MAAM,0BAA0B,+CA2FtC,CAAC"}
|
|
@@ -32,18 +32,23 @@ export const LegendDataCubeQueryBuilder = withLegendDataCubeQueryBuilderStore(ob
|
|
|
32
32
|
const application = store.application;
|
|
33
33
|
const params = useParams();
|
|
34
34
|
const queryId = params[LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID];
|
|
35
|
+
const sourceData = application.navigationService.navigator.getCurrentLocationParameterValue(LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.SOURCE_DATA);
|
|
35
36
|
useEffect(() => {
|
|
36
|
-
if (
|
|
37
|
+
if (sourceData) {
|
|
38
|
+
const sourceDataJson = JSON.parse(atob(sourceData));
|
|
39
|
+
store.newQueryState.initWithSourceData(sourceDataJson);
|
|
40
|
+
}
|
|
41
|
+
else if (queryId !== store.builder?.persistentQuery?.id) {
|
|
37
42
|
store
|
|
38
43
|
.loadQuery(queryId)
|
|
39
44
|
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
40
45
|
}
|
|
41
|
-
}, [store, queryId]);
|
|
46
|
+
}, [store, queryId, sourceData]);
|
|
42
47
|
useEffect(() => {
|
|
43
|
-
if (!store.builder && !queryId) {
|
|
48
|
+
if (!store.builder && !queryId && !sourceData) {
|
|
44
49
|
store.loader.display.open();
|
|
45
50
|
}
|
|
46
|
-
}, [store, queryId]);
|
|
51
|
+
}, [store, queryId, sourceData]);
|
|
47
52
|
if (!builder) {
|
|
48
53
|
return (_jsx(DataCubePlaceholder, { title: "[ Legend DataCube ]", layoutManager: store.layoutService.manager, taskManager: store.taskService.manager, headerContent: _jsx(LegendDataCubeQueryBuilderHeader, {}), menuItems: [
|
|
49
54
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,UAAU,EAEV,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACnC,OAAO,EACL,kCAAkC,EAClC,mCAAmC,GACpC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EACL,oCAAoC,GAErC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeQueryBuilder.js","sourceRoot":"","sources":["../../../src/components/query-builder/LegendDataCubeQueryBuilder.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ActionState } from '@finos/legend-shared';
|
|
16
|
+
import { ActionState, type PlainObject } from '@finos/legend-shared';
|
|
17
17
|
import { LegendDataCubeSourceBuilderType, type LegendDataCubeSourceBuilderState } from './source-builder/LegendDataCubeSourceBuilderState.js';
|
|
18
18
|
import { type DisplayState } from '@finos/legend-data-cube';
|
|
19
19
|
import { type LegendDataCubeQueryBuilderStore } from './LegendDataCubeQueryBuilderStore.js';
|
|
@@ -26,6 +26,7 @@ export declare class LegendDataCubeNewQueryState {
|
|
|
26
26
|
readonly display: DisplayState;
|
|
27
27
|
sourceBuilder: LegendDataCubeSourceBuilderState;
|
|
28
28
|
constructor(store: LegendDataCubeQueryBuilderStore);
|
|
29
|
+
initWithSourceData(source: PlainObject): void;
|
|
29
30
|
changeSourceBuilder(type: LegendDataCubeSourceBuilderType, skipCheck?: boolean | undefined): void;
|
|
30
31
|
private createSourceBuilder;
|
|
31
32
|
finalize(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNewQueryState.d.ts","sourceRoot":"","sources":["../../../src/stores/query-builder/LegendDataCubeNewQueryState.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeNewQueryState.d.ts","sourceRoot":"","sources":["../../../src/stores/query-builder/LegendDataCubeNewQueryState.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,WAAW,EAIX,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,+BAA+B,EAC/B,KAAK,gCAAgC,EACtC,MAAM,sDAAsD,CAAC;AAC9D,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAEL,KAAK,+BAA+B,EACrC,MAAM,sCAAsC,CAAC;AAO9C,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IAErD,QAAQ,CAAC,aAAa,cAAwB;IAC9C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAE/B,aAAa,EAAE,gCAAgC,CAAC;gBAEpC,KAAK,EAAE,+BAA+B;IA0BlD,kBAAkB,CAAC,MAAM,EAAE,WAAW;IAwBtC,mBAAmB,CACjB,IAAI,EAAE,+BAA+B,EACrC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,GAC9B,IAAI;IAMP,OAAO,CAAC,mBAAmB;IAwBrB,QAAQ;CAoCf"}
|
|
@@ -23,6 +23,7 @@ import { LegendDataCubeNewQueryBuilder } from '../../components/query-builder/Le
|
|
|
23
23
|
import { AdhocQueryDataCubeSourceBuilderState } from './source-builder/AdhocQueryDataCubeSourceBuilderState.js';
|
|
24
24
|
import { LegendDataCubeQueryBuilderState, } from './LegendDataCubeQueryBuilderStore.js';
|
|
25
25
|
import { generateQueryBuilderRoute } from '../../__lib__/LegendDataCubeNavigation.js';
|
|
26
|
+
import { LEGEND_QUERY_DATA_CUBE_SOURCE_TYPE, RawLegendQueryDataCubeSource, } from '../model/LegendQueryDataCubeSource.js';
|
|
26
27
|
export class LegendDataCubeNewQueryState {
|
|
27
28
|
_application;
|
|
28
29
|
_store;
|
|
@@ -47,6 +48,24 @@ export class LegendDataCubeNewQueryState {
|
|
|
47
48
|
});
|
|
48
49
|
this.sourceBuilder = this.createSourceBuilder(LegendDataCubeSourceBuilderType.LEGEND_QUERY);
|
|
49
50
|
}
|
|
51
|
+
initWithSourceData(source) {
|
|
52
|
+
if (source._type === LEGEND_QUERY_DATA_CUBE_SOURCE_TYPE) {
|
|
53
|
+
this.changeSourceBuilder(LegendDataCubeSourceBuilderType.LEGEND_QUERY);
|
|
54
|
+
const serializedSourceData = RawLegendQueryDataCubeSource.serialization.fromJson(source);
|
|
55
|
+
this._store.graphManager
|
|
56
|
+
.getLightQuery(serializedSourceData.queryId)
|
|
57
|
+
.then(async (currentQuery) => {
|
|
58
|
+
if (this.sourceBuilder instanceof LegendQueryDataCubeSourceBuilderState) {
|
|
59
|
+
this.sourceBuilder.query = currentQuery;
|
|
60
|
+
await this.finalize();
|
|
61
|
+
}
|
|
62
|
+
})
|
|
63
|
+
.catch(this._application.alertUnhandledError);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
this._application.notificationService.notifyError(`Can't generate query: source of type ${source._type} is not supported`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
50
69
|
changeSourceBuilder(type, skipCheck) {
|
|
51
70
|
if (this.sourceBuilder.label !== type || skipCheck) {
|
|
52
71
|
this.sourceBuilder = this.createSourceBuilder(type);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNewQueryState.js","sourceRoot":"","sources":["../../../src/stores/query-builder/LegendDataCubeNewQueryState.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC1D,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeNewQueryState.js","sourceRoot":"","sources":["../../../src/stores/query-builder/LegendDataCubeNewQueryState.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-data-cube",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.20",
|
|
4
4
|
"description": "Legend DataCube application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@finos/legend-application": "16.0.22",
|
|
46
46
|
"@finos/legend-art": "7.1.79",
|
|
47
|
-
"@finos/legend-code-editor": "2.0.
|
|
48
|
-
"@finos/legend-data-cube": "0.0.
|
|
49
|
-
"@finos/legend-graph": "32.0.
|
|
50
|
-
"@finos/legend-query-builder": "4.15.
|
|
47
|
+
"@finos/legend-code-editor": "2.0.41",
|
|
48
|
+
"@finos/legend-data-cube": "0.0.48",
|
|
49
|
+
"@finos/legend-graph": "32.0.9",
|
|
50
|
+
"@finos/legend-query-builder": "4.15.46",
|
|
51
51
|
"@finos/legend-server-depot": "6.0.78",
|
|
52
52
|
"@finos/legend-shared": "11.0.1",
|
|
53
53
|
"@finos/legend-storage": "3.0.120",
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
} from '../../__lib__/LegendDataCubeNavigation.js';
|
|
34
34
|
import { useEffect } from 'react';
|
|
35
35
|
import { LegendDataCubeSettingStorageKey } from '../../__lib__/LegendDataCubeSetting.js';
|
|
36
|
+
import type { PlainObject } from '@finos/legend-shared';
|
|
36
37
|
|
|
37
38
|
const LegendDataCubeQueryBuilderHeader = observer(() => {
|
|
38
39
|
const store = useLegendDataCubeQueryBuilderStore();
|
|
@@ -68,20 +69,27 @@ export const LegendDataCubeQueryBuilder = withLegendDataCubeQueryBuilderStore(
|
|
|
68
69
|
const application = store.application;
|
|
69
70
|
const params = useParams<LegendDataCubeQueryBuilderQueryPathParams>();
|
|
70
71
|
const queryId = params[LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.QUERY_ID];
|
|
72
|
+
const sourceData =
|
|
73
|
+
application.navigationService.navigator.getCurrentLocationParameterValue(
|
|
74
|
+
LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.SOURCE_DATA,
|
|
75
|
+
);
|
|
71
76
|
|
|
72
77
|
useEffect(() => {
|
|
73
|
-
if (
|
|
78
|
+
if (sourceData) {
|
|
79
|
+
const sourceDataJson = JSON.parse(atob(sourceData)) as PlainObject;
|
|
80
|
+
store.newQueryState.initWithSourceData(sourceDataJson);
|
|
81
|
+
} else if (queryId !== store.builder?.persistentQuery?.id) {
|
|
74
82
|
store
|
|
75
83
|
.loadQuery(queryId)
|
|
76
84
|
.catch((error) => store.alertService.alertUnhandledError(error));
|
|
77
85
|
}
|
|
78
|
-
}, [store, queryId]);
|
|
86
|
+
}, [store, queryId, sourceData]);
|
|
79
87
|
|
|
80
88
|
useEffect(() => {
|
|
81
|
-
if (!store.builder && !queryId) {
|
|
89
|
+
if (!store.builder && !queryId && !sourceData) {
|
|
82
90
|
store.loader.display.open();
|
|
83
91
|
}
|
|
84
|
-
}, [store, queryId]);
|
|
92
|
+
}, [store, queryId, sourceData]);
|
|
85
93
|
|
|
86
94
|
if (!builder) {
|
|
87
95
|
return (
|
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
assertErrorThrown,
|
|
21
21
|
IllegalStateError,
|
|
22
22
|
UnsupportedOperationError,
|
|
23
|
+
type PlainObject,
|
|
23
24
|
} from '@finos/legend-shared';
|
|
24
25
|
import { LegendQueryDataCubeSourceBuilderState } from './source-builder/LegendQueryDataCubeSourceBuilderState.js';
|
|
25
26
|
import type { LegendDataCubeApplicationStore } from '../LegendDataCubeBaseStore.js';
|
|
@@ -42,6 +43,10 @@ import {
|
|
|
42
43
|
type LegendDataCubeQueryBuilderStore,
|
|
43
44
|
} from './LegendDataCubeQueryBuilderStore.js';
|
|
44
45
|
import { generateQueryBuilderRoute } from '../../__lib__/LegendDataCubeNavigation.js';
|
|
46
|
+
import {
|
|
47
|
+
LEGEND_QUERY_DATA_CUBE_SOURCE_TYPE,
|
|
48
|
+
RawLegendQueryDataCubeSource,
|
|
49
|
+
} from '../model/LegendQueryDataCubeSource.js';
|
|
45
50
|
|
|
46
51
|
export class LegendDataCubeNewQueryState {
|
|
47
52
|
private readonly _application: LegendDataCubeApplicationStore;
|
|
@@ -80,6 +85,30 @@ export class LegendDataCubeNewQueryState {
|
|
|
80
85
|
);
|
|
81
86
|
}
|
|
82
87
|
|
|
88
|
+
initWithSourceData(source: PlainObject) {
|
|
89
|
+
if (source._type === LEGEND_QUERY_DATA_CUBE_SOURCE_TYPE) {
|
|
90
|
+
this.changeSourceBuilder(LegendDataCubeSourceBuilderType.LEGEND_QUERY);
|
|
91
|
+
const serializedSourceData =
|
|
92
|
+
RawLegendQueryDataCubeSource.serialization.fromJson(source);
|
|
93
|
+
|
|
94
|
+
this._store.graphManager
|
|
95
|
+
.getLightQuery(serializedSourceData.queryId)
|
|
96
|
+
.then(async (currentQuery) => {
|
|
97
|
+
if (
|
|
98
|
+
this.sourceBuilder instanceof LegendQueryDataCubeSourceBuilderState
|
|
99
|
+
) {
|
|
100
|
+
this.sourceBuilder.query = currentQuery;
|
|
101
|
+
await this.finalize();
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
.catch(this._application.alertUnhandledError);
|
|
105
|
+
} else {
|
|
106
|
+
this._application.notificationService.notifyError(
|
|
107
|
+
`Can't generate query: source of type ${source._type} is not supported`,
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
83
112
|
changeSourceBuilder(
|
|
84
113
|
type: LegendDataCubeSourceBuilderType,
|
|
85
114
|
skipCheck?: boolean | undefined,
|
|
@@ -127,7 +156,6 @@ export class LegendDataCubeNewQueryState {
|
|
|
127
156
|
query.query = await this._engine.getValueSpecificationCode(
|
|
128
157
|
_selectFunction(processedSource.columns),
|
|
129
158
|
);
|
|
130
|
-
|
|
131
159
|
this._store.setBuilder(new LegendDataCubeQueryBuilderState(query));
|
|
132
160
|
// only update the route instead of reloading in case we are creating
|
|
133
161
|
// a new query when we are editing another query
|