@finos/legend-application-query 13.7.193 → 13.7.195
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 +18 -0
- package/lib/__lib__/LegendQueryNavigation.d.ts.map +1 -1
- package/lib/__lib__/LegendQueryNavigation.js +21 -0
- package/lib/__lib__/LegendQueryNavigation.js.map +1 -1
- package/lib/__lib__/LegendQueryUserDataHelper.d.ts +9 -9
- package/lib/__lib__/LegendQueryUserDataHelper.d.ts.map +1 -1
- package/lib/__lib__/LegendQueryUserDataHelper.js.map +1 -1
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.d.ts +7 -7
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.d.ts.map +1 -1
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.js +5 -5
- package/lib/__lib__/LegendQueryUserDataSpaceHelper.js.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.js +7 -7
- package/lib/components/Core_LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/components/QueryEditor.d.ts.map +1 -1
- package/lib/components/QueryEditor.js +46 -50
- package/lib/components/QueryEditor.js.map +1 -1
- package/lib/components/data-space/DataSpaceQueryCreator.d.ts.map +1 -1
- package/lib/components/data-space/DataSpaceQueryCreator.js +2 -0
- package/lib/components/data-space/DataSpaceQueryCreator.js.map +1 -1
- package/lib/components/data-space/DataSpaceQuerySetup.d.ts +2 -2
- package/lib/components/data-space/DataSpaceQuerySetup.d.ts.map +1 -1
- package/lib/components/data-space/DataSpaceQuerySetup.js +32 -15
- package/lib/components/data-space/DataSpaceQuerySetup.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/light-mode.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/QueryEditorStore.d.ts +3 -3
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +20 -12
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.d.ts +30 -0
- package/lib/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.d.ts.map +1 -0
- package/lib/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.js +41 -0
- package/lib/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.js.map +1 -0
- package/lib/stores/data-space/DataSpaceQueryBuilderHelper.d.ts +0 -3
- package/lib/stores/data-space/DataSpaceQueryBuilderHelper.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceQueryBuilderHelper.js +0 -6
- package/lib/stores/data-space/DataSpaceQueryBuilderHelper.js.map +1 -1
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.d.ts +45 -17
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.js +195 -67
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.js.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js +7 -3
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js.map +1 -1
- package/lib/stores/data-space/LegendQueryBareQueryBuilderState.d.ts +46 -0
- package/lib/stores/data-space/LegendQueryBareQueryBuilderState.d.ts.map +1 -0
- package/lib/stores/data-space/LegendQueryBareQueryBuilderState.js +63 -0
- package/lib/stores/data-space/LegendQueryBareQueryBuilderState.js.map +1 -0
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts +47 -0
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.d.ts.map +1 -0
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js +145 -0
- package/lib/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js.map +1 -0
- package/package.json +10 -10
- package/src/__lib__/LegendQueryNavigation.ts +43 -0
- package/src/__lib__/LegendQueryUserDataHelper.ts +14 -12
- package/src/__lib__/LegendQueryUserDataSpaceHelper.ts +14 -14
- package/src/components/Core_LegendQueryApplicationPlugin.tsx +5 -13
- package/src/components/QueryEditor.tsx +145 -103
- package/src/components/data-space/DataSpaceQueryCreator.tsx +4 -2
- package/src/components/data-space/DataSpaceQuerySetup.tsx +63 -20
- package/src/index.ts +1 -1
- package/src/stores/QueryEditorStore.ts +100 -91
- package/src/stores/data-product/query-builder/LegendQueryDataProductQueryBuilderState.ts +129 -0
- package/src/stores/data-space/DataSpaceQueryBuilderHelper.ts +0 -29
- package/src/stores/data-space/DataSpaceQueryCreatorStore.ts +293 -101
- package/src/stores/data-space/DataSpaceTemplateQueryCreatorStore.ts +11 -12
- package/src/stores/data-space/LegendQueryBareQueryBuilderState.ts +117 -0
- package/src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts +340 -0
- package/tsconfig.json +3 -1
- package/lib/stores/data-space/DataSpaceQuerySetupState.d.ts +0 -44
- package/lib/stores/data-space/DataSpaceQuerySetupState.d.ts.map +0 -1
- package/lib/stores/data-space/DataSpaceQuerySetupState.js +0 -89
- package/lib/stores/data-space/DataSpaceQuerySetupState.js.map +0 -1
- package/src/stores/data-space/DataSpaceQuerySetupState.ts +0 -171
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { DataSpaceQueryBuilderState, ResolvedDataSpaceEntityWithOrigin } from '@finos/legend-extension-dsl-data-space/application';
|
|
17
|
+
import { type DataSpaceExecutionContext, type DataSpace, type DataSpaceExecutableAnalysisResult, type DataSpaceAnalysisResult } from '@finos/legend-extension-dsl-data-space/graph';
|
|
18
|
+
import { type DataSpaceOption } from '@finos/legend-extension-dsl-data-space/application-query';
|
|
19
|
+
import { type DepotServerClient } from '@finos/legend-server-depot';
|
|
20
|
+
import { LegendSDLC, type Class, type GraphData, type GraphManagerState, type Runtime } from '@finos/legend-graph';
|
|
21
|
+
import { ExtraOptionsConfig, type QueryBuilderActionConfig, type QueryBuilderConfig, type QueryBuilderWorkflowState } from '@finos/legend-query-builder';
|
|
22
|
+
import type { LegendQueryApplicationStore } from '../../LegendQueryBaseStore.js';
|
|
23
|
+
import { type GeneratorFn } from '@finos/legend-shared';
|
|
24
|
+
import type { DepotEntityWithOrigin, ProjectGAVCoordinates, QueryableSourceInfo } from '@finos/legend-storage';
|
|
25
|
+
/**
|
|
26
|
+
* Legend Query DataSpace query builder state.
|
|
27
|
+
*/
|
|
28
|
+
export declare class LegendQueryDataSpaceQueryBuilderState extends DataSpaceQueryBuilderState {
|
|
29
|
+
applicationStore: LegendQueryApplicationStore;
|
|
30
|
+
depotServerClient: DepotServerClient;
|
|
31
|
+
project: ProjectGAVCoordinates;
|
|
32
|
+
disableDataProducts: boolean;
|
|
33
|
+
extraOptionsConfig: ExtraOptionsConfig<DepotEntityWithOrigin>;
|
|
34
|
+
constructor(applicationStore: LegendQueryApplicationStore, graphManagerState: GraphManagerState, workflow: QueryBuilderWorkflowState, actionConfig: QueryBuilderActionConfig, dataSpace: DataSpace, executionContext: DataSpaceExecutionContext, isLightGraphEnabled: boolean, depotServerClient: DepotServerClient, project: ProjectGAVCoordinates, prioritizeEntityFunc: ((val: ResolvedDataSpaceEntityWithOrigin) => boolean) | undefined, onDataSpaceChange: (val: ResolvedDataSpaceEntityWithOrigin) => Promise<void>, dataSpaceAnalysisResult?: DataSpaceAnalysisResult | undefined, onExecutionContextChange?: ((val: DataSpaceExecutionContext) => void) | undefined, onRuntimeChange?: ((val: Runtime) => void) | undefined, onClassChange?: ((val: Class) => void) | undefined, config?: QueryBuilderConfig | undefined, sourceInfo?: QueryableSourceInfo | undefined);
|
|
35
|
+
get isAdvancedDataSpaceSearchEnabled(): boolean;
|
|
36
|
+
get canVisitTemplateQuery(): boolean;
|
|
37
|
+
get sdlc(): LegendSDLC;
|
|
38
|
+
get isDataSpaceLinkable(): boolean;
|
|
39
|
+
withOptions(dataspaces: ResolvedDataSpaceEntityWithOrigin[] | undefined, products: DepotEntityWithOrigin[] | undefined): LegendQueryDataSpaceQueryBuilderState;
|
|
40
|
+
copyDataSpaceLinkToClipboard(): void;
|
|
41
|
+
get selectedDataSpaceOption(): DataSpaceOption;
|
|
42
|
+
loadEntities(): GeneratorFn<void>;
|
|
43
|
+
visitTemplateQuery(dataSpace: DataSpace, template: DataSpaceExecutableAnalysisResult): void;
|
|
44
|
+
showAdvancedSearchPanel(dataSpace: DataSpace): void;
|
|
45
|
+
getGraphData(): GraphData;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=LegendQueryDataSpaceQueryBuilderState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LegendQueryDataSpaceQueryBuilderState.d.ts","sourceRoot":"","sources":["../../../../src/stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EAClC,MAAM,oDAAoD,CAAC;AAC5D,OAAO,EAEL,KAAK,yBAAyB,EAG9B,KAAK,SAAS,EACd,KAAK,iCAAiC,EACtC,KAAK,uBAAuB,EAC7B,MAAM,8CAA8C,CAAC;AAKtD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAOL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAGL,UAAU,EAEV,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAKjF,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAG/B;;GAEG;AACH,qBAAa,qCAAsC,SAAQ,0BAA0B;IAC3E,gBAAgB,EAAE,2BAA2B,CAAC;IACtD,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,mBAAmB,UAAS;IACpB,kBAAkB,EAAE,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;gBAGpE,gBAAgB,EAAE,2BAA2B,EAC7C,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,yBAAyB,EACnC,YAAY,EAAE,wBAAwB,EACtC,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,yBAAyB,EAC3C,mBAAmB,EAAE,OAAO,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,qBAAqB,EAC9B,oBAAoB,EAChB,CAAC,CAAC,GAAG,EAAE,iCAAiC,KAAK,OAAO,CAAC,GACrD,SAAS,EACb,iBAAiB,EAAE,CACjB,GAAG,EAAE,iCAAiC,KACnC,OAAO,CAAC,IAAI,CAAC,EAClB,uBAAuB,CAAC,EAAE,uBAAuB,GAAG,SAAS,EAC7D,wBAAwB,CAAC,EACrB,CAAC,CAAC,GAAG,EAAE,yBAAyB,KAAK,IAAI,CAAC,GAC1C,SAAS,EACb,eAAe,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,EACtD,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,SAAS,EAClD,MAAM,CAAC,EAAE,kBAAkB,GAAG,SAAS,EACvC,UAAU,CAAC,EAAE,mBAAmB,GAAG,SAAS;IAgC9C,IAAa,gCAAgC,IAAI,OAAO,CAEvD;IAED,IAAa,qBAAqB,IAAI,OAAO,CAE5C;IAED,IAAI,IAAI,IAAI,UAAU,CAMrB;IAED,IAAa,mBAAmB,IAAI,OAAO,CAE1C;IAED,WAAW,CACT,UAAU,EAAE,iCAAiC,EAAE,GAAG,SAAS,EAC3D,QAAQ,EAAE,qBAAqB,EAAE,GAAG,SAAS,GAC5C,qCAAqC;IAa/B,4BAA4B,IAAI,IAAI;IAiC7C,IAAa,uBAAuB,IAAI,eAAe,CAetD;IAES,YAAY,IAAI,WAAW,CAAC,IAAI,CAAC;IAgDlC,kBAAkB,CACzB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,iCAAiC,GAC1C,IAAI;IA4BE,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IA2BnD,YAAY,IAAI,SAAS;CAGnC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { DataSpaceQueryBuilderState, ResolvedDataSpaceEntityWithOrigin, } from '@finos/legend-extension-dsl-data-space/application';
|
|
17
|
+
import { DATA_SPACE_ELEMENT_CLASSIFIER_PATH, DataSpaceServiceExecutableInfo, extractDataSpaceInfo, } from '@finos/legend-extension-dsl-data-space/graph';
|
|
18
|
+
import { generateDataSpaceQueryCreatorRoute, generateDataSpaceTemplateQueryCreatorRoute, } from '../../../__lib__/DSL_DataSpace_LegendQueryNavigation.js';
|
|
19
|
+
import { DataSpaceAdvancedSearchState, } from '@finos/legend-extension-dsl-data-space/application-query';
|
|
20
|
+
import { DepotScope, extractDepotEntityInfo, resolveVersion, SNAPSHOT_VERSION_ALIAS, } from '@finos/legend-server-depot';
|
|
21
|
+
import { CORE_PURE_PATH, GraphDataWithOrigin, LegendSDLC, RuntimePointer, } from '@finos/legend-graph';
|
|
22
|
+
import { ExtraOptionsConfig, } from '@finos/legend-query-builder';
|
|
23
|
+
import { createViewProjectHandler, createViewSDLCProjectHandler, } from '../DataSpaceQueryBuilderHelper.js';
|
|
24
|
+
import { assertErrorThrown, LogEvent, } from '@finos/legend-shared';
|
|
25
|
+
import { APPLICATION_EVENT } from '@finos/legend-application';
|
|
26
|
+
/**
|
|
27
|
+
* Legend Query DataSpace query builder state.
|
|
28
|
+
*/
|
|
29
|
+
export class LegendQueryDataSpaceQueryBuilderState extends DataSpaceQueryBuilderState {
|
|
30
|
+
depotServerClient;
|
|
31
|
+
project;
|
|
32
|
+
disableDataProducts = false;
|
|
33
|
+
constructor(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, isLightGraphEnabled, depotServerClient, project, prioritizeEntityFunc, onDataSpaceChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo) {
|
|
34
|
+
super(applicationStore, graphManagerState, workflow, actionConfig, dataSpace, executionContext, isLightGraphEnabled, prioritizeEntityFunc, onDataSpaceChange, dataSpaceAnalysisResult, onExecutionContextChange, onRuntimeChange, onClassChange, config, sourceInfo);
|
|
35
|
+
this.project = project;
|
|
36
|
+
this.depotServerClient = depotServerClient;
|
|
37
|
+
this.extraOptionsConfig = new ExtraOptionsConfig('DataProduct', 'DEPOT_ENTITY_WITH_ORIGIN', undefined, undefined, (val) => val.path, undefined, undefined);
|
|
38
|
+
}
|
|
39
|
+
get isAdvancedDataSpaceSearchEnabled() {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
get canVisitTemplateQuery() {
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
get sdlc() {
|
|
46
|
+
return new LegendSDLC(this.project.groupId, this.project.artifactId, resolveVersion(this.project.versionId));
|
|
47
|
+
}
|
|
48
|
+
get isDataSpaceLinkable() {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
withOptions(dataspaces, products) {
|
|
52
|
+
this.entities = dataspaces;
|
|
53
|
+
if (products) {
|
|
54
|
+
this.extraOptionsConfig.setOptions(products.map((e) => ({
|
|
55
|
+
label: e.path,
|
|
56
|
+
value: e,
|
|
57
|
+
})));
|
|
58
|
+
}
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
copyDataSpaceLinkToClipboard() {
|
|
62
|
+
const dataSpace = this.dataSpace;
|
|
63
|
+
const executionContext = this.executionContext;
|
|
64
|
+
const runtimePath = this.executionContextState.runtimeValue instanceof RuntimePointer
|
|
65
|
+
? this.executionContextState.runtimeValue.packageableRuntime.value.path
|
|
66
|
+
: undefined;
|
|
67
|
+
const route = this.applicationStore.navigationService.navigator.generateAddress(generateDataSpaceQueryCreatorRoute(this.project.groupId, this.project.artifactId, this.project.versionId, dataSpace.path, executionContext.name, runtimePath, this.class?.path));
|
|
68
|
+
navigator.clipboard
|
|
69
|
+
.writeText(route)
|
|
70
|
+
.catch(() => this.applicationStore.notificationService.notifyError('Error copying data product query set up link to clipboard'));
|
|
71
|
+
this.applicationStore.notificationService.notifySuccess('Copied data product query set up link to clipboard');
|
|
72
|
+
}
|
|
73
|
+
get selectedDataSpaceOption() {
|
|
74
|
+
return {
|
|
75
|
+
label: this.dataSpace.title ?? this.dataSpace.name,
|
|
76
|
+
value: new ResolvedDataSpaceEntityWithOrigin({
|
|
77
|
+
groupId: this.project.groupId,
|
|
78
|
+
artifactId: this.project.artifactId,
|
|
79
|
+
versionId: this.project.versionId,
|
|
80
|
+
}, this.dataSpace.title, this.dataSpace.name, this.dataSpace.path, this.dataSpace.defaultExecutionContext.name),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
*loadEntities() {
|
|
84
|
+
if (this.entities === undefined) {
|
|
85
|
+
this.loadEntitiesState.inProgress();
|
|
86
|
+
const toGetSnapShot = this.project.versionId === SNAPSHOT_VERSION_ALIAS;
|
|
87
|
+
try {
|
|
88
|
+
// use promise
|
|
89
|
+
this.entities = (yield this.depotServerClient.getEntitiesByClassifier(DATA_SPACE_ELEMENT_CLASSIFIER_PATH, {
|
|
90
|
+
scope: toGetSnapShot ? DepotScope.SNAPSHOT : DepotScope.RELEASES,
|
|
91
|
+
})).map((storedEntity) => extractDataSpaceInfo(storedEntity, toGetSnapShot));
|
|
92
|
+
const dataProducts = this.disableDataProducts
|
|
93
|
+
? []
|
|
94
|
+
: (yield this.depotServerClient.getEntitiesSummaryByClassifier(CORE_PURE_PATH.DATA_PRODUCT, {
|
|
95
|
+
scope: DepotScope.RELEASES,
|
|
96
|
+
summary: true,
|
|
97
|
+
})).map((storedEntity) => {
|
|
98
|
+
return extractDepotEntityInfo(storedEntity, false);
|
|
99
|
+
});
|
|
100
|
+
this.extraOptionsConfig.setOptions(dataProducts.map((e) => ({
|
|
101
|
+
label: e.name,
|
|
102
|
+
value: e,
|
|
103
|
+
})));
|
|
104
|
+
this.loadEntitiesState.pass();
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
assertErrorThrown(error);
|
|
108
|
+
this.loadEntitiesState.fail();
|
|
109
|
+
this.applicationStore.notificationService.notifyError(error);
|
|
110
|
+
this.applicationStore.logService.error(LogEvent.create(APPLICATION_EVENT.GENERIC_FAILURE), error);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
visitTemplateQuery(dataSpace, template) {
|
|
115
|
+
let templateId;
|
|
116
|
+
if (template.info) {
|
|
117
|
+
if (template.info.id) {
|
|
118
|
+
templateId = template.info.id;
|
|
119
|
+
}
|
|
120
|
+
else if (template.info instanceof DataSpaceServiceExecutableInfo) {
|
|
121
|
+
templateId = template.executable ?? template.info.pattern;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (!templateId) {
|
|
125
|
+
this.applicationStore.notificationService.notifyWarning(`Can't visit template query without an Id`);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
this.applicationStore.navigationService.navigator.visitAddress(this.applicationStore.navigationService.navigator.generateAddress(generateDataSpaceTemplateQueryCreatorRoute(this.project.groupId, this.project.artifactId, this.project.versionId, dataSpace.path, templateId)));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
showAdvancedSearchPanel(dataSpace) {
|
|
132
|
+
this.advancedSearchState = new DataSpaceAdvancedSearchState(this.applicationStore, this.graphManagerState, this.depotServerClient, {
|
|
133
|
+
viewProject: createViewProjectHandler(this.applicationStore),
|
|
134
|
+
viewSDLCProject: createViewSDLCProjectHandler(this.applicationStore, this.depotServerClient),
|
|
135
|
+
}, new ResolvedDataSpaceEntityWithOrigin({
|
|
136
|
+
groupId: this.project.groupId,
|
|
137
|
+
artifactId: this.project.artifactId,
|
|
138
|
+
versionId: this.project.versionId,
|
|
139
|
+
}, dataSpace.title, dataSpace.name, dataSpace.path, dataSpace.defaultExecutionContext.name), this.project.versionId === SNAPSHOT_VERSION_ALIAS);
|
|
140
|
+
}
|
|
141
|
+
getGraphData() {
|
|
142
|
+
return new GraphDataWithOrigin(this.sdlc);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=LegendQueryDataSpaceQueryBuilderState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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.7.
|
|
3
|
+
"version": "13.7.195",
|
|
4
4
|
"description": "Legend Query application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -44,17 +44,17 @@
|
|
|
44
44
|
"test:watch": "jest --watch"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@finos/legend-application": "16.0.
|
|
47
|
+
"@finos/legend-application": "16.0.95",
|
|
48
48
|
"@finos/legend-art": "7.1.141",
|
|
49
|
-
"@finos/legend-code-editor": "2.0.
|
|
50
|
-
"@finos/legend-data-cube": "0.3.
|
|
51
|
-
"@finos/legend-extension-dsl-data-space": "10.4.
|
|
52
|
-
"@finos/legend-graph": "32.3.
|
|
53
|
-
"@finos/legend-lego": "2.0.
|
|
54
|
-
"@finos/legend-query-builder": "4.17.
|
|
55
|
-
"@finos/legend-server-depot": "6.1.
|
|
49
|
+
"@finos/legend-code-editor": "2.0.151",
|
|
50
|
+
"@finos/legend-data-cube": "0.3.66",
|
|
51
|
+
"@finos/legend-extension-dsl-data-space": "10.4.192",
|
|
52
|
+
"@finos/legend-graph": "32.3.31",
|
|
53
|
+
"@finos/legend-lego": "2.0.168",
|
|
54
|
+
"@finos/legend-query-builder": "4.17.84",
|
|
55
|
+
"@finos/legend-server-depot": "6.1.9",
|
|
56
56
|
"@finos/legend-shared": "11.0.22",
|
|
57
|
-
"@finos/legend-storage": "3.0.
|
|
57
|
+
"@finos/legend-storage": "3.0.143",
|
|
58
58
|
"@testing-library/dom": "10.4.0",
|
|
59
59
|
"@testing-library/react": "16.2.0",
|
|
60
60
|
"@types/react": "19.0.10",
|
|
@@ -32,6 +32,13 @@ export enum LEGEND_QUERY_ROUTE_PATTERN_TOKEN {
|
|
|
32
32
|
SERVICE_PATH = 'servicePath',
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
export enum DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN {
|
|
36
|
+
GAV = 'gav',
|
|
37
|
+
DATA_PRODUCT_PATH = 'dataProductPath',
|
|
38
|
+
EXECUTION_TYPE = 'type',
|
|
39
|
+
EXECUTION_CONTEXT_KEY = 'executionKey',
|
|
40
|
+
}
|
|
41
|
+
|
|
35
42
|
export const LEGEND_QUERY_ROUTE_PATTERN = Object.freeze({
|
|
36
43
|
DEFAULT: '/',
|
|
37
44
|
SETUP: '/setup',
|
|
@@ -45,8 +52,44 @@ export const LEGEND_QUERY_ROUTE_PATTERN = Object.freeze({
|
|
|
45
52
|
CREATE_FROM_SERVICE_QUERY: `/create-from-service/:${LEGEND_QUERY_ROUTE_PATTERN_TOKEN.GAV}/:${LEGEND_QUERY_ROUTE_PATTERN_TOKEN.SERVICE_PATH}`,
|
|
46
53
|
EDIT_EXISTING_QUERY: `/edit/:${LEGEND_QUERY_ROUTE_PATTERN_TOKEN.QUERY_ID}`,
|
|
47
54
|
DATA_CUBE_EXISTING_QUERY: `/edit/:${LEGEND_QUERY_ROUTE_PATTERN_TOKEN.QUERY_ID}/cube`,
|
|
55
|
+
DATA_PRODUCT: `/data-product/:${DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.GAV}/:${DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_PRODUCT_PATH}/:${DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.EXECUTION_TYPE}/:${DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.EXECUTION_CONTEXT_KEY}`,
|
|
48
56
|
});
|
|
49
57
|
|
|
58
|
+
// DataProduct
|
|
59
|
+
|
|
60
|
+
export enum DATA_PRODUCT_EXECUTION_TYPE {
|
|
61
|
+
NATIVE = 'native',
|
|
62
|
+
ACCESS_GROUPS = 'access_groups',
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export const generateDataProductRoute = (
|
|
66
|
+
groupId: string,
|
|
67
|
+
artifactId: string,
|
|
68
|
+
versionId: string,
|
|
69
|
+
dataProductPath: string,
|
|
70
|
+
executionType: string,
|
|
71
|
+
executionContextKey: string,
|
|
72
|
+
): string =>
|
|
73
|
+
generatePath(LEGEND_QUERY_ROUTE_PATTERN.DATA_PRODUCT, {
|
|
74
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.GAV]:
|
|
75
|
+
generateGAVCoordinates(groupId, artifactId, versionId),
|
|
76
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_PRODUCT_PATH]:
|
|
77
|
+
dataProductPath,
|
|
78
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.EXECUTION_TYPE]:
|
|
79
|
+
executionType,
|
|
80
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.EXECUTION_CONTEXT_KEY]:
|
|
81
|
+
executionContextKey,
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
export type DataProductPathParams = {
|
|
85
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.GAV]: string;
|
|
86
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.DATA_PRODUCT_PATH]: string;
|
|
87
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.EXECUTION_TYPE]: string;
|
|
88
|
+
[DATA_PRODUCT_QUERY_CREATOR_ROUTE_PATTERN_TOKEN.EXECUTION_CONTEXT_KEY]: string;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
// setup
|
|
92
|
+
|
|
50
93
|
export enum LEGEND_QUERY_SETUP_QUERY_PARAM_TOKEN {
|
|
51
94
|
SHOW_ALL_GROUPS = 'showAllGroups',
|
|
52
95
|
SHOW_ADVANCED_ACTIONS = 'showAdvancedActions',
|
|
@@ -27,10 +27,9 @@ import {
|
|
|
27
27
|
createVisitedDataspaceFromInfo,
|
|
28
28
|
createIdFromDataSpaceInfo,
|
|
29
29
|
createVisitedDataSpaceId,
|
|
30
|
-
type
|
|
31
|
-
type VisitedDataspace,
|
|
30
|
+
type VisitedDataProduct,
|
|
32
31
|
} from './LegendQueryUserDataSpaceHelper.js';
|
|
33
|
-
import type {
|
|
32
|
+
import type { ResolvedDataSpaceEntityWithOrigin } from '@finos/legend-extension-dsl-data-space/application';
|
|
34
33
|
|
|
35
34
|
export enum LEGEND_QUERY_USER_DATA_KEY {
|
|
36
35
|
RECENTLY_VIEWED_QUERIES = 'query-editor.recent-queries',
|
|
@@ -133,7 +132,7 @@ export class LegendQueryUserDataHelper {
|
|
|
133
132
|
// DataSpaces
|
|
134
133
|
static getRecentlyVisitedDataSpaces(
|
|
135
134
|
service: UserDataService,
|
|
136
|
-
):
|
|
135
|
+
): VisitedDataProduct[] {
|
|
137
136
|
const data = service.getObjectValue(
|
|
138
137
|
LEGEND_QUERY_USER_DATA_KEY.RECENTLY_VIEWED_DATASPACES,
|
|
139
138
|
);
|
|
@@ -150,7 +149,7 @@ export class LegendQueryUserDataHelper {
|
|
|
150
149
|
{
|
|
151
150
|
data,
|
|
152
151
|
},
|
|
153
|
-
) as { data:
|
|
152
|
+
) as { data: VisitedDataProduct[] }
|
|
154
153
|
).data,
|
|
155
154
|
) ?? []
|
|
156
155
|
);
|
|
@@ -159,7 +158,7 @@ export class LegendQueryUserDataHelper {
|
|
|
159
158
|
static findRecentlyVisitedDataSpace(
|
|
160
159
|
service: UserDataService,
|
|
161
160
|
id: string,
|
|
162
|
-
):
|
|
161
|
+
): VisitedDataProduct | undefined {
|
|
163
162
|
return LegendQueryUserDataHelper.getRecentlyVisitedDataSpaces(service).find(
|
|
164
163
|
(v) => v.id === id,
|
|
165
164
|
);
|
|
@@ -167,14 +166,14 @@ export class LegendQueryUserDataHelper {
|
|
|
167
166
|
|
|
168
167
|
static getRecentlyVisitedDataSpace(
|
|
169
168
|
service: UserDataService,
|
|
170
|
-
):
|
|
169
|
+
): VisitedDataProduct | undefined {
|
|
171
170
|
return LegendQueryUserDataHelper.getRecentlyVisitedDataSpaces(service)[0];
|
|
172
171
|
}
|
|
173
172
|
|
|
174
173
|
static persistVisitedDataspace(
|
|
175
174
|
service: UserDataService,
|
|
176
|
-
value:
|
|
177
|
-
persistedData:
|
|
175
|
+
value: VisitedDataProduct,
|
|
176
|
+
persistedData: VisitedDataProduct[],
|
|
178
177
|
limit = USER_DATA_QUERY_DATASPACE_LIMIT,
|
|
179
178
|
): void {
|
|
180
179
|
const key = LEGEND_QUERY_USER_DATA_KEY.RECENTLY_VIEWED_DATASPACES;
|
|
@@ -217,7 +216,10 @@ export class LegendQueryUserDataHelper {
|
|
|
217
216
|
);
|
|
218
217
|
}
|
|
219
218
|
|
|
220
|
-
static removeDataSpace(
|
|
219
|
+
static removeDataSpace(
|
|
220
|
+
service: UserDataService,
|
|
221
|
+
info: ResolvedDataSpaceEntityWithOrigin,
|
|
222
|
+
): void {
|
|
221
223
|
const id = createIdFromDataSpaceInfo(info);
|
|
222
224
|
if (id) {
|
|
223
225
|
LegendQueryUserDataHelper.removeRecentlyViewedDataSpace(service, id);
|
|
@@ -226,7 +228,7 @@ export class LegendQueryUserDataHelper {
|
|
|
226
228
|
|
|
227
229
|
static addRecentlyVistedDatspace(
|
|
228
230
|
service: UserDataService,
|
|
229
|
-
info:
|
|
231
|
+
info: ResolvedDataSpaceEntityWithOrigin,
|
|
230
232
|
execContext: string | undefined,
|
|
231
233
|
): void {
|
|
232
234
|
const visited = createVisitedDataspaceFromInfo(info, execContext);
|
|
@@ -242,7 +244,7 @@ export class LegendQueryUserDataHelper {
|
|
|
242
244
|
}
|
|
243
245
|
static addVisitedDatspace(
|
|
244
246
|
service: UserDataService,
|
|
245
|
-
visited:
|
|
247
|
+
visited: VisitedDataProduct,
|
|
246
248
|
): void {
|
|
247
249
|
const dataspaces =
|
|
248
250
|
LegendQueryUserDataHelper.getRecentlyVisitedDataSpaces(service);
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import type {
|
|
17
|
+
import type { ResolvedDataSpaceEntityWithOrigin } from '@finos/legend-extension-dsl-data-space/application';
|
|
18
18
|
import { GAV_DELIMITER, generateGAVCoordinates } from '@finos/legend-storage';
|
|
19
19
|
|
|
20
|
-
export interface
|
|
20
|
+
export interface VisitedDataProduct {
|
|
21
21
|
id: string;
|
|
22
22
|
groupId: string;
|
|
23
23
|
artifactId: string;
|
|
@@ -26,7 +26,7 @@ export interface VisitedDataspace {
|
|
|
26
26
|
execContext?: string | undefined;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export type
|
|
29
|
+
export type SavedVisitedDataProducts = VisitedDataProduct[];
|
|
30
30
|
|
|
31
31
|
export const createVisitedDataSpaceId = (
|
|
32
32
|
groupId: string,
|
|
@@ -39,10 +39,10 @@ export const createVisitedDataSpaceId = (
|
|
|
39
39
|
dataSpace;
|
|
40
40
|
|
|
41
41
|
export const createIdFromDataSpaceInfo = (
|
|
42
|
-
info:
|
|
42
|
+
info: ResolvedDataSpaceEntityWithOrigin,
|
|
43
43
|
): string | undefined => {
|
|
44
|
-
const groupId = info.groupId;
|
|
45
|
-
const artifactId = info.artifactId;
|
|
44
|
+
const groupId = info.origin?.groupId;
|
|
45
|
+
const artifactId = info.origin?.artifactId;
|
|
46
46
|
if (groupId && artifactId) {
|
|
47
47
|
return createVisitedDataSpaceId(groupId, artifactId, info.path);
|
|
48
48
|
}
|
|
@@ -55,7 +55,7 @@ export const createSimpleVisitedDataspace = (
|
|
|
55
55
|
versionId: string | undefined,
|
|
56
56
|
path: string,
|
|
57
57
|
exec: string | undefined,
|
|
58
|
-
):
|
|
58
|
+
): VisitedDataProduct => ({
|
|
59
59
|
id: createVisitedDataSpaceId(groupId, artifactId, path),
|
|
60
60
|
groupId,
|
|
61
61
|
artifactId,
|
|
@@ -65,12 +65,12 @@ export const createSimpleVisitedDataspace = (
|
|
|
65
65
|
});
|
|
66
66
|
|
|
67
67
|
export const createVisitedDataspaceFromInfo = (
|
|
68
|
-
info:
|
|
68
|
+
info: ResolvedDataSpaceEntityWithOrigin,
|
|
69
69
|
execContext: string | undefined,
|
|
70
|
-
):
|
|
71
|
-
const groupId = info.groupId;
|
|
72
|
-
const artifactId = info.artifactId;
|
|
73
|
-
const versionId = info.versionId;
|
|
70
|
+
): VisitedDataProduct | undefined => {
|
|
71
|
+
const groupId = info.origin?.groupId;
|
|
72
|
+
const artifactId = info.origin?.artifactId;
|
|
73
|
+
const versionId = info.origin?.versionId;
|
|
74
74
|
const path = info.path;
|
|
75
75
|
if (groupId && artifactId) {
|
|
76
76
|
return createSimpleVisitedDataspace(
|
|
@@ -85,8 +85,8 @@ export const createVisitedDataspaceFromInfo = (
|
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
export const hasDataSpaceInfoBeenVisited = (
|
|
88
|
-
val:
|
|
89
|
-
visited:
|
|
88
|
+
val: ResolvedDataSpaceEntityWithOrigin,
|
|
89
|
+
visited: VisitedDataProduct[],
|
|
90
90
|
): boolean =>
|
|
91
91
|
Boolean(
|
|
92
92
|
visited.find((_visit) => {
|
|
@@ -86,13 +86,11 @@ import {
|
|
|
86
86
|
} from '../stores/QueryEditorStore.js';
|
|
87
87
|
import {
|
|
88
88
|
DataSpaceQueryBuilderState,
|
|
89
|
-
DataSpacesDepotRepository,
|
|
90
89
|
generateDataSpaceTemplateQueryPromotionRoute,
|
|
91
90
|
} from '@finos/legend-extension-dsl-data-space/application';
|
|
92
91
|
import {
|
|
93
92
|
createGraphBuilderReport,
|
|
94
93
|
GRAPH_MANAGER_EVENT,
|
|
95
|
-
LegendSDLC,
|
|
96
94
|
PackageableElementPointerType,
|
|
97
95
|
resolvePackagePathAndElementName,
|
|
98
96
|
RuntimePointer,
|
|
@@ -103,7 +101,7 @@ import {
|
|
|
103
101
|
V1_PureGraphManager,
|
|
104
102
|
} from '@finos/legend-graph';
|
|
105
103
|
import { LegendQueryTelemetryHelper } from '../__lib__/LegendQueryTelemetryHelper.js';
|
|
106
|
-
import {
|
|
104
|
+
import { StoreProjectData } from '@finos/legend-server-depot';
|
|
107
105
|
import {
|
|
108
106
|
ActionState,
|
|
109
107
|
assertErrorThrown,
|
|
@@ -133,6 +131,7 @@ import { LEGEND_QUERY_APP_EVENT } from '../__lib__/LegendQueryEvent.js';
|
|
|
133
131
|
import { observer } from 'mobx-react-lite';
|
|
134
132
|
import { useQueryEditorStore } from './QueryEditorStoreProvider.js';
|
|
135
133
|
import { useLegendQueryApplicationStore } from './LegendQueryFrameworkProvider.js';
|
|
134
|
+
import { LegendQueryDataSpaceQueryBuilderState } from '../stores/data-space/query-builder/LegendQueryDataSpaceQueryBuilderState.js';
|
|
136
135
|
|
|
137
136
|
export const QUERY_DATACUBE_USAGE_TITLE = 'Legend DataCube';
|
|
138
137
|
const QUERY_DATACUBE_SOURCE_TYPE = 'legendQuery';
|
|
@@ -1051,17 +1050,10 @@ export class Core_LegendQueryApplicationPlugin extends LegendQueryApplicationPlu
|
|
|
1051
1050
|
);
|
|
1052
1051
|
let option;
|
|
1053
1052
|
if (
|
|
1054
|
-
dataSpaceQueryBuilderState
|
|
1055
|
-
|
|
1053
|
+
dataSpaceQueryBuilderState instanceof
|
|
1054
|
+
LegendQueryDataSpaceQueryBuilderState
|
|
1056
1055
|
) {
|
|
1057
|
-
option =
|
|
1058
|
-
dataSpaceQueryBuilderState.dataSpaceRepo.project.groupId,
|
|
1059
|
-
dataSpaceQueryBuilderState.dataSpaceRepo.project.artifactId,
|
|
1060
|
-
resolveVersion(
|
|
1061
|
-
dataSpaceQueryBuilderState.dataSpaceRepo.project
|
|
1062
|
-
.versionId,
|
|
1063
|
-
),
|
|
1064
|
-
);
|
|
1056
|
+
option = dataSpaceQueryBuilderState.sdlc;
|
|
1065
1057
|
}
|
|
1066
1058
|
await dataSpaceQueryBuilderState.graphManagerState.graphManager.buildGraph(
|
|
1067
1059
|
graph,
|