@finos/legend-application-query 13.8.63 → 13.8.65
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__/LegendQueryNavigation.d.ts +0 -1
- package/lib/__lib__/LegendQueryNavigation.d.ts.map +1 -1
- package/lib/__lib__/LegendQueryNavigation.js +0 -2
- package/lib/__lib__/LegendQueryNavigation.js.map +1 -1
- package/lib/__lib__/LegendQueryUserDataHelper.d.ts +12 -2
- package/lib/__lib__/LegendQueryUserDataHelper.d.ts.map +1 -1
- package/lib/__lib__/LegendQueryUserDataHelper.js +33 -1
- package/lib/__lib__/LegendQueryUserDataHelper.js.map +1 -1
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.d.ts +10 -0
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.d.ts.map +1 -1
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.js +5 -0
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.js.map +1 -1
- package/lib/application/Core_LegendQuery_LegendApplicationPlugin.d.ts +1 -7
- package/lib/application/Core_LegendQuery_LegendApplicationPlugin.d.ts.map +1 -1
- package/lib/application/Core_LegendQuery_LegendApplicationPlugin.js +1 -10
- package/lib/application/Core_LegendQuery_LegendApplicationPlugin.js.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.d.ts +1 -24
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.js +1 -23
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.js +5 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/components/LegendQueryWebApplication.d.ts.map +1 -1
- package/lib/components/LegendQueryWebApplication.js +1 -2
- package/lib/components/LegendQueryWebApplication.js.map +1 -1
- package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.d.ts.map +1 -1
- package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js +15 -12
- package/lib/components/data-space/LegendQueryDataSpaceQueryBuilder.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/light-mode.css +1 -1
- package/lib/package.json +1 -2
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +2 -0
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/data-space/DataProductQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataProductQueryCreatorStore.js +13 -2
- package/lib/stores/data-space/DataProductQueryCreatorStore.js.map +1 -1
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts +33 -1
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js +120 -3
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js.map +1 -1
- package/package.json +14 -15
- package/src/__lib__/LegendQueryNavigation.ts +0 -2
- package/src/__lib__/LegendQueryUserDataHelper.ts +72 -1
- package/src/__lib__/LegendQueryUserDataSpaceHelper.ts +21 -0
- package/src/application/Core_LegendQuery_LegendApplicationPlugin.ts +0 -14
- package/src/application/LegendQueryApplicationConfig.ts +0 -46
- package/src/components/Core_LegendQueryApplicationPlugin.tsx +7 -1
- package/src/components/LegendQueryWebApplication.tsx +0 -14
- package/src/components/data-space/LegendQueryDataSpaceQueryBuilder.tsx +29 -22
- package/src/stores/QueryEditorStore.ts +2 -0
- package/src/stores/data-space/DataProductQueryCreatorStore.ts +19 -9
- package/src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts +167 -1
- package/tsconfig.json +0 -4
- package/lib/components/cube/LegendQueryCubePage.d.ts +0 -18
- package/lib/components/cube/LegendQueryCubePage.d.ts.map +0 -1
- package/lib/components/cube/LegendQueryCubePage.js +0 -31
- package/lib/components/cube/LegendQueryCubePage.js.map +0 -1
- package/lib/components/cube/LegendQueryCubeRoute.d.ts +0 -18
- package/lib/components/cube/LegendQueryCubeRoute.d.ts.map +0 -1
- package/lib/components/cube/LegendQueryCubeRoute.js +0 -26
- package/lib/components/cube/LegendQueryCubeRoute.js.map +0 -1
- package/lib/stores/cube/LegendQueryCubeEntry.d.ts +0 -38
- package/lib/stores/cube/LegendQueryCubeEntry.d.ts.map +0 -1
- package/lib/stores/cube/LegendQueryCubeEntry.js +0 -59
- package/lib/stores/cube/LegendQueryCubeEntry.js.map +0 -1
- package/lib/stores/cube/LegendQueryCubeHost.d.ts +0 -45
- package/lib/stores/cube/LegendQueryCubeHost.d.ts.map +0 -1
- package/lib/stores/cube/LegendQueryCubeHost.js +0 -78
- package/lib/stores/cube/LegendQueryCubeHost.js.map +0 -1
- package/src/components/cube/LegendQueryCubePage.tsx +0 -40
- package/src/components/cube/LegendQueryCubeRoute.tsx +0 -42
- package/src/stores/cube/LegendQueryCubeEntry.ts +0 -74
- package/src/stores/cube/LegendQueryCubeHost.ts +0 -111
|
@@ -14,23 +14,30 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { DataSpaceQueryBuilderState, ResolvedDataSpaceEntityWithOrigin, } from '@finos/legend-extension-dsl-data-space/application';
|
|
17
|
-
import { DataSpaceServiceExecutableInfo, } from '@finos/legend-extension-dsl-data-space/graph';
|
|
17
|
+
import { DataSpaceServiceExecutableInfo, resolveExecutionContextMapping, } from '@finos/legend-extension-dsl-data-space/graph';
|
|
18
18
|
import { generateDataSpaceQueryCreatorRoute, generateDataSpaceTemplateQueryCreatorRoute, } from '../../../__lib__/DSL_DataSpace_LegendQueryNavigation.js';
|
|
19
19
|
import { DataSpaceAdvancedSearchState, } from '@finos/legend-extension-dsl-data-space/application-query';
|
|
20
20
|
import { resolveVersion, SNAPSHOT_VERSION_ALIAS, } from '@finos/legend-server-depot';
|
|
21
|
-
import { GraphDataWithOrigin, INTERNAL_ELEMENT_PATH, LakehouseRuntime, LegendSDLC, RuntimePointer, } from '@finos/legend-graph';
|
|
21
|
+
import { GraphDataWithOrigin, INTERNAL_ELEMENT_PATH, LakehouseRuntime, LegendSDLC, PackageableElementExplicitReference, RuntimePointer, getMappingCompatibleRuntimes, } from '@finos/legend-graph';
|
|
22
22
|
import {} from '@finos/legend-query-builder';
|
|
23
23
|
import { renderLegendQueryDataSpaceQueryBuilderSetupPanelContent } from '../../../components/data-space/LegendQueryDataSpaceQueryBuilder.js';
|
|
24
24
|
import { QueryBuilderActionConfig_QueryApplication } from '../../QueryEditorStore.js';
|
|
25
25
|
import { createViewProjectHandler, createViewSDLCProjectHandler, } from '../DataSpaceQueryBuilderHelper.js';
|
|
26
|
-
import {} from '@finos/legend-shared';
|
|
26
|
+
import { LogEvent, assertErrorThrown, } from '@finos/legend-shared';
|
|
27
27
|
import { action, flowResult, makeObservable, observable, reaction } from 'mobx';
|
|
28
|
+
import { LegendQueryUserDataHelper } from '../../../__lib__/LegendQueryUserDataHelper.js';
|
|
29
|
+
import { createDataSpaceRuntimePreferenceId } from '../../../__lib__/LegendQueryUserDataSpaceHelper.js';
|
|
30
|
+
import { LEGEND_QUERY_APP_EVENT } from '../../../__lib__/LegendQueryEvent.js';
|
|
28
31
|
export class LegendQueryDataSpaceQueryBuilderState extends DataSpaceQueryBuilderState {
|
|
29
32
|
depotServerClient;
|
|
30
33
|
project;
|
|
31
34
|
onDataProductChange;
|
|
32
35
|
productSelectorState;
|
|
33
36
|
injectedLakehouseRuntime;
|
|
37
|
+
/**
|
|
38
|
+
* The runtime this user saved for the current execution context, if any
|
|
39
|
+
*/
|
|
40
|
+
savedRuntimePath;
|
|
34
41
|
TEMPORARY__setupPanelContentRenderer = () => renderLegendQueryDataSpaceQueryBuilderSetupPanelContent(this);
|
|
35
42
|
constructor(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, isLightGraphEnabled, depotServerClient, project, prioritizeEntityFunc, onDataSpaceChange, productSelectorState, onDataProductChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo) {
|
|
36
43
|
super(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, isLightGraphEnabled, prioritizeEntityFunc, onDataSpaceChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo);
|
|
@@ -41,13 +48,123 @@ export class LegendQueryDataSpaceQueryBuilderState extends DataSpaceQueryBuilder
|
|
|
41
48
|
this.injectedLakehouseRuntime = this.resolveInjectedLakehouseRuntime();
|
|
42
49
|
makeObservable(this, {
|
|
43
50
|
injectedLakehouseRuntime: observable,
|
|
51
|
+
savedRuntimePath: observable,
|
|
44
52
|
setInjectedLakehouseRuntime: action,
|
|
53
|
+
setSavedRuntimePath: action,
|
|
45
54
|
});
|
|
46
55
|
reaction(() => this.executionContextState.runtimeValue, () => this.setInjectedLakehouseRuntime(this.resolveInjectedLakehouseRuntime()));
|
|
47
56
|
}
|
|
48
57
|
setInjectedLakehouseRuntime(val) {
|
|
49
58
|
this.injectedLakehouseRuntime = val;
|
|
50
59
|
}
|
|
60
|
+
setSavedRuntimePath(val) {
|
|
61
|
+
this.savedRuntimePath = val;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The runtimes that can run the mapping of the current execution context
|
|
65
|
+
*/
|
|
66
|
+
get compatibleRuntimes() {
|
|
67
|
+
const mapping = resolveExecutionContextMapping(this.executionContext);
|
|
68
|
+
if (!mapping) {
|
|
69
|
+
return [];
|
|
70
|
+
}
|
|
71
|
+
const analyzedExecutionContext = this.dataSpaceAnalysisResult
|
|
72
|
+
? Array.from(this.dataSpaceAnalysisResult.executionContextsIndex.values()).find((context) => context.mapping.path === mapping.path)
|
|
73
|
+
: undefined;
|
|
74
|
+
return (analyzedExecutionContext?.compatibleRuntimes ??
|
|
75
|
+
getMappingCompatibleRuntimes(mapping, this.graphManagerState.usableRuntimes));
|
|
76
|
+
}
|
|
77
|
+
get currentRuntimePath() {
|
|
78
|
+
const runtime = this.executionContextState.runtimeValue;
|
|
79
|
+
return runtime instanceof RuntimePointer
|
|
80
|
+
? runtime.packageableRuntime.value.path
|
|
81
|
+
: undefined;
|
|
82
|
+
}
|
|
83
|
+
get defaultRuntimePath() {
|
|
84
|
+
return this.executionContext.defaultRuntime?.value.path;
|
|
85
|
+
}
|
|
86
|
+
get runtimePreferenceId() {
|
|
87
|
+
return createDataSpaceRuntimePreferenceId(this.project.groupId, this.project.artifactId, this.dataSpace.path, this.executionContext.name);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Switches to the runtime this user picked for the current execution context
|
|
91
|
+
* before, if any. A saved runtime that can no longer run the context, e.g.
|
|
92
|
+
* removed in a newer version of the project, is forgotten.
|
|
93
|
+
*
|
|
94
|
+
* Returns whether the saved runtime is in use.
|
|
95
|
+
*/
|
|
96
|
+
applySavedRuntime() {
|
|
97
|
+
this.setSavedRuntimePath(undefined);
|
|
98
|
+
const savedRuntimePath = LegendQueryUserDataHelper.getDataSpaceRuntimePreference(this.applicationStore.userDataService, this.runtimePreferenceId);
|
|
99
|
+
if (!savedRuntimePath) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
const runtime = this.compatibleRuntimes.find((compatibleRuntime) => compatibleRuntime.path === savedRuntimePath);
|
|
103
|
+
if (!runtime || savedRuntimePath === this.defaultRuntimePath) {
|
|
104
|
+
this.forgetSavedRuntime();
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
// mark the choice as used again, so choices in use are not the ones
|
|
108
|
+
// dropped when the list is full
|
|
109
|
+
this.saveRuntime(savedRuntimePath);
|
|
110
|
+
if (this.currentRuntimePath !== savedRuntimePath) {
|
|
111
|
+
this.changeRuntime(new RuntimePointer(PackageableElementExplicitReference.create(runtime)));
|
|
112
|
+
}
|
|
113
|
+
// a runtime other than the default is never applied out of sight
|
|
114
|
+
this.setShowRuntimeSelector(true);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Saves the runtime this user picked in the setup panel for the current
|
|
119
|
+
* execution context. Picking the context's default runtime forgets the choice.
|
|
120
|
+
*/
|
|
121
|
+
rememberRuntime(runtime) {
|
|
122
|
+
if (!(runtime instanceof RuntimePointer)) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const packageableRuntime = runtime.packageableRuntime.value;
|
|
126
|
+
// runtimes Query builds for the session, e.g. the lakehouse fallback, are
|
|
127
|
+
// not found again by their path
|
|
128
|
+
if (packageableRuntime.package?.path === INTERNAL_ELEMENT_PATH) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
if (packageableRuntime.path === this.defaultRuntimePath) {
|
|
132
|
+
this.forgetSavedRuntime();
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
this.saveRuntime(packageableRuntime.path);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Goes back to the default runtime of the current execution context and
|
|
139
|
+
* forgets the runtime this user saved for it
|
|
140
|
+
*/
|
|
141
|
+
resetToDefaultRuntime() {
|
|
142
|
+
const defaultRuntime = this.executionContext.defaultRuntime;
|
|
143
|
+
if (defaultRuntime) {
|
|
144
|
+
this.changeRuntime(new RuntimePointer(defaultRuntime));
|
|
145
|
+
}
|
|
146
|
+
this.forgetSavedRuntime();
|
|
147
|
+
}
|
|
148
|
+
saveRuntime(runtimePath) {
|
|
149
|
+
this.setSavedRuntimePath(runtimePath);
|
|
150
|
+
try {
|
|
151
|
+
LegendQueryUserDataHelper.persistDataSpaceRuntimePreference(this.applicationStore.userDataService, this.runtimePreferenceId, runtimePath);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
assertErrorThrown(error);
|
|
155
|
+
this.applicationStore.logService.warn(LogEvent.create(LEGEND_QUERY_APP_EVENT.LOCAL_STORAGE_PERSIST_ERROR), error.message);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
forgetSavedRuntime() {
|
|
159
|
+
this.setSavedRuntimePath(undefined);
|
|
160
|
+
try {
|
|
161
|
+
LegendQueryUserDataHelper.removeDataSpaceRuntimePreference(this.applicationStore.userDataService, this.runtimePreferenceId);
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
assertErrorThrown(error);
|
|
165
|
+
this.applicationStore.logService.warn(LogEvent.create(LEGEND_QUERY_APP_EVENT.LOCAL_STORAGE_PERSIST_ERROR), error.message);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
51
168
|
resolveInjectedLakehouseRuntime() {
|
|
52
169
|
const runtime = this.executionContextState.runtimeValue;
|
|
53
170
|
if (!(runtime instanceof RuntimePointer)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendQueryDataSpaceQueryBuilderState.js","sourceRoot":"","sources":["../../../../src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LegendQueryDataSpaceQueryBuilderState.js","sourceRoot":"","sources":["../../../../src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-query",
|
|
3
|
-
"version": "13.8.
|
|
3
|
+
"version": "13.8.65",
|
|
4
4
|
"description": "Legend Query application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -44,19 +44,18 @@
|
|
|
44
44
|
"test:watch": "jest --watch"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@finos/legend-application": "16.0.
|
|
48
|
-
"@finos/legend-art": "7.1.
|
|
49
|
-
"@finos/legend-code-editor": "2.0.
|
|
50
|
-
"@finos/legend-cube
|
|
51
|
-
"@finos/legend-data-
|
|
52
|
-
"@finos/legend-
|
|
53
|
-
"@finos/legend-
|
|
54
|
-
"@finos/legend-
|
|
55
|
-
"@finos/legend-
|
|
56
|
-
"@finos/legend-server-
|
|
57
|
-
"@finos/legend-
|
|
58
|
-
"@finos/legend-
|
|
59
|
-
"@finos/legend-storage": "3.0.154",
|
|
47
|
+
"@finos/legend-application": "16.0.130",
|
|
48
|
+
"@finos/legend-art": "7.1.170",
|
|
49
|
+
"@finos/legend-code-editor": "2.0.213",
|
|
50
|
+
"@finos/legend-data-cube": "0.3.131",
|
|
51
|
+
"@finos/legend-extension-dsl-data-space": "10.4.267",
|
|
52
|
+
"@finos/legend-graph": "32.9.0",
|
|
53
|
+
"@finos/legend-lego": "2.0.233",
|
|
54
|
+
"@finos/legend-query-builder": "4.19.22",
|
|
55
|
+
"@finos/legend-server-depot": "6.1.25",
|
|
56
|
+
"@finos/legend-server-lakehouse": "0.4.2",
|
|
57
|
+
"@finos/legend-shared": "11.0.33",
|
|
58
|
+
"@finos/legend-storage": "3.0.155",
|
|
60
59
|
"@testing-library/dom": "10.4.0",
|
|
61
60
|
"@testing-library/react": "16.2.0",
|
|
62
61
|
"@types/react": "19.0.10",
|
|
@@ -71,7 +70,7 @@
|
|
|
71
70
|
"serializr": "3.0.3"
|
|
72
71
|
},
|
|
73
72
|
"devDependencies": {
|
|
74
|
-
"@finos/legend-dev-utils": "2.2.
|
|
73
|
+
"@finos/legend-dev-utils": "2.2.11",
|
|
75
74
|
"@jest/globals": "29.7.0",
|
|
76
75
|
"cross-env": "7.0.3",
|
|
77
76
|
"eslint": "9.22.0",
|
|
@@ -65,8 +65,6 @@ export const LEGEND_QUERY_ROUTE_PATTERN = Object.freeze({
|
|
|
65
65
|
// Developer-only diagnostic page for inspecting depot DataSpace
|
|
66
66
|
// analytics artifact sizes. See `DataSpaceArtifactInspector`.
|
|
67
67
|
DEV_DATA_SPACE_INSPECTOR: '/dev/dataspace-inspector',
|
|
68
|
-
// Legend Cube, the canvas query builder
|
|
69
|
-
CUBE: '/cube',
|
|
70
68
|
});
|
|
71
69
|
|
|
72
70
|
// DataProduct
|
|
@@ -15,7 +15,11 @@
|
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
17
|
import type { UserDataService } from '@finos/legend-application';
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
isPlainObject,
|
|
20
|
+
isString,
|
|
21
|
+
returnUndefOnError,
|
|
22
|
+
} from '@finos/legend-shared';
|
|
19
23
|
import {
|
|
20
24
|
createSimpleSchema,
|
|
21
25
|
deserialize,
|
|
@@ -30,6 +34,7 @@ import {
|
|
|
30
34
|
createVisitedDataProductId,
|
|
31
35
|
type VisitedLegacyDataProduct,
|
|
32
36
|
type VisitedDataProduct,
|
|
37
|
+
type DataSpaceRuntimePreference,
|
|
33
38
|
} from './LegendQueryUserDataSpaceHelper.js';
|
|
34
39
|
import type { ResolvedDataSpaceEntityWithOrigin } from '@finos/legend-extension-dsl-data-space/application';
|
|
35
40
|
|
|
@@ -38,6 +43,7 @@ export enum LEGEND_QUERY_USER_DATA_KEY {
|
|
|
38
43
|
RECENTLY_VIEWED_LEGACY_DATAPRODUCTS = 'query-editor.recent-dataSpaces',
|
|
39
44
|
RECENTLY_VIEWED_DATAPRODUCTS = 'query-editor.recent-dataProducts',
|
|
40
45
|
USER_LAKEHOUSE_INFO = 'query-editor.lakehouse-info',
|
|
46
|
+
DATASPACE_RUNTIME_PREFERENCES = 'query-editor.dataSpace-runtimes',
|
|
41
47
|
}
|
|
42
48
|
|
|
43
49
|
export interface LakehouseUserInfo {
|
|
@@ -48,6 +54,7 @@ export interface LakehouseUserInfo {
|
|
|
48
54
|
export const USER_DATA_RECENTLY_VIEWED_QUERIES_LIMIT = 10;
|
|
49
55
|
export const USER_DATA_QUERY_DATASPACE_LIMIT = 10;
|
|
50
56
|
export const USER_DATA_QUERY_DATAPRODUCT_LIMIT = 50;
|
|
57
|
+
export const USER_DATA_QUERY_DATASPACE_RUNTIME_LIMIT = 50;
|
|
51
58
|
|
|
52
59
|
type SavedData = string[];
|
|
53
60
|
|
|
@@ -285,6 +292,70 @@ export class LegendQueryUserDataHelper {
|
|
|
285
292
|
return false;
|
|
286
293
|
}
|
|
287
294
|
|
|
295
|
+
// DataSpace runtime preferences
|
|
296
|
+
static getDataSpaceRuntimePreferences(
|
|
297
|
+
service: UserDataService,
|
|
298
|
+
): DataSpaceRuntimePreference[] {
|
|
299
|
+
const data: unknown = service.getObjectValue(
|
|
300
|
+
LEGEND_QUERY_USER_DATA_KEY.DATASPACE_RUNTIME_PREFERENCES,
|
|
301
|
+
);
|
|
302
|
+
// read on every data space load, so a malformed value is ignored rather
|
|
303
|
+
// than failing the load
|
|
304
|
+
return Array.isArray(data)
|
|
305
|
+
? data.filter(
|
|
306
|
+
(preference): preference is DataSpaceRuntimePreference =>
|
|
307
|
+
isPlainObject(preference) &&
|
|
308
|
+
isString(preference.id) &&
|
|
309
|
+
isString(preference.runtimePath),
|
|
310
|
+
)
|
|
311
|
+
: [];
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
static getDataSpaceRuntimePreference(
|
|
315
|
+
service: UserDataService,
|
|
316
|
+
id: string,
|
|
317
|
+
): string | undefined {
|
|
318
|
+
return LegendQueryUserDataHelper.getDataSpaceRuntimePreferences(
|
|
319
|
+
service,
|
|
320
|
+
).find((preference) => preference.id === id)?.runtimePath;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Saves the runtime for the given id, or marks it as used again, moving it to
|
|
325
|
+
* the front so the choices in use are not the ones dropped at the limit
|
|
326
|
+
*/
|
|
327
|
+
static persistDataSpaceRuntimePreference(
|
|
328
|
+
service: UserDataService,
|
|
329
|
+
id: string,
|
|
330
|
+
runtimePath: string,
|
|
331
|
+
limit = USER_DATA_QUERY_DATASPACE_RUNTIME_LIMIT,
|
|
332
|
+
): void {
|
|
333
|
+
const preferences =
|
|
334
|
+
LegendQueryUserDataHelper.getDataSpaceRuntimePreferences(service).filter(
|
|
335
|
+
(preference) => preference.id !== id,
|
|
336
|
+
);
|
|
337
|
+
preferences.unshift({ id, runtimePath, lastUsedAt: Date.now() });
|
|
338
|
+
service.persistValue(
|
|
339
|
+
LEGEND_QUERY_USER_DATA_KEY.DATASPACE_RUNTIME_PREFERENCES,
|
|
340
|
+
preferences.slice(0, limit),
|
|
341
|
+
);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
static removeDataSpaceRuntimePreference(
|
|
345
|
+
service: UserDataService,
|
|
346
|
+
id: string,
|
|
347
|
+
): void {
|
|
348
|
+
const preferences =
|
|
349
|
+
LegendQueryUserDataHelper.getDataSpaceRuntimePreferences(service);
|
|
350
|
+
const remaining = preferences.filter((preference) => preference.id !== id);
|
|
351
|
+
if (remaining.length !== preferences.length) {
|
|
352
|
+
service.persistValue(
|
|
353
|
+
LEGEND_QUERY_USER_DATA_KEY.DATASPACE_RUNTIME_PREFERENCES,
|
|
354
|
+
remaining,
|
|
355
|
+
);
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
|
|
288
359
|
// DataProducts
|
|
289
360
|
static getRecentlyVisitedDataProducts(
|
|
290
361
|
service: UserDataService,
|
|
@@ -146,3 +146,24 @@ export const createSimpleVisitedDataProduct = (
|
|
|
146
146
|
deploymentId,
|
|
147
147
|
lastViewedAt: Date.now(),
|
|
148
148
|
});
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* The runtime a user picked for an execution context of a data space, so it is
|
|
152
|
+
* used again the next time they query it, instead of the context's default
|
|
153
|
+
*/
|
|
154
|
+
export interface DataSpaceRuntimePreference {
|
|
155
|
+
id: string;
|
|
156
|
+
runtimePath: string;
|
|
157
|
+
lastUsedAt?: number | undefined;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export const createDataSpaceRuntimePreferenceId = (
|
|
161
|
+
groupId: string,
|
|
162
|
+
artifactId: string,
|
|
163
|
+
dataSpace: string,
|
|
164
|
+
executionContext: string,
|
|
165
|
+
): string =>
|
|
166
|
+
// like visited data spaces, a choice holds for every version of the project
|
|
167
|
+
createVisitedDataSpaceId(groupId, artifactId, dataSpace) +
|
|
168
|
+
GAV_DELIMITER +
|
|
169
|
+
executionContext;
|
|
@@ -18,12 +18,9 @@ import {
|
|
|
18
18
|
Core_LegendApplicationPlugin,
|
|
19
19
|
LEGEND_APPLICATION_COLOR_THEME,
|
|
20
20
|
LEGEND_APPLICATION_SETTING_KEY,
|
|
21
|
-
collectKeyedCommandConfigEntriesFromConfig,
|
|
22
21
|
collectSettingConfigurationEntriesFromConfig,
|
|
23
|
-
type KeyedCommandConfigEntry,
|
|
24
22
|
type SettingConfigurationEntry,
|
|
25
23
|
} from '@finos/legend-application';
|
|
26
|
-
import { LEGEND_CUBE_COMMAND_CONFIG } from '@finos/legend-cube-builder';
|
|
27
24
|
|
|
28
25
|
export const LEGEND_QUERY_APPLICATION_SETTING_CONFIG = {
|
|
29
26
|
[LEGEND_APPLICATION_SETTING_KEY.COLOR_THEME]: {
|
|
@@ -38,15 +35,4 @@ export class Core_LegendQuery_LegendApplicationPlugin extends Core_LegendApplica
|
|
|
38
35
|
LEGEND_QUERY_APPLICATION_SETTING_CONFIG,
|
|
39
36
|
);
|
|
40
37
|
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* The Cube page's shortcuts (F9, Ctrl/Cmd+Z): a Legend application binds
|
|
44
|
-
* keys only through its plugins, and the page registers the commands only
|
|
45
|
-
* while it is open (PLAN §3.5)
|
|
46
|
-
*/
|
|
47
|
-
override getExtraKeyedCommandConfigEntries(): KeyedCommandConfigEntry[] {
|
|
48
|
-
return collectKeyedCommandConfigEntriesFromConfig(
|
|
49
|
-
LEGEND_CUBE_COMMAND_CONFIG,
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
38
|
}
|
|
@@ -26,7 +26,6 @@ import {
|
|
|
26
26
|
LegendApplicationConfig,
|
|
27
27
|
type LegendApplicationConfigurationInput,
|
|
28
28
|
type LegendApplicationConfigurationData,
|
|
29
|
-
StereotypeConfig,
|
|
30
29
|
} from '@finos/legend-application';
|
|
31
30
|
import {
|
|
32
31
|
createModelSchema,
|
|
@@ -69,23 +68,6 @@ export class ServiceRegistrationEnvironmentConfig {
|
|
|
69
68
|
);
|
|
70
69
|
}
|
|
71
70
|
|
|
72
|
-
/**
|
|
73
|
-
* Data products, as Legend Studio and Legend Marketplace configure them:
|
|
74
|
-
* Query reads only the stereotype that marks access point groups open to
|
|
75
|
-
* everyone in the organization, which Legend Cube's access badges use
|
|
76
|
-
*/
|
|
77
|
-
export class LegendQueryDataProductConfig {
|
|
78
|
-
publicStereotype: StereotypeConfig | undefined;
|
|
79
|
-
|
|
80
|
-
static readonly serialization = new SerializationFactory(
|
|
81
|
-
createModelSchema(LegendQueryDataProductConfig, {
|
|
82
|
-
publicStereotype: optional(
|
|
83
|
-
usingModelSchema(StereotypeConfig.serialization.schema),
|
|
84
|
-
),
|
|
85
|
-
}),
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
71
|
class LegendQueryApplicationCoreOptions {
|
|
90
72
|
/**
|
|
91
73
|
* Provides service registration environment configs.
|
|
@@ -126,9 +108,6 @@ class LegendQueryApplicationCoreOptions {
|
|
|
126
108
|
*/
|
|
127
109
|
enableOauthFlow = false;
|
|
128
110
|
|
|
129
|
-
/** Data products, as Studio and Marketplace configure them (`options.dataProductConfig`) */
|
|
130
|
-
dataProductConfig: LegendQueryDataProductConfig | undefined;
|
|
131
|
-
|
|
132
111
|
private static readonly serialization = new SerializationFactory(
|
|
133
112
|
createModelSchema(LegendQueryApplicationCoreOptions, {
|
|
134
113
|
TEMPORARY__serviceRegistrationConfig: list(
|
|
@@ -143,9 +122,6 @@ class LegendQueryApplicationCoreOptions {
|
|
|
143
122
|
usingModelSchema(LegendQueryOIDCConfiguration.serialization.schema),
|
|
144
123
|
),
|
|
145
124
|
enableOauthFlow: optional(primitive()),
|
|
146
|
-
dataProductConfig: optional(
|
|
147
|
-
usingModelSchema(LegendQueryDataProductConfig.serialization.schema),
|
|
148
|
-
),
|
|
149
125
|
}),
|
|
150
126
|
);
|
|
151
127
|
|
|
@@ -182,19 +158,9 @@ export interface LegendQueryApplicationConfigurationData
|
|
|
182
158
|
marketplace?: {
|
|
183
159
|
url: string;
|
|
184
160
|
productionParallelUrl: string;
|
|
185
|
-
/**
|
|
186
|
-
* The marketplace server, whose search Legend Cube's data product tab
|
|
187
|
-
* uses: the URL Legend Marketplace's own config names `marketplace.url`
|
|
188
|
-
*/
|
|
189
|
-
serverUrl?: string;
|
|
190
161
|
};
|
|
191
162
|
lakehouse?: {
|
|
192
163
|
url: string;
|
|
193
|
-
/**
|
|
194
|
-
* The lakehouse platform, which names the ingest servers: Legend Cube's
|
|
195
|
-
* ingest data sets need it, as Data Cube's and Marketplace's do
|
|
196
|
-
*/
|
|
197
|
-
platformUrl?: string;
|
|
198
164
|
};
|
|
199
165
|
legendAI?: {
|
|
200
166
|
url?: string;
|
|
@@ -214,9 +180,7 @@ export class LegendQueryApplicationConfig extends LegendApplicationConfig {
|
|
|
214
180
|
readonly dataCubeApplicationUrl?: string;
|
|
215
181
|
readonly marketplaceApplicationUrl?: string;
|
|
216
182
|
readonly marketplaceProductionParallelUrl?: string;
|
|
217
|
-
readonly marketplaceServerUrl?: string;
|
|
218
183
|
readonly lakehouseContractUrl?: string;
|
|
219
|
-
readonly lakehousePlatformUrl?: string;
|
|
220
184
|
readonly legendAIUrl?: string;
|
|
221
185
|
readonly legendAIAgentUrl?: string;
|
|
222
186
|
readonly studioInstances: LegendStudioApplicationInstanceConfigurationData[] =
|
|
@@ -296,11 +260,6 @@ export class LegendQueryApplicationConfig extends LegendApplicationConfig {
|
|
|
296
260
|
input.configData.marketplace.productionParallelUrl,
|
|
297
261
|
);
|
|
298
262
|
}
|
|
299
|
-
if (input.configData.marketplace?.serverUrl) {
|
|
300
|
-
this.marketplaceServerUrl = LegendApplicationConfig.resolveAbsoluteUrl(
|
|
301
|
-
input.configData.marketplace.serverUrl,
|
|
302
|
-
);
|
|
303
|
-
}
|
|
304
263
|
|
|
305
264
|
// lakehouse
|
|
306
265
|
if (input.configData.lakehouse?.url) {
|
|
@@ -308,11 +267,6 @@ export class LegendQueryApplicationConfig extends LegendApplicationConfig {
|
|
|
308
267
|
input.configData.lakehouse.url,
|
|
309
268
|
);
|
|
310
269
|
}
|
|
311
|
-
if (input.configData.lakehouse?.platformUrl) {
|
|
312
|
-
this.lakehousePlatformUrl = LegendApplicationConfig.resolveAbsoluteUrl(
|
|
313
|
-
input.configData.lakehouse.platformUrl,
|
|
314
|
-
);
|
|
315
|
-
}
|
|
316
270
|
|
|
317
271
|
// legend AI (AI-assisted features such as query title/description suggester)
|
|
318
272
|
if (input.configData.legendAI?.url) {
|
|
@@ -1262,7 +1262,13 @@ export class Core_LegendQueryApplicationPlugin extends LegendQueryApplicationPlu
|
|
|
1262
1262
|
: undefined;
|
|
1263
1263
|
if (runtime) {
|
|
1264
1264
|
dataSpaceQueryBuilderState.changeRuntime(runtime);
|
|
1265
|
-
}
|
|
1265
|
+
}
|
|
1266
|
+
// the runtime this user picked for the context before wins over its default
|
|
1267
|
+
const isSavedRuntimeApplied =
|
|
1268
|
+
dataSpaceQueryBuilderState instanceof
|
|
1269
|
+
LegendQueryDataSpaceQueryBuilderState &&
|
|
1270
|
+
dataSpaceQueryBuilderState.applySavedRuntime();
|
|
1271
|
+
if (!runtime && !isSavedRuntimeApplied) {
|
|
1266
1272
|
dataSpaceQueryBuilderState.applicationStore.notificationService.notifyWarning(
|
|
1267
1273
|
`Execution context '${executionContext.name}' does not have a default runtime`,
|
|
1268
1274
|
);
|
|
@@ -44,7 +44,6 @@ import { QueryCreator } from './data-space/DataProductQueryCreator.js';
|
|
|
44
44
|
import { IngestQueryCreator } from './ingest/IngestQueryCreator.js';
|
|
45
45
|
import { ExistingQueryDataCubeViewer } from './data-cube/ExistingQueryDataCubeViewer.js';
|
|
46
46
|
import { DataSpaceArtifactInspector } from './DataSpaceArtifactInspector.js';
|
|
47
|
-
import { LegendQueryCubeRoute } from './cube/LegendQueryCubeRoute.js';
|
|
48
47
|
import {
|
|
49
48
|
AuthProvider,
|
|
50
49
|
withAuthenticationRequired,
|
|
@@ -138,19 +137,6 @@ const LegendQueryWebApplicationRouter = observer(() => {
|
|
|
138
137
|
element={<DataSpaceArtifactInspector />}
|
|
139
138
|
/>
|
|
140
139
|
|
|
141
|
-
{/*
|
|
142
|
-
Legend Cube is a proof of concept: it is only mounted where the
|
|
143
|
-
config turns on non-production features
|
|
144
|
-
(`extensions.core.NonProductionFeatureFlag`), so production
|
|
145
|
-
deployments don't show it yet.
|
|
146
|
-
*/}
|
|
147
|
-
{applicationStore.config.options.NonProductionFeatureFlag && (
|
|
148
|
-
<Route
|
|
149
|
-
path={LEGEND_QUERY_ROUTE_PATTERN.CUBE}
|
|
150
|
-
element={<LegendQueryCubeRoute />}
|
|
151
|
-
/>
|
|
152
|
-
)}
|
|
153
|
-
|
|
154
140
|
{/* LEGACY DATA SPACE */}
|
|
155
141
|
<Route
|
|
156
142
|
path={generateExtensionUrlPattern(
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
PanelHeaderActionItem,
|
|
33
33
|
PanelHeaderActions,
|
|
34
34
|
SearchIcon,
|
|
35
|
+
UndoIcon,
|
|
35
36
|
} from '@finos/legend-art';
|
|
36
37
|
import {
|
|
37
38
|
ResolvedDataSpaceEntityWithOrigin,
|
|
@@ -45,10 +46,8 @@ import {
|
|
|
45
46
|
} from '@finos/legend-extension-dsl-data-space/application-query';
|
|
46
47
|
import { resolveExecutionContextMapping } from '@finos/legend-extension-dsl-data-space/graph';
|
|
47
48
|
import {
|
|
48
|
-
getMappingCompatibleRuntimes,
|
|
49
49
|
PackageableElementExplicitReference,
|
|
50
50
|
RuntimePointer,
|
|
51
|
-
type PackageableRuntime,
|
|
52
51
|
type Runtime,
|
|
53
52
|
} from '@finos/legend-graph';
|
|
54
53
|
import {
|
|
@@ -67,25 +66,6 @@ import { formatDataProductOrSpaceOptionLabel } from '../shared/LegendQueryDataPr
|
|
|
67
66
|
import type { LegendQueryDataSpaceQueryBuilderState } from '../../stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js';
|
|
68
67
|
import { LegendQueryTelemetryHelper } from '../../__lib__/LegendQueryTelemetryHelper.js';
|
|
69
68
|
|
|
70
|
-
const resolveExecutionContextRuntimes = (
|
|
71
|
-
queryBuilderState: LegendQueryDataSpaceQueryBuilderState,
|
|
72
|
-
): PackageableRuntime[] => {
|
|
73
|
-
const currentMapping = guaranteeNonNullable(
|
|
74
|
-
resolveExecutionContextMapping(queryBuilderState.executionContext),
|
|
75
|
-
`Execution context '${queryBuilderState.executionContext.name}' does not have a resolvable mapping`,
|
|
76
|
-
);
|
|
77
|
-
if (queryBuilderState.dataSpaceAnalysisResult) {
|
|
78
|
-
const executionContext = Array.from(
|
|
79
|
-
queryBuilderState.dataSpaceAnalysisResult.executionContextsIndex.values(),
|
|
80
|
-
).find((e) => e.mapping.path === currentMapping.path);
|
|
81
|
-
return guaranteeNonNullable(executionContext).compatibleRuntimes;
|
|
82
|
-
}
|
|
83
|
-
return getMappingCompatibleRuntimes(
|
|
84
|
-
currentMapping,
|
|
85
|
-
queryBuilderState.graphManagerState.usableRuntimes,
|
|
86
|
-
);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
69
|
/**
|
|
90
70
|
* LegendQuery-specific DataSpace query builder setup panel. Unlike the base
|
|
91
71
|
* DataSpaceQueryBuilderSetupPanelContent, this component explicitly knows about
|
|
@@ -194,7 +174,7 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer(
|
|
|
194
174
|
};
|
|
195
175
|
|
|
196
176
|
// runtime
|
|
197
|
-
const runtimeOptions =
|
|
177
|
+
const runtimeOptions = queryBuilderState.compatibleRuntimes
|
|
198
178
|
.map(
|
|
199
179
|
(rt) =>
|
|
200
180
|
new RuntimePointer(PackageableElementExplicitReference.create(rt)),
|
|
@@ -214,8 +194,23 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer(
|
|
|
214
194
|
return;
|
|
215
195
|
}
|
|
216
196
|
queryBuilderState.changeRuntime(option.value);
|
|
197
|
+
queryBuilderState.rememberRuntime(option.value);
|
|
217
198
|
queryBuilderState.onRuntimeChange?.(option.value);
|
|
218
199
|
};
|
|
200
|
+
// a runtime other than the context's default can always be undone here
|
|
201
|
+
const defaultRuntimePath = queryBuilderState.defaultRuntimePath;
|
|
202
|
+
const isUsingSavedRuntime =
|
|
203
|
+
queryBuilderState.currentRuntimePath !== undefined &&
|
|
204
|
+
queryBuilderState.currentRuntimePath ===
|
|
205
|
+
queryBuilderState.savedRuntimePath;
|
|
206
|
+
const canResetRuntime =
|
|
207
|
+
defaultRuntimePath !== undefined &&
|
|
208
|
+
queryBuilderState.currentRuntimePath !== defaultRuntimePath;
|
|
209
|
+
const resetRuntimeTitle = `${
|
|
210
|
+
isUsingSavedRuntime
|
|
211
|
+
? 'Using the runtime you picked for this context. '
|
|
212
|
+
: ''
|
|
213
|
+
}Use the context's default runtime '${defaultRuntimePath}' instead`;
|
|
219
214
|
const runtimeFilterOption = createFilter({
|
|
220
215
|
ignoreCase: true,
|
|
221
216
|
ignoreAccents: false,
|
|
@@ -434,6 +429,18 @@ const LegendQueryDataSpaceQueryBuilderSetupPanelContent = observer(
|
|
|
434
429
|
})}
|
|
435
430
|
/>
|
|
436
431
|
)}
|
|
432
|
+
{canResetRuntime && !injectedLakehouseRuntime && (
|
|
433
|
+
<button
|
|
434
|
+
tabIndex={-1}
|
|
435
|
+
className="query-builder__setup__runtime-reset__btn btn--dark"
|
|
436
|
+
onClick={(): void =>
|
|
437
|
+
queryBuilderState.resetToDefaultRuntime()
|
|
438
|
+
}
|
|
439
|
+
title={resetRuntimeTitle}
|
|
440
|
+
>
|
|
441
|
+
<UndoIcon />
|
|
442
|
+
</button>
|
|
443
|
+
)}
|
|
437
444
|
</div>
|
|
438
445
|
)}
|
|
439
446
|
<div className="query-builder__setup__config-group__item">
|