@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,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.simplifyFilterConfig = exports.isMembersFilterConfig = exports.getDefaultMembersFilterConfig = exports.getDefaultBaseFilterConfig = void 0;
7
+ const isEqual_js_1 = __importDefault(require("lodash-es/isEqual.js"));
8
+ const utils_js_1 = require("../../utils.js");
9
+ /**
10
+ * Returns a default configuration for a base filter.
11
+ * @internal
12
+ */
13
+ const getDefaultBaseFilterConfig = () => ({
14
+ guid: (0, utils_js_1.guidFast)(13),
15
+ disabled: false,
16
+ locked: false,
17
+ });
18
+ exports.getDefaultBaseFilterConfig = getDefaultBaseFilterConfig;
19
+ /**
20
+ * Returns a default configuration for a members filter.
21
+ * @internal
22
+ */
23
+ const getDefaultMembersFilterConfig = () => (Object.assign(Object.assign({}, (0, exports.getDefaultBaseFilterConfig)()), { excludeMembers: false, enableMultiSelection: true, deactivatedMembers: [] }));
24
+ exports.getDefaultMembersFilterConfig = getDefaultMembersFilterConfig;
25
+ /**
26
+ * Checks whether the given configuration is a members filter configuration.
27
+ * @param config - The filter configuration.
28
+ * @returns Whether the configuration is a members filter configuration.
29
+ * @internal
30
+ */
31
+ function isMembersFilterConfig(config) {
32
+ return 'excludeMembers' in config;
33
+ }
34
+ exports.isMembersFilterConfig = isMembersFilterConfig;
35
+ /**
36
+ * Simplifies the filter configuration by removing default values.
37
+ * @param config - The filter configuration.
38
+ * @returns The simplified filter configuration.
39
+ * @internal
40
+ */
41
+ const simplifyFilterConfig = (config) => {
42
+ const defaultConfig = isMembersFilterConfig(config)
43
+ ? (0, exports.getDefaultMembersFilterConfig)()
44
+ : (0, exports.getDefaultBaseFilterConfig)();
45
+ // Filter out properties that match their default values
46
+ const simplifiedConfig = Object.fromEntries(Object.entries(config).filter(([key, value]) => !(0, isEqual_js_1.default)(value, defaultConfig[key])));
47
+ return simplifiedConfig;
48
+ };
49
+ exports.simplifyFilterConfig = simplifyFilterConfig;
@@ -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
  */
@@ -4,21 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.createFilter = exports.isDateRangeFilter = exports.isTextFilter = exports.isRelativeDateFilter = exports.isCascadingFilter = exports.isLogicalAttributeFilter = exports.isExcludeFilter = exports.isMeasureFilter = exports.isRankingFilter = exports.isNumericFilter = exports.isMembersFilter = exports.isCustomFilter = exports.CustomFilter = exports.RelativeDateFilter = exports.DateRangeFilter = exports.TextFilter = exports.NumericFilter = exports.RankingFilter = exports.MeasureFilter = exports.DoubleOperatorFilter = exports.ExcludeFilter = exports.CascadingFilter = exports.MembersFilter = exports.LogicalAttributeFilter = exports.FilterTypes = exports.RankingOperators = exports.LogicalOperators = exports.DateOperators = exports.NumericOperators = exports.TextOperators = void 0;
7
- /* eslint-disable max-lines */
8
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
9
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
10
- /* eslint-disable @typescript-eslint/no-unsafe-return */
11
- /* eslint-disable @typescript-eslint/no-unsafe-call */
12
- /* eslint-disable max-params */
13
- /* eslint-disable @typescript-eslint/restrict-template-expressions */
14
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
15
7
  const hash_it_1 = __importDefault(require("hash-it"));
16
8
  const base_js_1 = require("../base.js");
17
9
  const types_js_1 = require("../types.js");
18
10
  const factory_js_1 = require("../factory.js");
19
11
  const measures_js_1 = require("../measures/measures.js");
20
12
  const translatable_error_js_1 = require("../../translation/translatable-error.js");
21
- const utils_js_1 = require("../../utils.js");
13
+ const filter_config_utils_js_1 = require("./filter-config-utils.js");
14
+ const merge_js_1 = __importDefault(require("lodash-es/merge.js"));
22
15
  /**
23
16
  * Different text operators that can be used with text filters
24
17
  *
@@ -102,36 +95,12 @@ exports.FilterTypes = {
102
95
  * @internal
103
96
  */
