@sisense/sdk-data 1.23.0 → 1.25.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.
Files changed (44) hide show
  1. package/dist/cjs/dimensional-model/filter-relations.d.ts +9 -0
  2. package/dist/cjs/dimensional-model/filter-relations.js +18 -0
  3. package/dist/cjs/dimensional-model/filters/factory.d.ts +84 -85
  4. package/dist/cjs/dimensional-model/filters/factory.js +126 -127
  5. package/dist/cjs/dimensional-model/filters/filter-config-utils.d.ts +25 -0
  6. package/dist/cjs/dimensional-model/filters/filter-config-utils.js +49 -0
  7. package/dist/cjs/dimensional-model/filters/filters.d.ts +28 -51
  8. package/dist/cjs/dimensional-model/filters/filters.js +51 -95
  9. package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.d.ts +4 -4
  10. package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.js +35 -28
  11. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.d.ts +9 -5
  12. package/dist/cjs/dimensional-model/filters/utils/filter-code-util.js +32 -8
  13. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +17 -27
  14. package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +37 -39
  15. package/dist/cjs/dimensional-model/interfaces.d.ts +113 -15
  16. package/dist/cjs/dimensional-model/types.d.ts +18 -11
  17. package/dist/cjs/index.d.ts +2 -0
  18. package/dist/cjs/index.js +2 -0
  19. package/dist/cjs/interfaces.d.ts +8 -0
  20. package/dist/cjs/utils.d.ts +5 -3
  21. package/dist/cjs/utils.js +35 -9
  22. package/dist/dimensional-model/filter-relations.d.ts +9 -0
  23. package/dist/dimensional-model/filter-relations.js +14 -0
  24. package/dist/dimensional-model/filters/factory.d.ts +84 -85
  25. package/dist/dimensional-model/filters/factory.js +126 -127
  26. package/dist/dimensional-model/filters/filter-config-utils.d.ts +25 -0
  27. package/dist/dimensional-model/filters/filter-config-utils.js +39 -0
  28. package/dist/dimensional-model/filters/filters.d.ts +28 -51
  29. package/dist/dimensional-model/filters/filters.js +51 -95
  30. package/dist/dimensional-model/filters/utils/condition-filter-util.d.ts +4 -4
  31. package/dist/dimensional-model/filters/utils/condition-filter-util.js +35 -28
  32. package/dist/dimensional-model/filters/utils/filter-code-util.d.ts +9 -5
  33. package/dist/dimensional-model/filters/utils/filter-code-util.js +32 -8
  34. package/dist/dimensional-model/filters/utils/filter-from-jaql-util.d.ts +17 -27
  35. package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +36 -37
  36. package/dist/dimensional-model/interfaces.d.ts +113 -15
  37. package/dist/dimensional-model/types.d.ts +18 -11
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.js +2 -0
  40. package/dist/interfaces.d.ts +8 -0
  41. package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -1
  42. package/dist/utils.d.ts +5 -3
  43. package/dist/utils.js +33 -7
  44. package/package.json +3 -3
