@finos/legend-application-data-cube 0.1.7 → 0.1.8
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/LegendDataCubeWebApplication.js +1 -1
- package/lib/components/LegendDataCubeWebApplication.js.map +1 -1
- package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.d.ts +1 -4
- package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.d.ts.map +1 -1
- package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.js +5 -4
- package/lib/components/query-builder/LegendDataCubeNewQueryBuilder.js.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js +27 -33
- package/lib/components/query-builder/LegendDataCubeQueryBuilder.js.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryLoader.d.ts.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQueryLoader.js +5 -7
- package/lib/components/query-builder/LegendDataCubeQueryLoader.js.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQuerySaver.d.ts.map +1 -1
- package/lib/components/query-builder/LegendDataCubeQuerySaver.js +4 -4
- package/lib/components/query-builder/LegendDataCubeQuerySaver.js.map +1 -1
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.d.ts.map +1 -1
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.js +7 -7
- package/lib/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/LegendDataCubeBaseStore.d.ts +5 -3
- package/lib/stores/LegendDataCubeBaseStore.d.ts.map +1 -1
- package/lib/stores/LegendDataCubeBaseStore.js +16 -9
- package/lib/stores/LegendDataCubeBaseStore.js.map +1 -1
- package/lib/stores/LegendDataCubeDataCubeEngine.d.ts +10 -18
- package/lib/stores/LegendDataCubeDataCubeEngine.d.ts.map +1 -1
- package/lib/stores/LegendDataCubeDataCubeEngine.js +57 -56
- package/lib/stores/LegendDataCubeDataCubeEngine.js.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.d.ts +5 -6
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.d.ts.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.js +17 -15
- package/lib/stores/query-builder/LegendDataCubeNewQueryState.js.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts +11 -4
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.d.ts.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js +21 -13
- package/lib/stores/query-builder/LegendDataCubeQueryBuilderStore.js.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.d.ts +4 -5
- package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.d.ts.map +1 -1
- package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.js +18 -17
- package/lib/stores/query-builder/LegendDataCubeQueryLoaderState.js.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.d.ts +3 -4
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.d.ts.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.js +5 -5
- package/lib/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.js.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.d.ts +9 -4
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.d.ts.map +1 -1
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.js +15 -9
- package/lib/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.js.map +1 -1
- package/package.json +3 -3
- package/src/components/LegendDataCubeWebApplication.tsx +1 -1
- package/src/components/query-builder/LegendDataCubeNewQueryBuilder.tsx +77 -80
- package/src/components/query-builder/LegendDataCubeQueryBuilder.tsx +65 -130
- package/src/components/query-builder/LegendDataCubeQueryLoader.tsx +6 -7
- package/src/components/query-builder/LegendDataCubeQuerySaver.tsx +10 -4
- package/src/components/query-builder/source-builder/LegendQueryDataCubeSourceBuilder.tsx +10 -8
- package/src/stores/LegendDataCubeBaseStore.ts +32 -13
- package/src/stores/LegendDataCubeDataCubeEngine.ts +80 -85
- package/src/stores/query-builder/LegendDataCubeNewQueryState.tsx +30 -16
- package/src/stores/query-builder/LegendDataCubeQueryBuilderStore.tsx +32 -21
- package/src/stores/query-builder/LegendDataCubeQueryLoaderState.tsx +25 -23
- package/src/stores/query-builder/source-builder/LegendDataCubeSourceBuilderState.ts +9 -6
- package/src/stores/query-builder/source-builder/LegendQueryDataCubeSourceBuilderState.ts +31 -13
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
|
|
17
17
|
import { ActionState, type PlainObject } from '@finos/legend-shared';
|
|
18
18
|
import type { LegendDataCubeApplicationStore } from '../../LegendDataCubeBaseStore.js';
|
|
19
|
-
import type { LegendDataCubeNewQueryState } from '../LegendDataCubeNewQueryState.js';
|
|
20
19
|
import type { LegendDataCubeDataCubeEngine } from '../../LegendDataCubeDataCubeEngine.js';
|
|
21
20
|
|
|
22
21
|
export enum LegendDataCubeSourceBuilderType {
|
|
@@ -25,13 +24,17 @@ export enum LegendDataCubeSourceBuilderType {
|
|
|
25
24
|
}
|
|
26
25
|
|
|
27
26
|
export abstract class LegendDataCubeSourceBuilderState {
|
|
28
|
-
readonly
|
|
29
|
-
readonly
|
|
27
|
+
protected readonly _application: LegendDataCubeApplicationStore;
|
|
28
|
+
protected readonly _engine: LegendDataCubeDataCubeEngine;
|
|
29
|
+
|
|
30
30
|
readonly buildState = ActionState.create();
|
|
31
31
|
|
|
32
|
-
constructor(
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
constructor(
|
|
33
|
+
application: LegendDataCubeApplicationStore,
|
|
34
|
+
engine: LegendDataCubeDataCubeEngine,
|
|
35
|
+
) {
|
|
36
|
+
this._application = application;
|
|
37
|
+
this._engine = engine;
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
abstract get label(): LegendDataCubeSourceBuilderType;
|
|
@@ -21,6 +21,8 @@ import {
|
|
|
21
21
|
} from '@finos/legend-shared';
|
|
22
22
|
import {
|
|
23
23
|
QuerySearchSpecification,
|
|
24
|
+
type V1_EngineServerClient,
|
|
25
|
+
type V1_PureGraphManager,
|
|
24
26
|
V1_Query,
|
|
25
27
|
type LightQuery,
|
|
26
28
|
} from '@finos/legend-graph';
|
|
@@ -34,17 +36,29 @@ import {
|
|
|
34
36
|
LegendDataCubeSourceBuilderType,
|
|
35
37
|
} from './LegendDataCubeSourceBuilderState.js';
|
|
36
38
|
import { RawLegendQueryDataCubeSource } from '../../model/LegendQueryDataCubeSource.js';
|
|
37
|
-
import type { LegendDataCubeNewQueryState } from '../LegendDataCubeNewQueryState.js';
|
|
38
39
|
import { APPLICATION_EVENT } from '@finos/legend-application';
|
|
40
|
+
import type { LegendDataCubeDataCubeEngine } from '../../LegendDataCubeDataCubeEngine.js';
|
|
41
|
+
import type { LegendDataCubeApplicationStore } from '../../LegendDataCubeBaseStore.js';
|
|
42
|
+
import type { DataCubeAlertService } from '@finos/legend-data-cube';
|
|
39
43
|
|
|
40
44
|
export class LegendQueryDataCubeSourceBuilderState extends LegendDataCubeSourceBuilderState {
|
|
41
|
-
readonly
|
|
45
|
+
private readonly _engineServerClient: V1_EngineServerClient;
|
|
46
|
+
private readonly _graphManager: V1_PureGraphManager;
|
|
47
|
+
private readonly _alertService: DataCubeAlertService;
|
|
48
|
+
|
|
49
|
+
readonly queryLoader: QueryLoaderState;
|
|
42
50
|
|
|
43
51
|
query?: LightQuery | undefined;
|
|
44
52
|
queryCode?: string | undefined;
|
|
45
53
|
|
|
46
|
-
constructor(
|
|
47
|
-
|
|
54
|
+
constructor(
|
|
55
|
+
application: LegendDataCubeApplicationStore,
|
|
56
|
+
engine: LegendDataCubeDataCubeEngine,
|
|
57
|
+
engineServerClient: V1_EngineServerClient,
|
|
58
|
+
graphManager: V1_PureGraphManager,
|
|
59
|
+
alertService: DataCubeAlertService,
|
|
60
|
+
) {
|
|
61
|
+
super(application, engine);
|
|
48
62
|
|
|
49
63
|
makeObservable(this, {
|
|
50
64
|
query: observable,
|
|
@@ -53,20 +67,24 @@ export class LegendQueryDataCubeSourceBuilderState extends LegendDataCubeSourceB
|
|
|
53
67
|
queryCode: observable,
|
|
54
68
|
});
|
|
55
69
|
|
|
56
|
-
this.
|
|
57
|
-
|
|
58
|
-
|
|
70
|
+
this._graphManager = graphManager;
|
|
71
|
+
this._engineServerClient = engineServerClient;
|
|
72
|
+
this._alertService = alertService;
|
|
73
|
+
|
|
74
|
+
this.queryLoader = new QueryLoaderState(
|
|
75
|
+
this._application,
|
|
76
|
+
this._graphManager,
|
|
59
77
|
{
|
|
60
78
|
loadQuery: (query) => {
|
|
61
79
|
this.setQuery(query).catch((error) =>
|
|
62
|
-
this.
|
|
80
|
+
this._alertService.alertUnhandledError(error),
|
|
63
81
|
);
|
|
64
82
|
},
|
|
65
83
|
decorateSearchSpecification: (val) => val,
|
|
66
84
|
fetchDefaultQueries: async () => {
|
|
67
85
|
const searchSpecification = new QuerySearchSpecification();
|
|
68
86
|
searchSpecification.limit = QUERY_LOADER_TYPEAHEAD_SEARCH_LIMIT;
|
|
69
|
-
return
|
|
87
|
+
return this._graphManager.searchQueries(
|
|
70
88
|
QuerySearchSpecification.createDefault(undefined),
|
|
71
89
|
);
|
|
72
90
|
},
|
|
@@ -78,10 +96,10 @@ export class LegendQueryDataCubeSourceBuilderState extends LegendDataCubeSourceB
|
|
|
78
96
|
async setQuery(lightQuery: LightQuery) {
|
|
79
97
|
try {
|
|
80
98
|
const processedQuery = V1_Query.serialization.fromJson(
|
|
81
|
-
await this.
|
|
99
|
+
await this._engineServerClient.getQuery(lightQuery.id),
|
|
82
100
|
);
|
|
83
|
-
const queryCode = await this.
|
|
84
|
-
await this.
|
|
101
|
+
const queryCode = await this._engine.getValueSpecificationCode(
|
|
102
|
+
await this._engine.parseValueSpecification(processedQuery.content),
|
|
85
103
|
true,
|
|
86
104
|
);
|
|
87
105
|
runInAction(() => {
|
|
@@ -90,7 +108,7 @@ export class LegendQueryDataCubeSourceBuilderState extends LegendDataCubeSourceB
|
|
|
90
108
|
});
|
|
91
109
|
} catch (error) {
|
|
92
110
|
assertErrorThrown(error);
|
|
93
|
-
this.
|
|
111
|
+
this._application.logService.error(
|
|
94
112
|
LogEvent.create(APPLICATION_EVENT.GENERIC_FAILURE),
|
|
95
113
|
`Can't get code for query with ID '${lightQuery.id}'`,
|
|
96
114
|
);
|