@finos/legend-query-builder 3.2.1 → 3.2.3
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/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +11 -23
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilder_LegendApplicationPlugin.d.ts +0 -1
- package/lib/components/QueryBuilder_LegendApplicationPlugin.d.ts.map +1 -1
- package/lib/components/QueryBuilder_LegendApplicationPlugin.js +7 -6
- package/lib/components/QueryBuilder_LegendApplicationPlugin.js.map +1 -1
- package/lib/components/data-access/DataAccessOverview.js +2 -2
- package/lib/components/data-access/DataAccessOverview.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +2 -2
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/index.css +17 -1
- package/lib/index.css.map +1 -1
- package/lib/package.json +5 -5
- package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts +2 -2
- package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts.map +1 -1
- package/lib/stores/data-access/DataAccessState.d.ts +9 -5
- package/lib/stores/data-access/DataAccessState.d.ts.map +1 -1
- package/lib/stores/data-access/DataAccessState.js +10 -6
- package/lib/stores/data-access/DataAccessState.js.map +1 -1
- package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.d.ts.map +1 -1
- package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.js +5 -5
- package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.js +2 -0
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.js.map +1 -1
- package/package.json +9 -9
- package/src/components/QueryBuilder.tsx +43 -70
- package/src/components/QueryBuilder_LegendApplicationPlugin.ts +10 -7
- package/src/components/data-access/DataAccessOverview.tsx +2 -2
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +2 -3
- package/src/stores/QueryBuilder_LegendApplicationPlugin_Extension.ts +8 -2
- package/src/stores/data-access/DataAccessState.ts +30 -15
- package/src/stores/entitlements/QueryBuilderCheckEntitlementsState.ts +8 -30
- package/src/stores/fetch-structure/tds/window/QueryBuilderWindowState.ts +4 -0
@@ -24,6 +24,8 @@ import {
|
|
24
24
|
DatasetEntitlementAccessRequestedReport,
|
25
25
|
DatasetEntitlementAccessNotGrantedReport,
|
26
26
|
DatasetEntitlementUnsupportedReport,
|
27
|
+
type RawLambda,
|
28
|
+
type GraphData,
|
27
29
|
} from '@finos/legend-graph';
|
28
30
|
import {
|
29
31
|
ActionState,
|
@@ -71,12 +73,12 @@ export class DataAccessState {
|
|
71
73
|
readonly applicationStore: GenericLegendApplicationStore;
|
72
74
|
readonly graphManagerState: BasicGraphManagerState;
|
73
75
|
|
74
|
-
readonly surveyDatasets: () => Promise<DatasetSpecification[]>;
|
75
|
-
readonly checkDatasetEntitlements: (
|
76
|
-
datasets: DatasetSpecification[],
|
77
|
-
) => Promise<DatasetEntitlementReport[]>;
|
78
|
-
|
79
76
|
readonly initialDatasets?: DatasetSpecification[] | undefined;
|
77
|
+
readonly mapping: string;
|
78
|
+
readonly runtime: string;
|
79
|
+
readonly graphData: GraphData;
|
80
|
+
readonly getQuery: () => Promise<RawLambda | undefined>;
|
81
|
+
|
80
82
|
readonly surveyDatasetsState = ActionState.create();
|
81
83
|
readonly checkEntitlementsState = ActionState.create();
|
82
84
|
|
@@ -87,10 +89,10 @@ export class DataAccessState {
|
|
87
89
|
graphManagerState: BasicGraphManagerState,
|
88
90
|
options: {
|
89
91
|
initialDatasets?: DatasetSpecification[] | undefined;
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
) => Promise<
|
92
|
+
mapping: string;
|
93
|
+
runtime: string;
|
94
|
+
graphData: GraphData;
|
95
|
+
getQuery: () => Promise<RawLambda | undefined>;
|
94
96
|
},
|
95
97
|
) {
|
96
98
|
makeObservable(this, {
|
@@ -106,8 +108,10 @@ export class DataAccessState {
|
|
106
108
|
this.datasets = (options.initialDatasets ?? []).map(
|
107
109
|
(dataset) => new DatasetAccessInfo(dataset),
|
108
110
|
);
|
109
|
-
this.
|
110
|
-
this.
|
111
|
+
this.mapping = options.mapping;
|
112
|
+
this.runtime = options.runtime;
|
113
|
+
this.graphData = options.graphData;
|
114
|
+
this.getQuery = options.getQuery;
|
111
115
|
}
|
112
116
|
|
113
117
|
get entitlementCheckInfo(): EntitlementCheckInfo {
|
@@ -249,7 +253,13 @@ export class DataAccessState {
|
|
249
253
|
this.surveyDatasetsState.inProgress();
|
250
254
|
|
251
255
|
try {
|
252
|
-
const datasets =
|
256
|
+
const datasets =
|
257
|
+
(yield this.graphManagerState.graphManager.surveyDatasets(
|
258
|
+
this.mapping,
|
259
|
+
this.runtime,
|
260
|
+
(yield this.getQuery()) as RawLambda | undefined,
|
261
|
+
this.graphData,
|
262
|
+
)) as DatasetSpecification[];
|
253
263
|
this.datasets = datasets.map((dataset) => {
|
254
264
|
const existingDataset = this.datasets.find(
|
255
265
|
(ds) => ds.specification.hashCode === dataset.hashCode,
|
@@ -271,9 +281,14 @@ export class DataAccessState {
|
|
271
281
|
this.checkEntitlementsState.inProgress();
|
272
282
|
|
273
283
|
try {
|
274
|
-
const reports =
|
275
|
-
this.
|
276
|
-
|
284
|
+
const reports =
|
285
|
+
(yield this.graphManagerState.graphManager.checkDatasetEntitlements(
|
286
|
+
this.datasets.map((dataset) => dataset.specification),
|
287
|
+
this.mapping,
|
288
|
+
this.runtime,
|
289
|
+
(yield this.getQuery()) as RawLambda | undefined,
|
290
|
+
this.graphData,
|
291
|
+
)) as DatasetEntitlementReport[];
|
277
292
|
this.datasets.forEach((dataset) => {
|
278
293
|
const matchingReport = reports.find(
|
279
294
|
(report) =>
|
@@ -19,12 +19,7 @@ import { makeObservable, observable, action, computed } from 'mobx';
|
|
19
19
|
import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../QueryBuilderStateHashUtils.js';
|
20
20
|
import type { QueryBuilderState } from '../QueryBuilderState.js';
|
21
21
|
import { DataAccessState } from '../data-access/DataAccessState.js';
|
22
|
-
import {
|
23
|
-
RuntimePointer,
|
24
|
-
type DatasetEntitlementReport,
|
25
|
-
type DatasetSpecification,
|
26
|
-
InMemoryGraphData,
|
27
|
-
} from '@finos/legend-graph';
|
22
|
+
import { RuntimePointer, InMemoryGraphData } from '@finos/legend-graph';
|
28
23
|
|
29
24
|
export class QueryBuilderCheckEntitlementsState implements Hashable {
|
30
25
|
readonly queryBuilderState: QueryBuilderState;
|
@@ -51,34 +46,17 @@ export class QueryBuilderCheckEntitlementsState implements Hashable {
|
|
51
46
|
this.queryBuilderState.mapping &&
|
52
47
|
this.queryBuilderState.runtimeValue instanceof RuntimePointer
|
53
48
|
) {
|
54
|
-
const mappingPath = this.queryBuilderState.mapping.path;
|
55
|
-
const runtimePath =
|
56
|
-
this.queryBuilderState.runtimeValue.packageableRuntime.value.path;
|
57
49
|
this.dataAccessState = new DataAccessState(
|
58
50
|
this.queryBuilderState.applicationStore,
|
59
51
|
this.queryBuilderState.graphManagerState,
|
60
52
|
{
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
),
|
69
|
-
),
|
70
|
-
checkDatasetEntitlements: async (
|
71
|
-
datasets: DatasetSpecification[],
|
72
|
-
): Promise<DatasetEntitlementReport[]> =>
|
73
|
-
this.queryBuilderState.graphManagerState.graphManager.checkDatasetEntitlements(
|
74
|
-
datasets,
|
75
|
-
mappingPath,
|
76
|
-
runtimePath,
|
77
|
-
this.queryBuilderState.buildQuery(),
|
78
|
-
new InMemoryGraphData(
|
79
|
-
this.queryBuilderState.graphManagerState.graph,
|
80
|
-
),
|
81
|
-
),
|
53
|
+
mapping: this.queryBuilderState.mapping.path,
|
54
|
+
runtime:
|
55
|
+
this.queryBuilderState.runtimeValue.packageableRuntime.value.path,
|
56
|
+
getQuery: async () => this.queryBuilderState.buildQuery(),
|
57
|
+
graphData: new InMemoryGraphData(
|
58
|
+
this.queryBuilderState.graphManagerState.graph,
|
59
|
+
),
|
82
60
|
},
|
83
61
|
);
|
84
62
|
}
|
@@ -284,6 +284,9 @@ export class QueryBuilderWindowColumnState
|
|
284
284
|
compatibleAggCol,
|
285
285
|
),
|
286
286
|
);
|
287
|
+
this.setColumnName(
|
288
|
+
`${windowOp.getLabel()} of ${compatibleAggCol.columnName}`,
|
289
|
+
);
|
287
290
|
}
|
288
291
|
} else {
|
289
292
|
this.setOperatorState(
|
@@ -292,6 +295,7 @@ export class QueryBuilderWindowColumnState
|
|
292
295
|
windowOp,
|
293
296
|
),
|
294
297
|
);
|
298
|
+
this.setColumnName(`${windowOp.getLabel()}`);
|
295
299
|
}
|
296
300
|
}
|
297
301
|
}
|