@finos/legend-query-builder 4.14.40 → 4.14.43
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/explorer/QueryBuilderMilestoningEditor.d.ts +0 -5
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js +5 -10
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +3 -35
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +1 -11
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +6 -2
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts +11 -9
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.js +160 -143
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +0 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +0 -8
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.js +2 -2
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterState.d.ts +1 -1
- package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterState.js +4 -3
- package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +2 -2
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js +3 -9
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +1 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.js +48 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
- package/package.json +8 -8
- package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +46 -60
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +3 -53
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +19 -116
- package/src/components/filter/QueryBuilderFilterPanel.tsx +13 -5
- package/src/components/shared/BasicValueSpecificationEditor.tsx +299 -285
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +0 -11
- package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +2 -2
- package/src/stores/filter/QueryBuilderFilterState.ts +6 -3
- package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +2 -2
- package/src/stores/milestoning/QueryBuilderMilestoningState.ts +7 -11
- package/src/stores/shared/ValueSpecificationEditorHelper.ts +63 -0
|
@@ -146,7 +146,6 @@ export class QueryBuilderTDSState
|
|
|
146
146
|
TEMPORARY__showPostFetchStructurePanel: computed,
|
|
147
147
|
derivations: computed,
|
|
148
148
|
hasParserError: computed,
|
|
149
|
-
isQueryOptionsSet: computed,
|
|
150
149
|
addColumn: action,
|
|
151
150
|
moveColumn: action,
|
|
152
151
|
removeAllColumns: action,
|
|
@@ -357,16 +356,6 @@ export class QueryBuilderTDSState
|
|
|
357
356
|
return fetchStructureValidationIssues;
|
|
358
357
|
}
|
|
359
358
|
|
|
360
|
-
get isQueryOptionsSet(): boolean {
|
|
361
|
-
return (
|
|
362
|
-
this.resultSetModifierState.limit !== undefined ||
|
|
363
|
-
this.queryBuilderState.milestoningState.isMilestonedQuery ||
|
|
364
|
-
this.resultSetModifierState.slice !== undefined ||
|
|
365
|
-
this.resultSetModifierState.sortColumns.length > 0 ||
|
|
366
|
-
this.resultSetModifierState.distinct
|
|
367
|
-
);
|
|
368
|
-
}
|
|
369
|
-
|
|
370
359
|
get tdsColumns(): QueryBuilderTDSColumnState[] {
|
|
371
360
|
const aggregationStateCols = this.aggregationState.columns.map(
|
|
372
361
|
(c) => c.projectionColumnState,
|
package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.ts
CHANGED
|
@@ -53,7 +53,7 @@ export class QueryBuilderPostFilterOperator_In
|
|
|
53
53
|
implements Hashable
|
|
54
54
|
{
|
|
55
55
|
getLabel(): string {
|
|
56
|
-
return 'is in';
|
|
56
|
+
return 'is in list of';
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
isCompatibleWithType(type: Type): boolean {
|
|
@@ -168,7 +168,7 @@ export class QueryBuilderPostFilterOperator_In
|
|
|
168
168
|
|
|
169
169
|
export class QueryBuilderPostFilterOperator_NotIn extends QueryBuilderPostFilterOperator_In {
|
|
170
170
|
override getLabel(): string {
|
|
171
|
-
return `is not in`;
|
|
171
|
+
return `is not in list of`;
|
|
172
172
|
}
|
|
173
173
|
|
|
174
174
|
override buildPostFilterConditionExpression(
|
|
@@ -128,17 +128,20 @@ export class FilterConditionState implements Hashable {
|
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
*handleTypeaheadSearch(
|
|
131
|
+
*handleTypeaheadSearch(
|
|
132
|
+
searchValue?: ValueSpecification | undefined,
|
|
133
|
+
): GeneratorFn<void> {
|
|
134
|
+
const value = searchValue ?? this.value;
|
|
132
135
|
try {
|
|
133
136
|
this.typeaheadSearchState.inProgress();
|
|
134
137
|
this.typeaheadSearchResults = undefined;
|
|
135
|
-
if (performTypeahead(
|
|
138
|
+
if (performTypeahead(value)) {
|
|
136
139
|
const result =
|
|
137
140
|
(yield this.filterState.queryBuilderState.graphManagerState.graphManager.runQuery(
|
|
138
141
|
buildPropertyTypeaheadQuery(
|
|
139
142
|
this.filterState.queryBuilderState,
|
|
140
143
|
this.propertyExpressionState.propertyExpression,
|
|
141
|
-
|
|
144
|
+
value,
|
|
142
145
|
),
|
|
143
146
|
guaranteeNonNullable(
|
|
144
147
|
this.filterState.queryBuilderState.executionContextState.mapping,
|
|
@@ -48,7 +48,7 @@ export class QueryBuilderFilterOperator_In
|
|
|
48
48
|
implements Hashable
|
|
49
49
|
{
|
|
50
50
|
getLabel(filterConditionState: FilterConditionState): string {
|
|
51
|
-
return 'is in';
|
|
51
|
+
return 'is in list of';
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
isCompatibleWithFilterConditionProperty(
|
|
@@ -172,7 +172,7 @@ export class QueryBuilderFilterOperator_In
|
|
|
172
172
|
|
|
173
173
|
export class QueryBuilderFilterOperator_NotIn extends QueryBuilderFilterOperator_In {
|
|
174
174
|
override getLabel(filterConditionState: FilterConditionState): string {
|
|
175
|
-
return `is not in`;
|
|
175
|
+
return `is not in list of`;
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
override buildFilterConditionExpression(
|
|
@@ -75,7 +75,7 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
75
75
|
startDate: observable,
|
|
76
76
|
endDate: observable,
|
|
77
77
|
showMilestoningEditor: observable,
|
|
78
|
-
|
|
78
|
+
isMilestonedQuery: computed,
|
|
79
79
|
setProcessingDate: action,
|
|
80
80
|
setBusinessDate: action,
|
|
81
81
|
setStartDate: action,
|
|
@@ -87,10 +87,6 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
87
87
|
initializeAllVersionsInRangeParameters: action,
|
|
88
88
|
clearAllVersionsInRangeParameters: action,
|
|
89
89
|
clearGetAllParameters: action,
|
|
90
|
-
|
|
91
|
-
isAllVersionsEnabled: computed,
|
|
92
|
-
isAllVersionsInRangeEnabled: computed,
|
|
93
|
-
isMilestonedQuery: computed,
|
|
94
90
|
hashCode: computed,
|
|
95
91
|
});
|
|
96
92
|
|
|
@@ -384,9 +380,9 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
384
380
|
this.queryBuilderState.parametersState.parameterStates.find(
|
|
385
381
|
(p) => p.parameter === this.startDate,
|
|
386
382
|
);
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
383
|
+
this.queryBuilderState.parametersState.removeParameter(
|
|
384
|
+
guaranteeNonNullable(paramState),
|
|
385
|
+
);
|
|
390
386
|
}
|
|
391
387
|
if (
|
|
392
388
|
this.endDate instanceof VariableExpression &&
|
|
@@ -398,9 +394,9 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
398
394
|
this.queryBuilderState.parametersState.parameterStates.find(
|
|
399
395
|
(p) => p.parameter === this.endDate,
|
|
400
396
|
);
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
397
|
+
this.queryBuilderState.parametersState.removeParameter(
|
|
398
|
+
guaranteeNonNullable(paramState),
|
|
399
|
+
);
|
|
404
400
|
}
|
|
405
401
|
this.setStartDate(undefined);
|
|
406
402
|
this.setEndDate(undefined);
|
|
@@ -321,3 +321,66 @@ export const valueSpecReturnTDS = (
|
|
|
321
321
|
retunType && tdsType && (retunType === tdsType || retunType === tdsRowType),
|
|
322
322
|
);
|
|
323
323
|
};
|
|
324
|
+
|
|
325
|
+
export const convertTextToPrimitiveInstanceValue = (
|
|
326
|
+
expectedType: Type,
|
|
327
|
+
value: string,
|
|
328
|
+
obseverContext: ObserverContext,
|
|
329
|
+
): PrimitiveInstanceValue | null => {
|
|
330
|
+
let result = null;
|
|
331
|
+
if (expectedType instanceof PrimitiveType) {
|
|
332
|
+
switch (expectedType.path) {
|
|
333
|
+
case PRIMITIVE_TYPE.STRING: {
|
|
334
|
+
result = new PrimitiveInstanceValue(
|
|
335
|
+
GenericTypeExplicitReference.create(new GenericType(expectedType)),
|
|
336
|
+
);
|
|
337
|
+
instanceValue_setValues(result, [value.toString()], obseverContext);
|
|
338
|
+
break;
|
|
339
|
+
}
|
|
340
|
+
case PRIMITIVE_TYPE.NUMBER:
|
|
341
|
+
case PRIMITIVE_TYPE.FLOAT:
|
|
342
|
+
case PRIMITIVE_TYPE.DECIMAL:
|
|
343
|
+
case PRIMITIVE_TYPE.INTEGER: {
|
|
344
|
+
if (isNaN(Number(value))) {
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
result = new PrimitiveInstanceValue(
|
|
348
|
+
GenericTypeExplicitReference.create(new GenericType(expectedType)),
|
|
349
|
+
);
|
|
350
|
+
instanceValue_setValues(result, [Number(value)], obseverContext);
|
|
351
|
+
break;
|
|
352
|
+
}
|
|
353
|
+
case PRIMITIVE_TYPE.DATE:
|
|
354
|
+
case PRIMITIVE_TYPE.STRICTDATE: {
|
|
355
|
+
if (isNaN(Date.parse(value))) {
|
|
356
|
+
return null;
|
|
357
|
+
}
|
|
358
|
+
result = new PrimitiveInstanceValue(
|
|
359
|
+
GenericTypeExplicitReference.create(new GenericType(expectedType)),
|
|
360
|
+
);
|
|
361
|
+
instanceValue_setValues(result, [value], obseverContext);
|
|
362
|
+
break;
|
|
363
|
+
}
|
|
364
|
+
case PRIMITIVE_TYPE.DATETIME: {
|
|
365
|
+
if (
|
|
366
|
+
isNaN(Date.parse(value)) ||
|
|
367
|
+
!new Date(value).getTime() ||
|
|
368
|
+
(value.includes('%') &&
|
|
369
|
+
(isNaN(Date.parse(value.slice(1))) ||
|
|
370
|
+
!new Date(value.slice(1)).getTime()))
|
|
371
|
+
) {
|
|
372
|
+
return null;
|
|
373
|
+
}
|
|
374
|
+
result = new PrimitiveInstanceValue(
|
|
375
|
+
GenericTypeExplicitReference.create(new GenericType(expectedType)),
|
|
376
|
+
);
|
|
377
|
+
instanceValue_setValues(result, [value], obseverContext);
|
|
378
|
+
break;
|
|
379
|
+
}
|
|
380
|
+
default:
|
|
381
|
+
// unsupported expected type, just escape
|
|
382
|
+
return null;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return result;
|
|
386
|
+
};
|