@@ -0,0 +1,39 @@
1
+ import isEqual from 'lodash-es/isEqual.js';
2
+ import { guidFast } from '../../utils.js';
3
+ /**
4
+ * Returns a default configuration for a base filter.
5
+ * @internal
6
+ */
7
+ export const getDefaultBaseFilterConfig = () => ({
8
+ guid: guidFast(13),
9
+ disabled: false,
10
+ locked: false,
11
+ });
12
+ /**
13
+ * Returns a default configuration for a members filter.
14
+ * @internal
15
+ */
16
+ export const getDefaultMembersFilterConfig = () => (Object.assign(Object.assign({}, getDefaultBaseFilterConfig()), { excludeMembers: false, enableMultiSelection: true, deactivatedMembers: [] }));
17
+ /**
18
+ * Checks whether the given configuration is a members filter configuration.
19
+ * @param config - The filter configuration.
20
+ * @returns Whether the configuration is a members filter configuration.
21
+ * @internal
22
+ */
23
+ export function isMembersFilterConfig(config) {
24
+ return 'excludeMembers' in config;
25
+ }
26
+ /**
27
+ * Simplifies the filter configuration by removing default values.
28
+ * @param config - The filter configuration.
29
+ * @returns The simplified filter configuration.
30
+ * @internal
31
+ */
32
+ export const simplifyFilterConfig = (config) => {
33
+ const defaultConfig = isMembersFilterConfig(config)
34
+ ? getDefaultMembersFilterConfig()
35
+ : getDefaultBaseFilterConfig();
36
+ // Filter out properties that match their default values
37
+ const simplifiedConfig = Object.fromEntries(Object.entries(config).filter(([key, value]) => !isEqual(value, defaultConfig[key])));
38
+ return simplifiedConfig;
39
+ };
@@ -1,4 +1,4 @@
1
- import { LevelAttribute, Attribute, Measure, Filter } from '../interfaces.js';
1
+ import { LevelAttribute, Attribute, Measure, Filter, MembersFilterConfig, CompleteMembersFilterConfig, CompleteBaseFilterConfig, BaseFilterConfig } from '../interfaces.js';
2
2
  import { DimensionalElement } from '../base.js';
3
3
  import { AnyObject } from '../types.js';
4
4
  /**
@@ -34,11 +34,11 @@ export declare const NumericOperators: {
34
34
  * @internal
35
35
  */
36
36
  export declare const DateOperators: {
37
- From: string;
38
- To: string;
39
- Last: string;
40
- Next: string;
41
- Anchor: string;
37
+ readonly From: "from";
38
+ readonly To: "to";
39
+ readonly Last: "last";
40
+ readonly Next: "next";
41
+ readonly Anchor: "Anchor";
42
42
  };
43
43
  /**
44
44
  * Different logical operators that can be used with logical filters
@@ -92,26 +92,10 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
92
92
  */
93
93
  readonly filterType: string;
94
94
  /**
95
- * Global filter identifier
96
- */
97
- readonly guid: string;
98
- private _disabled;
99
- private _locked;
100
- /**
101
- * Boolean flag whether the filter is disabled
102
- *
103
- * @internal
95
+ * Filter configuration
104
96
  */
105
- get disabled(): boolean;
106
- set disabled(value: boolean);
107
- /**
108
- * Boolean flag whether the filter is locked
109
- *
110
- * @internal
111
- */
112
- get locked(): boolean;
113
- set locked(value: boolean);
114
- constructor(att: Attribute, filterType: string, guid?: string);
97
+ config: CompleteBaseFilterConfig;
98
+ constructor(att: Attribute, filterType: string, config?: BaseFilterConfig);
115
99
  get name(): string;
116
100
  /**
117
101
  * Gets JAQL representing this Filter instance
@@ -144,7 +128,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
144
128
  export declare class LogicalAttributeFilter extends AbstractFilter {
145
129
  readonly filters: Filter[];
146
130
  readonly operator: string;
147
- constructor(filters: Filter[], operator: string, guid?: string);
131
+ constructor(filters: Filter[], operator: string, config?: BaseFilterConfig);
148
132
  /**
149
133
  * gets the element's ID
150
134
  */
