@finos/legend-data-cube 0.0.41 → 0.0.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/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/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +4 -4
- 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 +9 -9
- 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/index.tsx +1 -0
- 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
|
@@ -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,11 @@ import {
|
|
|
33
34
|
_property,
|
|
34
35
|
_value,
|
|
35
36
|
} from '../DataCubeQueryBuilderUtils.js';
|
|
36
|
-
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
37
|
+
import { guaranteeNonNullable, returnUndefOnError } from '@finos/legend-shared';
|
|
38
|
+
import { type V1_AppliedFunction } from '@finos/legend-graph';
|
|
37
39
|
import {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
type V1_AppliedProperty,
|
|
41
|
-
} from '@finos/legend-graph';
|
|
42
|
-
import {
|
|
43
|
-
_buildConditionSnapshotProperty,
|
|
44
|
-
_dataCubeOperationValue,
|
|
40
|
+
_unwrapNotFilterCondition,
|
|
41
|
+
_baseFilterCondition,
|
|
45
42
|
} from '../DataCubeQuerySnapshotBuilderUtils.js';
|
|
46
43
|
|
|
47
44
|
export class DataCubeQueryFilterOperation__NotStartWith extends DataCubeQueryFilterOperation {
|
|
@@ -67,8 +64,9 @@ export class DataCubeQueryFilterOperation__NotStartWith extends DataCubeQueryFil
|
|
|
67
64
|
|
|
68
65
|
isCompatibleWithValue(value: DataCubeOperationValue) {
|
|
69
66
|
return (
|
|
70
|
-
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
71
67
|
value.value !== undefined &&
|
|
68
|
+
isPrimitiveType(value.type) &&
|
|
69
|
+
ofDataType(value.type, [DataCubeColumnDataType.TEXT]) &&
|
|
72
70
|
!Array.isArray(value.value)
|
|
73
71
|
);
|
|
74
72
|
}
|
|
@@ -76,20 +74,27 @@ export class DataCubeQueryFilterOperation__NotStartWith extends DataCubeQueryFil
|
|
|
76
74
|
generateDefaultValue(column: DataCubeColumn) {
|
|
77
75
|
return {
|
|
78
76
|
type: column.type,
|
|
79
|
-
value:
|
|
77
|
+
value: _defaultPrimitiveTypeValue(column.type),
|
|
80
78
|
};
|
|
81
79
|
}
|
|
82
80
|
|
|
83
|
-
buildConditionSnapshot(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
buildConditionSnapshot(
|
|
82
|
+
expression: V1_AppliedFunction,
|
|
83
|
+
columnGetter: (name: string) => DataCubeColumn,
|
|
84
|
+
) {
|
|
85
|
+
const unwrapped = returnUndefOnError(() =>
|
|
86
|
+
_unwrapNotFilterCondition(expression),
|
|
88
87
|
);
|
|
89
|
-
if (
|
|
90
|
-
|
|
88
|
+
if (!unwrapped) {
|
|
89
|
+
return undefined;
|
|
91
90
|
}
|
|
92
|
-
return
|
|
91
|
+
return this._finalizeConditionSnapshot(
|
|
92
|
+
_baseFilterCondition(
|
|
93
|
+
unwrapped,
|
|
94
|
+
columnGetter,
|
|
95
|
+
DataCubeFunction.STARTS_WITH,
|
|
96
|
+
),
|
|
97
|
+
);
|
|
93
98
|
}
|
|
94
99
|
|
|
95
100
|
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__StartWith extends DataCubeQueryFilterOperation {
|
|
47
41
|
override get label() {
|
|
@@ -66,8 +60,9 @@ export class DataCubeQueryFilterOperation__StartWith extends DataCubeQueryFilter
|
|
|
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__StartWith extends DataCubeQueryFilter
|
|
|
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.STARTS_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__StartWithCaseInsensitive extends DataCubeQueryFilterOperation {
|
|
48
42
|
override get label() {
|
|
@@ -67,8 +61,9 @@ export class DataCubeQueryFilterOperation__StartWithCaseInsensitive extends Data
|
|
|
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__StartWithCaseInsensitive extends Data
|
|
|
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.STARTS_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) {
|
|
@@ -42,7 +42,11 @@ import {
|
|
|
42
42
|
DEFAULT_TREE_COLUMN_SORT_DIRECTION,
|
|
43
43
|
DEFAULT_REPORT_NAME,
|
|
44
44
|
} from '../DataCubeQueryEngine.js';
|
|
45
|
-
import {
|
|
45
|
+
import {
|
|
46
|
+
SerializationFactory,
|
|
47
|
+
usingModelSchema,
|
|
48
|
+
uuid,
|
|
49
|
+
} from '@finos/legend-shared';
|
|
46
50
|
import { createModelSchema, list, optional, primitive, raw } from 'serializr';
|
|
47
51
|
|
|
48
52
|
export type DataCubeConfigurationColorKey =
|
|
@@ -52,6 +56,8 @@ export type DataCubeConfigurationColorKey =
|
|
|
52
56
|
| 'error';
|
|
53
57
|
|
|
54
58
|
export class DataCubeColumnConfiguration {
|
|
59
|
+
readonly uuid = uuid();
|
|
60
|
+
|
|
55
61
|
name: string;
|
|
56
62
|
type: string;
|
|
57
63
|
|
|
@@ -181,6 +187,8 @@ export class DataCubePivotLayoutConfiguration {
|
|
|
181
187
|
}
|
|
182
188
|
|
|
183
189
|
export class DataCubeConfiguration {
|
|
190
|
+
readonly uuid = uuid();
|
|
191
|
+
|
|
184
192
|
name = DEFAULT_REPORT_NAME;
|
|
185
193
|
description?: string | undefined;
|
|
186
194
|
columns: DataCubeColumnConfiguration[] = [];
|
|
@@ -21,7 +21,7 @@ import type { DataCubeQueryEditorPanelState } from './DataCubeEditorPanelState.j
|
|
|
21
21
|
import type { DataCubeEditorState } from './DataCubeEditorState.js';
|
|
22
22
|
import { DataCubeEditorMutableColumnConfiguration } from './DataCubeEditorMutableConfiguration.js';
|
|
23
23
|
import {
|
|
24
|
-
|
|
24
|
+
at,
|
|
25
25
|
guaranteeNonNullable,
|
|
26
26
|
type PlainObject,
|
|
27
27
|
} from '@finos/legend-shared';
|
|
@@ -93,7 +93,7 @@ export class DataCubeEditorColumnPropertiesPanelState
|
|
|
93
93
|
);
|
|
94
94
|
|
|
95
95
|
if (!this.selectedColumn && this.columns.length) {
|
|
96
|
-
this.setSelectedColumnName(
|
|
96
|
+
this.setSelectedColumnName(at(this.columns, 0).name);
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
DataCubeColumnKind,
|
|
33
33
|
DEFAULT_LAMBDA_VARIABLE_NAME,
|
|
34
34
|
getDataType,
|
|
35
|
+
isPrimitiveType,
|
|
35
36
|
} from '../../core/DataCubeQueryEngine.js';
|
|
36
37
|
import {
|
|
37
38
|
clearMarkers,
|
|
@@ -41,7 +42,6 @@ import {
|
|
|
41
42
|
import type { DataCubeExtendManagerState } from './DataCubeExtendManagerState.js';
|
|
42
43
|
import {
|
|
43
44
|
EngineError,
|
|
44
|
-
PRIMITIVE_TYPE,
|
|
45
45
|
V1_Lambda,
|
|
46
46
|
type V1_ValueSpecification,
|
|
47
47
|
} from '@finos/legend-graph';
|
|
@@ -248,10 +248,7 @@ export abstract class DataCubeColumnBaseEditorState {
|
|
|
248
248
|
(col) => col.name === this._name,
|
|
249
249
|
)?.type;
|
|
250
250
|
returnType =
|
|
251
|
-
returnType &&
|
|
252
|
-
(Object.values(PRIMITIVE_TYPE) as string[]).includes(returnType)
|
|
253
|
-
? returnType
|
|
254
|
-
: undefined;
|
|
251
|
+
returnType && isPrimitiveType(returnType) ? returnType : undefined;
|
|
255
252
|
this.setReturnType(returnType);
|
|
256
253
|
return returnType;
|
|
257
254
|
} catch (error) {
|
|
@@ -20,11 +20,7 @@ import {
|
|
|
20
20
|
DataCubeQueryFilterOperator,
|
|
21
21
|
} from '../../core/DataCubeQueryEngine.js';
|
|
22
22
|
import type { DataCubeQuerySnapshot } from '../../core/DataCubeQuerySnapshot.js';
|
|
23
|
-
import {
|
|
24
|
-
deepClone,
|
|
25
|
-
getNonNullableEntry,
|
|
26
|
-
guaranteeNonNullable,
|
|
27
|
-
} from '@finos/legend-shared';
|
|
23
|
+
import { deepClone, at, guaranteeNonNullable } from '@finos/legend-shared';
|
|
28
24
|
import type { DataCubeViewState } from '../DataCubeViewState.js';
|
|
29
25
|
import {
|
|
30
26
|
type DataCubeFilterEditorTree,
|
|
@@ -141,7 +137,7 @@ export class DataCubeFilterEditorState extends DataCubeQuerySnapshotController {
|
|
|
141
137
|
);
|
|
142
138
|
} else if (baseNode instanceof DataCubeFilterEditorConditionGroupTreeNode) {
|
|
143
139
|
if (this.columns.length !== 0) {
|
|
144
|
-
const columnConfig =
|
|
140
|
+
const columnConfig = at(this.columns, 0);
|
|
145
141
|
const column = {
|
|
146
142
|
name: columnConfig.name,
|
|
147
143
|
type: columnConfig.type,
|
|
@@ -222,7 +218,7 @@ export class DataCubeFilterEditorState extends DataCubeQuerySnapshotController {
|
|
|
222
218
|
// flattening means completely remove the filter tree
|
|
223
219
|
if (parentNode.children.length === 1) {
|
|
224
220
|
if (parentNode !== this.tree.root) {
|
|
225
|
-
const childNode =
|
|
221
|
+
const childNode = at(parentNode.children, 0);
|
|
226
222
|
const grandParentNode = guaranteeNonNullable(parentNode.parent);
|
|
227
223
|
|
|
228
224
|
parentNode.removeChild(childNode);
|
|
@@ -370,7 +370,7 @@ export class DataCubeGridClientServerSideDataSource
|
|
|
370
370
|
|
|
371
371
|
// NOTE: if h-pivot is enabled, update the cast columns
|
|
372
372
|
// and panels which might be affected by this (e.g. sorts)
|
|
373
|
-
// Because
|
|
373
|
+
// Because this can be an expensive operation, we will only
|
|
374
374
|
// recompute when it's not a drilldown or paging request,
|
|
375
375
|
// but we could still optimize further if needed.
|
|
376
376
|
if (!this._grid.isPaginationEnabled || request.startRow === 0) {
|
|
@@ -57,8 +57,8 @@ import {
|
|
|
57
57
|
INTERNAL__GRID_CLIENT_ROOT_AGGREGATION_COLUMN_ID,
|
|
58
58
|
} from './DataCubeGridClientEngine.js';
|
|
59
59
|
import {
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
at,
|
|
61
|
+
last,
|
|
62
62
|
getQueryParameters,
|
|
63
63
|
getQueryParameterValue,
|
|
64
64
|
guaranteeNonNullable,
|
|
@@ -681,10 +681,10 @@ function generateDefinitionForPivotResultColumns(
|
|
|
681
681
|
let leaf: ColDef | undefined = undefined;
|
|
682
682
|
let id = '';
|
|
683
683
|
for (let i = 0; i < col.values.length; i++) {
|
|
684
|
-
const value =
|
|
684
|
+
const value = at(col.values, i);
|
|
685
685
|
id =
|
|
686
686
|
id === ''
|
|
687
|
-
?
|
|
687
|
+
? at(col.values, i)
|
|
688
688
|
: `${id}${PIVOT_COLUMN_NAME_VALUE_SEPARATOR}${value}`;
|
|
689
689
|
|
|
690
690
|
if (i !== col.values.length - 1) {
|
|
@@ -756,13 +756,13 @@ function generateDefinitionForPivotResultColumns(
|
|
|
756
756
|
|
|
757
757
|
// sort the leaf level columns based on the order of selected/configuration columns
|
|
758
758
|
(currentCollection as ColDef[]).sort((a, b) => {
|
|
759
|
-
const colAName =
|
|
759
|
+
const colAName = last(
|
|
760
760
|
a.colId?.split(PIVOT_COLUMN_NAME_VALUE_SEPARATOR) ?? [],
|
|
761
761
|
);
|
|
762
762
|
const colAConf = colAName
|
|
763
763
|
? _findCol(configuration.columns, colAName)
|
|
764
764
|
: undefined;
|
|
765
|
-
const colBName =
|
|
765
|
+
const colBName = last(
|
|
766
766
|
b.colId?.split(PIVOT_COLUMN_NAME_VALUE_SEPARATOR) ?? [],
|
|
767
767
|
);
|
|
768
768
|
const colBConf = colBName
|
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
DataCubeQueryFilterOperator,
|
|
31
31
|
isPivotResultColumnName,
|
|
32
32
|
getPivotResultColumnBaseColumnName,
|
|
33
|
+
DataCubeOperationAdvancedValueType,
|
|
33
34
|
} from '../../core/DataCubeQueryEngine.js';
|
|
34
35
|
import {
|
|
35
36
|
guaranteeIsNumber,
|
|
@@ -134,12 +135,12 @@ function getColumnFilterOperations(
|
|
|
134
135
|
function buildNewFilterConditionMenuItem(
|
|
135
136
|
columnConfiguration: DataCubeColumnConfiguration,
|
|
136
137
|
operator: string,
|
|
137
|
-
value: { label
|
|
138
|
+
value: { label?: string | undefined; value: DataCubeOperationValue },
|
|
138
139
|
controller: DataCubeGridControllerState,
|
|
139
140
|
): MenuItemDef {
|
|
140
141
|
const operation = controller.view.engine.getFilterOperation(operator);
|
|
141
142
|
return {
|
|
142
|
-
name: `Add Filter: ${columnConfiguration.name} ${operation.textLabel}${value ? ` ${value.label}` : ''}`,
|
|
143
|
+
name: `Add Filter: ${columnConfiguration.name} ${operation.textLabel}${value.label ? ` ${value.label}` : ''}`,
|
|
143
144
|
action: () => {
|
|
144
145
|
controller.addNewFilterCondition(
|
|
145
146
|
new DataCubeFilterEditorConditionTreeNode(
|
|
@@ -149,7 +150,7 @@ function buildNewFilterConditionMenuItem(
|
|
|
149
150
|
type: columnConfiguration.type,
|
|
150
151
|
},
|
|
151
152
|
operation,
|
|
152
|
-
value
|
|
153
|
+
value.value,
|
|
153
154
|
undefined,
|
|
154
155
|
),
|
|
155
156
|
);
|
|
@@ -324,13 +325,21 @@ export function generateMenuBuilder(
|
|
|
324
325
|
buildNewFilterConditionMenuItem(
|
|
325
326
|
_columnConfiguration,
|
|
326
327
|
DataCubeQueryFilterOperator.IS_NULL,
|
|
327
|
-
|
|
328
|
+
{
|
|
329
|
+
value: {
|
|
330
|
+
type: DataCubeOperationAdvancedValueType.VOID,
|
|
331
|
+
},
|
|
332
|
+
},
|
|
328
333
|
controller,
|
|
329
334
|
),
|
|
330
335
|
buildNewFilterConditionMenuItem(
|
|
331
336
|
_columnConfiguration,
|
|
332
337
|
DataCubeQueryFilterOperator.IS_NOT_NULL,
|
|
333
|
-
|
|
338
|
+
{
|
|
339
|
+
value: {
|
|
340
|
+
type: DataCubeOperationAdvancedValueType.VOID,
|
|
341
|
+
},
|
|
342
|
+
},
|
|
334
343
|
controller,
|
|
335
344
|
),
|
|
336
345
|
];
|
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
isPivotResultColumnName,
|
|
33
33
|
PIVOT_COLUMN_NAME_VALUE_SEPARATOR,
|
|
34
34
|
DataCubeQuerySortDirection,
|
|
35
|
+
DataCubeOperationAdvancedValueType,
|
|
35
36
|
} from '../../core/DataCubeQueryEngine.js';
|
|
36
37
|
import {
|
|
37
38
|
guaranteeNonNullable,
|
|
@@ -234,13 +235,14 @@ function generateGridDataFetchExecutableQueryPostProcessor(
|
|
|
234
235
|
return {
|
|
235
236
|
...groupByColumn,
|
|
236
237
|
operator: DataCubeQueryFilterOperator.IS_NULL,
|
|
237
|
-
value:
|
|
238
|
+
value: {
|
|
239
|
+
type: DataCubeOperationAdvancedValueType.VOID,
|
|
240
|
+
},
|
|
238
241
|
};
|
|
239
242
|
}
|
|
240
243
|
const condition = {
|
|
241
244
|
...groupByColumn,
|
|
242
245
|
operator: DataCubeQueryFilterOperator.EQUAL,
|
|
243
|
-
value: undefined,
|
|
244
246
|
};
|
|
245
247
|
switch (groupByColumn.type) {
|
|
246
248
|
case PRIMITIVE_TYPE.BOOLEAN:
|
|
@@ -291,11 +293,13 @@ function generateGridDataFetchExecutableQueryPostProcessor(
|
|
|
291
293
|
);
|
|
292
294
|
}
|
|
293
295
|
|
|
296
|
+
// if pivot is present, populate the count aggregation columns
|
|
297
|
+
// by modifying pivot and pivot cast function expressions
|
|
298
|
+
const countAggColumns: V1_ColSpec[] = [];
|
|
299
|
+
_addCountAggColumnToPivot(funcMap, countAggColumns);
|
|
300
|
+
|
|
294
301
|
// modify groupBy() based off the current drilldown level
|
|
295
302
|
if (request.groupKeys.length < groupBy.columns.length) {
|
|
296
|
-
const countAggColumns: V1_ColSpec[] = [];
|
|
297
|
-
_addCountAggColumnToPivot(funcMap, countAggColumns);
|
|
298
|
-
|
|
299
303
|
const groupByIdx = sequence.indexOf(funcMap.groupBy);
|
|
300
304
|
const groupByColumns = groupBy.columns.slice(
|
|
301
305
|
0,
|