104
97
  class AbstractFilter extends base_js_1.DimensionalElement {
105
- constructor(att, filterType, guid) {
98
+ constructor(att, filterType, config) {
106
99
  super('filter', types_js_1.MetadataTypes.Filter);
107
100
  this.filterType = filterType;
108
101
  AbstractFilter.checkAttributeSupport(att);
109
102
  this.attribute = att;
110
- this.guid = guid || (0, utils_js_1.guidFast)(13);
111
- this.disabled = false;
112
- this.locked = false;
113
- }
114
- /**
115
- * Boolean flag whether the filter is disabled
116
- *
117
- * @internal
118
- */
119
- get disabled() {
120
- return this._disabled;
121
- }
122
- set disabled(value) {
123
- this._disabled = value;
124
- }
125
- /**
126
- * Boolean flag whether the filter is locked
127
- *
128
- * @internal
129
- */
130
- get locked() {
131
- return this._locked;
132
- }
133
- set locked(value) {
134
- this._locked = value;
103
+ this.config = (0, merge_js_1.default)({}, (0, filter_config_utils_js_1.getDefaultBaseFilterConfig)(), config !== null && config !== void 0 ? config : {});
135
104
  }
136
105
  get name() {
137
106
  // to hexadecimal string
@@ -152,7 +121,7 @@ class AbstractFilter extends base_js_1.DimensionalElement {
152
121
  * @param nested - defines whether the JAQL is nested within parent JAQL statement or a root JAQL element
153
122
  */
154
123
  jaql(nested) {
155
- if (this.disabled) {
124
+ if (this.config.disabled) {
156
125
  return AbstractFilter.disabledJaql(nested);
157
126
  }
158
127
  const result = this.attribute.jaql(false);
@@ -193,8 +162,8 @@ class AbstractFilter extends base_js_1.DimensionalElement {
193
162
  * @internal
194
163
  */
195
164
  class LogicalAttributeFilter extends AbstractFilter {
196
- constructor(filters, operator, guid) {
197
- super(filters[0].attribute, exports.FilterTypes.logicalAttribute, guid);
165
+ constructor(filters, operator, config) {
166
+ super(filters[0].attribute, exports.FilterTypes.logicalAttribute, config);
198
167
  this.operator = operator;
199
168
  this.filters = filters;
200
169
  }
@@ -227,18 +196,17 @@ exports.LogicalAttributeFilter = LogicalAttributeFilter;
227
196
  * @internal
228
197
  */
229
198
  class MembersFilter extends AbstractFilter {
230
- constructor(attribute, members, excludeMembers, guid, deactivatedMembers, backgroundFilter, multiSelection = true) {
231
- super(attribute, exports.FilterTypes.members, guid);
199
+ constructor(attribute, members, config) {
200
+ super(attribute, exports.FilterTypes.members);
232
201
  this.members = members !== null && members !== void 0 ? members : [];
233
- this.excludeMembers = excludeMembers !== null && excludeMembers !== void 0 ? excludeMembers : false;
234
- this.multiSelection = multiSelection;
235
- this.deactivatedMembers = deactivatedMembers !== null && deactivatedMembers !== void 0 ? deactivatedMembers : [];
236
- this.backgroundFilter = backgroundFilter;
237
202
  if (this.members.filter((m) => m === null || m === undefined).length > 0) {
238
203
  throw new translatable_error_js_1.TranslatableError('errors.filter.membersFilterNullMember', {
239
204
  attributeId: attribute.id,
240
205
  });
241
206
  }
207
+ // merge default config and input config into a new object
208
+ // to avoid mutation
209
+ this.config = (0, merge_js_1.default)({}, (0, filter_config_utils_js_1.getDefaultMembersFilterConfig)(), config !== null && config !== void 0 ? config : {});
242
210
  }
243
211
  /**
244
212
  * gets the element's ID
@@ -252,9 +220,6 @@ class MembersFilter extends AbstractFilter {
252
220
  serializable() {
253
221
  const result = super.serializable();
254
222
  result.members = this.members;
255
- if (this.backgroundFilter) {
256
- result.backgroundFilter = this.backgroundFilter.serializable();
257
- }
258
223
  return result;
259
224
  }
260
225
  /**
@@ -264,10 +229,12 @@ class MembersFilter extends AbstractFilter {
264
229
  const membersFilterJaql = {
265
230
  members: this.members.map((m) => m.toString()),
266
231
  };
267
- const filterJaql = this.excludeMembers ? { exclude: membersFilterJaql } : membersFilterJaql;
268
- if (this.backgroundFilter) {
232
+ const filterJaql = this.config.excludeMembers
233
+ ? { exclude: membersFilterJaql }
234
+ : membersFilterJaql;
235
+ if (this.config.backgroundFilter) {
269
236
  return {
270
- and: [filterJaql, this.backgroundFilter.filterJaql()],
237
+ and: [filterJaql, this.config.backgroundFilter.filterJaql()],
271
238
  };
272
239
  }
273
240
  return filterJaql;
@@ -278,9 +245,20 @@ exports.MembersFilter = MembersFilter;
278
245
  * @internal
279
246
  */
280
247
  class CascadingFilter extends AbstractFilter {
281
- constructor(filters, guid) {
282
- super(filters[0].attribute, exports.FilterTypes.cascading, guid);
248
+ constructor(filters, config) {
249
+ super(filters[0].attribute, exports.FilterTypes.cascading, config);
283
250
  this.filters = filters;
251
+ this.propagateConfig();
252
+ }
253
+ /**
254
+ * Propagates the parent config to all level filters
255
+ */
256
+ propagateConfig() {
257
+ const { disabled, locked } = this.config;
258
+ this.filters.forEach((f) => {
259
+ f.config.disabled = disabled;
260
+ f.config.locked = locked;
261
+ });
284
262
  }
285
263
  /**
286
264
  * gets the element's ID
@@ -288,28 +266,6 @@ class CascadingFilter extends AbstractFilter {
288
266
  get id() {
289
267
  return `${this.filterType}_${this.filters.map((f) => f.id).join()}`;
290
268
  }
291
- get disabled() {
292
- return super.disabled;
293
- }
294
- set disabled(value) {
295
- super.disabled = value;
296
- if (this.filters) {
297
- this.filters.forEach((filter) => {
298
- filter.disabled = value;
299
- });
300
- }
301
- }
302
- get locked() {
303
- return super.locked;
304
- }
305
- set locked(value) {
306
- super.locked = value;
307
- if (this.filters) {
308
- this.filters.forEach((filter) => {
309
- filter.locked = value;
310
- });
311
- }
312
- }
313
269
  /**
314
270
  * Gets a serializable representation of the element
315
271
  */
@@ -326,7 +282,7 @@ class CascadingFilter extends AbstractFilter {
326
282
  return {};
327
283
  }
328
284
  jaql(nested) {
329
- if (this.disabled) {
285
+ if (this.config.disabled) {
330
286
  return AbstractFilter.disabledJaql(nested);
331
287
  }
332
288
  // return jaql of all level filters treated as scope filters
@@ -341,8 +297,8 @@ exports.CascadingFilter = CascadingFilter;
341
297
  * @internal
342
298
  */
343
299
  class ExcludeFilter extends AbstractFilter {
344
- constructor(filter, input, guid) {
345
- super(filter.attribute, exports.FilterTypes.exclude, guid);
300
+ constructor(filter, input, config) {
301
+ super(filter.attribute, exports.FilterTypes.exclude, config);
346
302
  this.input = input;
347
303
  this.filter = filter;
348
304
  }
@@ -388,8 +344,8 @@ exports.ExcludeFilter = ExcludeFilter;
388
344
  * @internal
389
345
  */
390
346
  class DoubleOperatorFilter extends AbstractFilter {
391
- constructor(att, filterType, operatorA, valueA, operatorB, valueB, guid) {
392
- super(att, filterType, guid);
347
+ constructor(att, filterType, operatorA, valueA, operatorB, valueB, config) {
348
+ super(att, filterType, config);
393
349
  if (operatorA && valueA !== undefined) {
394
350
  this.valueA = valueA;
395
351
  this.operatorA = operatorA;
@@ -450,8 +406,8 @@ exports.DoubleOperatorFilter = DoubleOperatorFilter;
450
406
  * @internal
451
407
  */
452
408
  class MeasureFilter extends DoubleOperatorFilter {
453
- constructor(att, measure, operatorA, valueA, operatorB, valueB, guid) {
454
- super(att, exports.FilterTypes.measure, operatorA, valueA, operatorB, valueB, guid);
409
+ constructor(att, measure, operatorA, valueA, operatorB, valueB, config) {
410
+ super(att, exports.FilterTypes.measure, operatorA, valueA, operatorB, valueB, config);
455
411
  this.measure = measure;
456
412
  }
457
413
  /**
@@ -476,7 +432,7 @@ class MeasureFilter extends DoubleOperatorFilter {
476
432
  return result;
477
433
  }
478
434
  jaql(nested) {
479
- if (this.disabled) {
435
+ if (this.config.disabled) {
480
436
  return AbstractFilter.disabledJaql(nested);
481
437
  }
482
438
  const result = super.jaql(nested);
@@ -493,8 +449,8 @@ exports.MeasureFilter = MeasureFilter;
493
449
  * @internal
494
450
  */
495
451
  class RankingFilter extends AbstractFilter {
496
- constructor(att, measure, operator, count, guid) {
497
- super(att, exports.FilterTypes.ranking, guid);
452
+ constructor(att, measure, operator, count, config) {
453
+ super(att, exports.FilterTypes.ranking, config);
498
454
  this.count = count;
499
455
  this.operator = operator;
500
456
  this.measure = measure;
@@ -530,8 +486,8 @@ exports.RankingFilter = RankingFilter;
530
486
  * @internal
531
487
  */
532
488
  class NumericFilter extends DoubleOperatorFilter {
533
- constructor(att, operatorA, valueA, operatorB, valueB, guid) {
534
- super(att, exports.FilterTypes.numeric, operatorA, valueA, operatorB, valueB, guid);
489
+ constructor(att, operatorA, valueA, operatorB, valueB, config) {
490
+ super(att, exports.FilterTypes.numeric, operatorA, valueA, operatorB, valueB, config);
535
491
  }
536
492
  }
537
493
  exports.NumericFilter = NumericFilter;
@@ -539,8 +495,8 @@ exports.NumericFilter = NumericFilter;
539
495
  * @internal
540
496
  */
541
497
  class TextFilter extends DoubleOperatorFilter {
542
- constructor(att, operator, value, guid) {
543
- super(att, exports.FilterTypes.text, operator, value, undefined, undefined, guid);
498
+ constructor(att, operator, value, config) {
499
+ super(att, exports.FilterTypes.text, operator, value, undefined, undefined, config);
544
500
  }
545
501
  }
546
502
  exports.TextFilter = TextFilter;
@@ -548,8 +504,8 @@ exports.TextFilter = TextFilter;
548
504
  * @internal
549
505
  */
550
506
  class DateRangeFilter extends DoubleOperatorFilter {
551
- constructor(l, valueFrom, valueTo, guid) {
552
- super(l, exports.FilterTypes.dateRange, exports.DateOperators.From, valueFrom, exports.DateOperators.To, valueTo, guid);
507
+ constructor(l, valueFrom, valueTo, config) {
508
+ super(l, exports.FilterTypes.dateRange, exports.DateOperators.From, valueFrom, exports.DateOperators.To, valueTo, config);
553
509
  if (typeof valueFrom === 'object') {
554
510
  this.valueA = valueFrom.toISOString();
555
511
  }
@@ -578,8 +534,8 @@ exports.DateRangeFilter = DateRangeFilter;
578
534
  * @internal
579
535
  */
580
536
  class RelativeDateFilter extends AbstractFilter {
581
- constructor(l, offset, count, operator, anchor, guid) {
582
- super(l, exports.FilterTypes.relativeDate, guid);
537
+ constructor(l, offset, count, operator, anchor, config) {
538
+ super(l, exports.FilterTypes.relativeDate, config);
583
539
  if (!operator) {
584
540
  operator = exports.DateOperators.Next;
585
541
  }
@@ -645,8 +601,8 @@ exports.RelativeDateFilter = RelativeDateFilter;
645
601
  * @internal
646
602
  */
647
603
  class CustomFilter extends AbstractFilter {
648
- constructor(att, jaql, guid) {
649
- super(att, exports.FilterTypes.advanced, guid);
604
+ constructor(att, jaql, config) {
605
+ super(att, exports.FilterTypes.advanced, config);
650
606
  // remove filterType from jaql as it is not needed
651
607
  delete jaql.filterType;
652
608
  this.jaqlExpression = jaql;
@@ -655,7 +611,7 @@ class CustomFilter extends AbstractFilter {
655
611
  * gets the element's ID
656
612
  */
657
613
  get id() {
658
- return `custom_${this.attribute.id}_${this.guid}`;
614
+ return `custom_${this.attribute.id}_${this.config.guid}`;
659
615
  }
660
616
  /**
661
617
  * 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;