@sisense/sdk-data 1.11.0 → 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/filters/factory.d.ts +80 -42
- package/dist/dimensional-model/filters/factory.js +123 -85
- package/dist/dimensional-model/filters/filters.d.ts +34 -12
- package/dist/dimensional-model/filters/filters.js +69 -27
- package/dist/dimensional-model/filters/utils/condition-filter-util.d.ts +4 -2
- package/dist/dimensional-model/filters/utils/condition-filter-util.js +27 -25
- 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/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
|
|
@@ -98,7 +99,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
98
99
|
* @internal
|
|
99
100
|
*/
|
|
100
101
|
disabled: boolean;
|
|
101
|
-
constructor(att: Attribute, filterType: string);
|
|
102
|
+
constructor(att: Attribute, filterType: string, guid?: string);
|
|
102
103
|
get name(): string;
|
|
103
104
|
/**
|
|
104
105
|
* Gets JAQL representing this Filter instance
|
|
@@ -123,6 +124,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
123
124
|
*/
|
|
124
125
|
jaql(nested?: boolean): any;
|
|
125
126
|
static checkAttributeSupport(attribute: Attribute): void;
|
|
127
|
+
static disabledJaql(nested?: boolean): any;
|
|
126
128
|
}
|
|
127
129
|
/**
|
|
128
130
|
* @internal
|
|
@@ -130,7 +132,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
130
132
|
export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
131
133
|
readonly filters: Filter[];
|
|
132
134
|
readonly operator: string;
|
|
133
|
-
constructor(filters: Filter[], operator: string);
|
|
135
|
+
constructor(filters: Filter[], operator: string, guid?: string);
|
|
134
136
|
/**
|
|
135
137
|
* gets the element's ID
|
|
136
138
|
*/
|
|
@@ -149,7 +151,7 @@ export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
|
149
151
|
*/
|
|
150
152
|
export declare class MembersFilter extends AbstractFilter {
|
|
151
153
|
readonly members: any[];
|
|
152
|
-
constructor(attribute: Attribute, members?: any[]);
|
|
154
|
+
constructor(attribute: Attribute, members?: any[], guid?: string);
|
|
153
155
|
/**
|
|
154
156
|
* gets the element's ID
|
|
155
157
|
*/
|
|
@@ -163,13 +165,33 @@ export declare class MembersFilter extends AbstractFilter {
|
|
|
163
165
|
*/
|
|
164
166
|
filterJaql(): any;
|
|
165
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
|
+
}
|
|
166
188
|
/**
|
|
167
189
|
* @internal
|
|
168
190
|
*/
|
|
169
191
|
export declare class ExcludeFilter extends AbstractFilter {
|
|
170
192
|
readonly filter: Filter;
|
|
171
193
|
readonly input?: Filter;
|
|
172
|
-
constructor(filter: Filter, input?: Filter);
|
|
194
|
+
constructor(filter: Filter, input?: Filter, guid?: string);
|
|
173
195
|
/**
|
|
174
196
|
* gets the element's ID
|
|
175
197
|
*/
|
|
@@ -191,7 +213,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
|
191
213
|
operatorB?: string;
|
|
192
214
|
valueA?: Type;
|
|
193
215
|
valueB?: Type;
|
|
194
|
-
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);
|
|
195
217
|
/**
|
|
196
218
|
* gets the element's ID
|
|
197
219
|
*/
|
|
@@ -210,7 +232,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
|
210
232
|
*/
|
|
211
233
|
export declare class MeasureFilter extends DoubleOperatorFilter<number> {
|
|
212
234
|
measure: Measure;
|
|
213
|
-
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);
|
|
214
236
|
/**
|
|
215
237
|
* gets the element's ID
|
|
216
238
|
*/
|
|
@@ -228,7 +250,7 @@ export declare class RankingFilter extends AbstractFilter {
|
|
|
228
250
|
count: number;
|
|
229
251
|
operator: string;
|
|
230
252
|
measure: Measure;
|
|
231
|
-
constructor(att: Attribute, measure: Measure, operator: string, count: number);
|
|
253
|
+
constructor(att: Attribute, measure: Measure, operator: string, count: number, guid?: string);
|
|
232
254
|
/**
|
|
233
255
|
* gets the element's ID
|
|
234
256
|
*/
|
|
@@ -246,19 +268,19 @@ export declare class RankingFilter extends AbstractFilter {
|
|
|
246
268
|
* @internal
|
|
247
269
|
*/
|
|
248
270
|
export declare class NumericFilter extends DoubleOperatorFilter<number> {
|
|
249
|
-
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);
|
|
250
272
|
}
|
|
251
273
|
/**
|
|
252
274
|
* @internal
|
|
253
275
|
*/
|
|
254
276
|
export declare class TextFilter extends DoubleOperatorFilter<string> {
|
|
255
|
-
constructor(att: Attribute, operator: string, value: string);
|
|
277
|
+
constructor(att: Attribute, operator: string, value: string, guid?: string);
|
|
256
278
|
}
|
|
257
279
|
/**
|
|
258
280
|
* @internal
|
|
259
281
|
*/
|
|
260
282
|
export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string> {
|
|
261
|
-
constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string);
|
|
283
|
+
constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string, guid?: string);
|
|
262
284
|
get level(): LevelAttribute;
|
|
263
285
|
get from(): string;
|
|
264
286
|
get to(): string;
|
|
@@ -275,7 +297,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
|
|
|
275
297
|
readonly count: number;
|
|
276
298
|
readonly operator: string;
|
|
277
299
|
readonly anchor?: Date | string;
|
|
278
|
-
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);
|
|
279
301
|
get level(): LevelAttribute;
|
|
280
302
|
/**
|
|
281
303
|
* gets the element's ID
|
|
@@ -292,7 +314,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
|
|
|
292
314
|
filterJaql(): any;
|
|
293
315
|
}
|
|
294
316
|
/**
|
|
295
|
-
* @param json
|
|
317
|
+
* @param json - Filter JSON representation
|
|
296
318
|
* @internal
|
|
297
319
|
*/
|
|
298
320
|
export declare function createFilter(json: any): Filter;
|
|
@@ -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,12 @@ 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);
|
|
102
103
|
this.disabled = false;
|
|
103
104
|
}
|
|
104
105
|
get name() {
|
|
@@ -119,9 +120,8 @@ class AbstractFilter extends DimensionalElement {
|
|
|
119
120
|
* @param nested - defines whether the JAQL is nested within parent JAQL statement or a root JAQL element
|
|
120
121
|
*/
|
|
121
122
|
jaql(nested) {
|
|
122
|
-
// if the filter is disabled, return empty filter JAQL
|
|
123
123
|
if (this.disabled) {
|
|
124
|
-
return nested
|
|
124
|
+
return AbstractFilter.disabledJaql(nested);
|
|
125
125
|
}
|
|
126
126
|
const result = this.attribute.jaql(false);
|
|
127
127
|
const level = this.attribute;
|
|
@@ -147,13 +147,16 @@ class AbstractFilter extends DimensionalElement {
|
|
|
147
147
|
throw new TranslatableError('errors.filter.unsupportedDatetimeLevel');
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
|
+
static disabledJaql(nested) {
|
|
151
|
+
return nested ? { filter: {} } : { jaql: { filter: {} } };
|
|
152
|
+
}
|
|
150
153
|
}
|
|
151
154
|
/**
|
|
152
155
|
* @internal
|
|
153
156
|
*/
|
|
154
157
|
export class LogicalAttributeFilter extends AbstractFilter {
|
|
155
|
-
constructor(filters, operator) {
|
|
156
|
-
super(filters[0].attribute, FilterTypes.logicalAttribute);
|
|
158
|
+
constructor(filters, operator, guid) {
|
|
159
|
+
super(filters[0].attribute, FilterTypes.logicalAttribute, guid);
|
|
157
160
|
this.operator = operator;
|
|
158
161
|
this.filters = filters;
|
|
159
162
|
}
|
|
@@ -185,8 +188,8 @@ export class LogicalAttributeFilter extends AbstractFilter {
|
|
|
185
188
|
* @internal
|
|
186
189
|
*/
|
|
187
190
|
export class MembersFilter extends AbstractFilter {
|
|
188
|
-
constructor(attribute, members) {
|
|
189
|
-
super(attribute, FilterTypes.members);
|
|
191
|
+
constructor(attribute, members, guid) {
|
|
192
|
+
super(attribute, FilterTypes.members, guid);
|
|
190
193
|
this.members = members !== null && members !== void 0 ? members : [];
|
|
191
194
|
if (this.members.filter((m) => m === null || m === undefined).length > 0) {
|
|
192
195
|
throw new TranslatableError('errors.filter.membersFilterNullMember', {
|
|
@@ -217,12 +220,52 @@ export class MembersFilter extends AbstractFilter {
|
|
|
217
220
|
};
|
|
218
221
|
}
|
|
219
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
|
+
}
|
|
220
263
|
/**
|
|
221
264
|
* @internal
|
|
222
265
|
*/
|
|
223
266
|
export class ExcludeFilter extends AbstractFilter {
|
|
224
|
-
constructor(filter, input) {
|
|
225
|
-
super(filter.attribute, FilterTypes.exclude);
|
|
267
|
+
constructor(filter, input, guid) {
|
|
268
|
+
super(filter.attribute, FilterTypes.exclude, guid);
|
|
226
269
|
this.input = input;
|
|
227
270
|
this.filter = filter;
|
|
228
271
|
}
|
|
@@ -267,8 +310,8 @@ export class ExcludeFilter extends AbstractFilter {
|
|
|
267
310
|
* @internal
|
|
268
311
|
*/
|
|
269
312
|
export class DoubleOperatorFilter extends AbstractFilter {
|
|
270
|
-
constructor(att, filterType, operatorA, valueA, operatorB, valueB) {
|
|
271
|
-
super(att, filterType);
|
|
313
|
+
constructor(att, filterType, operatorA, valueA, operatorB, valueB, guid) {
|
|
314
|
+
super(att, filterType, guid);
|
|
272
315
|
if (operatorA && valueA !== undefined) {
|
|
273
316
|
this.valueA = valueA;
|
|
274
317
|
this.operatorA = operatorA;
|
|
@@ -328,8 +371,8 @@ export class DoubleOperatorFilter extends AbstractFilter {
|
|
|
328
371
|
* @internal
|
|
329
372
|
*/
|
|
330
373
|
export class MeasureFilter extends DoubleOperatorFilter {
|
|
331
|
-
constructor(att, measure, operatorA, valueA, operatorB, valueB) {
|
|
332
|
-
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);
|
|
333
376
|
this.measure = measure;
|
|
334
377
|
}
|
|
335
378
|
/**
|
|
@@ -354,9 +397,8 @@ export class MeasureFilter extends DoubleOperatorFilter {
|
|
|
354
397
|
return result;
|
|
355
398
|
}
|
|
356
399
|
jaql(nested) {
|
|
357
|
-
// if the filter is disabled, return empty filter JAQL
|
|
358
400
|
if (this.disabled) {
|
|
359
|
-
return nested
|
|
401
|
+
return AbstractFilter.disabledJaql(nested);
|
|
360
402
|
}
|
|
361
403
|
const result = super.jaql(nested);
|
|
362
404
|
if (this.measure instanceof DimensionalBaseMeasure) {
|
|
@@ -371,8 +413,8 @@ export class MeasureFilter extends DoubleOperatorFilter {
|
|
|
371
413
|
* @internal
|
|
372
414
|
*/
|
|
373
415
|
export class RankingFilter extends AbstractFilter {
|
|
374
|
-
constructor(att, measure, operator, count) {
|
|
375
|
-
super(att, FilterTypes.ranking);
|
|
416
|
+
constructor(att, measure, operator, count, guid) {
|
|
417
|
+
super(att, FilterTypes.ranking, guid);
|
|
376
418
|
this.count = count;
|
|
377
419
|
this.operator = operator;
|
|
378
420
|
this.measure = measure;
|
|
@@ -407,24 +449,24 @@ export class RankingFilter extends AbstractFilter {
|
|
|
407
449
|
* @internal
|
|
408
450
|
*/
|
|
409
451
|
export class NumericFilter extends DoubleOperatorFilter {
|
|
410
|
-
constructor(att, operatorA, valueA, operatorB, valueB) {
|
|
411
|
-
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);
|
|
412
454
|
}
|
|
413
455
|
}
|
|
414
456
|
/**
|
|
415
457
|
* @internal
|
|
416
458
|
*/
|
|
417
459
|
export class TextFilter extends DoubleOperatorFilter {
|
|
418
|
-
constructor(att, operator, value) {
|
|
419
|
-
super(att, FilterTypes.text, operator, value);
|
|
460
|
+
constructor(att, operator, value, guid) {
|
|
461
|
+
super(att, FilterTypes.text, operator, value, undefined, undefined, guid);
|
|
420
462
|
}
|
|
421
463
|
}
|
|
422
464
|
/**
|
|
423
465
|
* @internal
|
|
424
466
|
*/
|
|
425
467
|
export class DateRangeFilter extends DoubleOperatorFilter {
|
|
426
|
-
constructor(l, valueFrom, valueTo) {
|
|
427
|
-
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);
|
|
428
470
|
if (typeof valueFrom === 'object') {
|
|
429
471
|
this.valueA = valueFrom.toISOString();
|
|
430
472
|
}
|
|
@@ -452,8 +494,8 @@ export class DateRangeFilter extends DoubleOperatorFilter {
|
|
|
452
494
|
* @internal
|
|
453
495
|
*/
|
|
454
496
|
export class RelativeDateFilter extends AbstractFilter {
|
|
455
|
-
constructor(l, offset, count, operator, anchor) {
|
|
456
|
-
super(l, FilterTypes.relativeDate);
|
|
497
|
+
constructor(l, offset, count, operator, anchor, guid) {
|
|
498
|
+
super(l, FilterTypes.relativeDate, guid);
|
|
457
499
|
if (!operator) {
|
|
458
500
|
operator = DateOperators.Next;
|
|
459
501
|
}
|
|
@@ -515,7 +557,7 @@ export class RelativeDateFilter extends AbstractFilter {
|
|
|
515
557
|
}
|
|
516
558
|
}
|
|
517
559
|
/**
|
|
518
|
-
* @param json
|
|
560
|
+
* @param json - Filter JSON representation
|
|
519
561
|
* @internal
|
|
520
562
|
*/
|
|
521
563
|
export function createFilter(json) {
|
|
@@ -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;
|
|
@@ -77,54 +77,55 @@ export const getSelectedConditionOption = (filter) => {
|
|
|
77
77
|
*
|
|
78
78
|
* @param attribute - Provided attribute
|
|
79
79
|
* @param conditionFilterJaql - Condition filter JAQL object
|
|
80
|
+
* @param guid - Optional GUID for the filter
|
|
80
81
|
* @returns attribute filter
|
|
81
82
|
*/
|
|
82
|
-
export const createAttributeFilterFromConditionFilterJaql = (attribute, conditionFilterJaql) => {
|
|
83
|
+
export const createAttributeFilterFromConditionFilterJaql = (attribute, conditionFilterJaql, guid) => {
|
|
83
84
|
var _a, _b;
|
|
84
85
|
const conditionType = getSelectedConditionOption(conditionFilterJaql);
|
|
85
86
|
switch (conditionType) {
|
|
86
87
|
case ConditionFilterType.BOTTOM:
|
|
87
88
|
if (conditionFilterJaql.by && 'agg' in conditionFilterJaql.by) {
|
|
88
|
-
return withComposeCode(filterFactory.bottomRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.BOTTOM]);
|
|
89
|
+
return withComposeCode(filterFactory.bottomRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.BOTTOM], guid);
|
|
89
90
|
}
|
|
90
91
|
break;
|
|
91
92
|
case ConditionFilterType.EQUALS:
|
|
92
|
-
return withComposeCode(filterFactory.equals)(attribute, conditionFilterJaql[ConditionFilterType.EQUALS]);
|
|
93
|
+
return withComposeCode(filterFactory.equals)(attribute, conditionFilterJaql[ConditionFilterType.EQUALS], guid);
|
|
93
94
|
case ConditionFilterType.GREATER_THAN:
|
|
94
|
-
return withComposeCode(filterFactory.greaterThan)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN]);
|
|
95
|
+
return withComposeCode(filterFactory.greaterThan)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN], guid);
|
|
95
96
|
case ConditionFilterType.GREATER_THAN_OR_EQUAL:
|
|
96
|
-
return withComposeCode(filterFactory.greaterThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL]);
|
|
97
|
+
return withComposeCode(filterFactory.greaterThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL], guid);
|
|
97
98
|
case ConditionFilterType.TOP:
|
|
98
99
|
if (conditionFilterJaql.by) {
|
|
99
|
-
return withComposeCode(filterFactory.topRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.TOP]);
|
|
100
|
+
return withComposeCode(filterFactory.topRanking)(attribute, createMeasureFromRankingFilterJaql(conditionFilterJaql.by), conditionFilterJaql[ConditionFilterType.TOP], guid);
|
|
100
101
|
}
|
|
101
102
|
break;
|
|
102
103
|
case ConditionFilterType.STARTS_WITH:
|
|
103
|
-
return withComposeCode(filterFactory.startsWith)(attribute, conditionFilterJaql[ConditionFilterType.STARTS_WITH]);
|
|
104
|
+
return withComposeCode(filterFactory.startsWith)(attribute, conditionFilterJaql[ConditionFilterType.STARTS_WITH], guid);
|
|
104
105
|
case ConditionFilterType.DOESNT_START_WITH:
|
|
105
|
-
return withComposeCode(filterFactory.doesntStartWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_START_WITH]);
|
|
106
|
+
return withComposeCode(filterFactory.doesntStartWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_START_WITH], guid);
|
|
106
107
|
case ConditionFilterType.ENDS_WITH:
|
|
107
|
-
return withComposeCode(filterFactory.endsWith)(attribute, conditionFilterJaql[ConditionFilterType.ENDS_WITH]);
|
|
108
|
+
return withComposeCode(filterFactory.endsWith)(attribute, conditionFilterJaql[ConditionFilterType.ENDS_WITH], guid);
|
|
108
109
|
case ConditionFilterType.DOESNT_END_WITH:
|
|
109
|
-
return withComposeCode(filterFactory.doesntEndWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_END_WITH]);
|
|
110
|
+
return withComposeCode(filterFactory.doesntEndWith)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_END_WITH], guid);
|
|
110
111
|
case ConditionFilterType.CONTAINS:
|
|
111
|
-
return withComposeCode(filterFactory.contains)(attribute, conditionFilterJaql[ConditionFilterType.CONTAINS]);
|
|
112
|
+
return withComposeCode(filterFactory.contains)(attribute, conditionFilterJaql[ConditionFilterType.CONTAINS], guid);
|
|
112
113
|
case ConditionFilterType.DOESNT_CONTAIN:
|
|
113
|
-
return withComposeCode(filterFactory.doesntContain)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_CONTAIN]);
|
|
114
|
+
return withComposeCode(filterFactory.doesntContain)(attribute, conditionFilterJaql[ConditionFilterType.DOESNT_CONTAIN], guid);
|
|
114
115
|
case ConditionFilterType.LESS_THAN:
|
|
115
|
-
return withComposeCode(filterFactory.lessThan)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN]);
|
|
116
|
+
return withComposeCode(filterFactory.lessThan)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN], guid);
|
|
116
117
|
case ConditionFilterType.LESS_THAN_OR_EQUAL:
|
|
117
|
-
return withComposeCode(filterFactory.lessThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL]);
|
|
118
|
+
return withComposeCode(filterFactory.lessThanOrEqual)(attribute, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL], guid);
|
|
118
119
|
case ConditionFilterType.BETWEEN:
|
|
119
|
-
return withComposeCode(filterFactory.between)(attribute, conditionFilterJaql.from, conditionFilterJaql.to);
|
|
120
|
+
return withComposeCode(filterFactory.between)(attribute, conditionFilterJaql.from, conditionFilterJaql.to, guid);
|
|
120
121
|
case ConditionFilterType.IS_NOT_BETWEEN:
|
|
121
|
-
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));
|
|
122
123
|
case ConditionFilterType.MULTIPLE_CONDITION:
|
|
123
124
|
if (conditionFilterJaql.and) {
|
|
124
|
-
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);
|
|
125
126
|
}
|
|
126
127
|
if (conditionFilterJaql.or) {
|
|
127
|
-
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);
|
|
128
129
|
}
|
|
129
130
|
break;
|
|
130
131
|
case ConditionFilterType.AFTER:
|
|
@@ -141,23 +142,24 @@ export const createAttributeFilterFromConditionFilterJaql = (attribute, conditio
|
|
|
141
142
|
*
|
|
142
143
|
* @param measure - Provided measure
|
|
143
144
|
* @param conditionFilterJaql - Condition filter JAQL object
|
|
145
|
+
* @param guid - Optional GUID for the filter
|
|
144
146
|
* @returns measure filter
|
|
145
147
|
*/
|
|
146
|
-
export const createMeasureFilterFromConditionFilterJaql = (measure, conditionFilterJaql) => {
|
|
148
|
+
export const createMeasureFilterFromConditionFilterJaql = (measure, conditionFilterJaql, guid) => {
|
|
147
149
|
const conditionType = getSelectedConditionOption(conditionFilterJaql);
|
|
148
150
|
switch (conditionType) {
|
|
149
151
|
case ConditionFilterType.EQUALS:
|
|
150
|
-
return withComposeCode(filterFactory.measureEquals)(measure, conditionFilterJaql[ConditionFilterType.EQUALS]);
|
|
152
|
+
return withComposeCode(filterFactory.measureEquals)(measure, conditionFilterJaql[ConditionFilterType.EQUALS], guid);
|
|
151
153
|
case ConditionFilterType.GREATER_THAN:
|
|
152
|
-
return withComposeCode(filterFactory.measureGreaterThan)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN]);
|
|
154
|
+
return withComposeCode(filterFactory.measureGreaterThan)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN], guid);
|
|
153
155
|
case ConditionFilterType.GREATER_THAN_OR_EQUAL:
|
|
154
|
-
return withComposeCode(filterFactory.measureGreaterThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL]);
|
|
156
|
+
return withComposeCode(filterFactory.measureGreaterThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.GREATER_THAN_OR_EQUAL], guid);
|
|
155
157
|
case ConditionFilterType.LESS_THAN:
|
|
156
|
-
return withComposeCode(filterFactory.measureLessThan)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN]);
|
|
158
|
+
return withComposeCode(filterFactory.measureLessThan)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN], guid);
|
|
157
159
|
case ConditionFilterType.LESS_THAN_OR_EQUAL:
|
|
158
|
-
return withComposeCode(filterFactory.measureLessThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL]);
|
|
160
|
+
return withComposeCode(filterFactory.measureLessThanOrEqual)(measure, conditionFilterJaql[ConditionFilterType.LESS_THAN_OR_EQUAL], guid);
|
|
159
161
|
case ConditionFilterType.BETWEEN:
|
|
160
|
-
return withComposeCode(filterFactory.measureBetween)(measure, conditionFilterJaql.from, conditionFilterJaql.to);
|
|
162
|
+
return withComposeCode(filterFactory.measureBetween)(measure, conditionFilterJaql.from, conditionFilterJaql.to, guid);
|
|
161
163
|
}
|
|
162
164
|
throw 'Jaql contains unsupported condition filter: ' + JSON.stringify(conditionFilterJaql);
|
|
163
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;
|