@@ -162,16 +146,9 @@ export declare class LogicalAttributeFilter extends AbstractFilter {
162
146
  * @internal
163
147
  */
164
148
  export declare class MembersFilter extends AbstractFilter {
165
- readonly members: any[];
166
- /** @internal */
167
- excludeMembers: boolean;
168
- /** @internal */
169
- multiSelection: boolean;
170
- /** @internal */
171
- deactivatedMembers: any[];
172
- /** @internal */
173
- backgroundFilter?: Filter;
174
- constructor(attribute: Attribute, members?: any[], excludeMembers?: boolean, guid?: string, deactivatedMembers?: any[], backgroundFilter?: Filter, multiSelection?: boolean);
149
+ readonly members: string[];
150
+ config: CompleteMembersFilterConfig;
151
+ constructor(attribute: Attribute, members?: string[], config?: MembersFilterConfig);
175
152
  /**
176
153
  * gets the element's ID
177
154
  */
@@ -190,15 +167,15 @@ export declare class MembersFilter extends AbstractFilter {
190
167
  */
191
168
  export declare class CascadingFilter extends AbstractFilter {
192
169
  readonly filters: Filter[];
193
- constructor(filters: Filter[], guid?: string);
170
+ constructor(filters: Filter[], config?: BaseFilterConfig);
171
+ /**
172
+ * Propagates the parent config to all level filters
173
+ */
174
+ propagateConfig(): void;
194
175
  /**
195
176
  * gets the element's ID
196
177
  */
197
178
  get id(): string;
198
- get disabled(): boolean;
199
- set disabled(value: boolean);
200
- get locked(): boolean;
201
- set locked(value: boolean);
202
179
  /**
203
180
  * Gets a serializable representation of the element
204
181
  */
@@ -215,7 +192,7 @@ export declare class CascadingFilter extends AbstractFilter {
215
192
  export declare class ExcludeFilter extends AbstractFilter {
216
193
  readonly filter: Filter;
217
194
  readonly input?: Filter;
218
- constructor(filter: Filter, input?: Filter, guid?: string);
195
+ constructor(filter: Filter, input?: Filter, config?: BaseFilterConfig);
219
196
  /**
220
197
  * gets the element's ID
221
198
  */
@@ -237,7 +214,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
237
214
  operatorB?: string;
238
215
  valueA?: Type;
239
216
  valueB?: Type;
240
- constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type, guid?: string);
217
+ constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type, config?: BaseFilterConfig);
241
218
  /**
242
219
  * gets the element's ID
243
220
  */
@@ -256,7 +233,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
256
233
  */
257
234
  export declare class MeasureFilter extends DoubleOperatorFilter<number> {
258
235
  measure: Measure;
259
- constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, guid?: string);
236
+ constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, config?: BaseFilterConfig);
260
237
  /**
261
238
  * gets the element's ID
262
239
  */
@@ -274,7 +251,7 @@ export declare class RankingFilter extends AbstractFilter {
274
251
  count: number;
275
252
  operator: string;
276
253
  measure: Measure;
277
- constructor(att: Attribute, measure: Measure, operator: string, count: number, guid?: string);
254
+ constructor(att: Attribute, measure: Measure, operator: string, count: number, config?: BaseFilterConfig);
278
255
  /**
279
256
  * gets the element's ID
280
257
  */
@@ -292,19 +269,19 @@ export declare class RankingFilter extends AbstractFilter {
292
269
  * @internal
293
270
  */
294
271
  export declare class NumericFilter extends DoubleOperatorFilter<number> {
295
- constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, guid?: string);
272
+ constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, config?: BaseFilterConfig);
296
273
  }
297
274
  /**
298
275
  * @internal
299
276
  */
300
277
  export declare class TextFilter extends DoubleOperatorFilter<string> {
301
- constructor(att: Attribute, operator: string, value: string, guid?: string);
278
+ constructor(att: Attribute, operator: string, value: string, config?: BaseFilterConfig);
302
279
  }
303
280
  /**
304
281
  * @internal
305
282
  */
306
283
  export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string> {
307
- constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string, guid?: string);
284
+ constructor(l: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string, config?: BaseFilterConfig);
308
285
  get level(): LevelAttribute;
309
286
  get from(): string;
310
287
  get to(): string;
@@ -319,9 +296,9 @@ export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string>
319
296
  export declare class RelativeDateFilter extends AbstractFilter {
320
297
  readonly offset: number;
321
298
  readonly count: number;
322
- readonly operator: string;
299
+ readonly operator: typeof DateOperators.Last | typeof DateOperators.Next;
323
300
  readonly anchor?: Date | string;
324
- constructor(l: LevelAttribute, offset: number, count: number, operator?: string, anchor?: Date | string, guid?: string);
301
+ constructor(l: LevelAttribute, offset: number, count: number, operator?: typeof DateOperators.Last | typeof DateOperators.Next, anchor?: Date | string, config?: BaseFilterConfig);
325
302
  get level(): LevelAttribute;
326
303
  /**
327
304
  * gets the element's ID
@@ -342,7 +319,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
342
319
  */
343
320
  export declare class CustomFilter extends AbstractFilter {
344
321
  readonly jaqlExpression: any;
345
- constructor(att: Attribute, jaql: any, guid?: string);
322
+ constructor(att: Attribute, jaql: any, config?: BaseFilterConfig);
346
323
  /**
347
324
  * gets the element's ID
348
325
  */
@@ -1,18 +1,11 @@
1
- /* eslint-disable max-lines */
2
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
3
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
4
- /* eslint-disable @typescript-eslint/no-unsafe-return */
5
- /* eslint-disable @typescript-eslint/no-unsafe-call */
6
- /* eslint-disable max-params */
7
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
8
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
9
1
  import hash from 'hash-it';
10
2
  import { DimensionalElement } from '../base.js';
11
3
  import { DateLevels, MetadataTypes } from '../types.js';
12
4
  import { create } from '../factory.js';
13
5
  import { DimensionalBaseMeasure } from '../measures/measures.js';
14
6
  import { TranslatableError } from '../../translation/translatable-error.js';
15
- import { guidFast } from '../../utils.js';
7
+ import { getDefaultBaseFilterConfig, getDefaultMembersFilterConfig, } from './filter-config-utils.js';
8
+ import merge from 'lodash-es/merge.js';
16
9
  /**
17
10
  * Different text operators that can be used with text filters
18
11
  *
@@ -96,36 +89,12 @@ export const FilterTypes = {
96
89
  * @internal
97
90
  */
98
91
  class AbstractFilter extends DimensionalElement {
99
- constructor(att, filterType, guid) {
92
+ constructor(att, filterType, config) {
100
93
  super('filter', MetadataTypes.Filter);
101
94
  this.filterType = filterType;
102
95
  AbstractFilter.checkAttributeSupport(att);
103
96
  this.attribute = att;
104
- this.guid = guid || guidFast(13);
105
- this.disabled = false;
106
- this.locked = false;
107
- }
108
- /**
109
- * Boolean flag whether the filter is disabled
110
- *
111
- * @internal
112
- */
113
- get disabled() {
114
- return this._disabled;
115
- }
116
- set disabled(value) {
117
- this._disabled = value;
118
- }
119
- /**
120
- * Boolean flag whether the filter is locked
121
- *
122
- * @internal
123
- */
124
- get locked() {
125
- return this._locked;
126
- }
127
- set locked(value) {
128
- this._locked = value;
97
+ this.config = merge({}, getDefaultBaseFilterConfig(), config !== null && config !== void 0 ? config : {});
129
98
  }
130
99
  get name() {
131
100
  // to hexadecimal string
@@ -146,7 +115,7 @@ class AbstractFilter extends DimensionalElement {
146
115
  * @param nested - defines whether the JAQL is nested within parent JAQL statement or a root JAQL element
147
116
  */
148
117
  jaql(nested) {
149
- if (this.disabled) {
118
+ if (this.config.disabled) {
150
119
  return AbstractFilter.disabledJaql(nested);
151
120
  }
152
121
  const result = this.attribute.jaql(false);
@@ -187,8 +156,8 @@ class AbstractFilter extends DimensionalElement {
187
156
  * @internal
188
157
  */
189
158
  export class LogicalAttributeFilter extends AbstractFilter {
190
- constructor(filters, operator, guid) {
191
- super(filters[0].attribute, FilterTypes.logicalAttribute, guid);
159
+ constructor(filters, operator, config) {
160
+ super(filters[0].attribute, FilterTypes.logicalAttribute, config);
192
161
  this.operator = operator;
193
162
  this.filters = filters;
194
163
  }
@@ -220,18 +189,17 @@ export class LogicalAttributeFilter extends AbstractFilter {
220
189
  * @internal
221
190
  */
222
191
  export class MembersFilter extends AbstractFilter {
223
- constructor(attribute, members, excludeMembers, guid, deactivatedMembers, backgroundFilter, multiSelection = true) {
224
- super(attribute, FilterTypes.members, guid);
192
+ constructor(attribute, members, config) {
193
+ super(attribute, FilterTypes.members);
225
194
  this.members = members !== null && members !== void 0 ? members : [];
226
- this.excludeMembers = excludeMembers !== null && excludeMembers !== void 0 ? excludeMembers : false;
227
- this.multiSelection = multiSelection;
228
- this.deactivatedMembers = deactivatedMembers !== null && deactivatedMembers !== void 0 ? deactivatedMembers : [];
229
- this.backgroundFilter = backgroundFilter;
230
195
  if (this.members.filter((m) => m === null || m === undefined).length > 0) {
231
196
  throw new TranslatableError('errors.filter.membersFilterNullMember', {
232
197
  attributeId: attribute.id,
233
198
  });
234
199
  }
200
+ // merge default config and input config into a new object
201
+ // to avoid mutation
202
+ this.config = merge({}, getDefaultMembersFilterConfig(), config !== null && config !== void 0 ? config : {});
235
203
  }
236
204
  /**
237
205
  * gets the element's ID
@@ -245,9 +213,6 @@ export class MembersFilter extends AbstractFilter {
245
213
  serializable() {
246
214
  const result = super.serializable();
247
215
  result.members = this.members;
248
- if (this.backgroundFilter) {
249
- result.backgroundFilter = this.backgroundFilter.serializable();
250
- }
251
216
  return result;
252
217
  }
253
218
  /**
@@ -257,10 +222,12 @@ export class MembersFilter extends AbstractFilter {
257
222
  const membersFilterJaql = {
258
223
  members: this.members.map((m) => m.toString()),
259
224
  };
260
- const filterJaql = this.excludeMembers ? { exclude: membersFilterJaql } : membersFilterJaql;
261
- if (this.backgroundFilter) {
225
+ const filterJaql = this.config.excludeMembers
226
+ ? { exclude: membersFilterJaql }
227
+ : membersFilterJaql;
228
+ if (this.config.backgroundFilter) {
262
229
  return {
263
- and: [filterJaql, this.backgroundFilter.filterJaql()],
230
+ and: [filterJaql, this.config.backgroundFilter.filterJaql()],
264
231
  };
265
232
  }
266
233
  return filterJaql;
@@ -270,9 +237,20 @@ export class MembersFilter extends AbstractFilter {
270
237
  * @internal
271
238
  */
272
239
  export class CascadingFilter extends AbstractFilter {
273
- constructor(filters, guid) {
274
- super(filters[0].attribute, FilterTypes.cascading, guid);
240
+ constructor(filters, config) {
241
+ super(filters[0].attribute, FilterTypes.cascading, config);
275
242
  this.filters = filters;
243
+ this.propagateConfig();
244
+ }
245
+ /**
246
+ * Propagates the parent config to all level filters
247
+ */
248
+ propagateConfig() {
249
+ const { disabled, locked } = this.config;
250
+ this.filters.forEach((f) => {
251
+ f.config.disabled = disabled;
252
+ f.config.locked = locked;
253
+ });
276
254
  }
277
255
  /**
278
256
  * gets the element's ID
@@ -280,28 +258,6 @@ export class CascadingFilter extends AbstractFilter {
280
258
  get id() {
281
259
  return `${this.filterType}_${this.filters.map((f) => f.id).join()}`;
282
260
  }
283
- get disabled() {
284
- return super.disabled;
285
- }
286
- set disabled(value) {
287
- super.disabled = value;
288
- if (this.filters) {
289
- this.filters.forEach((filter) => {
290
- filter.disabled = value;
291
- });
292
- }
293
- }
294
- get locked() {
295
- return super.locked;
296
- }
297
- set locked(value) {
298
- super.locked = value;
299
- if (this.filters) {
300
- this.filters.forEach((filter) => {
301
- filter.locked = value;
302
- });
303
- }
304
- }
305
261
  /**
306
262
  * Gets a serializable representation of the element
307
263
  */
@@ -318,7 +274,7 @@ export class CascadingFilter extends AbstractFilter {
318
274
  return {};
319
275
  }
320
276
  jaql(nested) {
321
- if (this.disabled) {
277
+ if (this.config.disabled) {
322
278
  return AbstractFilter.disabledJaql(nested);
323
279
  }
324
280
  // return jaql of all level filters treated as scope filters
@@ -332,8 +288,8 @@ export class CascadingFilter extends AbstractFilter {
332
288
  * @internal
333
289
  */
334
290
  export class ExcludeFilter extends AbstractFilter {
335
- constructor(filter, input, guid) {
336
- super(filter.attribute, FilterTypes.exclude, guid);
291
+ constructor(filter, input, config) {
292
+ super(filter.attribute, FilterTypes.exclude, config);
337
293
  this.input = input;
338
294
  this.filter = filter;
339
295
  }
@@ -378,8 +334,8 @@ export class ExcludeFilter extends AbstractFilter {
378
334
  * @internal
379
335
  */
380
336
  export class DoubleOperatorFilter extends AbstractFilter {
381
- constructor(att, filterType, operatorA, valueA, operatorB, valueB, guid) {
382
- super(att, filterType, guid);
337
+ constructor(att, filterType, operatorA, valueA, operatorB, valueB, config) {
338
+ super(att, filterType, config);
383
339
  if (operatorA && valueA !== undefined) {
384
340
  this.valueA = valueA;
385
341
  this.operatorA = operatorA;
@@ -439,8 +395,8 @@ export class DoubleOperatorFilter extends AbstractFilter {
439
395
  * @internal
440
396
  */
441
397
  export class MeasureFilter extends DoubleOperatorFilter {
442
- constructor(att, measure, operatorA, valueA, operatorB, valueB, guid) {
443
- super(att, FilterTypes.measure, operatorA, valueA, operatorB, valueB, guid);
398
+ constructor(att, measure, operatorA, valueA, operatorB, valueB, config) {
399
+ super(att, FilterTypes.measure, operatorA, valueA, operatorB, valueB, config);
444
400
  this.measure = measure;
445
401
  }
446
402
  /**
@@ -465,7 +421,7 @@ export class MeasureFilter extends DoubleOperatorFilter {
465
421
  return result;
466
422
  }
467
423
  jaql(nested) {
468
- if (this.disabled) {
424
+ if (this.config.disabled) {
469
425
  return AbstractFilter.disabledJaql(nested);
470
426
  }
471
427
  const result = super.jaql(nested);
@@ -481,8 +437,8 @@ export class MeasureFilter extends DoubleOperatorFilter {
481
437
  * @internal
482
438
  */
483
439
  export class RankingFilter extends AbstractFilter {
484
- constructor(att, measure, operator, count, guid) {
485
- super(att, FilterTypes.ranking, guid);
440
+ constructor(att, measure, operator, count, config) {
441
+ super(att, FilterTypes.ranking, config);
486
442
  this.count = count;
487
443
  this.operator = operator;
488
444
  this.measure = measure;
@@ -517,24 +473,24 @@ export class RankingFilter extends AbstractFilter {
517
473
  * @internal
518
474
  */
519
475
  export class NumericFilter extends DoubleOperatorFilter {
520
- constructor(att, operatorA, valueA, operatorB, valueB, guid) {
521
- super(att, FilterTypes.numeric, operatorA, valueA, operatorB, valueB, guid);
476
+ constructor(att, operatorA, valueA, operatorB, valueB, config) {
477
+ super(att, FilterTypes.numeric, operatorA, valueA, operatorB, valueB, config);
522
478
  }
523
479
  }
524
480
  /**
525
481
  * @internal
526
482
  */
527
483
  export class TextFilter extends DoubleOperatorFilter {
528
- constructor(att, operator, value, guid) {
529
- super(att, FilterTypes.text, operator, value, undefined, undefined, guid);
484
+ constructor(att, operator, value, config) {
485
+ super(att, FilterTypes.text, operator, value, undefined, undefined, config);
530
486
  }
531
487
  }
532
488
  /**
533
489
  * @internal
534
490
  */
535
491
  export class DateRangeFilter extends DoubleOperatorFilter {
536
- constructor(l, valueFrom, valueTo, guid) {
537
- super(l, FilterTypes.dateRange, DateOperators.From, valueFrom, DateOperators.To, valueTo, guid);
492
+ constructor(l, valueFrom, valueTo, config) {
493
+ super(l, FilterTypes.dateRange, DateOperators.From, valueFrom, DateOperators.To, valueTo, config);
538
494
  if (typeof valueFrom === 'object') {
539
495
  this.valueA = valueFrom.toISOString();
540
496
  }
@@ -562,8 +518,8 @@ export class DateRangeFilter extends DoubleOperatorFilter {
562
518
  * @internal
563
519
  */
564
520
  export class RelativeDateFilter extends AbstractFilter {
565
- constructor(l, offset, count, operator, anchor, guid) {
566
- super(l, FilterTypes.relativeDate, guid);
521
+ constructor(l, offset, count, operator, anchor, config) {
522
+ super(l, FilterTypes.relativeDate, config);
567
523
  if (!operator) {
568
524
  operator = DateOperators.Next;
569
525
  }
@@ -628,8 +584,8 @@ export class RelativeDateFilter extends AbstractFilter {
628
584
  * @internal
629
585
  */
630
586
  export class CustomFilter extends AbstractFilter {
631
- constructor(att, jaql, guid) {
632
- super(att, FilterTypes.advanced, guid);
587
+ constructor(att, jaql, config) {
588
+ super(att, FilterTypes.advanced, config);
633
589
  // remove filterType from jaql as it is not needed
634
590
  delete jaql.filterType;
635
591
  this.jaqlExpression = jaql;
@@ -638,7 +594,7 @@ export class CustomFilter extends AbstractFilter {
638
594
  * gets the element's ID
639
595
  */
640
596
  get id() {
641
- return `custom_${this.attribute.id}_${this.guid}`;
597
+ return `custom_${this.attribute.id}_${this.config.guid}`;
642
598
  }
643
599
  /**
644
600
  * Gets JAQL representing this Filter instance
@@ -6,16 +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
+ * @param guid - GUID for the filter
10
10
  * @returns attribute filter
11
11
  */
12
- export declare const createAttributeFilterFromConditionFilterJaql: (attribute: Attribute, conditionFilterJaql: ConditionFilterJaql, guid?: string) => Filter;
12
+ export declare const createAttributeFilterFromConditionFilterJaql: (attribute: Attribute, conditionFilterJaql: ConditionFilterJaql, guid: string) => Filter;
13
13
  /**
14
14
  * Creates a measure filter from the provided measure and condition filter JAQL object
15
15
  *
16
16
  * @param measure - Provided measure
17
17
  * @param conditionFilterJaql - Condition filter JAQL object
18
- * @param guid - Optional GUID for the filter
18
+ * @param guid - GUID for the filter
19
19
  * @returns measure filter
20
20
  */
21
- export declare const createMeasureFilterFromConditionFilterJaql: (measure: BaseMeasure, conditionFilterJaql: ConditionFilterJaql, guid?: string) => Filter;
21
+ export declare const createMeasureFilterFromConditionFilterJaql: (measure: BaseMeasure, conditionFilterJaql: ConditionFilterJaql, guid: string) => Filter;