@sisense/sdk-data 1.34.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/dimensional-model/analytics/factory.d.ts +10 -10
- package/dist/cjs/dimensional-model/analytics/factory.js +15 -16
- package/dist/cjs/dimensional-model/attributes.d.ts +4 -4
- package/dist/cjs/dimensional-model/attributes.js +21 -7
- package/dist/cjs/dimensional-model/base.d.ts +3 -3
- package/dist/cjs/dimensional-model/base.js +7 -4
- package/dist/cjs/dimensional-model/compose-code-utils.d.ts +41 -0
- package/dist/cjs/dimensional-model/compose-code-utils.js +127 -0
- package/dist/cjs/dimensional-model/consts.d.ts +1 -0
- package/dist/cjs/dimensional-model/consts.js +4 -0
- package/dist/cjs/dimensional-model/dimensions/dimensions.d.ts +5 -5
- package/dist/cjs/dimensional-model/dimensions/dimensions.js +25 -16
- package/dist/cjs/dimensional-model/filters/factory.d.ts +41 -41
- package/dist/cjs/dimensional-model/filters/factory.js +53 -168
- package/dist/cjs/dimensional-model/filters/filter-relations.js +2 -5
- package/dist/cjs/dimensional-model/filters/filters.d.ts +39 -23
- package/dist/cjs/dimensional-model/filters/filters.js +102 -52
- package/dist/cjs/dimensional-model/filters/utils/attribute-measure-util.js +6 -14
- package/dist/cjs/dimensional-model/filters/utils/condition-filter-util.js +28 -26
- package/dist/cjs/dimensional-model/filters/utils/filter-from-jaql-util.js +9 -15
- package/dist/cjs/dimensional-model/filters/utils/types.d.ts +10 -0
- package/dist/cjs/dimensional-model/interfaces.d.ts +9 -7
- package/dist/cjs/dimensional-model/jaql-element.d.ts +13 -1
- package/dist/cjs/dimensional-model/jaql-element.js +53 -1
- package/dist/cjs/dimensional-model/measures/factory.d.ts +45 -52
- package/dist/cjs/dimensional-model/measures/factory.js +55 -184
- package/dist/cjs/dimensional-model/measures/measures.d.ts +9 -9
- package/dist/cjs/dimensional-model/measures/measures.js +31 -29
- package/dist/cjs/dimensional-model/types.d.ts +25 -2
- package/dist/cjs/utils.d.ts +26 -19
- package/dist/cjs/utils.js +82 -41
- package/dist/dimensional-model/analytics/factory.d.ts +10 -10
- package/dist/dimensional-model/analytics/factory.js +15 -14
- package/dist/dimensional-model/attributes.d.ts +4 -4
- package/dist/dimensional-model/attributes.js +21 -7
- package/dist/dimensional-model/base.d.ts +3 -3
- package/dist/dimensional-model/base.js +7 -4
- package/dist/dimensional-model/compose-code-utils.d.ts +41 -0
- package/dist/dimensional-model/compose-code-utils.js +119 -0
- package/dist/dimensional-model/consts.d.ts +1 -0
- package/dist/dimensional-model/consts.js +1 -0
- package/dist/dimensional-model/dimensions/dimensions.d.ts +5 -5
- package/dist/dimensional-model/dimensions/dimensions.js +26 -17
- package/dist/dimensional-model/filters/factory.d.ts +41 -41
- package/dist/dimensional-model/filters/factory.js +51 -125
- package/dist/dimensional-model/filters/filter-relations.js +3 -6
- package/dist/dimensional-model/filters/filters.d.ts +39 -23
- package/dist/dimensional-model/filters/filters.js +102 -52
- package/dist/dimensional-model/filters/utils/attribute-measure-util.js +6 -14
- package/dist/dimensional-model/filters/utils/condition-filter-util.js +28 -26
- package/dist/dimensional-model/filters/utils/filter-from-jaql-util.js +9 -15
- package/dist/dimensional-model/filters/utils/types.d.ts +10 -0
- package/dist/dimensional-model/interfaces.d.ts +9 -7
- package/dist/dimensional-model/jaql-element.d.ts +13 -1
- package/dist/dimensional-model/jaql-element.js +52 -1
- package/dist/dimensional-model/measures/factory.d.ts +45 -52
- package/dist/dimensional-model/measures/factory.js +54 -141
- package/dist/dimensional-model/measures/measures.d.ts +9 -9
- package/dist/dimensional-model/measures/measures.js +31 -29
- package/dist/dimensional-model/types.d.ts +25 -2
- package/dist/tsconfig.prod.cjs.tsbuildinfo +1 -1
- package/dist/utils.d.ts +26 -19
- package/dist/utils.js +60 -44
- package/package.json +3 -3
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.d.ts +0 -17
- package/dist/cjs/dimensional-model/filters/utils/filter-code-util.js +0 -82
- package/dist/dimensional-model/filters/utils/filter-code-util.d.ts +0 -17
- package/dist/dimensional-model/filters/utils/filter-code-util.js +0 -77
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DimensionalElement } from '../base.js';
|
|
2
2
|
import { Attribute, BaseFilterConfig, CompleteBaseFilterConfig, CompleteMembersFilterConfig, Filter, LevelAttribute, Measure, MembersFilterConfig } from '../interfaces.js';
|
|
3
|
-
import { AnyObject } from '../types.js';
|
|
3
|
+
import { AnyObject, JSONObject } from '../types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Different text operators that can be used with text filters
|
|
6
6
|
*
|
|
@@ -95,7 +95,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
95
95
|
* Filter configuration
|
|
96
96
|
*/
|
|
97
97
|
config: CompleteBaseFilterConfig;
|
|
98
|
-
constructor(att: Attribute, filterType: string, config?: BaseFilterConfig);
|
|
98
|
+
constructor(att: Attribute, filterType: string, config?: BaseFilterConfig, composeCode?: string);
|
|
99
99
|
get name(): string;
|
|
100
100
|
/**
|
|
101
101
|
* Gets JAQL representing this Filter instance
|
|
@@ -112,7 +112,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
112
112
|
/**
|
|
113
113
|
* Gets a serializable representation of the element
|
|
114
114
|
*/
|
|
115
|
-
|
|
115
|
+
serialize(): JSONObject;
|
|
116
116
|
/**
|
|
117
117
|
* Gets the JAQL representation of this instance
|
|
118
118
|
*
|
|
@@ -128,7 +128,7 @@ declare abstract class AbstractFilter extends DimensionalElement implements Filt
|
|
|
128
128
|
export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
129
129
|
readonly filters: Filter[];
|
|
130
130
|
readonly operator: string;
|
|
131
|
-
constructor(filters: Filter[], operator: string, config?: BaseFilterConfig);
|
|
131
|
+
constructor(filters: Filter[], operator: string, config?: BaseFilterConfig, composeCode?: string);
|
|
132
132
|
/**
|
|
133
133
|
* gets the element's ID
|
|
134
134
|
*/
|
|
@@ -136,7 +136,7 @@ export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
|
136
136
|
/**
|
|
137
137
|
* Gets a serializable representation of the element
|
|
138
138
|
*/
|
|
139
|
-
|
|
139
|
+
serialize(): JSONObject;
|
|
140
140
|
/**
|
|
141
141
|
* Gets JAQL representing this Filter instance
|
|
142
142
|
*/
|
|
@@ -148,7 +148,7 @@ export declare class LogicalAttributeFilter extends AbstractFilter {
|
|
|
148
148
|
export declare class MembersFilter extends AbstractFilter {
|
|
149
149
|
readonly members: string[];
|
|
150
150
|
config: CompleteMembersFilterConfig;
|
|
151
|
-
constructor(attribute: Attribute, members?: string[], config?: MembersFilterConfig);
|
|
151
|
+
constructor(attribute: Attribute, members?: string[], config?: MembersFilterConfig, composeCode?: string);
|
|
152
152
|
/**
|
|
153
153
|
* gets the element's ID
|
|
154
154
|
*/
|
|
@@ -157,7 +157,7 @@ export declare class MembersFilter extends AbstractFilter {
|
|
|
157
157
|
/**
|
|
158
158
|
* Gets a serializable representation of the element
|
|
159
159
|
*/
|
|
160
|
-
|
|
160
|
+
serialize(): JSONObject;
|
|
161
161
|
/**
|
|
162
162
|
* Gets JAQL representing this Filter instance
|
|
163
163
|
*/
|
|
@@ -168,7 +168,7 @@ export declare class MembersFilter extends AbstractFilter {
|
|
|
168
168
|
*/
|
|
169
169
|
export declare class CascadingFilter extends AbstractFilter {
|
|
170
170
|
readonly _filters: Filter[];
|
|
171
|
-
constructor(filters: Filter[], config?: BaseFilterConfig);
|
|
171
|
+
constructor(filters: Filter[], config?: BaseFilterConfig, composeCode?: string);
|
|
172
172
|
/**
|
|
173
173
|
* Returns the level filters with the root config applied.
|
|
174
174
|
*/
|
|
@@ -180,7 +180,7 @@ export declare class CascadingFilter extends AbstractFilter {
|
|
|
180
180
|
/**
|
|
181
181
|
* Gets a serializable representation of the element
|
|
182
182
|
*/
|
|
183
|
-
|
|
183
|
+
serialize(): JSONObject;
|
|
184
184
|
/**
|
|
185
185
|
* Gets JAQL representing this Filter instance
|
|
186
186
|
*/
|
|
@@ -193,7 +193,7 @@ export declare class CascadingFilter extends AbstractFilter {
|
|
|
193
193
|
export declare class ExcludeFilter extends AbstractFilter {
|
|
194
194
|
readonly filter: Filter;
|
|
195
195
|
readonly input?: Filter;
|
|
196
|
-
constructor(filter: Filter, input?: Filter, config?: BaseFilterConfig);
|
|
196
|
+
constructor(filter: Filter, input?: Filter, config?: BaseFilterConfig, composeCode?: string);
|
|
197
197
|
/**
|
|
198
198
|
* gets the element's ID
|
|
199
199
|
*/
|
|
@@ -201,7 +201,7 @@ export declare class ExcludeFilter extends AbstractFilter {
|
|
|
201
201
|
/**
|
|
202
202
|
* Gets a serializable representation of the element
|
|
203
203
|
*/
|
|
204
|
-
|
|
204
|
+
serialize(): JSONObject;
|
|
205
205
|
/**
|
|
206
206
|
* Gets JAQL representing this Filter instance
|
|
207
207
|
*/
|
|
@@ -215,7 +215,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
|
215
215
|
operatorB?: string;
|
|
216
216
|
valueA?: Type;
|
|
217
217
|
valueB?: Type;
|
|
218
|
-
constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type, config?: BaseFilterConfig);
|
|
218
|
+
constructor(att: Attribute, filterType: string, operatorA?: string, valueA?: Type, operatorB?: string, valueB?: Type, config?: BaseFilterConfig, composeCode?: string);
|
|
219
219
|
/**
|
|
220
220
|
* gets the element's ID
|
|
221
221
|
*/
|
|
@@ -223,7 +223,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
|
223
223
|
/**
|
|
224
224
|
* Gets a serializable representation of the element
|
|
225
225
|
*/
|
|
226
|
-
|
|
226
|
+
serialize(): JSONObject;
|
|
227
227
|
/**
|
|
228
228
|
* Gets JAQL representing this Filter instance
|
|
229
229
|
*/
|
|
@@ -234,7 +234,7 @@ export declare class DoubleOperatorFilter<Type> extends AbstractFilter {
|
|
|
234
234
|
*/
|
|
235
235
|
export declare class MeasureFilter extends DoubleOperatorFilter<number> {
|
|
236
236
|
measure: Measure;
|
|
237
|
-
constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, config?: BaseFilterConfig);
|
|
237
|
+
constructor(att: Attribute, measure: Measure, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, config?: BaseFilterConfig, composeCode?: string);
|
|
238
238
|
/**
|
|
239
239
|
* gets the element's ID
|
|
240
240
|
*/
|
|
@@ -242,7 +242,7 @@ export declare class MeasureFilter extends DoubleOperatorFilter<number> {
|
|
|
242
242
|
/**
|
|
243
243
|
* Gets a serializable representation of the element
|
|
244
244
|
*/
|
|
245
|
-
|
|
245
|
+
serialize(): JSONObject;
|
|
246
246
|
jaql(nested?: boolean | undefined): any;
|
|
247
247
|
}
|
|
248
248
|
/**
|
|
@@ -252,7 +252,7 @@ export declare class RankingFilter extends AbstractFilter {
|
|
|
252
252
|
count: number;
|
|
253
253
|
operator: string;
|
|
254
254
|
measure: Measure;
|
|
255
|
-
constructor(att: Attribute, measure: Measure, operator: string, count: number, config?: BaseFilterConfig);
|
|
255
|
+
constructor(att: Attribute, measure: Measure, operator: string, count: number, config?: BaseFilterConfig, composeCode?: string);
|
|
256
256
|
/**
|
|
257
257
|
* gets the element's ID
|
|
258
258
|
*/
|
|
@@ -260,7 +260,7 @@ export declare class RankingFilter extends AbstractFilter {
|
|
|
260
260
|
/**
|
|
261
261
|
* Gets a serializable representation of the element
|
|
262
262
|
*/
|
|
263
|
-
|
|
263
|
+
serialize(): JSONObject;
|
|
264
264
|
/**
|
|
265
265
|
* Gets JAQL representing this Filter instance
|
|
266
266
|
*/
|
|
@@ -270,19 +270,27 @@ export declare class RankingFilter extends AbstractFilter {
|
|
|
270
270
|
* @internal
|
|
271
271
|
*/
|
|
272
272
|
export declare class NumericFilter extends DoubleOperatorFilter<number> {
|
|
273
|
-
constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, config?: BaseFilterConfig);
|
|
273
|
+
constructor(att: Attribute, operatorA?: string, valueA?: number, operatorB?: string, valueB?: number, config?: BaseFilterConfig, composeCode?: string);
|
|
274
|
+
/**
|
|
275
|
+
* Gets a serializable representation of the element
|
|
276
|
+
*/
|
|
277
|
+
serialize(): JSONObject;
|
|
274
278
|
}
|
|
275
279
|
/**
|
|
276
280
|
* @internal
|
|
277
281
|
*/
|
|
278
282
|
export declare class TextFilter extends DoubleOperatorFilter<string> {
|
|
279
|
-
constructor(att: Attribute, operator: string, value: string, config?: BaseFilterConfig);
|
|
283
|
+
constructor(att: Attribute, operator: string, value: string, config?: BaseFilterConfig, composeCode?: string);
|
|
284
|
+
/**
|
|
285
|
+
* Gets a serializable representation of the element
|
|
286
|
+
*/
|
|
287
|
+
serialize(): JSONObject;
|
|
280
288
|
}
|
|
281
289
|
/**
|
|
282
290
|
* @internal
|
|
283
291
|
*/
|
|
284
292
|
export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string> {
|
|
285
|
-
constructor(
|
|
293
|
+
constructor(levelAttribute: LevelAttribute, valueFrom?: Date | string, valueTo?: Date | string, config?: BaseFilterConfig, composeCode?: string);
|
|
286
294
|
get level(): LevelAttribute;
|
|
287
295
|
get from(): string;
|
|
288
296
|
get to(): string;
|
|
@@ -290,6 +298,10 @@ export declare class DateRangeFilter extends DoubleOperatorFilter<Date | string>
|
|
|
290
298
|
* Gets JAQL representing this Filter instance
|
|
291
299
|
*/
|
|
292
300
|
filterJaql(): any;
|
|
301
|
+
/**
|
|
302
|
+
* Gets a serializable representation of the element
|
|
303
|
+
*/
|
|
304
|
+
serialize(): JSONObject;
|
|
293
305
|
}
|
|
294
306
|
/**
|
|
295
307
|
* @internal
|
|
@@ -299,7 +311,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
|
|
|
299
311
|
readonly count: number;
|
|
300
312
|
readonly operator: typeof DateOperators.Last | typeof DateOperators.Next;
|
|
301
313
|
readonly anchor?: Date | string;
|
|
302
|
-
constructor(
|
|
314
|
+
constructor(levelAttribute: LevelAttribute, offset: number, count: number, operator?: typeof DateOperators.Last | typeof DateOperators.Next, anchor?: Date | string, config?: BaseFilterConfig, composeCode?: string);
|
|
303
315
|
get level(): LevelAttribute;
|
|
304
316
|
/**
|
|
305
317
|
* gets the element's ID
|
|
@@ -308,7 +320,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
|
|
|
308
320
|
/**
|
|
309
321
|
* Gets a serializable representation of the element
|
|
310
322
|
*/
|
|
311
|
-
|
|
323
|
+
serialize(): JSONObject;
|
|
312
324
|
/**
|
|
313
325
|
* Gets JAQL representing this Filter instance
|
|
314
326
|
*
|
|
@@ -320,7 +332,7 @@ export declare class RelativeDateFilter extends AbstractFilter {
|
|
|
320
332
|
*/
|
|
321
333
|
export declare class CustomFilter extends AbstractFilter {
|
|
322
334
|
readonly jaqlExpression: any;
|
|
323
|
-
constructor(att: Attribute, jaql: any, config?: BaseFilterConfig);
|
|
335
|
+
constructor(att: Attribute, jaql: any, config?: BaseFilterConfig, composeCode?: string);
|
|
324
336
|
/**
|
|
325
337
|
* gets the element's ID
|
|
326
338
|
*/
|
|
@@ -330,6 +342,10 @@ export declare class CustomFilter extends AbstractFilter {
|
|
|
330
342
|
*
|
|
331
343
|
*/
|
|
332
344
|
filterJaql(): any;
|
|
345
|
+
/**
|
|
346
|
+
* Gets a serializable representation of the element
|
|
347
|
+
*/
|
|
348
|
+
serialize(): JSONObject;
|
|
333
349
|
}
|
|
334
350
|
/**
|
|
335
351
|
* Checks if a filter is a CustomFilter.
|
|
@@ -96,8 +96,8 @@ exports.FilterTypes = {
|
|
|
96
96
|
* @internal
|
|
97
97
|
*/
|
|
98
98
|
class AbstractFilter extends base_js_1.DimensionalElement {
|
|
99
|
-
constructor(att, filterType, config) {
|
|
100
|
-
super('filter', types_js_1.MetadataTypes.Filter);
|
|
99
|
+
constructor(att, filterType, config, composeCode) {
|
|
100
|
+
super('filter', types_js_1.MetadataTypes.Filter, undefined, undefined, composeCode);
|
|
101
101
|
this.filterType = filterType;
|
|
102
102
|
// need to set isScope
|
|
103
103
|
// to make filter complete for comparison
|
|
@@ -113,10 +113,15 @@ class AbstractFilter extends base_js_1.DimensionalElement {
|
|
|
113
113
|
/**
|
|
114
114
|
* Gets a serializable representation of the element
|
|
115
115
|
*/
|
|
116
|
-
|
|
117
|
-
const result = super.
|
|
116
|
+
serialize() {
|
|
117
|
+
const result = super.serialize();
|
|
118
|
+
result.__serializable = 'AbstractFilter';
|
|
118
119
|
result.filterType = this.filterType;
|
|
119
|
-
result.attribute = this.attribute.
|
|
120
|
+
result.attribute = this.attribute.serialize();
|
|
121
|
+
if (this.config) {
|
|
122
|
+
result.config = this.config;
|
|
123
|
+
}
|
|
124
|
+
result.composeCode = this.composeCode;
|
|
120
125
|
return result;
|
|
121
126
|
}
|
|
122
127
|
/**
|
|
@@ -166,8 +171,8 @@ class AbstractFilter extends base_js_1.DimensionalElement {
|
|
|
166
171
|
* @internal
|
|
167
172
|
*/
|
|
168
173
|
class LogicalAttributeFilter extends AbstractFilter {
|
|
169
|
-
constructor(filters, operator, config) {
|
|
170
|
-
super(filters[0].attribute, exports.FilterTypes.logicalAttribute, config);
|
|
174
|
+
constructor(filters, operator, config, composeCode) {
|
|
175
|
+
super(filters[0].attribute, exports.FilterTypes.logicalAttribute, config, composeCode);
|
|
171
176
|
this.operator = operator;
|
|
172
177
|
this.filters = filters;
|
|
173
178
|
}
|
|
@@ -180,10 +185,11 @@ class LogicalAttributeFilter extends AbstractFilter {
|
|
|
180
185
|
/**
|
|
181
186
|
* Gets a serializable representation of the element
|
|
182
187
|
*/
|
|
183
|
-
|
|
184
|
-
const result = super.
|
|
188
|
+
serialize() {
|
|
189
|
+
const result = super.serialize();
|
|
190
|
+
result.__serializable = 'LogicalAttributeFilter';
|
|
185
191
|
result.operator = this.operator;
|
|
186
|
-
result.filters = this.filters.map((f) => f.
|
|
192
|
+
result.filters = this.filters.map((f) => f.serialize());
|
|
187
193
|
return result;
|
|
188
194
|
}
|
|
189
195
|
/**
|
|
@@ -200,8 +206,8 @@ exports.LogicalAttributeFilter = LogicalAttributeFilter;
|
|
|
200
206
|
* @internal
|
|
201
207
|
*/
|
|
202
208
|
class MembersFilter extends AbstractFilter {
|
|
203
|
-
constructor(attribute, members, config) {
|
|
204
|
-
super(attribute, exports.FilterTypes.members);
|
|
209
|
+
constructor(attribute, members, config, composeCode) {
|
|
210
|
+
super(attribute, exports.FilterTypes.members, undefined, composeCode);
|
|
205
211
|
this.members = members !== null && members !== void 0 ? members : [];
|
|
206
212
|
if (this.members.filter((m) => m === null || m === undefined).length > 0) {
|
|
207
213
|
throw new translatable_error_js_1.TranslatableError('errors.filter.membersFilterNullMember', {
|
|
@@ -225,8 +231,13 @@ class MembersFilter extends AbstractFilter {
|
|
|
225
231
|
/**
|
|
226
232
|
* Gets a serializable representation of the element
|
|
227
233
|
*/
|
|
228
|
-
|
|
229
|
-
const result = super.
|
|
234
|
+
serialize() {
|
|
235
|
+
const result = super.serialize();
|
|
236
|
+
result.__serializable = 'MembersFilter';
|
|
237
|
+
if (this.config) {
|
|
238
|
+
result.config = (this.config.backgroundFilter
|
|
239
|
+
? Object.assign(Object.assign({}, this.config), { backgroundFilter: this.config.backgroundFilter.serialize() }) : this.config);
|
|
240
|
+
}
|
|
230
241
|
result.members = this.members;
|
|
231
242
|
return result;
|
|
232
243
|
}
|
|
@@ -253,8 +264,8 @@ exports.MembersFilter = MembersFilter;
|
|
|
253
264
|
* @internal
|
|
254
265
|
*/
|
|
255
266
|
class CascadingFilter extends AbstractFilter {
|
|
256
|
-
constructor(filters, config) {
|
|
257
|
-
super(filters[0].attribute, exports.FilterTypes.cascading, config);
|
|
267
|
+
constructor(filters, config, composeCode) {
|
|
268
|
+
super(filters[0].attribute, exports.FilterTypes.cascading, config, composeCode);
|
|
258
269
|
this._filters = filters;
|
|
259
270
|
}
|
|
260
271
|
/**
|
|
@@ -276,9 +287,10 @@ class CascadingFilter extends AbstractFilter {
|
|
|
276
287
|
/**
|
|
277
288
|
* Gets a serializable representation of the element
|
|
278
289
|
*/
|
|
279
|
-
|
|
280
|
-
const result = super.
|
|
281
|
-
result.
|
|
290
|
+
serialize() {
|
|
291
|
+
const result = super.serialize();
|
|
292
|
+
result.__serializable = 'CascadingFilter';
|
|
293
|
+
result._filters = this.filters.map((f) => f.serialize());
|
|
282
294
|
return result;
|
|
283
295
|
}
|
|
284
296
|
/**
|
|
@@ -304,8 +316,8 @@ exports.CascadingFilter = CascadingFilter;
|
|
|
304
316
|
* @internal
|
|
305
317
|
*/
|
|
306
318
|
class ExcludeFilter extends AbstractFilter {
|
|
307
|
-
constructor(filter, input, config) {
|
|
308
|
-
super(filter.attribute, exports.FilterTypes.exclude, config);
|
|
319
|
+
constructor(filter, input, config, composeCode) {
|
|
320
|
+
super(filter.attribute, exports.FilterTypes.exclude, config, composeCode);
|
|
309
321
|
this.input = input;
|
|
310
322
|
this.filter = filter;
|
|
311
323
|
}
|
|
@@ -322,11 +334,12 @@ class ExcludeFilter extends AbstractFilter {
|
|
|
322
334
|
/**
|
|
323
335
|
* Gets a serializable representation of the element
|
|
324
336
|
*/
|
|
325
|
-
|
|
326
|
-
const result = super.
|
|
327
|
-
result.
|
|
337
|
+
serialize() {
|
|
338
|
+
const result = super.serialize();
|
|
339
|
+
result.__serializable = 'ExcludeFilter';
|
|
340
|
+
result.filter = this.filter.serialize();
|
|
328
341
|
if (this.input) {
|
|
329
|
-
result.input = this.input.
|
|
342
|
+
result.input = this.input.serialize();
|
|
330
343
|
}
|
|
331
344
|
return result;
|
|
332
345
|
}
|
|
@@ -351,8 +364,8 @@ exports.ExcludeFilter = ExcludeFilter;
|
|
|
351
364
|
* @internal
|
|
352
365
|
*/
|
|
353
366
|
class DoubleOperatorFilter extends AbstractFilter {
|
|
354
|
-
constructor(att, filterType, operatorA, valueA, operatorB, valueB, config) {
|
|
355
|
-
super(att, filterType, config);
|
|
367
|
+
constructor(att, filterType, operatorA, valueA, operatorB, valueB, config, composeCode) {
|
|
368
|
+
super(att, filterType, config, composeCode);
|
|
356
369
|
if (operatorA && valueA !== undefined) {
|
|
357
370
|
this.valueA = valueA;
|
|
358
371
|
this.operatorA = operatorA;
|
|
@@ -378,8 +391,9 @@ class DoubleOperatorFilter extends AbstractFilter {
|
|
|
378
391
|
/**
|
|
379
392
|
* Gets a serializable representation of the element
|
|
380
393
|
*/
|
|
381
|
-
|
|
382
|
-
const result = super.
|
|
394
|
+
serialize() {
|
|
395
|
+
const result = super.serialize();
|
|
396
|
+
result.__serializable = 'DoubleOperatorFilter';
|
|
383
397
|
if (this.operatorA) {
|
|
384
398
|
result.operatorA = this.operatorA;
|
|
385
399
|
}
|
|
@@ -413,8 +427,8 @@ exports.DoubleOperatorFilter = DoubleOperatorFilter;
|
|
|
413
427
|
* @internal
|
|
414
428
|
*/
|
|
415
429
|
class MeasureFilter extends DoubleOperatorFilter {
|
|
416
|
-
constructor(att, measure, operatorA, valueA, operatorB, valueB, config) {
|
|
417
|
-
super(att, exports.FilterTypes.measure, operatorA, valueA, operatorB, valueB, config);
|
|
430
|
+
constructor(att, measure, operatorA, valueA, operatorB, valueB, config, composeCode) {
|
|
431
|
+
super(att, exports.FilterTypes.measure, operatorA, valueA, operatorB, valueB, config, composeCode);
|
|
418
432
|
this.measure = measure;
|
|
419
433
|
}
|
|
420
434
|
/**
|
|
@@ -433,9 +447,10 @@ class MeasureFilter extends DoubleOperatorFilter {
|
|
|
433
447
|
/**
|
|
434
448
|
* Gets a serializable representation of the element
|
|
435
449
|
*/
|
|
436
|
-
|
|
437
|
-
const result = super.
|
|
438
|
-
result.
|
|
450
|
+
serialize() {
|
|
451
|
+
const result = super.serialize();
|
|
452
|
+
result.__serializable = 'MeasureFilter';
|
|
453
|
+
result.measure = this.measure.serialize();
|
|
439
454
|
return result;
|
|
440
455
|
}
|
|
441
456
|
jaql(nested) {
|
|
@@ -456,8 +471,8 @@ exports.MeasureFilter = MeasureFilter;
|
|
|
456
471
|
* @internal
|
|
457
472
|
*/
|
|
458
473
|
class RankingFilter extends AbstractFilter {
|
|
459
|
-
constructor(att, measure, operator, count, config) {
|
|
460
|
-
super(att, exports.FilterTypes.ranking, config);
|
|
474
|
+
constructor(att, measure, operator, count, config, composeCode) {
|
|
475
|
+
super(att, exports.FilterTypes.ranking, config, composeCode);
|
|
461
476
|
this.count = count;
|
|
462
477
|
this.operator = operator;
|
|
463
478
|
this.measure = measure;
|
|
@@ -471,11 +486,12 @@ class RankingFilter extends AbstractFilter {
|
|
|
471
486
|
/**
|
|
472
487
|
* Gets a serializable representation of the element
|
|
473
488
|
*/
|
|
474
|
-
|
|
475
|
-
const result = super.
|
|
489
|
+
serialize() {
|
|
490
|
+
const result = super.serialize();
|
|
491
|
+
result.__serializable = 'RankingFilter';
|
|
476
492
|
result.count = this.count;
|
|
477
493
|
result.operator = this.operator;
|
|
478
|
-
result.measure = this.measure.
|
|
494
|
+
result.measure = this.measure.serialize();
|
|
479
495
|
return result;
|
|
480
496
|
}
|
|
481
497
|
/**
|
|
@@ -493,8 +509,16 @@ exports.RankingFilter = RankingFilter;
|
|
|
493
509
|
* @internal
|
|
494
510
|
*/
|
|
495
511
|
class NumericFilter extends DoubleOperatorFilter {
|
|
496
|
-
constructor(att, operatorA, valueA, operatorB, valueB, config) {
|
|
497
|
-
super(att, exports.FilterTypes.numeric, operatorA, valueA, operatorB, valueB, config);
|
|
512
|
+
constructor(att, operatorA, valueA, operatorB, valueB, config, composeCode) {
|
|
513
|
+
super(att, exports.FilterTypes.numeric, operatorA, valueA, operatorB, valueB, config, composeCode);
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Gets a serializable representation of the element
|
|
517
|
+
*/
|
|
518
|
+
serialize() {
|
|
519
|
+
const result = super.serialize();
|
|
520
|
+
result.__serializable = 'NumericFilter';
|
|
521
|
+
return result;
|
|
498
522
|
}
|
|
499
523
|
}
|
|
500
524
|
exports.NumericFilter = NumericFilter;
|
|
@@ -502,8 +526,16 @@ exports.NumericFilter = NumericFilter;
|
|
|
502
526
|
* @internal
|
|
503
527
|
*/
|
|
504
528
|
class TextFilter extends DoubleOperatorFilter {
|
|
505
|
-
constructor(att, operator, value, config) {
|
|
506
|
-
super(att, exports.FilterTypes.text, operator, value, undefined, undefined, config);
|
|
529
|
+
constructor(att, operator, value, config, composeCode) {
|
|
530
|
+
super(att, exports.FilterTypes.text, operator, value, undefined, undefined, config, composeCode);
|
|
531
|
+
}
|
|
532
|
+
/**
|
|
533
|
+
* Gets a serializable representation of the element
|
|
534
|
+
*/
|
|
535
|
+
serialize() {
|
|
536
|
+
const result = super.serialize();
|
|
537
|
+
result.__serializable = 'TextFilter';
|
|
538
|
+
return result;
|
|
507
539
|
}
|
|
508
540
|
}
|
|
509
541
|
exports.TextFilter = TextFilter;
|
|
@@ -511,8 +543,8 @@ exports.TextFilter = TextFilter;
|
|
|
511
543
|
* @internal
|
|
512
544
|
*/
|
|
513
545
|
class DateRangeFilter extends DoubleOperatorFilter {
|
|
514
|
-
constructor(
|
|
515
|
-
super(
|
|
546
|
+
constructor(levelAttribute, valueFrom, valueTo, config, composeCode) {
|
|
547
|
+
super(levelAttribute, exports.FilterTypes.dateRange, exports.DateOperators.From, valueFrom, exports.DateOperators.To, valueTo, config, composeCode);
|
|
516
548
|
if (typeof valueFrom === 'object') {
|
|
517
549
|
this.valueA = valueFrom.toISOString();
|
|
518
550
|
}
|
|
@@ -535,14 +567,22 @@ class DateRangeFilter extends DoubleOperatorFilter {
|
|
|
535
567
|
filterJaql() {
|
|
536
568
|
return super.filterJaql();
|
|
537
569
|
}
|
|
570
|
+
/**
|
|
571
|
+
* Gets a serializable representation of the element
|
|
572
|
+
*/
|
|
573
|
+
serialize() {
|
|
574
|
+
const result = super.serialize();
|
|
575
|
+
result.__serializable = 'DateRangeFilter';
|
|
576
|
+
return result;
|
|
577
|
+
}
|
|
538
578
|
}
|
|
539
579
|
exports.DateRangeFilter = DateRangeFilter;
|
|
540
580
|
/**
|
|
541
581
|
* @internal
|
|
542
582
|
*/
|
|
543
583
|
class RelativeDateFilter extends AbstractFilter {
|
|
544
|
-
constructor(
|
|
545
|
-
super(
|
|
584
|
+
constructor(levelAttribute, offset, count, operator, anchor, config, composeCode) {
|
|
585
|
+
super(levelAttribute, exports.FilterTypes.relativeDate, config, composeCode);
|
|
546
586
|
if (!operator) {
|
|
547
587
|
operator = exports.DateOperators.Next;
|
|
548
588
|
}
|
|
@@ -572,13 +612,14 @@ class RelativeDateFilter extends AbstractFilter {
|
|
|
572
612
|
/**
|
|
573
613
|
* Gets a serializable representation of the element
|
|
574
614
|
*/
|
|
575
|
-
|
|
576
|
-
const result = super.
|
|
615
|
+
serialize() {
|
|
616
|
+
const result = super.serialize();
|
|
617
|
+
result.__serializable = 'RelativeDateFilter';
|
|
577
618
|
result.offset = this.offset;
|
|
578
619
|
result.count = this.count;
|
|
579
620
|
result.operator = this.operator;
|
|
580
621
|
if (this.anchor) {
|
|
581
|
-
result.anchor = this.anchor;
|
|
622
|
+
result.anchor = typeof this.anchor === 'string' ? this.anchor : this.anchor.toISOString();
|
|
582
623
|
}
|
|
583
624
|
return result;
|
|
584
625
|
}
|
|
@@ -608,8 +649,8 @@ exports.RelativeDateFilter = RelativeDateFilter;
|
|
|
608
649
|
* @internal
|
|
609
650
|
*/
|
|
610
651
|
class CustomFilter extends AbstractFilter {
|
|
611
|
-
constructor(att, jaql, config) {
|
|
612
|
-
super(att, exports.FilterTypes.advanced, config);
|
|
652
|
+
constructor(att, jaql, config, composeCode) {
|
|
653
|
+
super(att, exports.FilterTypes.advanced, config, composeCode);
|
|
613
654
|
// remove filterType from jaql as it is not needed
|
|
614
655
|
delete jaql.filterType;
|
|
615
656
|
this.jaqlExpression = jaql;
|
|
@@ -627,6 +668,15 @@ class CustomFilter extends AbstractFilter {
|
|
|
627
668
|
filterJaql() {
|
|
628
669
|
return this.jaqlExpression;
|
|
629
670
|
}
|
|
671
|
+
/**
|
|
672
|
+
* Gets a serializable representation of the element
|
|
673
|
+
*/
|
|
674
|
+
serialize() {
|
|
675
|
+
const result = super.serialize();
|
|
676
|
+
result.__serializable = 'CustomFilter';
|
|
677
|
+
result.jaqlExpression = this.jaqlExpression;
|
|
678
|
+
return result;
|
|
679
|
+
}
|
|
630
680
|
}
|
|
631
681
|
exports.CustomFilter = CustomFilter;
|
|
632
682
|
/**
|
|
@@ -9,15 +9,11 @@ const utils_js_1 = require("../../../utils.js");
|
|
|
9
9
|
* @returns attribute or level attribute
|
|
10
10
|
*/
|
|
11
11
|
const createAttributeFromFilterJaql = (jaql) => {
|
|
12
|
-
const { dim,
|
|
12
|
+
const { dim, datatype, title, datasource: dataSource } = jaql;
|
|
13
13
|
return (0, utils_js_1.createAttributeHelper)({
|
|
14
|
-
dim,
|
|
15
|
-
table,
|
|
16
|
-
column,
|
|
14
|
+
expression: dim,
|
|
17
15
|
dataType: datatype,
|
|
18
16
|
granularity: (0, utils_js_1.getGranularityFromJaql)(jaql),
|
|
19
|
-
format: undefined,
|
|
20
|
-
sort: undefined,
|
|
21
17
|
title,
|
|
22
18
|
dataSource,
|
|
23
19
|
});
|
|
@@ -30,13 +26,11 @@ exports.createAttributeFromFilterJaql = createAttributeFromFilterJaql;
|
|
|
30
26
|
* @returns Measure
|
|
31
27
|
*/
|
|
32
28
|
const createMeasureFromFilterJaql = (jaql) => {
|
|
33
|
-
const { dim,
|
|
29
|
+
const { dim, title, datatype: dataType, agg, datasource: dataSource } = jaql;
|
|
34
30
|
if (!agg)
|
|
35
31
|
return undefined;
|
|
36
32
|
return (0, utils_js_1.createMeasureHelper)({
|
|
37
|
-
dim,
|
|
38
|
-
table,
|
|
39
|
-
column,
|
|
33
|
+
expression: dim,
|
|
40
34
|
dataType,
|
|
41
35
|
agg,
|
|
42
36
|
granularity: (0, utils_js_1.getGranularityFromJaql)(jaql),
|
|
@@ -56,11 +50,9 @@ exports.createMeasureFromFilterJaql = createMeasureFromFilterJaql;
|
|
|
56
50
|
const createMeasureFromRankingFilterJaql = (jaql, rankingMessage) => {
|
|
57
51
|
if ('formula' in jaql)
|
|
58
52
|
return (0, utils_js_1.createCalculatedMeasureHelper)(jaql);
|
|
59
|
-
const { dim,
|
|
53
|
+
const { dim, datatype: dataType, agg } = jaql;
|
|
60
54
|
return (0, utils_js_1.createMeasureHelper)({
|
|
61
|
-
dim,
|
|
62
|
-
table,
|
|
63
|
-
column,
|
|
55
|
+
expression: dim,
|
|
64
56
|
granularity: (0, utils_js_1.getGranularityFromJaql)(jaql),
|
|
65
57
|
dataType,
|
|
66
58
|
agg,
|