@sisense/sdk-data 1.33.0 → 2.0.0
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/dist/cjs/dimensional-model/analytics/factory.d.ts +10 -10
- package/dist/cjs/dimensional-model/analytics/factory.js +15 -16
- package/dist/cjs/dimensional-model/attributes.d.ts +13 -6
- package/dist/cjs/dimensional-model/attributes.js +39 -12
- package/dist/cjs/dimensional-model/base.d.ts +3 -3
- package/dist/cjs/dimensional-model/base.js +7 -4
- package/dist/cjs/dimensional-model/compose-code-utils.d.ts +41 -0
- package/dist/cjs/dimensional-model/compose-code-utils.js +127 -0
- package/dist/cjs/dimensional-model/consts.d.ts +1 -0
- package/dist/cjs/dimensional-model/consts.js +4 -0
- package/dist/cjs/dimensional-model/data-model.d.ts +1 -1
- package/dist/cjs/dimensional-model/data-model.js +1 -1
- package/dist/cjs/dimensional-model/dimensions/dimensions.d.ts +6 -6
- package/dist/cjs/dimensional-model/dimensions/dimensions.js +34 -17
- package/dist/cjs/dimensional-model/dimensions/utils.d.ts +1 -0
- package/dist/cjs/dimensional-model/dimensions/utils.js +2 -1
- package/dist/cjs/dimensional-model/factory.js +5 -5
- package/dist/cjs/dimensional-model/filters/factory.d.ts +42 -42
- package/dist/cjs/dimensional-model/filters/factory.js +53 -168
- package/dist/cjs/dimensional-model/filters/filter-relations.d.ts +11 -2
- package/dist/cjs/dimensional-model/filters/filter-relations.js +14 -7
- package/dist/cjs/dimensional-model/filters/filters.d.ts +40 -24
- package/dist/cjs/dimensional-model/filters/filters.js +106 -56
- package/dist/cjs/dimensional-model/filters/helpers.d.ts +1 -1
- package/dist/cjs/dimensional-model/filters/helpers.js +2 -2
- package/dist/cjs/dimensional-model/filters/utils/attribute-measure-util.js +9 -17
- package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.d.ts +1 -1
- package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.js +31 -29
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +1 -1
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +13 -19
- package/dist/cjs/dimensional-model/filters/utils/filter-types-util.d.ts +1 -1
- package/dist/cjs/dimensional-model/filters/utils/filter-types-util.js +1 -1
- package/dist/cjs/dimensional-model/filters/utils/types.d.ts +10 -0
- package/dist/cjs/dimensional-model/interfaces.d.ts +17 -7
- package/dist/cjs/dimensional-model/jaql-element.d.ts +13 -1
- package/dist/cjs/dimensional-model/jaql-element.js +54 -2
- package/dist/cjs/dimensional-model/measures/factory.d.ts +46 -53
- package/dist/cjs/dimensional-model/measures/factory.js +57 -186
- package/dist/cjs/dimensional-model/measures/measures.d.ts +10 -10
- package/dist/cjs/dimensional-model/measures/measures.js +35 -33
- package/dist/cjs/dimensional-model/types.d.ts +41 -16
- package/dist/cjs/index.d.ts +7 -7
- package/dist/cjs/index.js +7 -7
- package/dist/cjs/utils.d.ts +45 -22
- package/dist/cjs/utils.js +119 -47
- package/dist/dimensional-model/analytics/factory.d.ts +10 -10
- package/dist/dimensional-model/analytics/factory.js +15 -14
- package/dist/dimensional-model/attributes.d.ts +13 -6
- package/dist/dimensional-model/attributes.js +39 -12
- package/dist/dimensional-model/base.d.ts +3 -3
- package/dist/dimensional-model/base.js +7 -4
- package/dist/dimensional-model/compose-code-utils.d.ts +41 -0
- package/dist/dimensional-model/compose-code-utils.js +119 -0
- package/dist/dimensional-model/consts.d.ts +1 -0
- package/dist/dimensional-model/consts.js +1 -0
- package/dist/dimensional-model/data-model.d.ts +1 -1
- package/dist/dimensional-model/data-model.js +1 -1
- package/dist/dimensional-model/dimensions/dimensions.d.ts +6 -6
- package/dist/dimensional-model/dimensions/dimensions.js +35 -18
- package/dist/dimensional-model/dimensions/utils.d.ts +1 -0
- package/dist/dimensional-model/dimensions/utils.js +3 -2
- package/dist/dimensional-model/factory.js +5 -5
- package/dist/dimensional-model/filters/factory.d.ts +42 -42
- package/dist/dimensional-model/filters/factory.js +52 -126
- package/dist/dimensional-model/filters/filter-relations.d.ts +11 -2
- package/dist/dimensional-model/filters/filter-relations.js +14 -7
- package/dist/dimensional-model/filters/filters.d.ts +40 -24
- package/dist/dimensional-model/filters/filters.js +106 -56
- package/dist/dimensional-model/filters/helpers.d.ts +1 -1
- package/dist/dimensional-model/filters/helpers.js +2 -2
- package/dist/dimensional-model/filters/utils/attribute-measure-util.js +10 -18
- package/dist/dimensional-model/filters/utils/condition-filter-util.d.ts +1 -1
- package/dist/dimensional-model/filters/utils/condition-filter-util.js +31 -29
- package/dist/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +1 -1
- package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +13 -19
- package/dist/dimensional-model/filters/utils/filter-types-util.d.ts +1 -1
- package/dist/dimensional-model/filters/utils/filter-types-util.js +1 -1
- package/dist/dimensional-model/filters/utils/types.d.ts +10 -0
- package/dist/dimensional-model/interfaces.d.ts +17 -7
- package/dist/dimensional-model/jaql-element.d.ts +13 -1
- package/dist/dimensional-model/jaql-element.js +52 -1
- package/dist/dimensional-model/measures/factory.d.ts +46 -53
- package/dist/dimensional-model/measures/factory.js +56 -143
- package/dist/dimensional-model/measures/measures.d.ts +10 -10
- package/dist/dimensional-model/measures/measures.js +35 -33
- package/dist/dimensional-model/types.d.ts +41 -16
- package/dist/index.d.ts +7 -7
- package/dist/index.js +7 -7
- package/dist/translation/initialize-i18n.js +1 -1
- package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -1
- package/dist/utils.d.ts +45 -22
- package/dist/utils.js +94 -49
- package/package.json +5 -4
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.d.ts +0 -17
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.js +0 -82
- package/dist/dimensional-model/filters/utils/filter-code-util.d.ts +0 -17
- package/dist/dimensional-model/filters/utils/filter-code-util.js +0 -77
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ConditionFilterType } from './types.js';
|
|
2
|
-
import { withComposeCode } from './filter-code-util.js';
|
|
3
|
-
import * as filterFactory from '../factory.js';
|
|
4
|
-
import { createMeasureFromRankingFilterJaql } from './attribute-measure-util.js';
|
|
5
1
|
import { TranslatableError } from '../../../translation/translatable-error.js';
|
|
2
|
+
import * as filterFactory from '../factory.js';
|
|
6
3
|
import { simplifyFilterConfig } from '../filter-config-utils.js';
|
|
4
|
+
import { createMeasureFromRankingFilterJaql } from './attribute-measure-util.js';
|
|
5
|
+
import { ConditionFilterType } from './types.js';
|
|
7
6
|
const isTopCondition = (filter) => filter.top !== undefined;
|
|
8
7
|
const isBottomCondition = (filter) => filter.bottom !== undefined;
|
|
9
8
|
const isExcludeCondition = (filter) => { var _a; return !!((_a = filter.exclude) === null || _a === void 0 ? void 0 : _a.members); };
|
|
@@ -88,48 +87,48 @@ export const createAttributeFilterFromConditionFilterJaql = (attribute, conditio
|
|
|
88
87
|
switch (conditionType) {
|
|
89
88
|
case ConditionFilterType.BOTTOM:
|
|
90
89
|
if (conditionFilterJaql.by) {
|
|
91
|
-
return
|
|
90
|
+
return filterFactory.bottomRanking(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by, conditionFilterJaql.rankingMessage), conditionFilterJaql[ConditionFilterType.BOTTOM], { guid });
|
|
92
91
|
}
|
|
93
92
|
break;
|
|
94
93
|
case ConditionFilterType.EQUALS:
|
|
95
|
-
return
|
|
94
|
+
return filterFactory.equals(attribute, conditionFilterJaql[ConditionFilterType.EQUALS], { guid });
|
|
96
95
|
case ConditionFilterType.DOESNT_EQUAL:
|
|
97
|
-
return
|
|
96
|
+
return filterFactory.doesntEqual(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_EQUAL], { guid });
|
|
98
97
|
case ConditionFilterType.GREATER_THAN:
|
|
99
|
-
return
|
|
98
|
+
return filterFactory.greaterThan(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN], { guid });
|
|
100
99
|
case ConditionFilterType.GREATER_THAN_OR_EQUAL:
|
|
101
|
-
return
|
|
100
|
+
return filterFactory.greaterThanOrEqual(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL], { guid });
|
|
102
101
|
case ConditionFilterType.TOP:
|
|
103
102
|
if (conditionFilterJaql.by) {
|
|
104
|
-
return
|
|
103
|
+
return filterFactory.topRanking(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by, conditionFilterJaql.rankingMessage), conditionFilterJaql[ConditionFilterType.TOP], { guid });
|
|
105
104
|
}
|
|
106
105
|
break;
|
|
107
106
|
case ConditionFilterType.STARTS_WITH:
|
|
108
|
-
return
|
|
107
|
+
return filterFactory.startsWith(attribute, conditionFilterJaql[ConditionFilterType.STARTS_WITH], { guid });
|
|
109
108
|
case ConditionFilterType.DOESNT_START_WITH:
|
|
110
|
-
return
|
|
109
|
+
return filterFactory.doesntStartWith(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_START_WITH], { guid });
|
|
111
110
|
case ConditionFilterType.ENDS_WITH:
|
|
112
|
-
return
|
|
111
|
+
return filterFactory.endsWith(attribute, conditionFilterJaql[ConditionFilterType.ENDS_WITH], { guid });
|
|
113
112
|
case ConditionFilterType.DOESNT_END_WITH:
|
|
114
|
-
return
|
|
113
|
+
return filterFactory.doesntEndWith(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_END_WITH], { guid });
|
|
115
114
|
case ConditionFilterType.CONTAINS:
|
|
116
|
-
return
|
|
115
|
+
return filterFactory.contains(attribute, conditionFilterJaql[ConditionFilterType.CONTAINS], { guid });
|
|
117
116
|
case ConditionFilterType.DOESNT_CONTAIN:
|
|
118
|
-
return
|
|
117
|
+
return filterFactory.doesntContain(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_CONTAIN], { guid });
|
|
119
118
|
case ConditionFilterType.LESS_THAN:
|
|
120
|
-
return
|
|
119
|
+
return filterFactory.lessThan(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN], { guid });
|
|
121
120
|
case ConditionFilterType.LESS_THAN_OR_EQUAL:
|
|
122
|
-
return
|
|
121
|
+
return filterFactory.lessThanOrEqual(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL], { guid });
|
|
123
122
|
case ConditionFilterType.BETWEEN:
|
|
124
|
-
return
|
|
123
|
+
return filterFactory.between(attribute, conditionFilterJaql.from, conditionFilterJaql.to, { guid });
|
|
125
124
|
case ConditionFilterType.IS_NOT_BETWEEN:
|
|
126
|
-
return
|
|
125
|
+
return filterFactory.exclude(filterFactory.between(attribute, (_a = conditionFilterJaql.exclude) === null || _a === void 0 ? void 0 : _a.from, (_b = conditionFilterJaql.exclude) === null || _b === void 0 ? void 0 : _b.to, { guid }), undefined, { guid });
|
|
127
126
|
case ConditionFilterType.MULTIPLE_CONDITION:
|
|
128
127
|
if (conditionFilterJaql.and) {
|
|
129
|
-
return
|
|
128
|
+
return filterFactory.intersection(conditionFilterJaql.and.map((c) => createAttributeFilterFromConditionFilterJaql(attribute, c, guid)), { guid });
|
|
130
129
|
}
|
|
131
130
|
if (conditionFilterJaql.or) {
|
|
132
|
-
return
|
|
131
|
+
return filterFactory.union(conditionFilterJaql.or.map((c) => createAttributeFilterFromConditionFilterJaql(attribute, c, guid)), { guid });
|
|
133
132
|
}
|
|
134
133
|
break;
|
|
135
134
|
case ConditionFilterType.IS_NOT: {
|
|
@@ -143,7 +142,7 @@ export const createAttributeFilterFromConditionFilterJaql = (attribute, conditio
|
|
|
143
142
|
enableMultiSelection: (_g = conditionFilterJaql.multiSelection) !== null && _g !== void 0 ? _g : true,
|
|
144
143
|
deactivatedMembers,
|
|
145
144
|
});
|
|
146
|
-
return
|
|
145
|
+
return filterFactory.members(attribute, selectedMembers, config);
|
|
147
146
|
}
|
|
148
147
|
case ConditionFilterType.AFTER:
|
|
149
148
|
case ConditionFilterType.BEFORE:
|
|
@@ -165,20 +164,23 @@ export const createAttributeFilterFromConditionFilterJaql = (attribute, conditio
|
|
|
165
164
|
* @returns measure filter
|
|
166
165
|
*/
|
|
167
166
|
export const createMeasureFilterFromConditionFilterJaql = (measure, conditionFilterJaql, guid) => {
|
|
167
|
+
var _a, _b;
|
|
168
168
|
const conditionType = getSelectedConditionOption(conditionFilterJaql);
|
|
169
169
|
switch (conditionType) {
|
|
170
170
|
case ConditionFilterType.EQUALS:
|
|
171
|
-
return
|
|
171
|
+
return filterFactory.measureEquals(measure, conditionFilterJaql[ConditionFilterType.EQUALS], { guid });
|
|
172
172
|
case ConditionFilterType.GREATER_THAN:
|
|
173
|
-
return
|
|
173
|
+
return filterFactory.measureGreaterThan(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN], { guid });
|
|
174
174
|
case ConditionFilterType.GREATER_THAN_OR_EQUAL:
|
|
175
|
-
return
|
|
175
|
+
return filterFactory.measureGreaterThanOrEqual(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL], { guid });
|
|
176
176
|
case ConditionFilterType.LESS_THAN:
|
|
177
|
-
return
|
|
177
|
+
return filterFactory.measureLessThan(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN], { guid });
|
|
178
178
|
case ConditionFilterType.LESS_THAN_OR_EQUAL:
|
|
179
|
-
return
|
|
179
|
+
return filterFactory.measureLessThanOrEqual(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL], { guid });
|
|
180
180
|
case ConditionFilterType.BETWEEN:
|
|
181
|
-
return
|
|
181
|
+
return filterFactory.measureBetween(measure, conditionFilterJaql.from, conditionFilterJaql.to, { guid });
|
|
182
|
+
case ConditionFilterType.IS_NOT_BETWEEN:
|
|
183
|
+
return filterFactory.exclude(filterFactory.measureBetween(measure, (_a = conditionFilterJaql.exclude) === null || _a === void 0 ? void 0 : _a.from, (_b = conditionFilterJaql.exclude) === null || _b === void 0 ? void 0 : _b.to, { guid }), undefined, { guid });
|
|
182
184
|
}
|
|
183
185
|
throw new TranslatableError('errors.filter.unsupportedConditionFilter', {
|
|
184
186
|
filter: JSON.stringify(conditionFilterJaql),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BaseFilterJaql, FilterJaqlInternal, PeriodFilterJaql, RangeFilterJaql, SpecificItemsFilterJaql } from './types.js';
|
|
2
1
|
import { Attribute, Filter, LevelAttribute } from '../../interfaces.js';
|
|
3
2
|
import { FilterJaql } from '../../types.js';
|
|
3
|
+
import { BaseFilterJaql, FilterJaqlInternal, PeriodFilterJaql, RangeFilterJaql, SpecificItemsFilterJaql } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a generic filter (aka pass-through JAQL filter) if the JAQL cannot be translated to a specific filter type.
|
|
6
6
|
*
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TranslatableError } from '../../../translation/translatable-error.js';
|
|
2
2
|
import * as filterFactory from '../factory.js';
|
|
3
|
+
import { getDefaultBaseFilterConfig, simplifyFilterConfig } from '../filter-config-utils.js';
|
|
4
|
+
import { createAttributeFromFilterJaql, createMeasureFromFilterJaql, } from './attribute-measure-util.js';
|
|
3
5
|
import { createAttributeFilterFromConditionFilterJaql, createMeasureFilterFromConditionFilterJaql, } from './condition-filter-util.js';
|
|
4
6
|
import { extractFilterTypeFromFilterJaql } from './filter-types-util.js';
|
|
5
|
-
import {
|
|
6
|
-
import { createAttributeFromFilterJaql, createMeasureFromFilterJaql, } from './attribute-measure-util.js';
|
|
7
|
-
import { TranslatableError } from '../../../translation/translatable-error.js';
|
|
8
|
-
import { getDefaultBaseFilterConfig, simplifyFilterConfig } from '../filter-config-utils.js';
|
|
7
|
+
import { FILTER_TYPES, } from './types.js';
|
|
9
8
|
/**
|
|
10
9
|
* Creates a generic filter (aka pass-through JAQL filter) if the JAQL cannot be translated to a specific filter type.
|
|
11
10
|
*
|
|
@@ -14,7 +13,7 @@ import { getDefaultBaseFilterConfig, simplifyFilterConfig } from '../filter-conf
|
|
|
14
13
|
* @returns A generic Filter object.
|
|
15
14
|
*/
|
|
16
15
|
export const createGenericFilter = (jaql, guid) => {
|
|
17
|
-
|
|
16
|
+
const baseFilter = {
|
|
18
17
|
config: Object.assign(Object.assign({}, getDefaultBaseFilterConfig()), { guid, originalFilterJaql: jaql }),
|
|
19
18
|
jaql: (nested) => {
|
|
20
19
|
if (nested) {
|
|
@@ -29,13 +28,8 @@ export const createGenericFilter = (jaql, guid) => {
|
|
|
29
28
|
id: jaql.dim,
|
|
30
29
|
},
|
|
31
30
|
type: 'filter',
|
|
32
|
-
serializable() {
|
|
33
|
-
return Object.assign(Object.assign({}, this), { jaql: this.jaql() });
|
|
34
|
-
},
|
|
35
|
-
toJSON() {
|
|
36
|
-
return this.serializable();
|
|
37
|
-
},
|
|
38
31
|
};
|
|
32
|
+
return Object.assign({}, baseFilter);
|
|
39
33
|
};
|
|
40
34
|
/**
|
|
41
35
|
* Creates a filter that includes all members of the attribute.
|
|
@@ -51,7 +45,7 @@ export const createFilterIncludeAll = (attribute, guid) => {
|
|
|
51
45
|
guid,
|
|
52
46
|
excludeMembers: true,
|
|
53
47
|
};
|
|
54
|
-
return
|
|
48
|
+
return filterFactory.members(attribute, [], config);
|
|
55
49
|
};
|
|
56
50
|
/**
|
|
57
51
|
* Creates a filter from a specific items filter JAQL object.
|
|
@@ -70,7 +64,7 @@ export const createFilterFromSpecificItemsFilterJaql = (attribute, specificItems
|
|
|
70
64
|
enableMultiSelection: multiSelection !== null && multiSelection !== void 0 ? multiSelection : true,
|
|
71
65
|
deactivatedMembers,
|
|
72
66
|
});
|
|
73
|
-
return
|
|
67
|
+
return filterFactory.members(attribute, activeMembers, config);
|
|
74
68
|
};
|
|
75
69
|
function getDeactivatedMembersFromFilterJaql(filterJaql) {
|
|
76
70
|
var _a, _b, _c, _d;
|
|
@@ -91,7 +85,7 @@ function getActiveMembersFromFilterJaql(filterJaql, deactivatedMembers) {
|
|
|
91
85
|
* @returns Filter object
|
|
92
86
|
*/
|
|
93
87
|
export const createFilterFromDateRangeFilterJaql = (attribute, rangeFilterJaql, guid) => {
|
|
94
|
-
return
|
|
88
|
+
return filterFactory.dateRange(attribute, rangeFilterJaql.from, rangeFilterJaql.to, { guid });
|
|
95
89
|
};
|
|
96
90
|
/**
|
|
97
91
|
* Creates a filter from a numeric range filter JAQL object.
|
|
@@ -102,7 +96,7 @@ export const createFilterFromDateRangeFilterJaql = (attribute, rangeFilterJaql,
|
|
|
102
96
|
* @returns Filter object
|
|
103
97
|
*/
|
|
104
98
|
export const createFilterFromNumericRangeJaql = (attribute, rangeFilterJaql, guid) => {
|
|
105
|
-
return
|
|
99
|
+
return filterFactory.between(attribute, rangeFilterJaql.from, rangeFilterJaql.to, { guid });
|
|
106
100
|
};
|
|
107
101
|
/**
|
|
108
102
|
* Creates a filter from a period filter JAQL object.
|
|
@@ -114,10 +108,10 @@ export const createFilterFromNumericRangeJaql = (attribute, rangeFilterJaql, gui
|
|
|
114
108
|
*/
|
|
115
109
|
export const createFilterFromPeriodFilterJaql = (attribute, periodFilterJaql, guid) => {
|
|
116
110
|
if (periodFilterJaql.last) {
|
|
117
|
-
return
|
|
111
|
+
return filterFactory.dateRelativeTo(attribute, periodFilterJaql.last.offset, periodFilterJaql.last.count, periodFilterJaql.last.anchor, { guid });
|
|
118
112
|
}
|
|
119
113
|
else {
|
|
120
|
-
return
|
|
114
|
+
return filterFactory.dateRelativeFrom(attribute, periodFilterJaql.next.offset, periodFilterJaql.next.count, periodFilterJaql.next.anchor, { guid });
|
|
121
115
|
}
|
|
122
116
|
};
|
|
123
117
|
/**
|
|
@@ -129,7 +123,7 @@ export const createFilterFromPeriodFilterJaql = (attribute, periodFilterJaql, gu
|
|
|
129
123
|
* @returns Filter object
|
|
130
124
|
*/
|
|
131
125
|
export const createFilterFromCustomFilterJaql = (attribute, customFilterJaql, guid) => {
|
|
132
|
-
return
|
|
126
|
+
return filterFactory.customFilter(attribute, customFilterJaql, {
|
|
133
127
|
guid,
|
|
134
128
|
});
|
|
135
129
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AnyTypeFilterJaql, ConditionFilterJaql, DatetimeLevel, FilterJaqlInternal, FilterJaqlWrapperWithType, FilterModalType, FilterType, SpecificItemsFilterJaql } from './types.js';
|
|
2
2
|
export declare const isSpecificItemsFilter: (filter: AnyTypeFilterJaql) => filter is SpecificItemsFilterJaql;
|
|
3
3
|
export declare const isNumericRangeFilter: (filter: AnyTypeFilterJaql) => boolean;
|
|
4
4
|
export declare const isConditionFilter: (filter: AnyTypeFilterJaql) => filter is ConditionFilterJaql;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getSelectedConditionOption } from './condition-filter-util.js';
|
|
2
|
-
import { FilterModalType, DatetimeLevel, FILTER_TYPES, nonSupportedMinutesBuckets, ConditionFilterType, DEFAULT_FILTER_JAQL_WRAPPER, } from './types.js';
|
|
3
2
|
import { getCorrectTimeLevel } from './date-time-filter-util.js';
|
|
3
|
+
import { ConditionFilterType, DatetimeLevel, DEFAULT_FILTER_JAQL_WRAPPER, FILTER_TYPES, FilterModalType, nonSupportedMinutesBuckets, } from './types.js';
|
|
4
4
|
const isIncludeAllFilter = (filter) => filter === null || filter === void 0 ? void 0 : filter.all;
|
|
5
5
|
const getInnerPeriodFilter = (filter) => (filter.last ? filter.last : filter.next);
|
|
6
6
|
const isPeriodFilter = (filter) => { var _a; return ((_a = getInnerPeriodFilter(filter)) === null || _a === void 0 ? void 0 : _a.offset) < 2; };
|
|
@@ -19,6 +19,16 @@ export declare type JaqlDataSource = {
|
|
|
19
19
|
lastBuildTime?: string;
|
|
20
20
|
revisionId?: string;
|
|
21
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Data source as specified in the jaql
|
|
24
|
+
* but with required filelds
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare type JaqlDataSourceForDto = JaqlDataSource & {
|
|
29
|
+
id: string;
|
|
30
|
+
address?: string;
|
|
31
|
+
};
|
|
22
32
|
export declare enum GeneralFilterType {
|
|
23
33
|
INCLUDE_ALL = "INCLUDE_ALL",
|
|
24
34
|
ADVANCED = "ADVANCED",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataSource } from '../interfaces.js';
|
|
2
|
-
import { FilterJaql, JaqlDataSource, Sort } from './types.js';
|
|
2
|
+
import { DateLevel, FilterJaql, JaqlDataSource, JSONObject, Sort } from './types.js';
|
|
3
3
|
/**
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
@@ -46,13 +46,13 @@ export interface Element {
|
|
|
46
46
|
*
|
|
47
47
|
* @internal
|
|
48
48
|
*/
|
|
49
|
-
|
|
49
|
+
serialize(): JSONObject;
|
|
50
50
|
/**
|
|
51
51
|
* Overrides JSON.stringify() behavior.
|
|
52
52
|
*
|
|
53
53
|
* @internal
|
|
54
54
|
*/
|
|
55
|
-
toJSON():
|
|
55
|
+
toJSON(): JSONObject;
|
|
56
56
|
/**
|
|
57
57
|
* Gets the JAQL representation of this instance.
|
|
58
58
|
*
|
|
@@ -337,6 +337,14 @@ export interface LevelAttribute extends Attribute {
|
|
|
337
337
|
dateTimeLevel?: string;
|
|
338
338
|
bucket?: string;
|
|
339
339
|
};
|
|
340
|
+
/**
|
|
341
|
+
* Gets a {@link LevelAttribute} with the given granularity
|
|
342
|
+
*
|
|
343
|
+
* @param granularity - Date granularity
|
|
344
|
+
* @returns New instance representing {@link LevelAttribute} with provided granularity
|
|
345
|
+
* @internal
|
|
346
|
+
*/
|
|
347
|
+
setGranularity(granularity: DateLevel): LevelAttribute;
|
|
340
348
|
}
|
|
341
349
|
/**
|
|
342
350
|
* Base filter configuration
|
|
@@ -514,10 +522,6 @@ export declare function isPivotMeasure(arg: Measure | PivotMeasure): arg is Pivo
|
|
|
514
522
|
* Data options for grand totals of a pivot table
|
|
515
523
|
*/
|
|
516
524
|
export declare type PivotGrandTotals = {
|
|
517
|
-
/**
|
|
518
|
-
* @deprecated
|
|
519
|
-
*/
|
|
520
|
-
title?: string;
|
|
521
525
|
rows?: boolean;
|
|
522
526
|
columns?: boolean;
|
|
523
527
|
};
|
|
@@ -550,6 +554,12 @@ export interface FilterRelations {
|
|
|
550
554
|
left: FilterRelationsNode;
|
|
551
555
|
right: FilterRelationsNode;
|
|
552
556
|
operator: 'AND' | 'OR';
|
|
557
|
+
/**
|
|
558
|
+
* Compose code for the filter relations
|
|
559
|
+
*
|
|
560
|
+
* @internal
|
|
561
|
+
*/
|
|
562
|
+
composeCode?: string;
|
|
553
563
|
}
|
|
554
564
|
/**
|
|
555
565
|
* Model of filter logical relations (AND/OR) from Fusion dashboard
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DimensionalElement } from './base.js';
|
|
2
2
|
import { SortDirection } from './interfaces.js';
|
|
3
|
-
import { MetadataItem, MetadataItemJaql } from './types.js';
|
|
3
|
+
import { JSONObject, MetadataItem, MetadataItemJaql } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* This implementation wraps metadata for a JAQL query. The metadata could be
|
|
6
6
|
* for a dimension, measure, or filter. We do little to no interpretation of
|
|
@@ -26,6 +26,10 @@ export declare class JaqlElement extends DimensionalElement {
|
|
|
26
26
|
get id(): string;
|
|
27
27
|
jaql(nested?: true): MetadataItemJaql;
|
|
28
28
|
jaql(nested?: false | undefined): MetadataItem;
|
|
29
|
+
/**
|
|
30
|
+
* Gets a serializable representation of the element
|
|
31
|
+
*/
|
|
32
|
+
serialize(): JSONObject;
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
35
|
* Create a JaqlElement from a MetadataItem
|
|
@@ -35,3 +39,11 @@ export declare class JaqlElement extends DimensionalElement {
|
|
|
35
39
|
* @internal
|
|
36
40
|
*/
|
|
37
41
|
export declare function createJaqlElement(item: MetadataItem): JaqlElement;
|
|
42
|
+
/**
|
|
43
|
+
* Create a DimensionalElement from a MetadataItem
|
|
44
|
+
*
|
|
45
|
+
* @param item - the metadata item in a JAQL query
|
|
46
|
+
* @returns a DimensionalElement
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
export declare function createDimensionalElementFromMetadataItem(item: MetadataItem): import("./interfaces.js").Attribute | import("./interfaces.js").BaseMeasure | import("./interfaces.js").CalculatedMeasure | JaqlElement;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { createAttributeHelper, createCalculatedMeasureHelper, createMeasureHelper, getSortType, } from '../utils.js';
|
|
1
2
|
import { DimensionalElement } from './base.js';
|
|
2
|
-
import { getSortType } from '../utils.js';
|
|
3
3
|
import { MetadataTypes, } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* This implementation wraps metadata for a JAQL query. The metadata could be
|
|
@@ -47,6 +47,16 @@ export class JaqlElement extends DimensionalElement {
|
|
|
47
47
|
jaql(nested) {
|
|
48
48
|
return nested === true ? this.metadataItem.jaql : this.metadataItem;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Gets a serializable representation of the element
|
|
52
|
+
*/
|
|
53
|
+
serialize() {
|
|
54
|
+
const result = super.serialize();
|
|
55
|
+
result.__serializable = 'JaqlElement';
|
|
56
|
+
result.metadataItem = this.metadataItem;
|
|
57
|
+
result.type = this.type;
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
50
60
|
}
|
|
51
61
|
const toMetadataType = {
|
|
52
62
|
text: MetadataTypes.TextAttribute,
|
|
@@ -66,3 +76,44 @@ export function createJaqlElement(item) {
|
|
|
66
76
|
// will always be of type number. check if there is a more correct way to do this
|
|
67
77
|
return new JaqlElement(item, (_a = toMetadataType[item.jaql.datatype]) !== null && _a !== void 0 ? _a : 'numeric');
|
|
68
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* Create a DimensionalElement from a MetadataItem
|
|
81
|
+
*
|
|
82
|
+
* @param item - the metadata item in a JAQL query
|
|
83
|
+
* @returns a DimensionalElement
|
|
84
|
+
* @internal
|
|
85
|
+
*/
|
|
86
|
+
export function createDimensionalElementFromMetadataItem(item) {
|
|
87
|
+
const { jaql } = item;
|
|
88
|
+
// calculated measure
|
|
89
|
+
if (jaql.formula) {
|
|
90
|
+
return createCalculatedMeasureHelper(jaql);
|
|
91
|
+
}
|
|
92
|
+
// measure
|
|
93
|
+
if ('agg' in jaql && jaql.dim && jaql.datatype) {
|
|
94
|
+
return createMeasureHelper({
|
|
95
|
+
expression: jaql.dim,
|
|
96
|
+
dataType: jaql.datatype,
|
|
97
|
+
agg: jaql.agg || '',
|
|
98
|
+
granularity: jaql.level,
|
|
99
|
+
format: undefined,
|
|
100
|
+
sort: jaql.sort,
|
|
101
|
+
title: jaql.title,
|
|
102
|
+
dataSource: jaql.datasource,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// attribute
|
|
106
|
+
if (jaql.dim && jaql.datatype) {
|
|
107
|
+
return createAttributeHelper({
|
|
108
|
+
expression: jaql.dim,
|
|
109
|
+
dataType: jaql.datatype,
|
|
110
|
+
granularity: jaql.level,
|
|
111
|
+
sort: jaql.sort,
|
|
112
|
+
title: jaql.title,
|
|
113
|
+
panel: item.panel,
|
|
114
|
+
dataSource: jaql.datasource,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
// fall back to createJaqlElement
|
|
118
|
+
return createJaqlElement(item);
|
|
119
|
+
}
|