@finos/legend-data-cube 0.0.40 → 0.0.42
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/DataCube.d.ts.map +1 -1
- package/lib/components/DataCube.js +1 -1
- package/lib/components/DataCube.js.map +1 -1
- package/lib/components/DataCubePlaceholder.d.ts +0 -1
- package/lib/components/DataCubePlaceholder.d.ts.map +1 -1
- package/lib/components/DataCubePlaceholder.js.map +1 -1
- package/lib/components/core/DataCubeCodeCheckErrorAlert.d.ts.map +1 -1
- package/lib/components/core/DataCubeCodeCheckErrorAlert.js +5 -1
- package/lib/components/core/DataCubeCodeCheckErrorAlert.js.map +1 -1
- package/lib/components/view/extend/DataCubeColumnEditor.d.ts.map +1 -1
- package/lib/components/view/extend/DataCubeColumnEditor.js +5 -2
- package/lib/components/view/extend/DataCubeColumnEditor.js.map +1 -1
- package/lib/components/view/filter/DataCubeFilterEditor.d.ts.map +1 -1
- package/lib/components/view/filter/DataCubeFilterEditor.js +3 -3
- package/lib/components/view/filter/DataCubeFilterEditor.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +5 -5
- package/lib/stores/core/DataCubeQueryBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilder.js +12 -6
- package/lib/stores/core/DataCubeQueryBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts +5 -5
- package/lib/stores/core/DataCubeQueryBuilderUtils.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryBuilderUtils.js +20 -20
- package/lib/stores/core/DataCubeQueryBuilderUtils.js.map +1 -1
- package/lib/stores/core/DataCubeQueryEngine.d.ts +4 -2
- package/lib/stores/core/DataCubeQueryEngine.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQueryEngine.js +13 -0
- package/lib/stores/core/DataCubeQueryEngine.js.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshot.d.ts +1 -1
- package/lib/stores/core/DataCubeQuerySnapshot.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts +2 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.js +86 -53
- package/lib/stores/core/DataCubeQuerySnapshotBuilder.js.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts +37 -8
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.d.ts.map +1 -1
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js +227 -203
- package/lib/stores/core/DataCubeQuerySnapshotBuilderUtils.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts +3 -3
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js +4 -8
- package/lib/stores/core/filter/DataCubeQueryFilterEditorState.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts +7 -3
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.js +16 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Contain.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts +1 -2
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js +15 -90
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__Equal.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js +6 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js +6 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js +14 -18
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js +6 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js +14 -18
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js +6 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts +6 -4
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js +15 -15
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts +6 -4
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js +10 -15
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__IsNull.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js +14 -18
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThan.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js +6 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js +14 -18
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js +6 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js +14 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotContain.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js +14 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js +19 -19
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js +14 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js +14 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWith.js.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.d.ts.map +1 -1
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js +10 -14
- package/lib/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.js.map +1 -1
- package/lib/stores/core/model/DataCubeConfiguration.d.ts +2 -0
- package/lib/stores/core/model/DataCubeConfiguration.d.ts.map +1 -1
- package/lib/stores/core/model/DataCubeConfiguration.js +3 -1
- package/lib/stores/core/model/DataCubeConfiguration.js.map +1 -1
- package/lib/stores/view/DataCubeViewState.d.ts.map +1 -1
- package/lib/stores/view/DataCubeViewState.js +1 -1
- package/lib/stores/view/DataCubeViewState.js.map +1 -1
- package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js +2 -2
- package/lib/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.js.map +1 -1
- package/lib/stores/view/extend/DataCubeColumnEditorState.d.ts.map +1 -1
- package/lib/stores/view/extend/DataCubeColumnEditorState.js +3 -6
- package/lib/stores/view/extend/DataCubeColumnEditorState.js.map +1 -1
- package/lib/stores/view/filter/DataCubeFilterEditorState.d.ts.map +1 -1
- package/lib/stores/view/filter/DataCubeFilterEditorState.js +3 -3
- package/lib/stores/view/filter/DataCubeFilterEditorState.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridClientEngine.js +1 -1
- package/lib/stores/view/grid/DataCubeGridClientEngine.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js +5 -5
- package/lib/stores/view/grid/DataCubeGridConfigurationBuilder.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridMenuBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridMenuBuilder.js +13 -5
- package/lib/stores/view/grid/DataCubeGridMenuBuilder.js.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.d.ts.map +1 -1
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.js +8 -5
- package/lib/stores/view/grid/DataCubeGridQueryBuilder.js.map +1 -1
- package/package.json +10 -10
- package/src/components/DataCube.tsx +1 -0
- package/src/components/DataCubePlaceholder.tsx +0 -1
- package/src/components/core/DataCubeCodeCheckErrorAlert.tsx +7 -3
- package/src/components/view/extend/DataCubeColumnEditor.tsx +7 -4
- package/src/components/view/filter/DataCubeFilterEditor.tsx +10 -19
- package/src/stores/core/DataCubeQueryBuilder.ts +20 -6
- package/src/stores/core/DataCubeQueryBuilderUtils.ts +38 -33
- package/src/stores/core/DataCubeQueryEngine.ts +17 -1
- package/src/stores/core/DataCubeQuerySnapshot.ts +1 -1
- package/src/stores/core/DataCubeQuerySnapshotBuilder.ts +148 -75
- package/src/stores/core/DataCubeQuerySnapshotBuilderUtils.ts +332 -260
- package/src/stores/core/filter/DataCubeQueryFilterEditorState.ts +7 -11
- package/src/stores/core/filter/DataCubeQueryFilterOperation.ts +28 -6
- package/src/stores/core/filter/DataCubeQueryFilterOperation__Contain.tsx +13 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__ContainCaseInsensitive.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWith.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EndWithCaseInsensitive.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__Equal.tsx +13 -98
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitive.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualCaseInsensitiveColumn.tsx +13 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__EqualColumn.tsx +9 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThan.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanColumn.tsx +13 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqual.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__GreaterThanOrEqualColumn.tsx +13 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNotNull.tsx +24 -20
- package/src/stores/core/filter/DataCubeQueryFilterOperation__IsNull.tsx +14 -20
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThan.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanColumn.tsx +13 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqual.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__LessThanOrEqualColumn.tsx +13 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotContain.tsx +20 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEndWith.tsx +20 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqual.tsx +20 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitive.tsx +24 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualCaseInsensitiveColumn.tsx +25 -18
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotEqualColumn.tsx +21 -18
- package/src/stores/core/filter/DataCubeQueryFilterOperation__NotStartWith.tsx +24 -19
- package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWith.tsx +17 -21
- package/src/stores/core/filter/DataCubeQueryFilterOperation__StartWithCaseInsensitive.tsx +17 -21
- package/src/stores/core/model/DataCubeConfiguration.ts +9 -1
- package/src/stores/view/DataCubeViewState.ts +1 -0
- package/src/stores/view/editor/DataCubeEditorColumnPropertiesPanelState.ts +2 -2
- package/src/stores/view/extend/DataCubeColumnEditorState.tsx +2 -5
- package/src/stores/view/filter/DataCubeFilterEditorState.tsx +3 -7
- package/src/stores/view/grid/DataCubeGridClientEngine.ts +1 -1
- package/src/stores/view/grid/DataCubeGridConfigurationBuilder.tsx +6 -6
- package/src/stores/view/grid/DataCubeGridMenuBuilder.tsx +14 -5
- package/src/stores/view/grid/DataCubeGridQueryBuilder.ts +9 -5
|
@@ -64,13 +64,13 @@ export abstract class DataCubeFilterEditorTreeNode {
|
|
|
64
64
|
export class DataCubeFilterEditorConditionTreeNode extends DataCubeFilterEditorTreeNode {
|
|
65
65
|
column: DataCubeColumn;
|
|
66
66
|
operation: DataCubeQueryFilterOperation;
|
|
67
|
-
value
|
|
67
|
+
value!: DataCubeOperationValue;
|
|
68
68
|
|
|
69
69
|
constructor(
|
|
70
70
|
parent: DataCubeFilterEditorConditionGroupTreeNode | undefined,
|
|
71
71
|
column: DataCubeColumn,
|
|
72
72
|
operation: DataCubeQueryFilterOperation,
|
|
73
|
-
value: DataCubeOperationValue
|
|
73
|
+
value: DataCubeOperationValue,
|
|
74
74
|
not: boolean | undefined,
|
|
75
75
|
) {
|
|
76
76
|
super(parent, not);
|
|
@@ -100,18 +100,14 @@ export class DataCubeFilterEditorConditionTreeNode extends DataCubeFilterEditorT
|
|
|
100
100
|
this.operation = operation;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
setValue(value: DataCubeOperationValue
|
|
104
|
-
this.value = value
|
|
105
|
-
?
|
|
106
|
-
|
|
107
|
-
: makeObservable(value, { value: observable })
|
|
108
|
-
: undefined;
|
|
103
|
+
setValue(value: DataCubeOperationValue) {
|
|
104
|
+
this.value = isObservable(value)
|
|
105
|
+
? value
|
|
106
|
+
: makeObservable(value, { value: observable });
|
|
109
107
|
}
|
|
110
108
|
|
|
111
109
|
updateValue(value: unknown) {
|
|
112
|
-
|
|
113
|
-
this.value.value = value;
|
|
114
|
-
}
|
|
110
|
+
this.value.value = value;
|
|
115
111
|
}
|
|
116
112
|
}
|
|
117
113
|
|
|
@@ -31,9 +31,7 @@ import {
|
|
|
31
31
|
|
|
32
32
|
// --------------------------------- UTILITIES ---------------------------------
|
|
33
33
|
|
|
34
|
-
export function
|
|
35
|
-
type: string,
|
|
36
|
-
): unknown {
|
|
34
|
+
export function _defaultPrimitiveTypeValue(type: string): unknown {
|
|
37
35
|
switch (type) {
|
|
38
36
|
case PRIMITIVE_TYPE.STRING:
|
|
39
37
|
return '';
|
|
@@ -80,14 +78,38 @@ export abstract class DataCubeQueryFilterOperation {
|
|
|
80
78
|
abstract isCompatibleWithColumn(column: DataCubeColumn): boolean;
|
|
81
79
|
abstract isCompatibleWithValue(value: DataCubeOperationValue): boolean;
|
|
82
80
|
|
|
83
|
-
abstract generateDefaultValue(
|
|
84
|
-
column: DataCubeColumn,
|
|
85
|
-
): DataCubeOperationValue | undefined;
|
|
81
|
+
abstract generateDefaultValue(column: DataCubeColumn): DataCubeOperationValue;
|
|
86
82
|
|
|
87
83
|
abstract buildConditionSnapshot(
|
|
88
84
|
expression: V1_AppliedFunction,
|
|
85
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
89
86
|
): DataCubeQuerySnapshotFilterCondition | undefined;
|
|
90
87
|
|
|
88
|
+
protected _finalizeConditionSnapshot(
|
|
89
|
+
data:
|
|
90
|
+
| {
|
|
91
|
+
column: DataCubeColumn;
|
|
92
|
+
value: DataCubeOperationValue;
|
|
93
|
+
}
|
|
94
|
+
| undefined,
|
|
95
|
+
): DataCubeQuerySnapshotFilterCondition | undefined {
|
|
96
|
+
if (!data) {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
const { column, value } = data;
|
|
100
|
+
if (
|
|
101
|
+
!this.isCompatibleWithColumn(column) ||
|
|
102
|
+
!this.isCompatibleWithValue(value)
|
|
103
|
+
) {
|
|
104
|
+
return undefined;
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
...column,
|
|
108
|
+
operator: this.operator,
|
|
109
|
+
value,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
|
|
91
113
|
abstract buildConditionExpression(
|
|
92
114
|
condition: DataCubeQuerySnapshotFilterCondition,
|
|
93
115
|
): V1_AppliedFunction | undefined;
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import {
|
|
17
17
|
DataCubeQueryFilterOperation,
|
|
18
|
-
|
|
18
|
+
_defaultPrimitiveTypeValue,
|
|
19
19
|
} from './DataCubeQueryFilterOperation.js';
|
|
20
20
|
import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
|
|
21
21
|
import type { DataCubeColumn } from '../model/DataCubeColumn.js';
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
DataCubeColumnDataType,
|
|
24
24
|
DataCubeFunction,
|
|
25
25
|
DataCubeQueryFilterOperator,
|
|
26
|
+
isPrimitiveType,
|
|
26
27
|
ofDataType,
|
|
27
28
|
type DataCubeOperationValue,
|
|
28
29
|
} from '../DataCubeQueryEngine.js';
|
|
@@ -33,15 +34,8 @@ import {
|
|
|
33
34
|
_value,
|
|
34
35
|
} from '../DataCubeQueryBuilderUtils.js';
|
|
35
36
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
36
|
-
import {
|
|
37
|
-
|
|
38
|
-
type V1_AppliedFunction,
|
|
39
|
-
type V1_AppliedProperty,
|
|
40
|
-
} from '@finos/legend-graph';
|
|
41
|
-
import {
|
|
42
|
-
_buildConditionSnapshotProperty,
|
|
43
|
-
_dataCubeOperationValue,
|
|
44
|
-
} from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
37
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
38
|
+
import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
45
39
|
|
|
46
40
|
export class DataCubeQueryFilterOperation__Contain extends DataCubeQueryFilterOperation {
|
|
47
41
|
override get label() {
|
|
@@ -66,8 +60,9 @@ export class DataCubeQueryFilterOperation__Contain extends DataCubeQueryFilterOp
|
|
|
66
60
|
|
|
67
61
|
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
68
62
|
return (
|
|
69
|
-
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
70
63
|
value.value !== undefined &&
|
|
64
|
+
isPrimitiveType(value.type) &&
|
|
65
|
+
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
71
66
|
!Array.isArray(value.value)
|
|
72
67
|
);
|
|
73
68
|
}
|
|
@@ -75,20 +70,17 @@ export class DataCubeQueryFilterOperation__Contain extends DataCubeQueryFilterOp
|
|
|
75
70
|
generateDefaultValue(column: DataCubeColumn) {
|
|
76
71
|
return {
|
|
77
72
|
type: column.type,
|
|
78
|
-
value:
|
|
73
|
+
value: _defaultPrimitiveTypeValue(column.type),
|
|
79
74
|
};
|
|
80
75
|
}
|
|
81
76
|
|
|
82
|
-
buildConditionSnapshot(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
77
|
+
buildConditionSnapshot(
|
|
78
|
+
expression: V1_AppliedFunction,
|
|
79
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
80
|
+
) {
|
|
81
|
+
return this._finalizeConditionSnapshot(
|
|
82
|
+
_baseFilterCondition(expression, columnGetter, DataCubeFunction.CONTAINS),
|
|
87
83
|
);
|
|
88
|
-
if (value instanceof V1_PrimitiveValueSpecification) {
|
|
89
|
-
filterConditionSnapshot.value = _dataCubeOperationValue(value);
|
|
90
|
-
}
|
|
91
|
-
return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
|
|
92
84
|
}
|
|
93
85
|
|
|
94
86
|
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import {
|
|
17
17
|
DataCubeQueryFilterOperation,
|
|
18
|
-
|
|
18
|
+
_defaultPrimitiveTypeValue,
|
|
19
19
|
} from './DataCubeQueryFilterOperation.js';
|
|
20
20
|
import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
|
|
21
21
|
import type { DataCubeColumn } from '../model/DataCubeColumn.js';
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
DataCubeColumnDataType,
|
|
24
24
|
DataCubeFunction,
|
|
25
25
|
DataCubeQueryFilterOperator,
|
|
26
|
+
isPrimitiveType,
|
|
26
27
|
ofDataType,
|
|
27
28
|
type DataCubeOperationValue,
|
|
28
29
|
} from '../DataCubeQueryEngine.js';
|
|
@@ -34,15 +35,8 @@ import {
|
|
|
34
35
|
_var,
|
|
35
36
|
} from '../DataCubeQueryBuilderUtils.js';
|
|
36
37
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
37
|
-
import {
|
|
38
|
-
|
|
39
|
-
type V1_AppliedFunction,
|
|
40
|
-
type V1_AppliedProperty,
|
|
41
|
-
} from '@finos/legend-graph';
|
|
42
|
-
import {
|
|
43
|
-
_buildConditionSnapshotProperty,
|
|
44
|
-
_dataCubeOperationValue,
|
|
45
|
-
} from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
38
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
39
|
+
import { _caseSensitiveBaseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
46
40
|
|
|
47
41
|
export class DataCubeQueryFilterOperation__ContainCaseInsensitive extends DataCubeQueryFilterOperation {
|
|
48
42
|
override get label() {
|
|
@@ -67,8 +61,9 @@ export class DataCubeQueryFilterOperation__ContainCaseInsensitive extends DataCu
|
|
|
67
61
|
|
|
68
62
|
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
69
63
|
return (
|
|
70
|
-
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
71
64
|
value.value !== undefined &&
|
|
65
|
+
isPrimitiveType(value.type) &&
|
|
66
|
+
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
72
67
|
!Array.isArray(value.value)
|
|
73
68
|
);
|
|
74
69
|
}
|
|
@@ -76,20 +71,21 @@ export class DataCubeQueryFilterOperation__ContainCaseInsensitive extends DataCu
|
|
|
76
71
|
generateDefaultValue(column: DataCubeColumn) {
|
|
77
72
|
return {
|
|
78
73
|
type: column.type,
|
|
79
|
-
value:
|
|
74
|
+
value: _defaultPrimitiveTypeValue(column.type),
|
|
80
75
|
};
|
|
81
76
|
}
|
|
82
77
|
|
|
83
|
-
buildConditionSnapshot(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
buildConditionSnapshot(
|
|
79
|
+
expression: V1_AppliedFunction,
|
|
80
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
81
|
+
) {
|
|
82
|
+
return this._finalizeConditionSnapshot(
|
|
83
|
+
_caseSensitiveBaseFilterCondition(
|
|
84
|
+
expression,
|
|
85
|
+
columnGetter,
|
|
86
|
+
DataCubeFunction.CONTAINS,
|
|
87
|
+
),
|
|
88
88
|
);
|
|
89
|
-
if (value instanceof V1_PrimitiveValueSpecification) {
|
|
90
|
-
filterConditionSnapshot.value = _dataCubeOperationValue(value);
|
|
91
|
-
}
|
|
92
|
-
return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
|
|
93
89
|
}
|
|
94
90
|
|
|
95
91
|
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import {
|
|
17
17
|
DataCubeQueryFilterOperation,
|
|
18
|
-
|
|
18
|
+
_defaultPrimitiveTypeValue,
|
|
19
19
|
} from './DataCubeQueryFilterOperation.js';
|
|
20
20
|
import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
|
|
21
21
|
import type { DataCubeColumn } from '../model/DataCubeColumn.js';
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
DataCubeColumnDataType,
|
|
24
24
|
DataCubeFunction,
|
|
25
25
|
DataCubeQueryFilterOperator,
|
|
26
|
+
isPrimitiveType,
|
|
26
27
|
ofDataType,
|
|
27
28
|
type DataCubeOperationValue,
|
|
28
29
|
} from '../DataCubeQueryEngine.js';
|
|
@@ -33,15 +34,8 @@ import {
|
|
|
33
34
|
_value,
|
|
34
35
|
} from '../DataCubeQueryBuilderUtils.js';
|
|
35
36
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
36
|
-
import {
|
|
37
|
-
|
|
38
|
-
type V1_AppliedFunction,
|
|
39
|
-
type V1_AppliedProperty,
|
|
40
|
-
} from '@finos/legend-graph';
|
|
41
|
-
import {
|
|
42
|
-
_buildConditionSnapshotProperty,
|
|
43
|
-
_dataCubeOperationValue,
|
|
44
|
-
} from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
37
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
38
|
+
import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
45
39
|
|
|
46
40
|
export class DataCubeQueryFilterOperation__EndWith extends DataCubeQueryFilterOperation {
|
|
47
41
|
override get label() {
|
|
@@ -66,8 +60,9 @@ export class DataCubeQueryFilterOperation__EndWith extends DataCubeQueryFilterOp
|
|
|
66
60
|
|
|
67
61
|
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
68
62
|
return (
|
|
69
|
-
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
70
63
|
value.value !== undefined &&
|
|
64
|
+
isPrimitiveType(value.type) &&
|
|
65
|
+
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
71
66
|
!Array.isArray(value.value)
|
|
72
67
|
);
|
|
73
68
|
}
|
|
@@ -75,20 +70,21 @@ export class DataCubeQueryFilterOperation__EndWith extends DataCubeQueryFilterOp
|
|
|
75
70
|
generateDefaultValue(column: DataCubeColumn) {
|
|
76
71
|
return {
|
|
77
72
|
type: column.type,
|
|
78
|
-
value:
|
|
73
|
+
value: _defaultPrimitiveTypeValue(column.type),
|
|
79
74
|
};
|
|
80
75
|
}
|
|
81
76
|
|
|
82
|
-
buildConditionSnapshot(
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
77
|
+
buildConditionSnapshot(
|
|
78
|
+
expression: V1_AppliedFunction,
|
|
79
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
80
|
+
) {
|
|
81
|
+
return this._finalizeConditionSnapshot(
|
|
82
|
+
_baseFilterCondition(
|
|
83
|
+
expression,
|
|
84
|
+
columnGetter,
|
|
85
|
+
DataCubeFunction.ENDS_WITH,
|
|
86
|
+
),
|
|
87
87
|
);
|
|
88
|
-
if (value instanceof V1_PrimitiveValueSpecification) {
|
|
89
|
-
filterConditionSnapshot.value = _dataCubeOperationValue(value);
|
|
90
|
-
}
|
|
91
|
-
return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
|
|
92
88
|
}
|
|
93
89
|
|
|
94
90
|
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import {
|
|
17
17
|
DataCubeQueryFilterOperation,
|
|
18
|
-
|
|
18
|
+
_defaultPrimitiveTypeValue,
|
|
19
19
|
} from './DataCubeQueryFilterOperation.js';
|
|
20
20
|
import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
|
|
21
21
|
import type { DataCubeColumn } from '../model/DataCubeColumn.js';
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
DataCubeColumnDataType,
|
|
24
24
|
DataCubeFunction,
|
|
25
25
|
DataCubeQueryFilterOperator,
|
|
26
|
+
isPrimitiveType,
|
|
26
27
|
ofDataType,
|
|
27
28
|
type DataCubeOperationValue,
|
|
28
29
|
} from '../DataCubeQueryEngine.js';
|
|
@@ -34,15 +35,8 @@ import {
|
|
|
34
35
|
_var,
|
|
35
36
|
} from '../DataCubeQueryBuilderUtils.js';
|
|
36
37
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
37
|
-
import {
|
|
38
|
-
|
|
39
|
-
type V1_AppliedFunction,
|
|
40
|
-
type V1_AppliedProperty,
|
|
41
|
-
} from '@finos/legend-graph';
|
|
42
|
-
import {
|
|
43
|
-
_buildConditionSnapshotProperty,
|
|
44
|
-
_dataCubeOperationValue,
|
|
45
|
-
} from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
38
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
39
|
+
import { _caseSensitiveBaseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
46
40
|
|
|
47
41
|
export class DataCubeQueryFilterOperation__EndWithCaseInsensitive extends DataCubeQueryFilterOperation {
|
|
48
42
|
override get label() {
|
|
@@ -67,8 +61,9 @@ export class DataCubeQueryFilterOperation__EndWithCaseInsensitive extends DataCu
|
|
|
67
61
|
|
|
68
62
|
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
69
63
|
return (
|
|
70
|
-
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
71
64
|
value.value !== undefined &&
|
|
65
|
+
isPrimitiveType(value.type) &&
|
|
66
|
+
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
72
67
|
!Array.isArray(value.value)
|
|
73
68
|
);
|
|
74
69
|
}
|
|
@@ -76,20 +71,21 @@ export class DataCubeQueryFilterOperation__EndWithCaseInsensitive extends DataCu
|
|
|
76
71
|
generateDefaultValue(column: DataCubeColumn) {
|
|
77
72
|
return {
|
|
78
73
|
type: column.type,
|
|
79
|
-
value:
|
|
74
|
+
value: _defaultPrimitiveTypeValue(column.type),
|
|
80
75
|
};
|
|
81
76
|
}
|
|
82
77
|
|
|
83
|
-
buildConditionSnapshot(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
buildConditionSnapshot(
|
|
79
|
+
expression: V1_AppliedFunction,
|
|
80
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
81
|
+
) {
|
|
82
|
+
return this._finalizeConditionSnapshot(
|
|
83
|
+
_caseSensitiveBaseFilterCondition(
|
|
84
|
+
expression,
|
|
85
|
+
columnGetter,
|
|
86
|
+
DataCubeFunction.ENDS_WITH,
|
|
87
|
+
),
|
|
88
88
|
);
|
|
89
|
-
if (value instanceof V1_PrimitiveValueSpecification) {
|
|
90
|
-
filterConditionSnapshot.value = _dataCubeOperationValue(value);
|
|
91
|
-
}
|
|
92
|
-
return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
|
|
93
89
|
}
|
|
94
90
|
|
|
95
91
|
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import {
|
|
17
17
|
DataCubeQueryFilterOperation,
|
|
18
|
-
|
|
18
|
+
_defaultPrimitiveTypeValue,
|
|
19
19
|
} from './DataCubeQueryFilterOperation.js';
|
|
20
20
|
import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
|
|
21
21
|
import type { DataCubeColumn } from '../model/DataCubeColumn.js';
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
DataCubeColumnDataType,
|
|
24
24
|
DataCubeFunction,
|
|
25
25
|
DataCubeQueryFilterOperator,
|
|
26
|
+
isPrimitiveType,
|
|
26
27
|
ofDataType,
|
|
27
28
|
type DataCubeOperationValue,
|
|
28
29
|
} from '../DataCubeQueryEngine.js';
|
|
@@ -33,15 +34,8 @@ import {
|
|
|
33
34
|
_value,
|
|
34
35
|
} from '../DataCubeQueryBuilderUtils.js';
|
|
35
36
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
36
|
-
import {
|
|
37
|
-
|
|
38
|
-
type V1_AppliedFunction,
|
|
39
|
-
type V1_AppliedProperty,
|
|
40
|
-
} from '@finos/legend-graph';
|
|
41
|
-
import {
|
|
42
|
-
_buildConditionSnapshotProperty,
|
|
43
|
-
_dataCubeOperationValue,
|
|
44
|
-
} from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
37
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
38
|
+
import { _baseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
45
39
|
|
|
46
40
|
export class DataCubeQueryFilterOperation__Equal extends DataCubeQueryFilterOperation {
|
|
47
41
|
override get label() {
|
|
@@ -71,13 +65,14 @@ export class DataCubeQueryFilterOperation__Equal extends DataCubeQueryFilterOper
|
|
|
71
65
|
|
|
72
66
|
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
73
67
|
return (
|
|
68
|
+
value.value !== undefined &&
|
|
69
|
+
isPrimitiveType(value.type) &&
|
|
74
70
|
ofDataType(value.type, [
|
|
75
71
|
DataCubeColumnDataType.TEXT,
|
|
76
72
|
DataCubeColumnDataType.NUMBER,
|
|
77
73
|
DataCubeColumnDataType.DATE,
|
|
78
74
|
DataCubeColumnDataType.TIME,
|
|
79
75
|
]) &&
|
|
80
|
-
value.value !== undefined &&
|
|
81
76
|
!Array.isArray(value.value)
|
|
82
77
|
);
|
|
83
78
|
}
|
|
@@ -85,97 +80,17 @@ export class DataCubeQueryFilterOperation__Equal extends DataCubeQueryFilterOper
|
|
|
85
80
|
generateDefaultValue(column: DataCubeColumn) {
|
|
86
81
|
return {
|
|
87
82
|
type: column.type,
|
|
88
|
-
value:
|
|
83
|
+
value: _defaultPrimitiveTypeValue(column.type),
|
|
89
84
|
};
|
|
90
85
|
}
|
|
91
86
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
// operator: QueryBuilderPostFilterOperator,
|
|
99
|
-
// ): PostFilterConditionState | undefined => {
|
|
100
|
-
// let postConditionState: PostFilterConditionState | undefined;
|
|
101
|
-
// const tdsColumnGetter = operator.getTDSColumnGetter();
|
|
102
|
-
// if (
|
|
103
|
-
// tdsColumnGetter &&
|
|
104
|
-
// expression instanceof AbstractPropertyExpression &&
|
|
105
|
-
// expression.func.value.name === tdsColumnGetter
|
|
106
|
-
// ) {
|
|
107
|
-
// const columnState = findProjectionColumnState(expression, postFilterState);
|
|
108
|
-
// postConditionState = new PostFilterConditionState(
|
|
109
|
-
// postFilterState,
|
|
110
|
-
// columnState,
|
|
111
|
-
// operator,
|
|
112
|
-
// );
|
|
113
|
-
// return postConditionState;
|
|
114
|
-
// } else if (
|
|
115
|
-
// operatorFunctionFullPath &&
|
|
116
|
-
// matchFunctionName(expression.functionName, operatorFunctionFullPath)
|
|
117
|
-
// ) {
|
|
118
|
-
// assertTrue(
|
|
119
|
-
// expression.parametersValues.length === 2,
|
|
120
|
-
// `Can't process ${extractElementNameFromPath(
|
|
121
|
-
// operatorFunctionFullPath,
|
|
122
|
-
// )}() expression: ${extractElementNameFromPath(
|
|
123
|
-
// operatorFunctionFullPath,
|
|
124
|
-
// )}() expects '1 argument'`,
|
|
125
|
-
// );
|
|
126
|
-
|
|
127
|
-
// // get projection column
|
|
128
|
-
// const tdsColumnPropertyExpression = guaranteeType(
|
|
129
|
-
// expression.parametersValues[0],
|
|
130
|
-
// AbstractPropertyExpression,
|
|
131
|
-
// `Can't process ${extractElementNameFromPath(
|
|
132
|
-
// operatorFunctionFullPath,
|
|
133
|
-
// )}() expression: expects property expression in lambda body`,
|
|
134
|
-
// );
|
|
135
|
-
// const columnState = findProjectionColumnState(
|
|
136
|
-
// tdsColumnPropertyExpression,
|
|
137
|
-
// postFilterState,
|
|
138
|
-
// );
|
|
139
|
-
|
|
140
|
-
// // get operation value specification
|
|
141
|
-
// const rightSide = expression.parametersValues[1];
|
|
142
|
-
|
|
143
|
-
// // create state
|
|
144
|
-
// postConditionState = new PostFilterConditionState(
|
|
145
|
-
// postFilterState,
|
|
146
|
-
// columnState,
|
|
147
|
-
// operator,
|
|
148
|
-
// );
|
|
149
|
-
|
|
150
|
-
// buildPostFilterConditionValueState(rightSide, postConditionState);
|
|
151
|
-
|
|
152
|
-
// //post checks
|
|
153
|
-
// assertTrue(
|
|
154
|
-
// operator.isCompatibleWithPostFilterColumn(postConditionState),
|
|
155
|
-
// `Can't process ${extractElementNameFromPath(
|
|
156
|
-
// operatorFunctionFullPath,
|
|
157
|
-
// )}() expression: property is not compatible with post-filter operator`,
|
|
158
|
-
// );
|
|
159
|
-
// assertTrue(
|
|
160
|
-
// operator.isCompatibleWithConditionValue(postConditionState),
|
|
161
|
-
// `Operator '${operator.getLabel()}' not compatible with value specification ${rightSide?.toString()}`,
|
|
162
|
-
// );
|
|
163
|
-
// }
|
|
164
|
-
// return postConditionState;
|
|
165
|
-
// };
|
|
166
|
-
// return undefined;
|
|
167
|
-
// }
|
|
168
|
-
|
|
169
|
-
buildConditionSnapshot(expression: V1_AppliedFunction) {
|
|
170
|
-
const value = expression.parameters[1];
|
|
171
|
-
const filterConditionSnapshot = _buildConditionSnapshotProperty(
|
|
172
|
-
expression.parameters[0] as V1_AppliedProperty,
|
|
173
|
-
this.operator,
|
|
87
|
+
buildConditionSnapshot(
|
|
88
|
+
expression: V1_AppliedFunction,
|
|
89
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
90
|
+
) {
|
|
91
|
+
return this._finalizeConditionSnapshot(
|
|
92
|
+
_baseFilterCondition(expression, columnGetter, DataCubeFunction.EQUAL),
|
|
174
93
|
);
|
|
175
|
-
if (value instanceof V1_PrimitiveValueSpecification) {
|
|
176
|
-
filterConditionSnapshot.value = _dataCubeOperationValue(value);
|
|
177
|
-
}
|
|
178
|
-
return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
|
|
179
94
|
}
|
|
180
95
|
|
|
181
96
|
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import {
|
|
17
17
|
DataCubeQueryFilterOperation,
|
|
18
|
-
|
|
18
|
+
_defaultPrimitiveTypeValue,
|
|
19
19
|
} from './DataCubeQueryFilterOperation.js';
|
|
20
20
|
import type { DataCubeQuerySnapshotFilterCondition } from '../DataCubeQuerySnapshot.js';
|
|
21
21
|
import type { DataCubeColumn } from '../model/DataCubeColumn.js';
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
DataCubeColumnDataType,
|
|
24
24
|
DataCubeFunction,
|
|
25
25
|
DataCubeQueryFilterOperator,
|
|
26
|
+
isPrimitiveType,
|
|
26
27
|
ofDataType,
|
|
27
28
|
type DataCubeOperationValue,
|
|
28
29
|
} from '../DataCubeQueryEngine.js';
|
|
@@ -34,15 +35,8 @@ import {
|
|
|
34
35
|
_var,
|
|
35
36
|
} from '../DataCubeQueryBuilderUtils.js';
|
|
36
37
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
37
|
-
import {
|
|
38
|
-
|
|
39
|
-
type V1_AppliedFunction,
|
|
40
|
-
type V1_AppliedProperty,
|
|
41
|
-
} from '@finos/legend-graph';
|
|
42
|
-
import {
|
|
43
|
-
_buildConditionSnapshotProperty,
|
|
44
|
-
_dataCubeOperationValue,
|
|
45
|
-
} from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
38
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
39
|
+
import { _caseSensitiveBaseFilterCondition } from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
46
40
|
|
|
47
41
|
export class DataCubeQueryFilterOperation__EqualCaseInsensitive extends DataCubeQueryFilterOperation {
|
|
48
42
|
override get label() {
|
|
@@ -67,8 +61,9 @@ export class DataCubeQueryFilterOperation__EqualCaseInsensitive extends DataCube
|
|
|
67
61
|
|
|
68
62
|
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
69
63
|
return (
|
|
70
|
-
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
71
64
|
value.value !== undefined &&
|
|
65
|
+
isPrimitiveType(value.type) &&
|
|
66
|
+
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
72
67
|
!Array.isArray(value.value)
|
|
73
68
|
);
|
|
74
69
|
}
|
|
@@ -76,20 +71,21 @@ export class DataCubeQueryFilterOperation__EqualCaseInsensitive extends DataCube
|
|
|
76
71
|
generateDefaultValue(column: DataCubeColumn) {
|
|
77
72
|
return {
|
|
78
73
|
type: column.type,
|
|
79
|
-
value:
|
|
74
|
+
value: _defaultPrimitiveTypeValue(column.type),
|
|
80
75
|
};
|
|
81
76
|
}
|
|
82
77
|
|
|
83
|
-
buildConditionSnapshot(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
78
|
+
buildConditionSnapshot(
|
|
79
|
+
expression: V1_AppliedFunction,
|
|
80
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
81
|
+
) {
|
|
82
|
+
return this._finalizeConditionSnapshot(
|
|
83
|
+
_caseSensitiveBaseFilterCondition(
|
|
84
|
+
expression,
|
|
85
|
+
columnGetter,
|
|
86
|
+
DataCubeFunction.EQUAL,
|
|
87
|
+
),
|
|
88
88
|
);
|
|
89
|
-
if (value instanceof V1_PrimitiveValueSpecification) {
|
|
90
|
-
filterConditionSnapshot.value = _dataCubeOperationValue(value);
|
|
91
|
-
}
|
|
92
|
-
return filterConditionSnapshot satisfies DataCubeQuerySnapshotFilterCondition;
|
|
93
89
|
}
|
|
94
90
|
|
|
95
91
|
buildConditionExpression(condition: DataCubeQuerySnapshotFilterCondition) {
|