@finos/legend-query-builder 4.11.2 → 4.11.4
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/__lib__/QueryBuilderTelemetryHelper.d.ts +3 -0
- package/lib/__lib__/QueryBuilderTelemetryHelper.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderTelemetryHelper.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +0 -6
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/LambdaEditor.js +2 -2
- package/lib/components/shared/LambdaEditor.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/package.json +10 -10
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +5 -3
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +14 -1
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +29 -1
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +2 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/workflows/MappingQueryBuilderState.d.ts +1 -1
- package/lib/stores/workflows/MappingQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/workflows/MappingQueryBuilderState.js +2 -2
- package/lib/stores/workflows/MappingQueryBuilderState.js.map +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.d.ts +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.js +2 -2
- package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
- package/package.json +18 -18
- package/src/__lib__/QueryBuilderTelemetryHelper.ts +3 -0
- package/src/components/filter/QueryBuilderFilterPanel.tsx +0 -12
- package/src/components/shared/LambdaEditor.tsx +4 -4
- package/src/index.ts +4 -1
- package/src/stores/QueryBuilderResultState.ts +13 -3
- package/src/stores/QueryBuilderState.ts +40 -0
- package/src/stores/explorer/QueryBuilderExplorerState.ts +6 -1
- package/src/stores/workflows/MappingQueryBuilderState.ts +2 -1
- package/src/stores/workflows/ServiceQueryBuilderState.ts +2 -1
@@ -102,6 +102,14 @@ import {
|
|
102
102
|
import type { QueryBuilderConfig } from '../graph-manager/QueryBuilderConfig.js';
|
103
103
|
import { QUERY_BUILDER_EVENT } from '../__lib__/QueryBuilderEvent.js';
|
104
104
|
|
105
|
+
export interface QuerySDLC {}
|
106
|
+
|
107
|
+
export type QueryStateInfo = QuerySDLC & {
|
108
|
+
class: string;
|
109
|
+
mapping: string;
|
110
|
+
runtime: string;
|
111
|
+
};
|
112
|
+
|
105
113
|
export abstract class QueryBuilderState implements CommandRegistrar {
|
106
114
|
readonly applicationStore: GenericLegendApplicationStore;
|
107
115
|
readonly graphManagerState: GraphManagerState;
|
@@ -137,6 +145,11 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
137
145
|
executionContextState: QueryBuilderExecutionContextState;
|
138
146
|
internalizeState?: QueryBuilderInternalizeState | undefined;
|
139
147
|
|
148
|
+
// NOTE: This property contains information about workflow used
|
149
|
+
// to create this state. This should only be used to add additional
|
150
|
+
// information to query builder analytics.
|
151
|
+
sourceInfo?: QuerySDLC | undefined;
|
152
|
+
|
140
153
|
// NOTE: this makes it so that we need to import components in stores code,
|
141
154
|
// we probably want to refactor to an extension mechanism
|
142
155
|
TEMPORARY__setupPanelContentRenderer?: (() => React.ReactNode) | undefined;
|
@@ -145,6 +158,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
145
158
|
applicationStore: GenericLegendApplicationStore,
|
146
159
|
graphManagerState: GraphManagerState,
|
147
160
|
config: QueryBuilderConfig | undefined,
|
161
|
+
sourceInfo?: QuerySDLC | undefined,
|
148
162
|
) {
|
149
163
|
makeObservable(this, {
|
150
164
|
explorerState: observable,
|
@@ -215,6 +229,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
215
229
|
);
|
216
230
|
this.changeDetectionState = new QueryBuilderChangeDetectionState(this);
|
217
231
|
this.config = config;
|
232
|
+
this.sourceInfo = sourceInfo;
|
218
233
|
}
|
219
234
|
|
220
235
|
get isMappingReadOnly(): boolean {
|
@@ -259,6 +274,31 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
259
274
|
return this.allVariables.map((e) => e.name);
|
260
275
|
}
|
261
276
|
|
277
|
+
/**
|
278
|
+
* Gets information about the current queryBuilderState.
|
279
|
+
* This information can be used as a part of analytics
|
280
|
+
*/
|
281
|
+
getStateInfo(): QueryStateInfo | undefined {
|
282
|
+
if (this.sourceInfo) {
|
283
|
+
const classPath = this.class?.path;
|
284
|
+
const mappingPath = this.executionContextState.mapping?.path;
|
285
|
+
const runtimePath =
|
286
|
+
this.executionContextState.runtimeValue instanceof RuntimePointer
|
287
|
+
? this.executionContextState.runtimeValue.packageableRuntime.value
|
288
|
+
.path
|
289
|
+
: undefined;
|
290
|
+
if (classPath && mappingPath && runtimePath) {
|
291
|
+
const contextInfo = {
|
292
|
+
class: classPath,
|
293
|
+
mapping: mappingPath,
|
294
|
+
runtime: runtimePath,
|
295
|
+
};
|
296
|
+
return Object.assign({}, this.sourceInfo, contextInfo);
|
297
|
+
}
|
298
|
+
}
|
299
|
+
return undefined;
|
300
|
+
}
|
301
|
+
|
262
302
|
setIsQueryChatOpened(val: boolean): void {
|
263
303
|
this.isQueryChatOpened = val;
|
264
304
|
}
|
@@ -748,9 +748,14 @@ export class QueryBuilderExplorerState {
|
|
748
748
|
stopWatch,
|
749
749
|
report.timings,
|
750
750
|
);
|
751
|
+
const reportWithState = Object.assign(
|
752
|
+
{},
|
753
|
+
report,
|
754
|
+
this.queryBuilderState.getStateInfo(),
|
755
|
+
);
|
751
756
|
QueryBuilderTelemetryHelper.logEvent_QueryMappingModelCoverageAnalysisSucceeded(
|
752
757
|
this.queryBuilderState.applicationStore.telemetryService,
|
753
|
-
|
758
|
+
reportWithState,
|
754
759
|
);
|
755
760
|
} catch (error) {
|
756
761
|
assertErrorThrown(error);
|
@@ -42,8 +42,9 @@ export class MappingQueryBuilderState extends QueryBuilderState {
|
|
42
42
|
onMappingChange?: ((val: Mapping) => void) | undefined,
|
43
43
|
onRuntimeChange?: ((val: Runtime) => void) | undefined,
|
44
44
|
config?: QueryBuilderConfig | undefined,
|
45
|
+
sourceInfo?: object | undefined,
|
45
46
|
) {
|
46
|
-
super(applicationStore, graphManagerState, config);
|
47
|
+
super(applicationStore, graphManagerState, config, sourceInfo);
|
47
48
|
|
48
49
|
this.onMappingChange = onMappingChange;
|
49
50
|
this.onRuntimeChange = onRuntimeChange;
|
@@ -66,8 +66,9 @@ export class ServiceQueryBuilderState extends QueryBuilderState {
|
|
66
66
|
| ((val: ServiceExecutionContext) => void)
|
67
67
|
| undefined,
|
68
68
|
config?: QueryBuilderConfig | undefined,
|
69
|
+
sourceInfo?: object | undefined,
|
69
70
|
) {
|
70
|
-
super(applicationStore, graphManagerState, config);
|
71
|
+
super(applicationStore, graphManagerState, config, sourceInfo);
|
71
72
|
|
72
73
|
makeObservable(this, {
|
73
74
|
selectedExecutionContext: observable,
|