@finos/legend-application-data-cube 0.1.3 → 0.1.5
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 +0 -1
- package/lib/__lib__/LegendDataCubeNavigation.d.ts.map +1 -1
- package/lib/__lib__/LegendDataCubeNavigation.js +0 -1
- package/lib/__lib__/LegendDataCubeNavigation.js.map +1 -1
- package/lib/components/LegendDataCubeWebApplication.d.ts.map +1 -1
- package/lib/components/LegendDataCubeWebApplication.js +1 -1
- package/lib/components/LegendDataCubeWebApplication.js.map +1 -1
- package/lib/components/source/SavedQuerySourceEditor.js +1 -1
- package/lib/components/source/SavedQuerySourceEditor.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/LegendDataCubeEditorStore.d.ts +2 -2
- package/lib/stores/LegendDataCubeEditorStore.d.ts.map +1 -1
- package/lib/stores/LegendDataCubeEditorStore.js +2 -2
- package/lib/stores/LegendDataCubeEditorStore.js.map +1 -1
- package/lib/stores/engine/LegendExecutionDataCubeEngine.d.ts +10 -4
- package/lib/stores/engine/LegendExecutionDataCubeEngine.d.ts.map +1 -1
- package/lib/stores/engine/LegendExecutionDataCubeEngine.js +17 -13
- package/lib/stores/engine/LegendExecutionDataCubeEngine.js.map +1 -1
- package/package.json +11 -11
- package/src/__lib__/LegendDataCubeNavigation.ts +0 -1
- package/src/components/LegendDataCubeWebApplication.tsx +1 -4
- package/src/components/source/SavedQuerySourceEditor.tsx +1 -1
- package/src/stores/LegendDataCubeEditorStore.ts +6 -5
- package/src/stores/engine/LegendExecutionDataCubeEngine.ts +29 -19
|
@@ -17,7 +17,6 @@ export declare enum LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN {
|
|
|
17
17
|
DATA_CUBE_QUERY_ID = "id"
|
|
18
18
|
}
|
|
19
19
|
export declare const LEGEND_DATA_CUBE_ROUTE_PATTERN: Readonly<{
|
|
20
|
-
DEFAULT: "/";
|
|
21
20
|
VIEW_EXISTING_QUERY: "/:id";
|
|
22
21
|
}>;
|
|
23
22
|
export type ExistingDataCubeViewerPathParams = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,kBAAkB,OAAO;CAC1B;AAED,eAAO,MAAM,8BAA8B
|
|
1
|
+
{"version":3,"file":"LegendDataCubeNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendDataCubeNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,oBAAY,oCAAoC;IAC9C,kBAAkB,OAAO;CAC1B;AAED,eAAO,MAAM,8BAA8B;;EAEzC,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,CAAC,oCAAoC,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACnE,CAAC;AAEF,eAAO,MAAM,sBAAsB,OAAQ,MAAM,KAAG,MAInD,CAAC"}
|
|
@@ -19,7 +19,6 @@ export var LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN;
|
|
|
19
19
|
LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN["DATA_CUBE_QUERY_ID"] = "id";
|
|
20
20
|
})(LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN || (LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN = {}));
|
|
21
21
|
export const LEGEND_DATA_CUBE_ROUTE_PATTERN = Object.freeze({
|
|
22
|
-
DEFAULT: '/',
|
|
23
22
|
VIEW_EXISTING_QUERY: `/:${LEGEND_DATA_CUBE_ROUTE_PATTERN_TOKEN.DATA_CUBE_QUERY_ID}`,
|
|
24
23
|
});
|
|
25
24
|
export const generatedSavedQueryUrl = (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,oCAEX;AAFD,WAAY,oCAAoC;IAC9C,iEAAyB,CAAA;AAC3B,CAAC,EAFW,oCAAoC,KAApC,oCAAoC,QAE/C;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,
|
|
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,oCAEX;AAFD,WAAY,oCAAoC;IAC9C,iEAAyB,CAAA;AAC3B,CAAC,EAFW,oCAAoC,KAApC,oCAAoC,QAE/C;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1D,mBAAmB,EAAE,KAAK,oCAAoC,CAAC,kBAAkB,EAAE;CACpF,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EAAU,EAAU,EAAE;IAC3D,OAAO,YAAY,CAAC,8BAA8B,CAAC,mBAAmB,EAAE;QACtE,EAAE;KACH,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeWebApplication.d.ts","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"LegendDataCubeWebApplication.d.ts","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwBH,eAAO,MAAM,4BAA4B,WAC/B;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;;CAW5B,CAAC"}
|
|
@@ -22,7 +22,7 @@ import { DataCubeEditor } from './DataCubeEditor.js';
|
|
|
22
22
|
import { ExistingDataCubeQuery } from './source/ExistingDataCubeQuery.js';
|
|
23
23
|
import { LEGEND_DATA_CUBE_ROUTE_PATTERN } from '../__lib__/LegendDataCubeNavigation.js';
|
|
24
24
|
const LegendDataCubeWebApplicationRouter = observer(() => {
|
|
25
|
-
return (_jsx("div", { className: "app", children: _jsxs(Routes, { children: [_jsx(Route, { path: LEGEND_DATA_CUBE_ROUTE_PATTERN.
|
|
25
|
+
return (_jsx("div", { className: "app", children: _jsxs(Routes, { children: [_jsx(Route, { path: LEGEND_DATA_CUBE_ROUTE_PATTERN.VIEW_EXISTING_QUERY, element: _jsx(ExistingDataCubeQuery, {}) }), _jsx(Route, { path: "/", element: _jsx(DataCubeEditor, {}) })] }) }));
|
|
26
26
|
});
|
|
27
27
|
export const LegendDataCubeWebApplication = observer((props) => {
|
|
28
28
|
const { baseUrl } = props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAExF,MAAM,kCAAkC,GAAG,QAAQ,CAAC,GAAG,EAAE;IACvD,OAAO,CACL,cAAK,SAAS,EAAC,KAAK,YAClB,MAAC,MAAM,eACL,KAAC,KAAK,IACJ,IAAI,EAAE,8BAA8B,CAAC,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeWebApplication.js","sourceRoot":"","sources":["../../src/components/LegendDataCubeWebApplication.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AAExF,MAAM,kCAAkC,GAAG,QAAQ,CAAC,GAAG,EAAE;IACvD,OAAO,CACL,cAAK,SAAS,EAAC,KAAK,YAClB,MAAC,MAAM,eACL,KAAC,KAAK,IACJ,IAAI,EAAE,8BAA8B,CAAC,mBAAmB,EACxD,OAAO,EAAE,KAAC,qBAAqB,KAAG,GAClC,EACF,KAAC,KAAK,IAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,KAAC,cAAc,KAAG,GAAI,IACxC,GACL,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,QAAQ,CAClD,CAAC,KAA0B,EAAE,EAAE;IAC7B,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1B,OAAO,CACL,KAAC,0BAA0B,IAAC,OAAO,EAAE,OAAO,YAC1C,KAAC,+BAA+B,cAC9B,KAAC,kCAAkC,KAAG,GACN,GACP,CAC9B,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -20,6 +20,6 @@ import { generateGAVCoordinates } from '@finos/legend-storage';
|
|
|
20
20
|
export const SavedQuerySourceEditor = observer((props) => {
|
|
21
21
|
const { savedQueryInputSourceState } = props;
|
|
22
22
|
const savedQuery = savedQueryInputSourceState.query;
|
|
23
|
-
return (_jsx("div", { children: savedQuery ? (_jsxs("div", { className: "p-3", children: [_jsx("div", { className: "text-l font-bold", children: "Saved Query" }), _jsxs("div", {
|
|
23
|
+
return (_jsx("div", { children: savedQuery ? (_jsxs("div", { className: "p-3", children: [_jsx("div", { className: "text-l font-bold", children: "Saved Query" }), _jsxs("div", { children: [_jsxs("div", { className: "flex pt-px", children: [_jsx("div", { className: "font-bold", children: "Name:" }), _jsx("div", { children: savedQuery.name })] }), _jsxs("div", { className: "flex pt-px", children: [_jsx("div", { className: "font-bold", children: "Project:" }), _jsx("div", { children: generateGAVCoordinates(savedQuery.groupId, savedQuery.artifactId, savedQuery.versionId) })] }), _jsxs("div", { className: "flex pt-px", children: [_jsx("div", { className: "font-bold", children: "Owner:" }), _jsx("div", { children: savedQuery.owner })] })] })] })) : (_jsx(QueryLoader, { queryLoaderState: savedQueryInputSourceState.queryLoaderState, loadActionLabel: 'Open' })) }));
|
|
24
24
|
});
|
|
25
25
|
//# sourceMappingURL=SavedQuerySourceEditor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SavedQuerySourceEditor.js","sourceRoot":"","sources":["../../../src/components/source/SavedQuerySourceEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAC5C,CAAC,KAAiE,EAAE,EAAE;IACpE,MAAM,EAAE,0BAA0B,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,CAAC;IAEpD,OAAO,CACL,wBACG,UAAU,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,KAAK,aAClB,cAAK,SAAS,EAAC,kBAAkB,4BAAkB,EACnD,
|
|
1
|
+
{"version":3,"file":"SavedQuerySourceEditor.js","sourceRoot":"","sources":["../../../src/components/source/SavedQuerySourceEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAC5C,CAAC,KAAiE,EAAE,EAAE;IACpE,MAAM,EAAE,0BAA0B,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,0BAA0B,CAAC,KAAK,CAAC;IAEpD,OAAO,CACL,wBACG,UAAU,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,KAAK,aAClB,cAAK,SAAS,EAAC,kBAAkB,4BAAkB,EACnD,0BACE,eAAK,SAAS,EAAC,YAAY,aACzB,cAAK,SAAS,EAAC,WAAW,sBAAY,EACtC,wBAAM,UAAU,CAAC,IAAI,GAAO,IACxB,EACN,eAAK,SAAS,EAAC,YAAY,aACzB,cAAK,SAAS,EAAC,WAAW,yBAAe,EACzC,wBACG,sBAAsB,CACrB,UAAU,CAAC,OAAO,EAClB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,SAAS,CACrB,GACG,IACF,EACN,eAAK,SAAS,EAAC,YAAY,aACzB,cAAK,SAAS,EAAC,WAAW,uBAAa,EACvC,wBAAM,UAAU,CAAC,KAAK,GAAO,IACzB,IACF,IACF,CACP,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IACV,gBAAgB,EAAE,0BAA0B,CAAC,gBAAgB,EAC7D,eAAe,EAAE,MAAM,GACvB,CACH,GACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -17,7 +17,7 @@ import { type ApplicationStore } from '@finos/legend-application';
|
|
|
17
17
|
import type { LegendDataCubePluginManager } from '../application/LegendDataCubePluginManager.js';
|
|
18
18
|
import { DepotServerClient } from '@finos/legend-server-depot';
|
|
19
19
|
import type { LegendDataCubeApplicationConfig } from '../application/LegendDataCubeApplicationConfig.js';
|
|
20
|
-
import { GraphManagerState,
|
|
20
|
+
import { GraphManagerState, PersistentDataCubeQuery } from '@finos/legend-graph';
|
|
21
21
|
import { LegendDataCubeSourceBuilder } from './source/LegendDataCubeSourceBuilder.js';
|
|
22
22
|
import { ActionState, type GeneratorFn } from '@finos/legend-shared';
|
|
23
23
|
import { LegendCubeViewer } from './source/LegendCubeViewer.js';
|
|
@@ -40,7 +40,7 @@ export declare class LegendDataCubeStore {
|
|
|
40
40
|
cubeViewer: LegendCubeViewer | undefined;
|
|
41
41
|
saveModal: boolean;
|
|
42
42
|
saveModalState: ActionState;
|
|
43
|
-
savedQuery:
|
|
43
|
+
savedQuery: PersistentDataCubeQuery | undefined;
|
|
44
44
|
constructor(applicationStore: LegendDataCubeApplicationStore);
|
|
45
45
|
setSaveModal(val: boolean): void;
|
|
46
46
|
initializeView(source: DataCubeGenericSource, engine: DataCubeEngine): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeEditorStore.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeEditorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACzG,OAAO,EACL,iBAAiB,EAEjB,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeEditorStore.d.ts","sourceRoot":"","sources":["../../src/stores/LegendDataCubeEditorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAkB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mDAAmD,CAAC;AACzG,OAAO,EACL,iBAAiB,EAEjB,uBAAuB,EAGxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EACL,WAAW,EAKX,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAU9E,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,CAC3D,+BAA+B,EAC/B,2BAA2B,CAC5B,CAAC;AAEF,qBAAa,0BAA0B;IACrC,QAAQ,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,SAAS,cAAwB;gBAErB,gBAAgB,EAAE,8BAA8B;IAiB3D,UAAU,IAAI,WAAW,CAAC,IAAI,CAAC;CAgCjC;AAED,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;IAC1D,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IAEpD,cAAc,EAAE,2BAA2B,CAAC;IAC5C,UAAU,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACzC,SAAS,UAAS;IAClB,cAAc,cAAwB;IACtC,UAAU,EAAE,uBAAuB,GAAG,SAAS,CAAC;gBAEpC,gBAAgB,EAAE,8BAA8B;IAkB5D,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIhC,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAI1E,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;IAuDzC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;CA8B5C"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { DEFAULT_TAB_SIZE, } from '@finos/legend-application';
|
|
17
17
|
import { DepotServerClient, resolveVersion } from '@finos/legend-server-depot';
|
|
18
|
-
import { GraphManagerState, LegendSDLC,
|
|
18
|
+
import { GraphManagerState, LegendSDLC, PersistentDataCubeQuery, } from '@finos/legend-graph';
|
|
19
19
|
import { LegendDataCubeSourceBuilder } from './source/LegendDataCubeSourceBuilder.js';
|
|
20
20
|
import { ActionState, UnsupportedOperationError, assertErrorThrown, guaranteeNonNullable, uuid, } from '@finos/legend-shared';
|
|
21
21
|
import { action, flow, flowResult, makeObservable, observable } from 'mobx';
|
|
@@ -132,7 +132,7 @@ export class LegendDataCubeStore {
|
|
|
132
132
|
this.saveModalState.inProgress();
|
|
133
133
|
const view = guaranteeNonNullable(this.cubeViewer);
|
|
134
134
|
const content = serializeDataCubeQueryConent(createQueryBuilderContent(view.source));
|
|
135
|
-
const cubeQuery = new
|
|
135
|
+
const cubeQuery = new PersistentDataCubeQuery();
|
|
136
136
|
cubeQuery.content = content;
|
|
137
137
|
cubeQuery.name = name;
|
|
138
138
|
cubeQuery.id = uuid();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendDataCubeEditorStore.js","sourceRoot":"","sources":["../../src/stores/LegendDataCubeEditorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE/E,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"LegendDataCubeEditorStore.js","sourceRoot":"","sources":["../../src/stores/LegendDataCubeEditorStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,12 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { V1_AppliedFunction, V1_Lambda, RawLambda, TDSExecutionResult, type GraphManagerState, type PureModel, type V1_ValueSpecification, type ParameterValue } from '@finos/legend-graph';
|
|
17
|
-
import { DataCubeEngine, DataCubeSource, type RelationType,
|
|
18
|
-
import { LogService } from '@finos/legend-shared';
|
|
17
|
+
import { DataCubeEngine, DataCubeSource, type RelationType, DataCubeQuery, type CompletionItem } from '@finos/legend-data-cube';
|
|
18
|
+
import { LogService, type PlainObject } from '@finos/legend-shared';
|
|
19
|
+
declare class QueryBuilderDataCubeSource extends DataCubeSource {
|
|
20
|
+
mapping?: string | undefined;
|
|
21
|
+
runtime: string;
|
|
22
|
+
}
|
|
19
23
|
export declare class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
20
24
|
readonly logService: LogService;
|
|
21
25
|
readonly graphState: GraphManagerState;
|
|
@@ -26,9 +30,10 @@ export declare class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
26
30
|
_parameters: object | undefined;
|
|
27
31
|
constructor(selectQuery: RawLambda, parameterValues: ParameterValue[] | undefined, mappingPath: string | undefined, runtimePath: string, graphManagerState: GraphManagerState);
|
|
28
32
|
get sourceLabel(): string;
|
|
29
|
-
getInitialInput(): Promise<DataCubeInitialInput>;
|
|
30
|
-
buildBaseQuery(): Promise<DataCubeInitialInput>;
|
|
31
33
|
get graph(): PureModel;
|
|
34
|
+
private getSourceFunctionExpression;
|
|
35
|
+
getBaseQuery(): Promise<DataCubeQuery>;
|
|
36
|
+
processQuerySource(value: PlainObject): Promise<QueryBuilderDataCubeSource>;
|
|
32
37
|
private buildRawLambdaFromValueSpec;
|
|
33
38
|
getQueryTypeahead(code: string, baseQuery: V1_Lambda, source: DataCubeSource): Promise<CompletionItem[]>;
|
|
34
39
|
parseValueSpecification(code: string, returnSourceInformation?: boolean): Promise<V1_ValueSpecification>;
|
|
@@ -43,4 +48,5 @@ export declare class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
43
48
|
}>;
|
|
44
49
|
buildExecutionContext(source: DataCubeSource): V1_AppliedFunction | undefined;
|
|
45
50
|
}
|
|
51
|
+
export {};
|
|
46
52
|
//# sourceMappingURL=LegendExecutionDataCubeEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendExecutionDataCubeEngine.d.ts","sourceRoot":"","sources":["../../../src/stores/engine/LegendExecutionDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,kBAAkB,EAClB,SAAS,EACT,SAAS,EAET,kBAAkB,EAKlB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,cAAc,EACd,cAAc,EACd,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"LegendExecutionDataCubeEngine.d.ts","sourceRoot":"","sources":["../../../src/stores/engine/LegendExecutionDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,kBAAkB,EAClB,SAAS,EACT,SAAS,EAET,kBAAkB,EAKlB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,cAAc,EACd,cAAc,EACd,KAAK,YAAY,EACjB,aAAa,EACb,KAAK,cAAc,EAGpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAGL,UAAU,EACV,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,cAAM,0BAA2B,SAAQ,cAAc;IACrD,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAG,MAAM,CAAC;CAClB;AAED,qBAAa,6BAA8B,SAAQ,cAAc;IAC/D,QAAQ,CAAC,UAAU,aAAoB;IACvC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IACvC,QAAQ,CAAC,kBAAkB,EAAE,SAAS,CAAC;IACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;gBAG9B,WAAW,EAAE,SAAS,EACtB,eAAe,EAAE,cAAc,EAAE,GAAG,SAAS,EAC7C,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,iBAAiB;IAUtC,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,KAAK,IAAI,SAAS,CAErB;IAED,OAAO,CAAC,2BAA2B;IAmB7B,YAAY;IAoBZ,kBAAkB,CAAC,KAAK,EAAE,WAAW;IAY3C,OAAO,CAAC,2BAA2B;IAU7B,iBAAiB,CACrB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,cAAc;IAiBlB,uBAAuB,CAC3B,IAAI,EAAE,MAAM,EACZ,uBAAuB,CAAC,EAAE,OAAO;IAW7B,yBAAyB,CAC7B,KAAK,EAAE,qBAAqB,EAC5B,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS;YAQhB,iBAAiB;IASzB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc;IAK7D,8BAA8B,CAClC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,qBAAqB,EAChC,MAAM,EAAE,cAAc;IAYlB,YAAY,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc;;;;;IAgC3D,qBAAqB,CACnB,MAAM,EAAE,cAAc,GACrB,kBAAkB,GAAG,SAAS;CAYlC"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import { SUPPORTED_FUNCTIONS, V1_AppliedFunction, V1_Lambda, RawLambda, RelationalExecutionActivities, TDSExecutionResult, V1_deserializeRawValueSpecification, V1_deserializeValueSpecification, V1_RawLambda, V1_serializeValueSpecification, } from '@finos/legend-graph';
|
|
17
17
|
import { _elementPtr, _functionName, DataCubeEngine, DataCubeSource, DataCubeQuery, _function, DataCubeFunction, } from '@finos/legend-data-cube';
|
|
18
|
-
import { guaranteeType, isNonNullable, LogService } from '@finos/legend-shared';
|
|
18
|
+
import { guaranteeType, isNonNullable, LogService, } from '@finos/legend-shared';
|
|
19
19
|
class QueryBuilderDataCubeSource extends DataCubeSource {
|
|
20
20
|
mapping;
|
|
21
21
|
runtime;
|
|
@@ -39,10 +39,10 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
39
39
|
get sourceLabel() {
|
|
40
40
|
return `Query Builder Report`;
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
return this.
|
|
42
|
+
get graph() {
|
|
43
|
+
return this.graphState.graph;
|
|
44
44
|
}
|
|
45
|
-
|
|
45
|
+
getSourceFunctionExpression() {
|
|
46
46
|
let srcFuncExp = V1_deserializeValueSpecification(this.graphState.graphManager.serializeRawValueSpecification(this.selectInitialQuery), []);
|
|
47
47
|
// We could do a further check here to ensure the experssion is an applied funciton
|
|
48
48
|
// this is because data cube expects an expression to be able to built further upon the queery
|
|
@@ -51,6 +51,10 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
51
51
|
srcFuncExp.body[0]) {
|
|
52
52
|
srcFuncExp = srcFuncExp.body[0];
|
|
53
53
|
}
|
|
54
|
+
return srcFuncExp;
|
|
55
|
+
}
|
|
56
|
+
async getBaseQuery() {
|
|
57
|
+
const srcFuncExp = this.getSourceFunctionExpression();
|
|
54
58
|
this._parameters = this.selectInitialQuery.parameters;
|
|
55
59
|
const fromFuncExp = new V1_AppliedFunction();
|
|
56
60
|
fromFuncExp.function = _functionName(SUPPORTED_FUNCTIONS.FROM);
|
|
@@ -65,18 +69,18 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
65
69
|
.columns;
|
|
66
70
|
const query = new DataCubeQuery();
|
|
67
71
|
query.query = `~[${columns.map((e) => `'${e.name}'`)}]->select()`;
|
|
72
|
+
return query;
|
|
73
|
+
}
|
|
74
|
+
async processQuerySource(value) {
|
|
75
|
+
const srcFuncExp = this.getSourceFunctionExpression();
|
|
76
|
+
const columns = (await this.getRelationalType(this.selectInitialQuery))
|
|
77
|
+
.columns;
|
|
68
78
|
const source = new QueryBuilderDataCubeSource();
|
|
69
79
|
source.sourceColumns = columns;
|
|
70
80
|
source.mapping = this.mappingPath;
|
|
71
81
|
source.runtime = this.runtimePath;
|
|
72
82
|
source.query = srcFuncExp;
|
|
73
|
-
return
|
|
74
|
-
query,
|
|
75
|
-
source,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
get graph() {
|
|
79
|
-
return this.graphState.graph;
|
|
83
|
+
return source;
|
|
80
84
|
}
|
|
81
85
|
buildRawLambdaFromValueSpec(query) {
|
|
82
86
|
const json = guaranteeType(V1_deserializeRawValueSpecification(V1_serializeValueSpecification(query, [])), V1_RawLambda);
|
|
@@ -95,14 +99,14 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
95
99
|
async parseValueSpecification(code, returnSourceInformation) {
|
|
96
100
|
return V1_deserializeValueSpecification(await this.graphState.graphManager.pureCodeToValueSpecification(code, returnSourceInformation), []);
|
|
97
101
|
}
|
|
98
|
-
getValueSpecificationCode(value, pretty) {
|
|
102
|
+
async getValueSpecificationCode(value, pretty) {
|
|
99
103
|
return this.graphState.graphManager.valueSpecificationToPureCode(V1_serializeValueSpecification(value, []), pretty);
|
|
100
104
|
}
|
|
101
105
|
async getRelationalType(query) {
|
|
102
106
|
const relationType = await this.graphState.graphManager.getLambdaRelationType(query, this.graph);
|
|
103
107
|
return relationType;
|
|
104
108
|
}
|
|
105
|
-
getQueryRelationType(query, source) {
|
|
109
|
+
async getQueryRelationType(query, source) {
|
|
106
110
|
const lambda = this.buildRawLambdaFromValueSpec(query);
|
|
107
111
|
return this.getRelationalType(lambda);
|
|
108
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendExecutionDataCubeEngine.js","sourceRoot":"","sources":["../../../src/stores/engine/LegendExecutionDataCubeEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EACT,SAAS,EACT,6BAA6B,EAC7B,kBAAkB,EAClB,mCAAmC,EACnC,gCAAgC,EAChC,YAAY,EACZ,8BAA8B,GAK/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,WAAW,EACX,aAAa,EACb,cAAc,EACd,cAAc,EAEd,aAAa,
|
|
1
|
+
{"version":3,"file":"LegendExecutionDataCubeEngine.js","sourceRoot":"","sources":["../../../src/stores/engine/LegendExecutionDataCubeEngine.ts"],"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.5",
|
|
4
4
|
"description": "Legend Data Cube application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
"test:watch": "jest --watch"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@finos/legend-application": "16.0.
|
|
46
|
-
"@finos/legend-art": "7.1.
|
|
47
|
-
"@finos/legend-code-editor": "2.0.
|
|
48
|
-
"@finos/legend-data-cube": "0.0.
|
|
49
|
-
"@finos/legend-graph": "31.10.
|
|
50
|
-
"@finos/legend-query-builder": "4.15.
|
|
51
|
-
"@finos/legend-server-depot": "6.0.
|
|
52
|
-
"@finos/legend-shared": "10.0.
|
|
53
|
-
"@finos/legend-storage": "3.0.
|
|
45
|
+
"@finos/legend-application": "16.0.15",
|
|
46
|
+
"@finos/legend-art": "7.1.72",
|
|
47
|
+
"@finos/legend-code-editor": "2.0.30",
|
|
48
|
+
"@finos/legend-data-cube": "0.0.35",
|
|
49
|
+
"@finos/legend-graph": "31.10.64",
|
|
50
|
+
"@finos/legend-query-builder": "4.15.33",
|
|
51
|
+
"@finos/legend-server-depot": "6.0.73",
|
|
52
|
+
"@finos/legend-shared": "10.0.64",
|
|
53
|
+
"@finos/legend-storage": "3.0.115",
|
|
54
54
|
"@types/react": "19.0.2",
|
|
55
55
|
"@types/react-dom": "19.0.2",
|
|
56
56
|
"mobx": "6.13.5",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"serializr": "3.0.3"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@finos/legend-dev-utils": "2.1.
|
|
63
|
+
"@finos/legend-dev-utils": "2.1.34",
|
|
64
64
|
"@jest/globals": "29.7.0",
|
|
65
65
|
"cross-env": "7.0.3",
|
|
66
66
|
"eslint": "9.17.0",
|
|
@@ -26,14 +26,11 @@ const LegendDataCubeWebApplicationRouter = observer(() => {
|
|
|
26
26
|
return (
|
|
27
27
|
<div className="app">
|
|
28
28
|
<Routes>
|
|
29
|
-
<Route
|
|
30
|
-
path={LEGEND_DATA_CUBE_ROUTE_PATTERN.DEFAULT}
|
|
31
|
-
element={<DataCubeEditor />}
|
|
32
|
-
/>
|
|
33
29
|
<Route
|
|
34
30
|
path={LEGEND_DATA_CUBE_ROUTE_PATTERN.VIEW_EXISTING_QUERY}
|
|
35
31
|
element={<ExistingDataCubeQuery />}
|
|
36
32
|
/>
|
|
33
|
+
<Route path="/" element={<DataCubeEditor />} />
|
|
37
34
|
</Routes>
|
|
38
35
|
</div>
|
|
39
36
|
);
|
|
@@ -29,7 +29,7 @@ export const SavedQuerySourceEditor = observer(
|
|
|
29
29
|
{savedQuery ? (
|
|
30
30
|
<div className="p-3">
|
|
31
31
|
<div className="text-l font-bold">Saved Query</div>
|
|
32
|
-
<div
|
|
32
|
+
<div>
|
|
33
33
|
<div className="flex pt-px">
|
|
34
34
|
<div className="font-bold">Name:</div>
|
|
35
35
|
<div>{savedQuery.name}</div>
|
|
@@ -24,7 +24,7 @@ import type { LegendDataCubeApplicationConfig } from '../application/LegendDataC
|
|
|
24
24
|
import {
|
|
25
25
|
GraphManagerState,
|
|
26
26
|
LegendSDLC,
|
|
27
|
-
|
|
27
|
+
PersistentDataCubeQuery,
|
|
28
28
|
type QueryInfo,
|
|
29
29
|
type RawLambda,
|
|
30
30
|
} from '@finos/legend-graph';
|
|
@@ -116,11 +116,12 @@ export class LegendDataCubeStore {
|
|
|
116
116
|
readonly applicationStore: LegendDataCubeApplicationStore;
|
|
117
117
|
readonly context: LegendDataCubeStoreContext;
|
|
118
118
|
readonly pluginManager: LegendDataCubePluginManager;
|
|
119
|
+
|
|
119
120
|
sourceSelector: LegendDataCubeSourceBuilder;
|
|
120
121
|
cubeViewer: LegendCubeViewer | undefined;
|
|
121
122
|
saveModal = false;
|
|
122
123
|
saveModalState = ActionState.create();
|
|
123
|
-
savedQuery:
|
|
124
|
+
savedQuery: PersistentDataCubeQuery | undefined;
|
|
124
125
|
|
|
125
126
|
constructor(applicationStore: LegendDataCubeApplicationStore) {
|
|
126
127
|
makeObservable(this, {
|
|
@@ -154,7 +155,7 @@ export class LegendDataCubeStore {
|
|
|
154
155
|
const query =
|
|
155
156
|
(yield this.context.graphManagerState.graphManager.getDataCubeQuery(
|
|
156
157
|
id,
|
|
157
|
-
)) as unknown as
|
|
158
|
+
)) as unknown as PersistentDataCubeQuery;
|
|
158
159
|
this.savedQuery = query;
|
|
159
160
|
const source = deserializeDataCubeQueryConent(query.content).source;
|
|
160
161
|
if (source instanceof LegendSavedQuerySource) {
|
|
@@ -210,14 +211,14 @@ export class LegendDataCubeStore {
|
|
|
210
211
|
const content = serializeDataCubeQueryConent(
|
|
211
212
|
createQueryBuilderContent(view.source),
|
|
212
213
|
);
|
|
213
|
-
const cubeQuery = new
|
|
214
|
+
const cubeQuery = new PersistentDataCubeQuery();
|
|
214
215
|
cubeQuery.content = content;
|
|
215
216
|
cubeQuery.name = name;
|
|
216
217
|
cubeQuery.id = uuid();
|
|
217
218
|
const querySaved =
|
|
218
219
|
(yield this.context.graphManagerState.graphManager.createQueryDataCube(
|
|
219
220
|
cubeQuery,
|
|
220
|
-
)) as unknown as
|
|
221
|
+
)) as unknown as PersistentDataCubeQuery;
|
|
221
222
|
this.savedQuery = querySaved;
|
|
222
223
|
// TODO: fix reload
|
|
223
224
|
this.applicationStore.navigationService.navigator.goToLocation(
|
|
@@ -37,12 +37,16 @@ import {
|
|
|
37
37
|
DataCubeSource,
|
|
38
38
|
type RelationType,
|
|
39
39
|
DataCubeQuery,
|
|
40
|
-
type DataCubeInitialInput,
|
|
41
40
|
type CompletionItem,
|
|
42
41
|
_function,
|
|
43
42
|
DataCubeFunction,
|
|
44
43
|
} from '@finos/legend-data-cube';
|
|
45
|
-
import {
|
|
44
|
+
import {
|
|
45
|
+
guaranteeType,
|
|
46
|
+
isNonNullable,
|
|
47
|
+
LogService,
|
|
48
|
+
type PlainObject,
|
|
49
|
+
} from '@finos/legend-shared';
|
|
46
50
|
|
|
47
51
|
class QueryBuilderDataCubeSource extends DataCubeSource {
|
|
48
52
|
mapping?: string | undefined;
|
|
@@ -77,11 +81,11 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
77
81
|
return `Query Builder Report`;
|
|
78
82
|
}
|
|
79
83
|
|
|
80
|
-
|
|
81
|
-
return this.
|
|
84
|
+
get graph(): PureModel {
|
|
85
|
+
return this.graphState.graph;
|
|
82
86
|
}
|
|
83
87
|
|
|
84
|
-
|
|
88
|
+
private getSourceFunctionExpression() {
|
|
85
89
|
let srcFuncExp = V1_deserializeValueSpecification(
|
|
86
90
|
this.graphState.graphManager.serializeRawValueSpecification(
|
|
87
91
|
this.selectInitialQuery,
|
|
@@ -97,6 +101,11 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
97
101
|
) {
|
|
98
102
|
srcFuncExp = srcFuncExp.body[0];
|
|
99
103
|
}
|
|
104
|
+
return srcFuncExp;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
async getBaseQuery() {
|
|
108
|
+
const srcFuncExp = this.getSourceFunctionExpression();
|
|
100
109
|
this._parameters = this.selectInitialQuery.parameters;
|
|
101
110
|
const fromFuncExp = new V1_AppliedFunction();
|
|
102
111
|
fromFuncExp.function = _functionName(SUPPORTED_FUNCTIONS.FROM);
|
|
@@ -111,19 +120,20 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
111
120
|
.columns;
|
|
112
121
|
const query = new DataCubeQuery();
|
|
113
122
|
query.query = `~[${columns.map((e) => `'${e.name}'`)}]->select()`;
|
|
123
|
+
|
|
124
|
+
return query;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
async processQuerySource(value: PlainObject) {
|
|
128
|
+
const srcFuncExp = this.getSourceFunctionExpression();
|
|
129
|
+
const columns = (await this.getRelationalType(this.selectInitialQuery))
|
|
130
|
+
.columns;
|
|
114
131
|
const source = new QueryBuilderDataCubeSource();
|
|
115
132
|
source.sourceColumns = columns;
|
|
116
133
|
source.mapping = this.mappingPath;
|
|
117
134
|
source.runtime = this.runtimePath;
|
|
118
135
|
source.query = srcFuncExp;
|
|
119
|
-
return
|
|
120
|
-
query,
|
|
121
|
-
source,
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
get graph(): PureModel {
|
|
126
|
-
return this.graphState.graph;
|
|
136
|
+
return source;
|
|
127
137
|
}
|
|
128
138
|
|
|
129
139
|
private buildRawLambdaFromValueSpec(query: V1_Lambda): RawLambda {
|
|
@@ -156,7 +166,7 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
156
166
|
return result.completions as CompletionItem[];
|
|
157
167
|
}
|
|
158
168
|
|
|
159
|
-
|
|
169
|
+
async parseValueSpecification(
|
|
160
170
|
code: string,
|
|
161
171
|
returnSourceInformation?: boolean,
|
|
162
172
|
) {
|
|
@@ -169,7 +179,7 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
169
179
|
);
|
|
170
180
|
}
|
|
171
181
|
|
|
172
|
-
|
|
182
|
+
async getValueSpecificationCode(
|
|
173
183
|
value: V1_ValueSpecification,
|
|
174
184
|
pretty?: boolean | undefined,
|
|
175
185
|
) {
|
|
@@ -188,12 +198,12 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
188
198
|
return relationType;
|
|
189
199
|
}
|
|
190
200
|
|
|
191
|
-
|
|
201
|
+
async getQueryRelationType(query: V1_Lambda, source: DataCubeSource) {
|
|
192
202
|
const lambda = this.buildRawLambdaFromValueSpec(query);
|
|
193
203
|
return this.getRelationalType(lambda);
|
|
194
204
|
}
|
|
195
205
|
|
|
196
|
-
|
|
206
|
+
async getQueryCodeRelationReturnType(
|
|
197
207
|
code: string,
|
|
198
208
|
baseQuery: V1_ValueSpecification,
|
|
199
209
|
source: DataCubeSource,
|
|
@@ -208,7 +218,7 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
208
218
|
);
|
|
209
219
|
}
|
|
210
220
|
|
|
211
|
-
|
|
221
|
+
async executeQuery(query: V1_Lambda, source: DataCubeSource) {
|
|
212
222
|
const lambda = this.buildRawLambdaFromValueSpec(query);
|
|
213
223
|
lambda.parameters = this._parameters;
|
|
214
224
|
const [executionWithMetadata, queryString] = await Promise.all([
|
|
@@ -240,7 +250,7 @@ export class LegendExecutionDataCubeEngine extends DataCubeEngine {
|
|
|
240
250
|
};
|
|
241
251
|
}
|
|
242
252
|
|
|
243
|
-
|
|
253
|
+
buildExecutionContext(
|
|
244
254
|
source: DataCubeSource,
|
|
245
255
|
): V1_AppliedFunction | undefined {
|
|
246
256
|
if (source instanceof QueryBuilderDataCubeSource) {
|