@sisense/sdk-data 1.10.1 → 1.12.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 +47 -0
- package/dist/cjs/dimensional-model/analytics/factory.js +151 -0
- package/dist/cjs/dimensional-model/analytics/factory.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/analytics/factory.test.js +99 -0
- package/dist/cjs/dimensional-model/attributes.d.ts +139 -0
- package/dist/cjs/dimensional-model/attributes.js +342 -0
- package/dist/cjs/dimensional-model/attributes.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/attributes.test.js +154 -0
- package/dist/cjs/dimensional-model/base.d.ts +43 -0
- package/dist/cjs/dimensional-model/base.js +58 -0
- package/dist/cjs/dimensional-model/base.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/base.test.js +17 -0
- package/dist/cjs/dimensional-model/data-model.d.ts +13 -0
- package/dist/cjs/dimensional-model/data-model.js +37 -0
- package/dist/cjs/dimensional-model/dimensions.d.ts +167 -0
- package/dist/cjs/dimensional-model/dimensions.js +307 -0
- package/dist/cjs/dimensional-model/dimensions.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/dimensions.test.js +54 -0
- package/dist/cjs/dimensional-model/factory.d.ts +17 -0
- package/dist/cjs/dimensional-model/factory.js +54 -0
- package/dist/cjs/dimensional-model/filters/factory.d.ts +796 -0
- package/dist/cjs/dimensional-model/filters/factory.js +962 -0
- package/dist/cjs/dimensional-model/filters/factory.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/filters/factory.test.js +366 -0
- package/dist/cjs/dimensional-model/filters/filters.d.ts +321 -0
- package/dist/cjs/dimensional-model/filters/filters.js +614 -0
- package/dist/cjs/dimensional-model/filters/filters.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/filters/filters.test.js +225 -0
- package/dist/cjs/dimensional-model/filters/utils/attribute-measure-util.d.ts +47 -0
- package/dist/cjs/dimensional-model/filters/utils/attribute-measure-util.js +111 -0
- package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.d.ts +21 -0
- package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.js +194 -0
- package/dist/cjs/dimensional-model/filters/utils/date-time-filter-util.d.ts +2 -0
- package/dist/cjs/dimensional-model/filters/utils/date-time-filter-util.js +12 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.d.ts +13 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.js +54 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.test.js +32 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +73 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +190 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.test.js +558 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.d.ts +5 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.js +174 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-matcher-utils.test.js +236 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-types-util.d.ts +17 -0
- package/dist/cjs/dimensional-model/filters/utils/filter-types-util.js +79 -0
- package/dist/cjs/dimensional-model/filters/utils/types.d.ts +200 -0
- package/dist/cjs/dimensional-model/filters/utils/types.js +99 -0
- package/dist/cjs/dimensional-model/interfaces.d.ts +512 -0
- package/dist/cjs/dimensional-model/interfaces.js +31 -0
- package/dist/cjs/dimensional-model/measures/factory.d.ts +920 -0
- package/dist/cjs/dimensional-model/measures/factory.js +1188 -0
- package/dist/cjs/dimensional-model/measures/factory.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/measures/factory.test.js +481 -0
- package/dist/cjs/dimensional-model/measures/measures.d.ts +217 -0
- package/dist/cjs/dimensional-model/measures/measures.js +416 -0
- package/dist/cjs/dimensional-model/measures/measures.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/measures/measures.test.js +79 -0
- package/dist/cjs/dimensional-model/simple-column-types.d.ts +39 -0
- package/dist/cjs/dimensional-model/simple-column-types.js +134 -0
- package/dist/cjs/dimensional-model/simple-column-types.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/simple-column-types.test.js +85 -0
- package/dist/cjs/dimensional-model/types.d.ts +256 -0
- package/dist/cjs/dimensional-model/types.js +298 -0
- package/dist/cjs/dimensional-model/types.test.d.ts +1 -0
- package/dist/cjs/dimensional-model/types.test.js +33 -0
- package/dist/cjs/index.d.ts +93 -0
- package/dist/cjs/index.js +123 -0
- package/dist/cjs/interfaces.d.ts +367 -0
- package/dist/cjs/interfaces.js +21 -0
- package/dist/cjs/translation/initialize-i18n.d.ts +2 -0
- package/dist/cjs/translation/initialize-i18n.js +14 -0
- package/dist/cjs/translation/resources/en.d.ts +28 -0
- package/dist/cjs/translation/resources/en.js +30 -0
- package/dist/cjs/translation/resources/index.d.ts +53 -0
- package/dist/cjs/translation/resources/index.js +10 -0
- package/dist/cjs/translation/resources/uk.d.ts +5 -0
- package/dist/cjs/translation/resources/uk.js +30 -0
- package/dist/cjs/translation/translatable-error.d.ts +5 -0
- package/dist/cjs/translation/translatable-error.js +15 -0
- package/dist/cjs/utils.d.ts +37 -0
- package/dist/cjs/utils.js +105 -0
- package/dist/cjs/utils.test.d.ts +1 -0
- package/dist/cjs/utils.test.js +158 -0
- package/dist/dimensional-model/attributes.d.ts +1 -0
- package/dist/dimensional-model/attributes.js +31 -0
- package/dist/dimensional-model/filters/factory.d.ts +80 -42
- package/dist/dimensional-model/filters/factory.js +123 -85
- package/dist/dimensional-model/filters/filters.d.ts +40 -12
- package/dist/dimensional-model/filters/filters.js +75 -24
- package/dist/dimensional-model/filters/utils/attribute-measure-util.d.ts +2 -2
- package/dist/dimensional-model/filters/utils/attribute-measure-util.js +6 -3
- package/dist/dimensional-model/filters/utils/condition-filter-util.d.ts +4 -2
- package/dist/dimensional-model/filters/utils/condition-filter-util.js +34 -31
- package/dist/dimensional-model/filters/utils/filter-code-util.js +1 -1
- package/dist/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +16 -10
- package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +34 -27
- package/dist/dimensional-model/filters/utils/filter-matcher-utils.d.ts +5 -0
- package/dist/dimensional-model/filters/utils/filter-matcher-utils.js +170 -0
- package/dist/dimensional-model/filters/utils/filter-types-util.d.ts +3 -1
- package/dist/dimensional-model/filters/utils/filter-types-util.js +2 -2
- package/dist/dimensional-model/filters/utils/types.d.ts +1 -1
- package/dist/dimensional-model/interfaces.d.ts +6 -0
- package/dist/dimensional-model/types.d.ts +9 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +18 -9
|
@@ -73,6 +73,7 @@ export declare const FilterTypes: {
|
|
|
73
73
|
numeric: string;
|
|
74
74
|
date: string;
|
|
75
75
|
relativeDate: string;
|
|
76
|
+
cascading: string;
|
|
76
77
|
};
|
|
77
78
|
/**
|
|
78
79
|
* base implementation for filter classes
|
|
@@ -92,7 +93,13 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
92
93
|
* Global filter identifier
|
|
93
94
|
*/
|
|
94
95
|
readonly guid: string;
|
|
95
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Boolean flag whether the filter is disabled
|
|
98
|
+
*
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
disabled: boolean;
|
|
102
|
+
constructor(att: Attribute, filterType: string, guid?: string);
|
|
96
103
|
get name(): string;
|
|
97
104
|
/**
|
|
98
105
|
* Gets JAQL representing this Filter instance
|
|
@@ -117,6 +124,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
117
124
|
*/
|
|
118
125
|
jaql(nested?: boolean): any;
|
|
119
126
|
static checkAttributeSupport(attribute: Attribute): void;
|
|
127
|
+
static disabledJaql(nested?: boolean): any;
|
|
120
128
|
}
|
|
121
129
|
/**
|
|
122
130
|
* @internal
|
|
@@ -124,7 +132,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
124
132
|
export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
125
133
|
readonly filters: Filter[];
|
|
126
134
|
readonly operator: string;
|
|
127
|
-
constructor(filters: Filter[], operator: string);
|
|
135
|
+
constructor(filters: Filter[], operator: string, guid?: string);
|
|
128
136
|
/**
|
|
129
137
|
* gets the element's ID
|
|
130
138
|
*/
|
|
@@ -143,7 +151,7 @@ export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
|
143
151
|
*/
|
|
144
152
|
export declare class MembersFilter extends AbstractFilter {
|
|
145
153
|
readonly members: any[];
|
|
146
|
-
constructor(attribute: Attribute, members?: any[]);
|
|
154
|
+
constructor(attribute: Attribute, members?: any[], guid?: string);
|
|
147
155
|
/**
|
|
148
156
|
* gets the element's ID
|
|
149
157
|
*/
|
|
@@ -157,13 +165,33 @@ export declare class MembersFilter extends AbstractFilter {
|
|
|
157
165
|
*/
|
|
158
166
|
filterJaql(): any;
|
|
159
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* @internal
|
|
170
|
+
*/
|
|
171
|
+
export declare class CascadingFilter extends AbstractFilter {
|
|
172
|
+
readonly filters: Filter[];
|
|
173
|
+
constructor(filters: Filter[], guid?: string);
|
|
174
|
+
/**
|
|
175
|
+
* gets the element's ID
|
|
176
|
+
*/
|
|
177
|
+
get id(): string;
|
|
178
|
+
/**
|
|
179
|
+
* Gets a serializable representation of the element
|
|
180
|
+
*/
|
|
181
|
+
serializable(): any;
|
|
182
|
+
/**
|
|
183
|
+
* Gets JAQL representing this Filter instance
|
|
184
|
+
*/
|
|
185
|
+
filterJaql(): any;
|
|
186
|
+
jaql(nested?: boolean): any;
|
|
187
|
+
}
|
|
160
188
|
/**
|
|
161
189
|
* @internal
|
|
162
190
|
*/
|
|
163
191
|
export declare class ExcludeFilter extends AbstractFilter {
|
|
164
192
|
readonly filter: Filter;
|
|
165
193
|
readonly input?: Filter;
|
|
166
|
-
constructor(filter: Filter, input?: Filter);
|
|
194
|
+
constructor(filter: Filter, input?: Filter, guid?: string);
|
|
167
195
|
/**
|
|
168
196
|
* gets the element's ID
|
|
169
197
|
*/
|
|
@@ -185,7 +213,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
|
185
213
|
operatorB?: string;
|
|
186
214
|
valueA?: Type;
|
|
187
215
|
valueB?: Type;
|
|
188
|
-
constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type);
|
|
216
|
+
constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type, guid?: string);
|
|
189
217
|
/**
|
|
190
218
|
* gets the element's ID
|
|
191
219
|
*/
|
|
@@ -204,7 +232,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
|
204
232
|
*/
|
|
205
233
|
export declare class MeasureFilter extends DoubleOperatorFilter<number> {
|
|
206
234
|
measure: Measure;
|
|
207
|
-
constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number);
|
|
235
|
+
constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, guid?: string);
|
|
208
236
|
/**
|
|
209
237
|
* gets the element's ID
|
|
210
238
|
*/
|
|
@@ -222,7 +250,7 @@ export declare class RankingFilter extends AbstractFilter {
|
|
|
222
250
|
count: number;
|
|
223
251
|
operator: string;
|
|
224
252
|
measure: Measure;
|
|
225
|
-
constructor(att: Attribute, measure: Measure, operator: string, count: number);
|
|
253
|
+
constructor(att: Attribute, measure: Measure, operator: string, count: number, guid?: string);
|
|
226
254
|
/**
|
|
227
255
|
* gets the element's ID
|
|
228
256
|
*/
|
|
@@ -240,19 +268,19 @@ export declare class RankingFilter extends AbstractFilter {
|
|
|
240
268
|
* @internal
|
|
241
269
|
*/
|
|
242
270
|
export declare class NumericFilter extends DoubleOperatorFilter<number> {
|
|
243
|
-
constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number);
|
|
271
|
+
constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, guid?: string);
|
|
244
272
|
}
|
|
245
273
|
/**
|
|
246
274
|
* @internal
|
|
247
275
|
*/
|
|
248
276
|
export declare class TextFilter extends DoubleOperatorFilter<string> {
|
|
249
|
-
constructor(att: Attribute, operator: string, value: string);
|
|
277
|
+
constructor(att: Attribute, operator: string, value: string, guid?: string);
|
|
250
278
|
}
|
|
251
279
|
/**
|
|
252
280
|
* @internal
|
|
253
281
|
*/
|
|
254
282
|
export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string> {
|
|
255
|
-
constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string);
|
|
283
|
+
constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string, guid?: string);
|
|
256
284
|
get level(): LevelAttribute;
|
|
257
285
|
get from(): string;
|
|
258
286
|
get to(): string;
|
|
@@ -269,7 +297,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
|
|
|
269
297
|
readonly count: number;
|
|
270
298
|
readonly operator: string;
|
|
271
299
|
readonly anchor?: Date | string;
|
|
272
|
-
constructor(l: LevelAttribute, offset: number, count: number, operator?: string, anchor?: Date | string);
|
|
300
|
+
constructor(l: LevelAttribute, offset: number, count: number, operator?: string, anchor?: Date | string, guid?: string);
|
|
273
301
|
get level(): LevelAttribute;
|
|
274
302
|
/**
|
|
275
303
|
* gets the element's ID
|
|
@@ -286,7 +314,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
|
|
|
286
314
|
filterJaql(): any;
|
|
287
315
|
}
|
|
288
316
|
/**
|
|
289
|
-
* @param json
|
|
317
|
+
* @param json - Filter JSON representation
|
|
290
318
|
* @internal
|
|
291
319
|
*/
|
|
292
320
|
export declare function createFilter(json: any): Filter;
|
|
@@ -25,7 +25,7 @@ export const TextOperators = {
|
|
|
25
25
|
DoesntEqual: 'doesntEqual',
|
|
26
26
|
DoesntStartWith: 'doesntStartWith',
|
|
27
27
|
DoesntContain: 'doesntContain',
|
|
28
|
-
DoesntEndWith: '
|
|
28
|
+
DoesntEndWith: 'doesntEndWith',
|
|
29
29
|
Like: 'like',
|
|
30
30
|
};
|
|
31
31
|
/**
|
|
@@ -85,6 +85,7 @@ export const FilterTypes = {
|
|
|
85
85
|
numeric: 'numeric',
|
|
86
86
|
date: 'date',
|
|
87
87
|
relativeDate: 'relativeDate',
|
|
88
|
+
cascading: 'cascading',
|
|
88
89
|
};
|
|
89
90
|
// CLASSES
|
|
90
91
|
/**
|
|
@@ -93,12 +94,13 @@ export const FilterTypes = {
|
|
|
93
94
|
* @internal
|
|
94
95
|
*/
|
|
95
96
|
class AbstractFilter extends DimensionalElement {
|
|
96
|
-
constructor(att, filterType) {
|
|
97
|
+
constructor(att, filterType, guid) {
|
|
97
98
|
super('filter', MetadataTypes.Filter);
|
|
98
99
|
this.filterType = filterType;
|
|
99
100
|
AbstractFilter.checkAttributeSupport(att);
|
|
100
101
|
this.attribute = att;
|
|
101
|
-
this.guid = guidFast(13);
|
|
102
|
+
this.guid = guid || guidFast(13);
|
|
103
|
+
this.disabled = false;
|
|
102
104
|
}
|
|
103
105
|
get name() {
|
|
104
106
|
return hash(this.jaql());
|
|
@@ -118,6 +120,9 @@ class AbstractFilter extends DimensionalElement {
|
|
|
118
120
|
* @param nested - defines whether the JAQL is nested within parent JAQL statement or a root JAQL element
|
|
119
121
|
*/
|
|
120
122
|
jaql(nested) {
|
|
123
|
+
if (this.disabled) {
|
|
124
|
+
return AbstractFilter.disabledJaql(nested);
|
|
125
|
+
}
|
|
121
126
|
const result = this.attribute.jaql(false);
|
|
122
127
|
const level = this.attribute;
|
|
123
128
|
if (level.getFormat && level.getFormat() !== undefined) {
|
|
@@ -142,13 +147,16 @@ class AbstractFilter extends DimensionalElement {
|
|
|
142
147
|
throw new TranslatableError('errors.filter.unsupportedDatetimeLevel');
|
|
143
148
|
}
|
|
144
149
|
}
|
|
150
|
+
static disabledJaql(nested) {
|
|
151
|
+
return nested ? { filter: {} } : { jaql: { filter: {} } };
|
|
152
|
+
}
|
|
145
153
|
}
|
|
146
154
|
/**
|
|
147
155
|
* @internal
|
|
148
156
|
*/
|
|
149
157
|
export class LogicalAttributeFilter extends AbstractFilter {
|
|
150
|
-
constructor(filters, operator) {
|
|
151
|
-
super(filters[0].attribute, FilterTypes.logicalAttribute);
|
|
158
|
+
constructor(filters, operator, guid) {
|
|
159
|
+
super(filters[0].attribute, FilterTypes.logicalAttribute, guid);
|
|
152
160
|
this.operator = operator;
|
|
153
161
|
this.filters = filters;
|
|
154
162
|
}
|
|
@@ -180,8 +188,8 @@ export class LogicalAttributeFilter extends AbstractFilter {
|
|
|
180
188
|
* @internal
|
|
181
189
|
*/
|
|
182
190
|
export class MembersFilter extends AbstractFilter {
|
|
183
|
-
constructor(attribute, members) {
|
|
184
|
-
super(attribute, FilterTypes.members);
|
|
191
|
+
constructor(attribute, members, guid) {
|
|
192
|
+
super(attribute, FilterTypes.members, guid);
|
|
185
193
|
this.members = members !== null && members !== void 0 ? members : [];
|
|
186
194
|
if (this.members.filter((m) => m === null || m === undefined).length > 0) {
|
|
187
195
|
throw new TranslatableError('errors.filter.membersFilterNullMember', {
|
|
@@ -212,12 +220,52 @@ export class MembersFilter extends AbstractFilter {
|
|
|
212
220
|
};
|
|
213
221
|
}
|
|
214
222
|
}
|
|
223
|
+
/**
|
|
224
|
+
* @internal
|
|
225
|
+
*/
|
|
226
|
+
export class CascadingFilter extends AbstractFilter {
|
|
227
|
+
constructor(filters, guid) {
|
|
228
|
+
super(filters[0].attribute, FilterTypes.cascading, guid);
|
|
229
|
+
this.filters = filters;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* gets the element's ID
|
|
233
|
+
*/
|
|
234
|
+
get id() {
|
|
235
|
+
return `${this.filterType}_${this.filters.map((f) => f.id).join()}`;
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Gets a serializable representation of the element
|
|
239
|
+
*/
|
|
240
|
+
serializable() {
|
|
241
|
+
const result = super.serializable();
|
|
242
|
+
result.filters = this.filters.map((f) => f.serializable());
|
|
243
|
+
return result;
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Gets JAQL representing this Filter instance
|
|
247
|
+
*/
|
|
248
|
+
filterJaql() {
|
|
249
|
+
// return empty object as jaql is handled by jaql() method
|
|
250
|
+
return {};
|
|
251
|
+
}
|
|
252
|
+
jaql(nested) {
|
|
253
|
+
if (this.disabled) {
|
|
254
|
+
return AbstractFilter.disabledJaql(nested);
|
|
255
|
+
}
|
|
256
|
+
// return jaql of all level filters treated as scope filters
|
|
257
|
+
return this.filters.map((f) => {
|
|
258
|
+
f.isScope = true;
|
|
259
|
+
return f.jaql(nested);
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
}
|
|
215
263
|
/**
|
|
216
264
|
* @internal
|
|
217
265
|
*/
|
|
218
266
|
export class ExcludeFilter extends AbstractFilter {
|
|
219
|
-
constructor(filter, input) {
|
|
220
|
-
super(filter.attribute, FilterTypes.exclude);
|
|
267
|
+
constructor(filter, input, guid) {
|
|
268
|
+
super(filter.attribute, FilterTypes.exclude, guid);
|
|
221
269
|
this.input = input;
|
|
222
270
|
this.filter = filter;
|
|
223
271
|
}
|
|
@@ -262,8 +310,8 @@ export class ExcludeFilter extends AbstractFilter {
|
|
|
262
310
|
* @internal
|
|
263
311
|
*/
|
|
264
312
|
export class DoubleOperatorFilter extends AbstractFilter {
|
|
265
|
-
constructor(att, filterType, operatorA, valueA, operatorB, valueB) {
|
|
266
|
-
super(att, filterType);
|
|
313
|
+
constructor(att, filterType, operatorA, valueA, operatorB, valueB, guid) {
|
|
314
|
+
super(att, filterType, guid);
|
|
267
315
|
if (operatorA && valueA !== undefined) {
|
|
268
316
|
this.valueA = valueA;
|
|
269
317
|
this.operatorA = operatorA;
|
|
@@ -323,8 +371,8 @@ export class DoubleOperatorFilter extends AbstractFilter {
|
|
|
323
371
|
* @internal
|
|
324
372
|
*/
|
|
325
373
|
export class MeasureFilter extends DoubleOperatorFilter {
|
|
326
|
-
constructor(att, measure, operatorA, valueA, operatorB, valueB) {
|
|
327
|
-
super(att, FilterTypes.measure, operatorA, valueA, operatorB, valueB);
|
|
374
|
+
constructor(att, measure, operatorA, valueA, operatorB, valueB, guid) {
|
|
375
|
+
super(att, FilterTypes.measure, operatorA, valueA, operatorB, valueB, guid);
|
|
328
376
|
this.measure = measure;
|
|
329
377
|
}
|
|
330
378
|
/**
|
|
@@ -349,6 +397,9 @@ export class MeasureFilter extends DoubleOperatorFilter {
|
|
|
349
397
|
return result;
|
|
350
398
|
}
|
|
351
399
|
jaql(nested) {
|
|
400
|
+
if (this.disabled) {
|
|
401
|
+
return AbstractFilter.disabledJaql(nested);
|
|
402
|
+
}
|
|
352
403
|
const result = super.jaql(nested);
|
|
353
404
|
if (this.measure instanceof DimensionalBaseMeasure) {
|
|
354
405
|
Object.entries(this.measure.jaql().jaql).forEach(([key, value]) => {
|
|
@@ -362,8 +413,8 @@ export class MeasureFilter extends DoubleOperatorFilter {
|
|
|
362
413
|
* @internal
|
|
363
414
|
*/
|
|
364
415
|
export class RankingFilter extends AbstractFilter {
|
|
365
|
-
constructor(att, measure, operator, count) {
|
|
366
|
-
super(att, FilterTypes.ranking);
|
|
416
|
+
constructor(att, measure, operator, count, guid) {
|
|
417
|
+
super(att, FilterTypes.ranking, guid);
|
|
367
418
|
this.count = count;
|
|
368
419
|
this.operator = operator;
|
|
369
420
|
this.measure = measure;
|
|
@@ -398,24 +449,24 @@ export class RankingFilter extends AbstractFilter {
|
|
|
398
449
|
* @internal
|
|
399
450
|
*/
|
|
400
451
|
export class NumericFilter extends DoubleOperatorFilter {
|
|
401
|
-
constructor(att, operatorA, valueA, operatorB, valueB) {
|
|
402
|
-
super(att, FilterTypes.numeric, operatorA, valueA, operatorB, valueB);
|
|
452
|
+
constructor(att, operatorA, valueA, operatorB, valueB, guid) {
|
|
453
|
+
super(att, FilterTypes.numeric, operatorA, valueA, operatorB, valueB, guid);
|
|
403
454
|
}
|
|
404
455
|
}
|
|
405
456
|
/**
|
|
406
457
|
* @internal
|
|
407
458
|
*/
|
|
408
459
|
export class TextFilter extends DoubleOperatorFilter {
|
|
409
|
-
constructor(att, operator, value) {
|
|
410
|
-
super(att, FilterTypes.text, operator, value);
|
|
460
|
+
constructor(att, operator, value, guid) {
|
|
461
|
+
super(att, FilterTypes.text, operator, value, undefined, undefined, guid);
|
|
411
462
|
}
|
|
412
463
|
}
|
|
413
464
|
/**
|
|
414
465
|
* @internal
|
|
415
466
|
*/
|
|
416
467
|
export class DateRangeFilter extends DoubleOperatorFilter {
|
|
417
|
-
constructor(l, valueFrom, valueTo) {
|
|
418
|
-
super(l, FilterTypes.date, DateOperators.From, valueFrom, DateOperators.To, valueTo);
|
|
468
|
+
constructor(l, valueFrom, valueTo, guid) {
|
|
469
|
+
super(l, FilterTypes.date, DateOperators.From, valueFrom, DateOperators.To, valueTo, guid);
|
|
419
470
|
if (typeof valueFrom === 'object') {
|
|
420
471
|
this.valueA = valueFrom.toISOString();
|
|
421
472
|
}
|
|
@@ -443,8 +494,8 @@ export class DateRangeFilter extends DoubleOperatorFilter {
|
|
|
443
494
|
* @internal
|
|
444
495
|
*/
|
|
445
496
|
export class RelativeDateFilter extends AbstractFilter {
|
|
446
|
-
constructor(l, offset, count, operator, anchor) {
|
|
447
|
-
super(l, FilterTypes.relativeDate);
|
|
497
|
+
constructor(l, offset, count, operator, anchor, guid) {
|
|
498
|
+
super(l, FilterTypes.relativeDate, guid);
|
|
448
499
|
if (!operator) {
|
|
449
500
|
operator = DateOperators.Next;
|
|
450
501
|
}
|
|
@@ -506,7 +557,7 @@ export class RelativeDateFilter extends AbstractFilter {
|
|
|
506
557
|
}
|
|
507
558
|
}
|
|
508
559
|
/**
|
|
509
|
-
* @param json
|
|
560
|
+
* @param json - Filter JSON representation
|
|
510
561
|
* @internal
|
|
511
562
|
*/
|
|
512
563
|
export function createFilter(json) {
|
|
@@ -11,7 +11,7 @@ import { FilterJaqlInternal, RankingFilterJaql } from './types.js';
|
|
|
11
11
|
* @param dataType - Data type
|
|
12
12
|
* @returns attribute or level attribute
|
|
13
13
|
*/
|
|
14
|
-
export declare const createAttributeHelper: (dim: string, table: string, column: string, level: string | undefined, dataType: string) => Attribute | LevelAttribute;
|
|
14
|
+
export declare const createAttributeHelper: (dim: string, table: string | undefined, column: string, level: string | undefined, dataType: string) => Attribute | LevelAttribute;
|
|
15
15
|
/**
|
|
16
16
|
* Creates an attribute or level attribute from the provided filter JAQL object
|
|
17
17
|
*
|
|
@@ -30,7 +30,7 @@ export declare const createAttributeFromFilterJaql: (jaql: FilterJaql | FilterJa
|
|
|
30
30
|
* @param agg - Aggregation function
|
|
31
31
|
* @returns measure
|
|
32
32
|
*/
|
|
33
|
-
export declare const createMeasureHelper: (dim: string, table: string, column: string, level: string | undefined, dataType: string, agg: string) => BaseMeasure;
|
|
33
|
+
export declare const createMeasureHelper: (dim: string, table: string | undefined, column: string, level: string | undefined, dataType: string, agg: string) => BaseMeasure;
|
|
34
34
|
/**
|
|
35
35
|
* Creates a measure from the provided filter JAQL object
|
|
36
36
|
*
|
|
@@ -14,17 +14,20 @@ const DATA_MODEL_MODULE_NAME = 'DM';
|
|
|
14
14
|
* @returns attribute or level attribute
|
|
15
15
|
*/
|
|
16
16
|
export const createAttributeHelper = (dim, table, column, level, dataType) => {
|
|
17
|
+
// if table is undefined, extract it from dim
|
|
18
|
+
const dimTable = table !== null && table !== void 0 ? table : dim.slice(1, -1).split('.')[0];
|
|
17
19
|
if (level) {
|
|
18
20
|
const dateLevel = DimensionalLevelAttribute.translateJaqlToGranularity({ level });
|
|
19
|
-
const
|
|
20
|
-
levelAttribute
|
|
21
|
+
const format = DimensionalLevelAttribute.getDefaultFormatForGranularity(dateLevel);
|
|
22
|
+
const levelAttribute = new DimensionalLevelAttribute(column, dim, dateLevel, format);
|
|
23
|
+
levelAttribute.composeCode = normalizeAttributeName(dimTable, column, level, DATA_MODEL_MODULE_NAME);
|
|
21
24
|
return levelAttribute;
|
|
22
25
|
}
|
|
23
26
|
const attributeType = isNumber(dataType)
|
|
24
27
|
? MetadataTypes.NumericAttribute
|
|
25
28
|
: MetadataTypes.TextAttribute;
|
|
26
29
|
const attribute = new DimensionalAttribute(column, dim, attributeType);
|
|
27
|
-
attribute.composeCode = normalizeAttributeName(
|
|
30
|
+
attribute.composeCode = normalizeAttributeName(dimTable, column, undefined, DATA_MODEL_MODULE_NAME);
|
|
28
31
|
return attribute;
|
|
29
32
|
};
|
|
30
33
|
/**
|
|
@@ -6,14 +6,16 @@ export declare const getSelectedConditionOption: (filter: ConditionFilterJaql) =
|
|
|
6
6
|
*
|
|
7
7
|
* @param attribute - Provided attribute
|
|
8
8
|
* @param conditionFilterJaql - Condition filter JAQL object
|
|
9
|
+
* @param guid - Optional GUID for the filter
|
|
9
10
|
* @returns attribute filter
|
|
10
11
|
*/
|
|
11
|
-
export declare const createAttributeFilterFromConditionFilterJaql: (attribute: Attribute, conditionFilterJaql: ConditionFilterJaql) => Filter;
|
|
12
|
+
export declare const createAttributeFilterFromConditionFilterJaql: (attribute: Attribute, conditionFilterJaql: ConditionFilterJaql, guid?: string) => Filter;
|
|
12
13
|
/**
|
|
13
14
|
* Creates a measure filter from the provided measure and condition filter JAQL object
|
|
14
15
|
*
|
|
15
16
|
* @param measure - Provided measure
|
|
16
17
|
* @param conditionFilterJaql - Condition filter JAQL object
|
|
18
|
+
* @param guid - Optional GUID for the filter
|
|
17
19
|
* @returns measure filter
|
|
18
20
|
*/
|
|
19
|
-
export declare const createMeasureFilterFromConditionFilterJaql: (measure: BaseMeasure, conditionFilterJaql: ConditionFilterJaql) => Filter;
|
|
21
|
+
export declare const createMeasureFilterFromConditionFilterJaql: (measure: BaseMeasure, conditionFilterJaql: ConditionFilterJaql, guid?: string) => Filter;
|
|
@@ -35,12 +35,8 @@ export const getSelectedConditionOption = (filter) => {
|
|
|
35
35
|
return ConditionFilterType.IS_WITHIN;
|
|
36
36
|
if (isGreaterThanCondition(filter))
|
|
37
37
|
return ConditionFilterType.GREATER_THAN;
|
|
38
|
-
if (isGreaterThanOrEqualCondition(filter))
|
|
39
|
-
return ConditionFilterType.GREATER_THAN_OR_EQUAL;
|
|
40
38
|
if (isLessThanCondition(filter))
|
|
41
39
|
return ConditionFilterType.LESS_THAN;
|
|
42
|
-
if (isLessThanOrEqualCondition(filter))
|
|
43
|
-
return ConditionFilterType.LESS_THAN_OR_EQUAL;
|
|
44
40
|
if (isEqualsCondition(filter))
|
|
45
41
|
return ConditionFilterType.EQUALS;
|
|
46
42
|
if (isNotEqualCondition(filter))
|
|
@@ -61,14 +57,19 @@ export const getSelectedConditionOption = (filter) => {
|
|
|
61
57
|
return ConditionFilterType.ENDS_WITH;
|
|
62
58
|
if (isStartsWithCondition(filter))
|
|
63
59
|
return ConditionFilterType.STARTS_WITH;
|
|
64
|
-
if (isBetweenCondition(filter))
|
|
65
|
-
return ConditionFilterType.BETWEEN;
|
|
66
60
|
if (isNotBetweenCondition(filter))
|
|
67
61
|
return ConditionFilterType.IS_NOT_BETWEEN;
|
|
68
62
|
if (isMembersCondition(filter))
|
|
69
63
|
return ConditionFilterType.IS;
|
|
70
64
|
if (isMultipleCondition(filter))
|
|
71
65
|
return ConditionFilterType.MULTIPLE_CONDITION;
|
|
66
|
+
// Need to verify BETWEEN case before the GREATER_THAN_OR_EQUAL and LESS_THAN_OR_EQUAL due to missing `filter.isBetween` property in some cases
|
|
67
|
+
if (isBetweenCondition(filter))
|
|
68
|
+
return ConditionFilterType.BETWEEN;
|
|
69
|
+
if (isGreaterThanOrEqualCondition(filter))
|
|
70
|
+
return ConditionFilterType.GREATER_THAN_OR_EQUAL;
|
|
71
|
+
if (isLessThanOrEqualCondition(filter))
|
|
72
|
+
return ConditionFilterType.LESS_THAN_OR_EQUAL;
|
|
72
73
|
return ConditionFilterType.NONE;
|
|
73
74
|
};
|
|
74
75
|
/**
|
|
@@ -76,54 +77,55 @@ export const getSelectedConditionOption = (filter) => {
|
|
|
76
77
|
*
|
|
77
78
|
* @param attribute - Provided attribute
|
|
78
79
|
* @param conditionFilterJaql - Condition filter JAQL object
|
|
80
|
+
* @param guid - Optional GUID for the filter
|
|
79
81
|
* @returns attribute filter
|
|
80
82
|
*/
|
|
81
|
-
export const createAttributeFilterFromConditionFilterJaql = (attribute, conditionFilterJaql) => {
|
|
83
|
+
export const createAttributeFilterFromConditionFilterJaql = (attribute, conditionFilterJaql, guid) => {
|
|
82
84
|
var _a, _b;
|
|
83
85
|
const conditionType = getSelectedConditionOption(conditionFilterJaql);
|
|
84
86
|
switch (conditionType) {
|
|
85
87
|
case ConditionFilterType.BOTTOM:
|
|
86
88
|
if (conditionFilterJaql.by && 'agg' in conditionFilterJaql.by) {
|
|
87
|
-
return withComposeCode(filterFactory.bottomRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.BOTTOM]);
|
|
89
|
+
return withComposeCode(filterFactory.bottomRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.BOTTOM], guid);
|
|
88
90
|
}
|
|
89
91
|
break;
|
|
90
92
|
case ConditionFilterType.EQUALS:
|
|
91
|
-
return withComposeCode(filterFactory.equals)(attribute, conditionFilterJaql[ConditionFilterType.EQUALS]);
|
|
93
|
+
return withComposeCode(filterFactory.equals)(attribute, conditionFilterJaql[ConditionFilterType.EQUALS], guid);
|
|
92
94
|
case ConditionFilterType.GREATER_THAN:
|
|
93
|
-
return withComposeCode(filterFactory.greaterThan)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN]);
|
|
95
|
+
return withComposeCode(filterFactory.greaterThan)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN], guid);
|
|
94
96
|
case ConditionFilterType.GREATER_THAN_OR_EQUAL:
|
|
95
|
-
return withComposeCode(filterFactory.greaterThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL]);
|
|
97
|
+
return withComposeCode(filterFactory.greaterThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL], guid);
|
|
96
98
|
case ConditionFilterType.TOP:
|
|
97
99
|
if (conditionFilterJaql.by) {
|
|
98
|
-
return withComposeCode(filterFactory.topRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.TOP]);
|
|
100
|
+
return withComposeCode(filterFactory.topRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.TOP], guid);
|
|
99
101
|
}
|
|
100
102
|
break;
|
|
101
103
|
case ConditionFilterType.STARTS_WITH:
|
|
102
|
-
return withComposeCode(filterFactory.startsWith)(attribute, conditionFilterJaql[ConditionFilterType.STARTS_WITH]);
|
|
104
|
+
return withComposeCode(filterFactory.startsWith)(attribute, conditionFilterJaql[ConditionFilterType.STARTS_WITH], guid);
|
|
103
105
|
case ConditionFilterType.DOESNT_START_WITH:
|
|
104
|
-
return withComposeCode(filterFactory.doesntStartWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_START_WITH]);
|
|
106
|
+
return withComposeCode(filterFactory.doesntStartWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_START_WITH], guid);
|
|
105
107
|
case ConditionFilterType.ENDS_WITH:
|
|
106
|
-
return withComposeCode(filterFactory.endsWith)(attribute, conditionFilterJaql[ConditionFilterType.ENDS_WITH]);
|
|
108
|
+
return withComposeCode(filterFactory.endsWith)(attribute, conditionFilterJaql[ConditionFilterType.ENDS_WITH], guid);
|
|
107
109
|
case ConditionFilterType.DOESNT_END_WITH:
|
|
108
|
-
return withComposeCode(filterFactory.doesntEndWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_END_WITH]);
|
|
110
|
+
return withComposeCode(filterFactory.doesntEndWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_END_WITH], guid);
|
|
109
111
|
case ConditionFilterType.CONTAINS:
|
|
110
|
-
return withComposeCode(filterFactory.contains)(attribute, conditionFilterJaql[ConditionFilterType.CONTAINS]);
|
|
112
|
+
return withComposeCode(filterFactory.contains)(attribute, conditionFilterJaql[ConditionFilterType.CONTAINS], guid);
|
|
111
113
|
case ConditionFilterType.DOESNT_CONTAIN:
|
|
112
|
-
return withComposeCode(filterFactory.doesntContain)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_CONTAIN]);
|
|
114
|
+
return withComposeCode(filterFactory.doesntContain)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_CONTAIN], guid);
|
|
113
115
|
case ConditionFilterType.LESS_THAN:
|
|
114
|
-
return withComposeCode(filterFactory.lessThan)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN]);
|
|
116
|
+
return withComposeCode(filterFactory.lessThan)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN], guid);
|
|
115
117
|
case ConditionFilterType.LESS_THAN_OR_EQUAL:
|
|
116
|
-
return withComposeCode(filterFactory.lessThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL]);
|
|
118
|
+
return withComposeCode(filterFactory.lessThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL], guid);
|
|
117
119
|
case ConditionFilterType.BETWEEN:
|
|
118
|
-
return withComposeCode(filterFactory.between)(attribute, conditionFilterJaql.from, conditionFilterJaql.to);
|
|
120
|
+
return withComposeCode(filterFactory.between)(attribute, conditionFilterJaql.from, conditionFilterJaql.to, guid);
|
|
119
121
|
case ConditionFilterType.IS_NOT_BETWEEN:
|
|
120
|
-
return withComposeCode(filterFactory.exclude)(withComposeCode(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));
|
|
122
|
+
return withComposeCode(filterFactory.exclude)(withComposeCode(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));
|
|
121
123
|
case ConditionFilterType.MULTIPLE_CONDITION:
|
|
122
124
|
if (conditionFilterJaql.and) {
|
|
123
|
-
return withComposeCode(filterFactory.intersection)(conditionFilterJaql.and.map((c) => createAttributeFilterFromConditionFilterJaql(attribute, c)));
|
|
125
|
+
return withComposeCode(filterFactory.intersection)(conditionFilterJaql.and.map((c) => createAttributeFilterFromConditionFilterJaql(attribute, c, guid)), guid);
|
|
124
126
|
}
|
|
125
127
|
if (conditionFilterJaql.or) {
|
|
126
|
-
return withComposeCode(filterFactory.union)(conditionFilterJaql.or.map((c) => createAttributeFilterFromConditionFilterJaql(attribute, c)));
|
|
128
|
+
return withComposeCode(filterFactory.union)(conditionFilterJaql.or.map((c) => createAttributeFilterFromConditionFilterJaql(attribute, c, guid)), guid);
|
|
127
129
|
}
|
|
128
130
|
break;
|
|
129
131
|
case ConditionFilterType.AFTER:
|
|
@@ -140,23 +142,24 @@ export const createAttributeFilterFromConditionFilterJaql = (attribute, conditio
|
|
|
140
142
|
*
|
|
141
143
|
* @param measure - Provided measure
|
|
142
144
|
* @param conditionFilterJaql - Condition filter JAQL object
|
|
145
|
+
* @param guid - Optional GUID for the filter
|
|
143
146
|
* @returns measure filter
|
|
144
147
|
*/
|
|
145
|
-
export const createMeasureFilterFromConditionFilterJaql = (measure, conditionFilterJaql) => {
|
|
148
|
+
export const createMeasureFilterFromConditionFilterJaql = (measure, conditionFilterJaql, guid) => {
|
|
146
149
|
const conditionType = getSelectedConditionOption(conditionFilterJaql);
|
|
147
150
|
switch (conditionType) {
|
|
148
151
|
case ConditionFilterType.EQUALS:
|
|
149
|
-
return withComposeCode(filterFactory.measureEquals)(measure, conditionFilterJaql[ConditionFilterType.EQUALS]);
|
|
152
|
+
return withComposeCode(filterFactory.measureEquals)(measure, conditionFilterJaql[ConditionFilterType.EQUALS], guid);
|
|
150
153
|
case ConditionFilterType.GREATER_THAN:
|
|
151
|
-
return withComposeCode(filterFactory.measureGreaterThan)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN]);
|
|
154
|
+
return withComposeCode(filterFactory.measureGreaterThan)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN], guid);
|
|
152
155
|
case ConditionFilterType.GREATER_THAN_OR_EQUAL:
|
|
153
|
-
return withComposeCode(filterFactory.measureGreaterThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL]);
|
|
156
|
+
return withComposeCode(filterFactory.measureGreaterThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL], guid);
|
|
154
157
|
case ConditionFilterType.LESS_THAN:
|
|
155
|
-
return withComposeCode(filterFactory.measureLessThan)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN]);
|
|
158
|
+
return withComposeCode(filterFactory.measureLessThan)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN], guid);
|
|
156
159
|
case ConditionFilterType.LESS_THAN_OR_EQUAL:
|
|
157
|
-
return withComposeCode(filterFactory.measureLessThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL]);
|
|
160
|
+
return withComposeCode(filterFactory.measureLessThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL], guid);
|
|
158
161
|
case ConditionFilterType.BETWEEN:
|
|
159
|
-
return withComposeCode(filterFactory.measureBetween)(measure, conditionFilterJaql.from, conditionFilterJaql.to);
|
|
162
|
+
return withComposeCode(filterFactory.measureBetween)(measure, conditionFilterJaql.from, conditionFilterJaql.to, guid);
|
|
160
163
|
}
|
|
161
164
|
throw 'Jaql contains unsupported condition filter: ' + JSON.stringify(conditionFilterJaql);
|
|
162
165
|
};
|
|
@@ -40,7 +40,7 @@ export function stringifyHelper(arg) {
|
|
|
40
40
|
*/
|
|
41
41
|
export function withComposeCode(func) {
|
|
42
42
|
return function (...args) {
|
|
43
|
-
const argValues = args.map(stringifyHelper).join(', ');
|
|
43
|
+
const argValues = args.map(stringifyHelper).join(', ').replace(/, $/, '');
|
|
44
44
|
const signature = `filterFactory.${func.name}(${argValues})`;
|
|
45
45
|
const filter = func(...args);
|
|
46
46
|
filter.composeCode = signature;
|
|
@@ -5,63 +5,69 @@ import { FilterJaql } from '../../types.js';
|
|
|
5
5
|
* Creates a generic filter (aka pass-through JAQL filter) if the JAQL cannot be translated to a specific filter type.
|
|
6
6
|
*
|
|
7
7
|
* @param jaql - The JAQL object.
|
|
8
|
-
* @param
|
|
8
|
+
* @param guid - Optional GUID for the filter
|
|
9
9
|
* @returns A generic Filter object.
|
|
10
10
|
*/
|
|
11
|
-
export declare const createGenericFilter: (jaql: FilterJaql | FilterJaqlInternal,
|
|
11
|
+
export declare const createGenericFilter: (jaql: FilterJaql | FilterJaqlInternal, guid?: string) => Filter;
|
|
12
12
|
/**
|
|
13
13
|
* Creates a filter that includes all members of the attribute.
|
|
14
14
|
*
|
|
15
15
|
* @param attribute - The attribute.
|
|
16
|
+
* @param guid - Optional GUID for the filter
|
|
16
17
|
* @returns The created Filter object.
|
|
17
18
|
*/
|
|
18
|
-
export declare const createFilterIncludeAll: (attribute: Attribute) => Filter;
|
|
19
|
+
export declare const createFilterIncludeAll: (attribute: Attribute, guid?: string) => Filter;
|
|
19
20
|
/**
|
|
20
21
|
* Creates a filter from a specific items filter JAQL object.
|
|
21
22
|
*
|
|
22
23
|
* @param attribute - attribute
|
|
23
24
|
* @param specificItemsFilterJaql - Specific Items Filter Jaql
|
|
25
|
+
* @param guid - Optional GUID for the filter
|
|
24
26
|
* @returns Filter object
|
|
25
27
|
*/
|
|
26
|
-
export declare const createFilterFromSpecificItemsFilterJaql: (attribute: Attribute, specificItemsFilterJaql: SpecificItemsFilterJaql) => Filter;
|
|
28
|
+
export declare const createFilterFromSpecificItemsFilterJaql: (attribute: Attribute, specificItemsFilterJaql: SpecificItemsFilterJaql, guid?: string) => Filter;
|
|
27
29
|
/**
|
|
28
30
|
* Creates a filter from a date range filter JAQL object.
|
|
29
31
|
*
|
|
30
32
|
* @param attribute - attribute
|
|
31
33
|
* @param rangeFilterJaql - Range Filter Jaql
|
|
34
|
+
* @param guid - Optional GUID for the filter
|
|
32
35
|
* @returns Filter object
|
|
33
36
|
*/
|
|
34
|
-
export declare const createFilterFromDateRangeFilterJaql: (attribute: LevelAttribute, rangeFilterJaql: RangeFilterJaql) => Filter;
|
|
37
|
+
export declare const createFilterFromDateRangeFilterJaql: (attribute: LevelAttribute, rangeFilterJaql: RangeFilterJaql, guid?: string) => Filter;
|
|
35
38
|
/**
|
|
36
39
|
* Creates a filter from a numeric range filter JAQL object.
|
|
37
40
|
*
|
|
38
41
|
* @param attribute - attribute
|
|
39
42
|
* @param rangeFilterJaql - Range Filter Jaql
|
|
43
|
+
* @param guid - Optional GUID for the filter
|
|
40
44
|
* @returns Filter object
|
|
41
45
|
*/
|
|
42
|
-
export declare const createFilterFromNumericRangeJaql: (attribute: Attribute, rangeFilterJaql: RangeFilterJaql) => Filter;
|
|
46
|
+
export declare const createFilterFromNumericRangeJaql: (attribute: Attribute, rangeFilterJaql: RangeFilterJaql, guid?: string) => Filter;
|
|
43
47
|
/**
|
|
44
48
|
* Creates a filter from a period filter JAQL object.
|
|
45
49
|
*
|
|
46
50
|
* @param attribute - attribute
|
|
47
51
|
* @param periodFilterJaql - Period Filter Jaql
|
|
52
|
+
* @param guid - Optional GUID for the filter
|
|
48
53
|
* @returns Filter object
|
|
49
54
|
*/
|
|
50
|
-
export declare const createFilterFromPeriodFilterJaql: (attribute: LevelAttribute, periodFilterJaql: PeriodFilterJaql) => Filter;
|
|
55
|
+
export declare const createFilterFromPeriodFilterJaql: (attribute: LevelAttribute, periodFilterJaql: PeriodFilterJaql, guid?: string) => Filter;
|
|
51
56
|
/**
|
|
52
57
|
* Creates a filter from a condition filter JAQL object.
|
|
53
58
|
*
|
|
54
59
|
* @param attribute - attribute
|
|
55
60
|
* @param conditionFilterJaql - Condition Filter Jaql
|
|
56
61
|
* @param measure - measure
|
|
62
|
+
* @param guid - Optional GUID for the filter
|
|
57
63
|
* @returns Filter object
|
|
58
64
|
*/
|
|
59
|
-
export declare const createFilterFromConditionFilterJaql: (attribute: Attribute, conditionFilterJaql: ConditionFilterJaql, measure?: BaseMeasure) => Filter;
|
|
65
|
+
export declare const createFilterFromConditionFilterJaql: (attribute: Attribute, conditionFilterJaql: ConditionFilterJaql, measure?: BaseMeasure, guid?: string) => Filter;
|
|
60
66
|
/**
|
|
61
67
|
* Creates a filter from a filter JAQL object.
|
|
62
68
|
*
|
|
63
69
|
* @param jaql - The filter JAQL object.
|
|
64
|
-
* @param
|
|
70
|
+
* @param guid - Optional GUID for the filter
|
|
65
71
|
* @returns Filter object.
|
|
66
72
|
*/
|
|
67
|
-
export declare const createFilterFromJaqlInternal: (jaql: FilterJaqlInternal,
|
|
73
|
+
export declare const createFilterFromJaqlInternal: (jaql: FilterJaqlInternal, guid?: string) => Filter;
|