@finos/legend-application-query 5.1.0 → 5.2.1
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/application/LegendQueryApplicationConfig.d.ts +17 -1
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.js +23 -1
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +3 -1
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderExplorerPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderExplorerPanel.js +7 -34
- package/lib/components/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderFetchStructurePanel.js +77 -66
- package/lib/components/QueryBuilderFetchStructurePanel.js.map +1 -1
- package/lib/components/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderFilterPanel.js +28 -58
- package/lib/components/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderFunctionsExplorerPanel.js +9 -39
- package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
- package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderGraphFetchTreePanel.js +5 -5
- package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +1 -1
- package/lib/components/QueryBuilderLambdaEditor.d.ts +1 -0
- package/lib/components/QueryBuilderLambdaEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderLambdaEditor.js +2 -2
- package/lib/components/QueryBuilderLambdaEditor.js.map +1 -1
- package/lib/components/QueryBuilderMilestoneEditor.js +5 -5
- package/lib/components/QueryBuilderMilestoneEditor.js.map +1 -1
- package/lib/components/QueryBuilderPanelIssueCountBadge.d.ts +20 -0
- package/lib/components/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -0
- package/lib/components/QueryBuilderPanelIssueCountBadge.js +28 -0
- package/lib/components/QueryBuilderPanelIssueCountBadge.js.map +1 -0
- package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParameterPanel.js +13 -34
- package/lib/components/QueryBuilderParameterPanel.js.map +1 -1
- package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderPostFilterPanel.js +33 -58
- package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/QueryBuilderProjectionPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderProjectionPanel.js +47 -67
- package/lib/components/QueryBuilderProjectionPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +11 -11
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertySearchPanel.js +3 -6
- package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -1
- package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultModifierPanel.js +3 -1
- package/lib/components/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +28 -20
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderSetupPanel.js +10 -11
- package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js +4 -2
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
- package/lib/components/QueryEditor.d.ts.map +1 -1
- package/lib/components/QueryEditor.js +16 -4
- package/lib/components/QueryEditor.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +10 -9
- package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderExplorerState.js +5 -0
- package/lib/stores/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/QueryBuilderFetchStructureState.d.ts +6 -0
- package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderFetchStructureState.js +8 -0
- package/lib/stores/QueryBuilderFetchStructureState.js.map +1 -1
- package/lib/stores/QueryBuilderFilterState.d.ts +4 -9
- package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderFilterState.js +6 -11
- package/lib/stores/QueryBuilderFilterState.js.map +1 -1
- package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderGraphFetchTreeState.js +6 -3
- package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +1 -1
- package/lib/stores/QueryBuilderLambdaProcessor.js +2 -0
- package/lib/stores/QueryBuilderLambdaProcessor.js.map +1 -1
- package/lib/stores/QueryBuilderPostFilterState.d.ts +4 -4
- package/lib/stores/QueryBuilderPostFilterState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPostFilterState.js +6 -6
- package/lib/stores/QueryBuilderPostFilterState.js.map +1 -1
- package/lib/stores/QueryBuilderProjectionState.d.ts +2 -7
- package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderProjectionState.js +5 -17
- package/lib/stores/QueryBuilderProjectionState.js.map +1 -1
- package/lib/stores/QueryBuilderSetupState.js +1 -1
- package/lib/stores/QueryBuilderSetupState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +6 -1
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +9 -2
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +7 -7
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +14 -3
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/QueryFunctionsExplorerState.d.ts +2 -6
- package/lib/stores/QueryFunctionsExplorerState.d.ts.map +1 -1
- package/lib/stores/QueryFunctionsExplorerState.js +2 -11
- package/lib/stores/QueryFunctionsExplorerState.js.map +1 -1
- package/lib/stores/QueryParametersState.d.ts +1 -3
- package/lib/stores/QueryParametersState.d.ts.map +1 -1
- package/lib/stores/QueryParametersState.js +1 -4
- package/lib/stores/QueryParametersState.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +4 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +4 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +4 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
- package/package.json +17 -16
- package/src/application/LegendQueryApplicationConfig.ts +35 -1
- package/src/components/QueryBuilder.tsx +13 -2
- package/src/components/QueryBuilderExplorerPanel.tsx +17 -56
- package/src/components/QueryBuilderFetchStructurePanel.tsx +93 -80
- package/src/components/QueryBuilderFilterPanel.tsx +184 -225
- package/src/components/QueryBuilderFunctionsExplorerPanel.tsx +23 -68
- package/src/components/QueryBuilderGraphFetchTreePanel.tsx +34 -25
- package/src/components/QueryBuilderLambdaEditor.tsx +3 -0
- package/src/components/QueryBuilderMilestoneEditor.tsx +34 -34
- package/src/components/QueryBuilderPanelIssueCountBadge.tsx +38 -0
- package/src/components/QueryBuilderParameterPanel.tsx +21 -54
- package/src/components/QueryBuilderPostFilterPanel.tsx +202 -236
- package/src/components/QueryBuilderProjectionPanel.tsx +126 -170
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +61 -57
- package/src/components/QueryBuilderPropertySearchPanel.tsx +8 -9
- package/src/components/QueryBuilderResultModifierPanel.tsx +4 -2
- package/src/components/QueryBuilderResultPanel.tsx +71 -52
- package/src/components/QueryBuilderSetupPanel.tsx +10 -11
- package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +4 -2
- package/src/components/QueryEditor.tsx +39 -1
- package/src/stores/QueryBuilderExplorerState.ts +5 -0
- package/src/stores/QueryBuilderFetchStructureState.ts +9 -0
- package/src/stores/QueryBuilderFilterState.ts +7 -12
- package/src/stores/QueryBuilderGraphFetchTreeState.ts +14 -8
- package/src/stores/QueryBuilderLambdaProcessor.ts +8 -0
- package/src/stores/QueryBuilderPostFilterState.ts +7 -7
- package/src/stores/QueryBuilderProjectionState.ts +7 -18
- package/src/stores/QueryBuilderSetupState.ts +1 -1
- package/src/stores/QueryBuilderState.ts +10 -2
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +9 -7
- package/src/stores/QueryEditorStore.ts +19 -3
- package/src/stores/QueryFunctionsExplorerState.ts +1 -11
- package/src/stores/QueryParametersState.ts +1 -3
- package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +8 -1
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +8 -1
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +8 -1
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +8 -1
- package/tsconfig.json +1 -0
@@ -85,9 +85,7 @@ import {
|
|
85
85
|
buildNonNumericPreviewDataQuery,
|
86
86
|
} from './QueryBuilderPreviewDataHelper.js';
|
87
87
|
|
88
|
-
export
|
89
|
-
PROJECTION_COLUMN = 'PROJECTION_COLUMN',
|
90
|
-
}
|
88
|
+
export const QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE = 'PROJECTION_COLUMN';
|
91
89
|
|
92
90
|
export interface QueryBuilderProjectionColumnDragSource {
|
93
91
|
columnState: QueryBuilderProjectionColumnState;
|
@@ -96,7 +94,6 @@ export interface QueryBuilderProjectionColumnDragSource {
|
|
96
94
|
export abstract class QueryBuilderProjectionColumnState {
|
97
95
|
readonly uuid = uuid();
|
98
96
|
projectionState: QueryBuilderProjectionState;
|
99
|
-
isBeingDragged = false;
|
100
97
|
columnName: string;
|
101
98
|
|
102
99
|
constructor(
|
@@ -106,9 +103,7 @@ export abstract class QueryBuilderProjectionColumnState {
|
|
106
103
|
makeObservable(this, {
|
107
104
|
uuid: false,
|
108
105
|
projectionState: false,
|
109
|
-
isBeingDragged: observable,
|
110
106
|
columnName: observable,
|
111
|
-
setIsBeingDragged: action,
|
112
107
|
setColumnName: action,
|
113
108
|
});
|
114
109
|
|
@@ -116,10 +111,6 @@ export abstract class QueryBuilderProjectionColumnState {
|
|
116
111
|
this.columnName = columnName;
|
117
112
|
}
|
118
113
|
|
119
|
-
setIsBeingDragged(val: boolean): void {
|
120
|
-
this.isBeingDragged = val;
|
121
|
-
}
|
122
|
-
|
123
114
|
setColumnName(val: string): void {
|
124
115
|
this.columnName = val;
|
125
116
|
}
|
@@ -590,7 +581,9 @@ export class QueryBuilderProjectionState {
|
|
590
581
|
addNewBlankDerivation(): void {
|
591
582
|
const derivation = new QueryBuilderDerivationProjectionColumnState(
|
592
583
|
this,
|
593
|
-
this.queryBuilderState.graphManagerState.graphManager.
|
584
|
+
this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda(
|
585
|
+
{ addDummyParameter: true },
|
586
|
+
),
|
594
587
|
);
|
595
588
|
this.addColumn(derivation);
|
596
589
|
derivation.derivationLambdaEditorState.setLambdaString(
|
@@ -770,11 +763,7 @@ export class QueryBuilderProjectionState {
|
|
770
763
|
}
|
771
764
|
}
|
772
765
|
|
773
|
-
|
774
|
-
return Boolean(!this.getValidationErrorMessage());
|
775
|
-
}
|
776
|
-
|
777
|
-
getValidationErrorMessage(): string | undefined {
|
766
|
+
get validationIssues(): string[] | undefined {
|
778
767
|
if (this.queryBuilderState.fetchStructureState.isProjectionMode()) {
|
779
768
|
const hasDuplicatedProjectionColumns = this.columns.some(
|
780
769
|
(column) =>
|
@@ -782,11 +771,11 @@ export class QueryBuilderProjectionState {
|
|
782
771
|
.length > 1,
|
783
772
|
);
|
784
773
|
if (hasDuplicatedProjectionColumns) {
|
785
|
-
return 'Query has duplicated projection columns';
|
774
|
+
return ['Query has duplicated projection columns'];
|
786
775
|
}
|
787
776
|
const hasNoProjectionColumns = this.columns.length === 0;
|
788
777
|
if (hasNoProjectionColumns) {
|
789
|
-
return 'Query has no projection columns';
|
778
|
+
return ['Query has no projection columns'];
|
790
779
|
}
|
791
780
|
}
|
792
781
|
return undefined;
|
@@ -106,7 +106,7 @@ export class QueryBuilderSetupState {
|
|
106
106
|
get classes(): Class[] {
|
107
107
|
return this.queryBuilderState.graphManagerState.graph.ownClasses
|
108
108
|
.concat(
|
109
|
-
this.queryBuilderState.graphManagerState.
|
109
|
+
this.queryBuilderState.graphManagerState.collectExposedSystemElements(
|
110
110
|
this.queryBuilderState.graphManagerState.graph.systemModel.ownClasses,
|
111
111
|
),
|
112
112
|
)
|
@@ -81,6 +81,14 @@ export abstract class QueryBuilderMode {
|
|
81
81
|
abstract get isParametersDisabled(): boolean;
|
82
82
|
|
83
83
|
abstract get isResultPanelHidden(): boolean;
|
84
|
+
|
85
|
+
/**
|
86
|
+
* This flag is for turning on/off dnd from projection panel to filter panel,
|
87
|
+
* and will be leveraged when the concepts of workflows are introduced into query builder.
|
88
|
+
*/
|
89
|
+
get isDnDProjectionToFilterSupported(): boolean {
|
90
|
+
return true;
|
91
|
+
}
|
84
92
|
}
|
85
93
|
|
86
94
|
export class StandardQueryBuilderMode extends QueryBuilderMode {
|
@@ -480,8 +488,8 @@ export class QueryBuilderState {
|
|
480
488
|
}
|
481
489
|
}
|
482
490
|
|
483
|
-
|
484
|
-
return this.fetchStructureState.
|
491
|
+
get validationIssues(): string[] | undefined {
|
492
|
+
return this.fetchStructureState.validationIssues;
|
485
493
|
}
|
486
494
|
|
487
495
|
createBareBuilderState(): QueryBuilderState {
|
@@ -64,13 +64,15 @@ export const buildGenericLambdaFunctionInstanceValue = (
|
|
64
64
|
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
65
65
|
);
|
66
66
|
const typeAny = graph.getType(CORE_PURE_PATH.ANY);
|
67
|
-
const
|
68
|
-
|
69
|
-
|
67
|
+
const functionInstanceValue = new LambdaFunctionInstanceValue(
|
68
|
+
multiplicityOne,
|
69
|
+
);
|
70
|
+
const functionType = new FunctionType(typeAny, multiplicityOne);
|
71
|
+
functionType.parameters.push(
|
70
72
|
new VariableExpression(lambdaParameterName, multiplicityOne),
|
71
73
|
);
|
72
|
-
const
|
73
|
-
|
74
|
-
|
75
|
-
return
|
74
|
+
const lambdaFunction = new LambdaFunction(functionType);
|
75
|
+
lambdaFunction.expressionSequence = lambdaBodyExpressions;
|
76
|
+
functionInstanceValue.values.push(lambdaFunction);
|
77
|
+
return functionInstanceValue;
|
76
78
|
};
|
@@ -50,6 +50,7 @@ import {
|
|
50
50
|
type GraphBuilderReport,
|
51
51
|
GraphManagerTelemetry,
|
52
52
|
extractElementNameFromPath,
|
53
|
+
isSystemElement,
|
53
54
|
} from '@finos/legend-graph';
|
54
55
|
import {
|
55
56
|
QueryBuilderState,
|
@@ -448,15 +449,30 @@ export class CreateQueryEditorStore extends QueryEditorStore {
|
|
448
449
|
);
|
449
450
|
this.queryBuilderState.querySetupState.setClassIsReadOnly(true);
|
450
451
|
} else {
|
451
|
-
|
452
|
+
// try to find a class to set
|
453
|
+
// first, find classes which is mapped by the mapping
|
454
|
+
// then, find any classes except for class coming from system
|
455
|
+
// if none found, default to a dummy blank query
|
456
|
+
const defaultClass =
|
452
457
|
getNullableFirstElement(
|
453
458
|
this.queryBuilderState.querySetupState.mapping
|
454
459
|
? getAllClassMappings(
|
455
460
|
this.queryBuilderState.querySetupState.mapping,
|
456
461
|
).map((classMapping) => classMapping.class.value)
|
457
462
|
: [],
|
458
|
-
)
|
459
|
-
|
463
|
+
) ??
|
464
|
+
getNullableFirstElement(
|
465
|
+
this.queryBuilderState.graphManagerState.graph.classes.filter(
|
466
|
+
(el) => !isSystemElement(el),
|
467
|
+
),
|
468
|
+
);
|
469
|
+
if (defaultClass) {
|
470
|
+
this.queryBuilderState.changeClass(defaultClass);
|
471
|
+
} else {
|
472
|
+
this.queryBuilderState.initialize(
|
473
|
+
this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda(),
|
474
|
+
);
|
475
|
+
}
|
460
476
|
}
|
461
477
|
}
|
462
478
|
|
@@ -31,10 +31,7 @@ import { action, makeObservable, observable } from 'mobx';
|
|
31
31
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
32
32
|
import type { TreeNodeData, TreeData } from '@finos/legend-art';
|
33
33
|
|
34
|
-
export
|
35
|
-
FUNCTION = 'FUNCTION',
|
36
|
-
PACKAGE = 'PACKAGE',
|
37
|
-
}
|
34
|
+
export const QUERY_BUILDER_FUNCTION_DND_TYPE = 'QUERY_BUILDER_FUNCTION';
|
38
35
|
|
39
36
|
export interface QueryBuilderFunctionsExplorerDragSource {
|
40
37
|
node: QueryBuilderFunctionsExplorerTreeNodeData;
|
@@ -43,7 +40,6 @@ export interface QueryBuilderFunctionsExplorerDragSource {
|
|
43
40
|
export class QueryBuilderFunctionsExplorerTreeNodeData implements TreeNodeData {
|
44
41
|
id: string;
|
45
42
|
label: string;
|
46
|
-
dndType: string;
|
47
43
|
childrenIds: string[] = [];
|
48
44
|
isOpen?: boolean | undefined;
|
49
45
|
packageableElement: PackageableElement;
|
@@ -51,12 +47,10 @@ export class QueryBuilderFunctionsExplorerTreeNodeData implements TreeNodeData {
|
|
51
47
|
constructor(
|
52
48
|
id: string,
|
53
49
|
label: string,
|
54
|
-
dndType: string,
|
55
50
|
packageableElement: PackageableElement,
|
56
51
|
) {
|
57
52
|
this.id = id;
|
58
53
|
this.label = label;
|
59
|
-
this.dndType = dndType;
|
60
54
|
this.packageableElement = packageableElement;
|
61
55
|
}
|
62
56
|
}
|
@@ -81,10 +75,6 @@ export const generateFunctionsExplorerTreeNodeData = (
|
|
81
75
|
rootPackageName: ROOT_PACKAGE_NAME,
|
82
76
|
): QueryBuilderFunctionsExplorerTreeNodeData => ({
|
83
77
|
id: element.path,
|
84
|
-
dndType:
|
85
|
-
element instanceof Package
|
86
|
-
? QUERY_BUILDER_FUNCTIONS_EXPLORER_TREE_DND_TYPE.PACKAGE
|
87
|
-
: QUERY_BUILDER_FUNCTIONS_EXPLORER_TREE_DND_TYPE.FUNCTION,
|
88
78
|
label: element.name,
|
89
79
|
childrenIds:
|
90
80
|
element instanceof Package
|
@@ -21,9 +21,7 @@ import {
|
|
21
21
|
import { observable, makeObservable, action } from 'mobx';
|
22
22
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
23
23
|
|
24
|
-
export
|
25
|
-
VARIABLE = 'VARIABLE',
|
26
|
-
}
|
24
|
+
export const QUERY_BUILDER_PARAMETER_DND_TYPE = 'PARAMETER';
|
27
25
|
|
28
26
|
export interface QueryBuilderParameterDragSource {
|
29
27
|
variable: LambdaParameterState;
|
@@ -99,7 +99,6 @@ export class QueryBuilderFilterOperator_Equal extends QueryBuilderFilterOperator
|
|
99
99
|
switch (propertyType.path) {
|
100
100
|
case PRIMITIVE_TYPE.STRING:
|
101
101
|
case PRIMITIVE_TYPE.BOOLEAN:
|
102
|
-
case PRIMITIVE_TYPE.DATE:
|
103
102
|
case PRIMITIVE_TYPE.STRICTDATE:
|
104
103
|
case PRIMITIVE_TYPE.DATETIME:
|
105
104
|
case PRIMITIVE_TYPE.NUMBER:
|
@@ -113,6 +112,14 @@ export class QueryBuilderFilterOperator_Equal extends QueryBuilderFilterOperator
|
|
113
112
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
114
113
|
);
|
115
114
|
}
|
115
|
+
case PRIMITIVE_TYPE.DATE: {
|
116
|
+
return buildPrimitiveInstanceValue(
|
117
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
118
|
+
.graph,
|
119
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
120
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
121
|
+
);
|
122
|
+
}
|
116
123
|
default:
|
117
124
|
if (propertyType instanceof Enumeration) {
|
118
125
|
if (propertyType.values.length > 0) {
|
@@ -86,7 +86,6 @@ export class QueryBuilderFilterOperator_GreaterThan extends QueryBuilderFilterOp
|
|
86
86
|
case PRIMITIVE_TYPE.DECIMAL:
|
87
87
|
case PRIMITIVE_TYPE.FLOAT:
|
88
88
|
case PRIMITIVE_TYPE.INTEGER:
|
89
|
-
case PRIMITIVE_TYPE.DATE:
|
90
89
|
case PRIMITIVE_TYPE.STRICTDATE:
|
91
90
|
case PRIMITIVE_TYPE.DATETIME: {
|
92
91
|
return buildPrimitiveInstanceValue(
|
@@ -96,6 +95,14 @@ export class QueryBuilderFilterOperator_GreaterThan extends QueryBuilderFilterOp
|
|
96
95
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
97
96
|
);
|
98
97
|
}
|
98
|
+
case PRIMITIVE_TYPE.DATE: {
|
99
|
+
return buildPrimitiveInstanceValue(
|
100
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
101
|
+
.graph,
|
102
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
103
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
104
|
+
);
|
105
|
+
}
|
99
106
|
default:
|
100
107
|
throw new UnsupportedOperationError(
|
101
108
|
`Can't get default value for filter operator '${this.getLabel(
|
@@ -86,7 +86,6 @@ export class QueryBuilderFilterOperator_GreaterThanEqual extends QueryBuilderFil
|
|
86
86
|
case PRIMITIVE_TYPE.DECIMAL:
|
87
87
|
case PRIMITIVE_TYPE.FLOAT:
|
88
88
|
case PRIMITIVE_TYPE.INTEGER:
|
89
|
-
case PRIMITIVE_TYPE.DATE:
|
90
89
|
case PRIMITIVE_TYPE.STRICTDATE:
|
91
90
|
case PRIMITIVE_TYPE.DATETIME: {
|
92
91
|
return buildPrimitiveInstanceValue(
|
@@ -96,6 +95,14 @@ export class QueryBuilderFilterOperator_GreaterThanEqual extends QueryBuilderFil
|
|
96
95
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
97
96
|
);
|
98
97
|
}
|
98
|
+
case PRIMITIVE_TYPE.DATE: {
|
99
|
+
return buildPrimitiveInstanceValue(
|
100
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
101
|
+
.graph,
|
102
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
103
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
104
|
+
);
|
105
|
+
}
|
99
106
|
default:
|
100
107
|
throw new UnsupportedOperationError(
|
101
108
|
`Can't get default value for filter operator '${this.getLabel(
|
@@ -86,7 +86,6 @@ export class QueryBuilderFilterOperator_LessThan extends QueryBuilderFilterOpera
|
|
86
86
|
case PRIMITIVE_TYPE.DECIMAL:
|
87
87
|
case PRIMITIVE_TYPE.FLOAT:
|
88
88
|
case PRIMITIVE_TYPE.INTEGER:
|
89
|
-
case PRIMITIVE_TYPE.DATE:
|
90
89
|
case PRIMITIVE_TYPE.STRICTDATE:
|
91
90
|
case PRIMITIVE_TYPE.DATETIME: {
|
92
91
|
return buildPrimitiveInstanceValue(
|
@@ -96,6 +95,14 @@ export class QueryBuilderFilterOperator_LessThan extends QueryBuilderFilterOpera
|
|
96
95
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
97
96
|
);
|
98
97
|
}
|
98
|
+
case PRIMITIVE_TYPE.DATE: {
|
99
|
+
return buildPrimitiveInstanceValue(
|
100
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
101
|
+
.graph,
|
102
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
103
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
104
|
+
);
|
105
|
+
}
|
99
106
|
default:
|
100
107
|
throw new UnsupportedOperationError(
|
101
108
|
`Can't get default value for filter operator '${this.getLabel(
|
@@ -86,7 +86,6 @@ export class QueryBuilderFilterOperator_LessThanEqual extends QueryBuilderFilter
|
|
86
86
|
case PRIMITIVE_TYPE.DECIMAL:
|
87
87
|
case PRIMITIVE_TYPE.FLOAT:
|
88
88
|
case PRIMITIVE_TYPE.INTEGER:
|
89
|
-
case PRIMITIVE_TYPE.DATE:
|
90
89
|
case PRIMITIVE_TYPE.STRICTDATE:
|
91
90
|
case PRIMITIVE_TYPE.DATETIME: {
|
92
91
|
return buildPrimitiveInstanceValue(
|
@@ -96,6 +95,14 @@ export class QueryBuilderFilterOperator_LessThanEqual extends QueryBuilderFilter
|
|
96
95
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
97
96
|
);
|
98
97
|
}
|
98
|
+
case PRIMITIVE_TYPE.DATE: {
|
99
|
+
return buildPrimitiveInstanceValue(
|
100
|
+
filterConditionState.filterState.queryBuilderState.graphManagerState
|
101
|
+
.graph,
|
102
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
103
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
104
|
+
);
|
105
|
+
}
|
99
106
|
default:
|
100
107
|
throw new UnsupportedOperationError(
|
101
108
|
`Can't get default value for filter operator '${this.getLabel(
|
@@ -100,7 +100,6 @@ export class QueryBuilderPostFilterOperator_Equal extends QueryBuilderPostFilter
|
|
100
100
|
switch (propertyType.path) {
|
101
101
|
case PRIMITIVE_TYPE.STRING:
|
102
102
|
case PRIMITIVE_TYPE.BOOLEAN:
|
103
|
-
case PRIMITIVE_TYPE.DATE:
|
104
103
|
case PRIMITIVE_TYPE.STRICTDATE:
|
105
104
|
case PRIMITIVE_TYPE.DATETIME:
|
106
105
|
case PRIMITIVE_TYPE.NUMBER:
|
@@ -114,6 +113,14 @@ export class QueryBuilderPostFilterOperator_Equal extends QueryBuilderPostFilter
|
|
114
113
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
115
114
|
);
|
116
115
|
}
|
116
|
+
case PRIMITIVE_TYPE.DATE: {
|
117
|
+
return buildPrimitiveInstanceValue(
|
118
|
+
postFilterConditionState.postFilterState.queryBuilderState
|
119
|
+
.graphManagerState.graph,
|
120
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
121
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
122
|
+
);
|
123
|
+
}
|
117
124
|
default:
|
118
125
|
if (propertyType instanceof Enumeration) {
|
119
126
|
if (propertyType.values.length > 0) {
|
@@ -82,7 +82,6 @@ export class QueryBuilderPostFilterOperator_GreaterThan extends QueryBuilderPost
|
|
82
82
|
case PRIMITIVE_TYPE.DECIMAL:
|
83
83
|
case PRIMITIVE_TYPE.FLOAT:
|
84
84
|
case PRIMITIVE_TYPE.INTEGER:
|
85
|
-
case PRIMITIVE_TYPE.DATE:
|
86
85
|
case PRIMITIVE_TYPE.STRICTDATE:
|
87
86
|
case PRIMITIVE_TYPE.DATETIME: {
|
88
87
|
return buildPrimitiveInstanceValue(
|
@@ -92,6 +91,14 @@ export class QueryBuilderPostFilterOperator_GreaterThan extends QueryBuilderPost
|
|
92
91
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
93
92
|
);
|
94
93
|
}
|
94
|
+
case PRIMITIVE_TYPE.DATE: {
|
95
|
+
return buildPrimitiveInstanceValue(
|
96
|
+
postFilterConditionState.postFilterState.queryBuilderState
|
97
|
+
.graphManagerState.graph,
|
98
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
99
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
100
|
+
);
|
101
|
+
}
|
95
102
|
default:
|
96
103
|
throw new UnsupportedOperationError(
|
97
104
|
`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${
|
@@ -82,7 +82,6 @@ export class QueryBuilderPostFilterOperator_LessThan extends QueryBuilderPostFil
|
|
82
82
|
case PRIMITIVE_TYPE.DECIMAL:
|
83
83
|
case PRIMITIVE_TYPE.FLOAT:
|
84
84
|
case PRIMITIVE_TYPE.INTEGER:
|
85
|
-
case PRIMITIVE_TYPE.DATE:
|
86
85
|
case PRIMITIVE_TYPE.STRICTDATE:
|
87
86
|
case PRIMITIVE_TYPE.DATETIME: {
|
88
87
|
return buildPrimitiveInstanceValue(
|
@@ -92,6 +91,14 @@ export class QueryBuilderPostFilterOperator_LessThan extends QueryBuilderPostFil
|
|
92
91
|
generateDefaultValueForPrimitiveType(propertyType.path),
|
93
92
|
);
|
94
93
|
}
|
94
|
+
case PRIMITIVE_TYPE.DATE: {
|
95
|
+
return buildPrimitiveInstanceValue(
|
96
|
+
postFilterConditionState.postFilterState.queryBuilderState
|
97
|
+
.graphManagerState.graph,
|
98
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
99
|
+
generateDefaultValueForPrimitiveType(propertyType.path),
|
100
|
+
);
|
101
|
+
}
|
95
102
|
default:
|
96
103
|
throw new UnsupportedOperationError(
|
97
104
|
`Can't get default value for post-filter operator '${this.getLabel()}' when the LHS property is of type '${
|
package/tsconfig.json
CHANGED
@@ -128,6 +128,7 @@
|
|
128
128
|
"./src/components/QueryBuilderGraphFetchTreePanel.tsx",
|
129
129
|
"./src/components/QueryBuilderLambdaEditor.tsx",
|
130
130
|
"./src/components/QueryBuilderMilestoneEditor.tsx",
|
131
|
+
"./src/components/QueryBuilderPanelIssueCountBadge.tsx",
|
131
132
|
"./src/components/QueryBuilderParameterPanel.tsx",
|
132
133
|
"./src/components/QueryBuilderPostFilterPanel.tsx",
|
133
134
|
"./src/components/QueryBuilderProjectionPanel.tsx",
|