@qrvey/filters 0.0.18 → 0.0.19
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/CHANGELOG.md +6 -0
- package/dist/cjs/classes/FilterAdapter.d.ts.map +1 -1
- package/dist/cjs/classes/FilterBuilder.d.ts +26 -2
- package/dist/cjs/classes/FilterBuilder.d.ts.map +1 -1
- package/dist/cjs/classes/FilterBuilder.js +110 -0
- package/dist/cjs/classes/FilterManager.d.ts +16 -11
- package/dist/cjs/classes/FilterManager.d.ts.map +1 -1
- package/dist/cjs/classes/FilterManager.js +26 -18
- package/dist/cjs/classes/FilterSettings.d.ts +1 -0
- package/dist/cjs/classes/FilterSettings.d.ts.map +1 -0
- package/dist/cjs/classes/FilterSettings.js +40 -0
- package/dist/cjs/models/filter-builder.models.d.ts +29 -0
- package/dist/cjs/models/filter-builder.models.d.ts.map +1 -1
- package/dist/cjs/resources/filter-settings.resources.d.ts +366 -0
- package/dist/cjs/resources/filter-settings.resources.d.ts.map +1 -0
- package/dist/cjs/resources/filter-settings.resources.js +87 -0
- package/dist/classes/FilterAdapter.d.ts.map +1 -1
- package/dist/classes/FilterBuilder.d.ts +26 -2
- package/dist/classes/FilterBuilder.d.ts.map +1 -1
- package/dist/classes/FilterBuilder.js +111 -1
- package/dist/classes/FilterManager.d.ts +16 -11
- package/dist/classes/FilterManager.d.ts.map +1 -1
- package/dist/classes/FilterManager.js +26 -18
- package/dist/classes/FilterSettings.d.ts +1 -0
- package/dist/classes/FilterSettings.d.ts.map +1 -0
- package/dist/classes/FilterSettings.js +40 -0
- package/dist/models/filter-builder.models.d.ts +29 -0
- package/dist/models/filter-builder.models.d.ts.map +1 -1
- package/dist/resources/filter-settings.resources.d.ts +366 -0
- package/dist/resources/filter-settings.resources.d.ts.map +1 -0
- package/dist/resources/filter-settings.resources.js +84 -0
- package/package.json +1 -1
- package/src/classes/FilterAdapter.ts +5 -5
- package/src/classes/FilterBuilder.ts +148 -2
- package/src/classes/FilterManager.ts +26 -17
- package/src/models/filter-builder.models.ts +35 -0
- package/tests/classes/FilterBuilder.test.ts +165 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,8 +4,14 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
#### [v0.0.19](https://bitbucket.org/qrvey/qrvey_filters/compare/v0.0.19..v0.0.18)
|
|
8
|
+
|
|
9
|
+
- feat: :zap: added the filters merging process [`69dad4b`](https://bitbucket.org/qrvey/qrvey_filters/commits/69dad4bb26883e4a8baa5e63cfbbba085914a206)
|
|
10
|
+
|
|
7
11
|
#### [v0.0.18](https://bitbucket.org/qrvey/qrvey_filters/compare/v0.0.18..v0.0.17)
|
|
8
12
|
|
|
13
|
+
> 20 June 2024
|
|
14
|
+
|
|
9
15
|
- fix: :bug: added formulaType to get the right validators and groupings [`05dc5f3`](https://bitbucket.org/qrvey/qrvey_filters/commits/05dc5f37cc701db3d54f616867c895461a60903c)
|
|
10
16
|
- build: upgraded Qrvey Utils to 1.14.0-7 [`c0a7433`](https://bitbucket.org/qrvey/qrvey_filters/commits/c0a7433e72bbda091ff78a5938d404df0c79b871)
|
|
11
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterAdapter.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAUjD,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,mBAAmB,EACnB,OAAO,EACP,cAAc,EACf,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAuBtB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC7B,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE;IAC9B,SAAS,CAAC,gBAAgB,CAAC;IAxB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,CAAiB;IAEhC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,CAAgB;IAEhC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAC,CAAU;IAEhC;;;;;OAKG;gBAES,QAAQ,GAAE,OAAO,EAAO,EACxB,QAAQ,GAAE,QAAQ,EAAO,EACzB,gBAAgB,CAAC,0CAA8B;IAK3D;;OAEG;IACH,OAAO,CAAC,IAAI;IAMZ;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;
|
|
1
|
+
{"version":3,"file":"FilterAdapter.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAUjD,OAAO,EACL,4BAA4B,EAC5B,iBAAiB,EAClB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EACL,mBAAmB,EACnB,OAAO,EACP,cAAc,EACf,MAAM,gCAAgC,CAAC;AAExC;;GAEG;AACH,qBAAa,aAAa;IAuBtB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC7B,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE;IAC9B,SAAS,CAAC,gBAAgB,CAAC;IAxB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,CAAiB;IAEhC;;OAEG;IACH,OAAO,CAAC,OAAO,CAAC,CAAgB;IAEhC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAC,CAAU;IAEhC;;;;;OAKG;gBAES,QAAQ,GAAE,OAAO,EAAO,EACxB,QAAQ,GAAE,QAAQ,EAAO,EACzB,gBAAgB,CAAC,0CAA8B;IAK3D;;OAEG;IACH,OAAO,CAAC,IAAI;IAMZ;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;WACW,oBAAoB,CAChC,YAAY,EAAE,OAAO,EACrB,gBAAgB,CAAC,EAAE,4BAA4B,GAC9C,iBAAiB;IAWpB;;;OAGG;IACH,IAAW,YAAY,IAAI,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAKlE;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAK5D;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAK5D;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAK3D;IAED;;;OAGG;IACI,WAAW,CAAC,QAAQ,GAAE,QAAQ,EAAO,GAAG,IAAI;IAKnD;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI;IAK3C;;;OAGG;IACI,mBAAmB,CACxB,gBAAgB,EAAE,4BAA4B,GAC7C,IAAI;IAKP;;;OAGG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACH,OAAO,CAAC,SAAS;CAGlB"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { IFilterBuilderAdd, IFilterBuilderAddValue, IFilterBuilderDelete, IFilterBuilderDeleteValue, IFilterBuilderEdit, IFilterBuilderEditValue, IFilterBuilderMultipleReturn, IFilterBuilderSet, IFilterBuilderSingleReturn } from "../models/filter-builder.models";
|
|
1
|
+
import { IFilterBuilderAdd, IFilterBuilderAddValue, IFilterBuilderDelete, IFilterBuilderDeleteValue, IFilterBuilderEdit, IFilterBuilderEditValue, IFilterBuilderMerge, IFilterBuilderMergeValue, IFilterBuilderMultipleReturn, IFilterBuilderSet, IFilterBuilderSingleReturn } from "../models/filter-builder.models";
|
|
2
2
|
import { IFilterBuilderEditSettings, IFilterParamSettings } from "../resources/filter-functions.resources";
|
|
3
3
|
import { IFilterValue } from "../resources/filter-values.resources";
|
|
4
4
|
import { IFilter } from "../resources/filters.resources";
|
|
5
5
|
/**
|
|
6
6
|
* Class to build new filters and manipulate ones.
|
|
7
7
|
*/
|
|
8
|
-
export declare class FilterBuilder implements IFilterBuilderAdd, IFilterBuilderAddValue, IFilterBuilderDelete, IFilterBuilderDeleteValue, IFilterBuilderEdit, IFilterBuilderEditValue, IFilterBuilderSet {
|
|
8
|
+
export declare class FilterBuilder implements IFilterBuilderAdd, IFilterBuilderAddValue, IFilterBuilderDelete, IFilterBuilderDeleteValue, IFilterBuilderEdit, IFilterBuilderEditValue, IFilterBuilderMerge, IFilterBuilderMergeValue, IFilterBuilderSet {
|
|
9
9
|
protected filters: IFilter[];
|
|
10
10
|
/**
|
|
11
11
|
* Instance to search filters
|
|
@@ -126,6 +126,30 @@ export declare class FilterBuilder implements IFilterBuilderAdd, IFilterBuilderA
|
|
|
126
126
|
* @returns the new filter collection
|
|
127
127
|
*/
|
|
128
128
|
editValues(id: string, values: IFilterValue[], indexes: number[]): IFilterBuilderSingleReturn;
|
|
129
|
+
/**
|
|
130
|
+
* **************************************************************************************************
|
|
131
|
+
****************************************** Merging *************************************************
|
|
132
|
+
****************************************************************************************************
|
|
133
|
+
*/
|
|
134
|
+
/**
|
|
135
|
+
* Merge the filter into the collection by some filter parameters
|
|
136
|
+
* @param filter the filter to merge
|
|
137
|
+
* @returns the new filter collection
|
|
138
|
+
*/
|
|
139
|
+
mergeSingle(filter: IFilter): IFilterBuilderSingleReturn;
|
|
140
|
+
/**
|
|
141
|
+
* Merge the filters into the collection by some filter parameters
|
|
142
|
+
* @param filters the filter collection to merge
|
|
143
|
+
* @returns the new filter collection
|
|
144
|
+
*/
|
|
145
|
+
mergeMutiple(filters: IFilter[]): IFilterBuilderMultipleReturn;
|
|
146
|
+
/**
|
|
147
|
+
* Merge values from filter
|
|
148
|
+
* @param id the ID to search the filter to merge values
|
|
149
|
+
* @param values the value collection to merge
|
|
150
|
+
* @returns the new filter collection
|
|
151
|
+
*/
|
|
152
|
+
mergeValues(id: string, values: IFilterValue[] | undefined): IFilterBuilderSingleReturn;
|
|
129
153
|
/**
|
|
130
154
|
* **************************************************************************************************
|
|
131
155
|
****************************************** Others **************************************************
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterBuilder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FilterBuilder.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ const FilterSearcher_1 = require("./FilterSearcher");
|
|
|
6
6
|
const FilterValidation_1 = require("./FilterValidation");
|
|
7
7
|
const filter_settings_helpers_1 = require("../helpers/filter-settings.helpers");
|
|
8
8
|
const getFilterId_1 = require("../helpers/getFilterId");
|
|
9
|
+
const getFilterType_1 = require("../helpers/getFilterType");
|
|
9
10
|
const filters_resources_1 = require("../resources/filters.resources");
|
|
10
11
|
/**
|
|
11
12
|
* Class to build new filters and manipulate ones.
|
|
@@ -385,6 +386,115 @@ class FilterBuilder {
|
|
|
385
386
|
original: original[filterIndex],
|
|
386
387
|
};
|
|
387
388
|
}
|
|
389
|
+
/**
|
|
390
|
+
* **************************************************************************************************
|
|
391
|
+
****************************************** Merging *************************************************
|
|
392
|
+
****************************************************************************************************
|
|
393
|
+
*/
|
|
394
|
+
/**
|
|
395
|
+
* Merge the filter into the collection by some filter parameters
|
|
396
|
+
* @param filter the filter to merge
|
|
397
|
+
* @returns the new filter collection
|
|
398
|
+
*/
|
|
399
|
+
mergeSingle(filter) {
|
|
400
|
+
if ((0, utils_1.isEmpty)(filter))
|
|
401
|
+
return { resulting: this.filters };
|
|
402
|
+
const filterIndex = this.searchEngine.findIndexByParams({
|
|
403
|
+
columnId: filter.columnId,
|
|
404
|
+
datasetId: filter.datasetId,
|
|
405
|
+
grouping: filter.grouping,
|
|
406
|
+
scope: filter.scope,
|
|
407
|
+
scopeId: filter.scopeId,
|
|
408
|
+
validator: filter.validator,
|
|
409
|
+
});
|
|
410
|
+
let original = filter;
|
|
411
|
+
let affected = filter;
|
|
412
|
+
if (filterIndex > -1) {
|
|
413
|
+
original = (0, utils_1.objectCopy)(this.filters[filterIndex]);
|
|
414
|
+
const { affected: affectedMergeFilter } = this.mergeValues(this.filters[filterIndex].id, filter.values);
|
|
415
|
+
affected = affectedMergeFilter;
|
|
416
|
+
}
|
|
417
|
+
else {
|
|
418
|
+
const { affected: affectedAddSingle } = this.addSingle(filter);
|
|
419
|
+
affected = affectedAddSingle;
|
|
420
|
+
}
|
|
421
|
+
return {
|
|
422
|
+
resulting: this.filters,
|
|
423
|
+
affected,
|
|
424
|
+
original,
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Merge the filters into the collection by some filter parameters
|
|
429
|
+
* @param filters the filter collection to merge
|
|
430
|
+
* @returns the new filter collection
|
|
431
|
+
*/
|
|
432
|
+
mergeMutiple(filters) {
|
|
433
|
+
if (!Array.isArray(filters) || (0, utils_1.isEmpty)(filters))
|
|
434
|
+
return { resulting: this.filters };
|
|
435
|
+
const originalFilters = (0, utils_1.objectCopy)(this.filters);
|
|
436
|
+
const mergedFilters = [];
|
|
437
|
+
try {
|
|
438
|
+
filters.forEach((filter) => {
|
|
439
|
+
const mergedFilter = this.mergeSingle(filter);
|
|
440
|
+
mergedFilters.push(mergedFilter.affected);
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
catch (_error) {
|
|
444
|
+
this.filters = originalFilters;
|
|
445
|
+
return { resulting: originalFilters };
|
|
446
|
+
}
|
|
447
|
+
this.sync();
|
|
448
|
+
return {
|
|
449
|
+
resulting: this.filters,
|
|
450
|
+
affected: mergedFilters,
|
|
451
|
+
original: originalFilters,
|
|
452
|
+
};
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Merge values from filter
|
|
456
|
+
* @param id the ID to search the filter to merge values
|
|
457
|
+
* @param values the value collection to merge
|
|
458
|
+
* @returns the new filter collection
|
|
459
|
+
*/
|
|
460
|
+
mergeValues(id, values) {
|
|
461
|
+
const filterIndex = this.searchEngine.findIndexByParams({ id });
|
|
462
|
+
if ((0, utils_1.isEmpty)(values) || filterIndex < 0)
|
|
463
|
+
return { resulting: this.filters };
|
|
464
|
+
const original = (0, utils_1.objectCopy)(this.filters[filterIndex]);
|
|
465
|
+
const filterType = (0, getFilterType_1.getFilterType)(original.columnType, original.validator);
|
|
466
|
+
if ((0, utils_1.isEmpty)(this.filters[filterIndex].values))
|
|
467
|
+
this.filters[filterIndex].values = [];
|
|
468
|
+
values.forEach((value) => {
|
|
469
|
+
switch (filterType) {
|
|
470
|
+
case filters_resources_1.FILTER_TYPE.RANGE: {
|
|
471
|
+
const valueIndex = this.filters[filterIndex].values.findIndex((v) => v.max === value.max &&
|
|
472
|
+
v.min === value.min);
|
|
473
|
+
if (valueIndex < 0) {
|
|
474
|
+
this.filters[filterIndex].values?.push(value);
|
|
475
|
+
}
|
|
476
|
+
break;
|
|
477
|
+
}
|
|
478
|
+
case filters_resources_1.FILTER_TYPE.REGULAR: {
|
|
479
|
+
const valueIndex = this.filters[filterIndex].values.findIndex((v) => v.value === value.value);
|
|
480
|
+
if (valueIndex < 0) {
|
|
481
|
+
this.filters[filterIndex].values?.push(value);
|
|
482
|
+
}
|
|
483
|
+
break;
|
|
484
|
+
}
|
|
485
|
+
case filters_resources_1.FILTER_TYPE.RELATIVE:
|
|
486
|
+
this.filters[filterIndex].values[0] =
|
|
487
|
+
value;
|
|
488
|
+
break;
|
|
489
|
+
}
|
|
490
|
+
});
|
|
491
|
+
this.sync();
|
|
492
|
+
return {
|
|
493
|
+
resulting: this.filters,
|
|
494
|
+
affected: this.filters[filterIndex],
|
|
495
|
+
original,
|
|
496
|
+
};
|
|
497
|
+
}
|
|
388
498
|
/**
|
|
389
499
|
* **************************************************************************************************
|
|
390
500
|
****************************************** Others **************************************************
|
|
@@ -8,7 +8,7 @@ import { IFilter } from "../resources/filters.resources";
|
|
|
8
8
|
* Class to manage the filters
|
|
9
9
|
*/
|
|
10
10
|
export declare class FilterManager {
|
|
11
|
-
protected
|
|
11
|
+
protected _filters: IFilter[];
|
|
12
12
|
protected datasets: IDataset[];
|
|
13
13
|
private _interactiveTable?;
|
|
14
14
|
/**
|
|
@@ -25,36 +25,41 @@ export declare class FilterManager {
|
|
|
25
25
|
private _searchEngine;
|
|
26
26
|
/**
|
|
27
27
|
* Constructor
|
|
28
|
-
* @param
|
|
28
|
+
* @param _filters the collection of filters
|
|
29
29
|
* @param datasets the collection of datasets info
|
|
30
30
|
* @param _interactiveTable table of interaction properties for each section
|
|
31
31
|
*/
|
|
32
|
-
constructor(
|
|
32
|
+
constructor(_filters?: IFilter[], datasets?: IDataset[], _interactiveTable?: IFilterPanelInteractiveTable | undefined);
|
|
33
33
|
/**
|
|
34
34
|
* **************************************************************************************************
|
|
35
35
|
****************************************** Getters *************************************************
|
|
36
36
|
****************************************************************************************************
|
|
37
37
|
*/
|
|
38
|
-
/**
|
|
39
|
-
* Gets the builder methods
|
|
40
|
-
* @returns the builder methods
|
|
41
|
-
*/
|
|
42
|
-
get builder(): FilterBuilder;
|
|
43
38
|
/**
|
|
44
39
|
* Gets the adapt methods
|
|
45
40
|
* @returns the adapt methods
|
|
46
41
|
*/
|
|
47
42
|
get adapt(): FilterAdapter;
|
|
48
43
|
/**
|
|
49
|
-
* Gets the
|
|
50
|
-
* @returns the
|
|
44
|
+
* Gets the builder methods
|
|
45
|
+
* @returns the builder methods
|
|
51
46
|
*/
|
|
52
|
-
get
|
|
47
|
+
get builder(): FilterBuilder;
|
|
48
|
+
/**
|
|
49
|
+
* Gets the filter collections
|
|
50
|
+
* @returns the filters
|
|
51
|
+
*/
|
|
52
|
+
get filters(): IFilter[];
|
|
53
53
|
/**
|
|
54
54
|
* Gets the interactive table
|
|
55
55
|
* @returns the interactive table
|
|
56
56
|
*/
|
|
57
57
|
get interactiveTable(): IFilterPanelInteractiveTable | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Gets the search methods
|
|
60
|
+
* @returns the search methods
|
|
61
|
+
*/
|
|
62
|
+
get search(): FilterSearcher;
|
|
58
63
|
/**
|
|
59
64
|
* **************************************************************************************************
|
|
60
65
|
****************************************** Setters *************************************************
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterManager.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;GAEG;AACH,qBAAa,aAAa;IAuBtB,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"FilterManager.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD;;GAEG;AACH,qBAAa,aAAa;IAuBtB,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAC7B,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE;IAC9B,OAAO,CAAC,iBAAiB,CAAC;IAxB5B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAgB;IAE9B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAgB;IAEhC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAiB;IAEtC;;;;;OAKG;gBAES,QAAQ,GAAE,OAAO,EAAO,EACxB,QAAQ,GAAE,QAAQ,EAAO,EAC3B,iBAAiB,CAAC,0CAA8B;IAO1D;;;;OAIG;IAEH;;;OAGG;IACH,IAAW,KAAK,IAAI,aAAa,CAEhC;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,aAAa,CAElC;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,EAAE,CAE9B;IAED;;;OAGG;IACH,IAAW,gBAAgB,IAAI,4BAA4B,GAAG,SAAS,CAEtE;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,cAAc,CAElC;IAED;;;;OAIG;IAEH;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI9C;;;OAGG;IACI,UAAU,CAAC,OAAO,GAAE,OAAO,EAAO,GAAG,IAAI;IAOhD;;;OAGG;IACI,mBAAmB,CACxB,gBAAgB,EAAE,4BAA4B,GAC7C,IAAI;CAIR"}
|
|
@@ -8,7 +8,7 @@ const FilterSearcher_1 = require("./FilterSearcher");
|
|
|
8
8
|
* Class to manage the filters
|
|
9
9
|
*/
|
|
10
10
|
class FilterManager {
|
|
11
|
-
|
|
11
|
+
_filters;
|
|
12
12
|
datasets;
|
|
13
13
|
_interactiveTable;
|
|
14
14
|
/**
|
|
@@ -25,30 +25,23 @@ class FilterManager {
|
|
|
25
25
|
_searchEngine;
|
|
26
26
|
/**
|
|
27
27
|
* Constructor
|
|
28
|
-
* @param
|
|
28
|
+
* @param _filters the collection of filters
|
|
29
29
|
* @param datasets the collection of datasets info
|
|
30
30
|
* @param _interactiveTable table of interaction properties for each section
|
|
31
31
|
*/
|
|
32
|
-
constructor(
|
|
33
|
-
this.
|
|
32
|
+
constructor(_filters = [], datasets = [], _interactiveTable) {
|
|
33
|
+
this._filters = _filters;
|
|
34
34
|
this.datasets = datasets;
|
|
35
35
|
this._interactiveTable = _interactiveTable;
|
|
36
|
-
this._searchEngine = new FilterSearcher_1.FilterSearcher(
|
|
37
|
-
this._builder = new FilterBuilder_1.FilterBuilder(
|
|
38
|
-
this._adapt = new FilterAdapter_1.FilterAdapter(
|
|
36
|
+
this._searchEngine = new FilterSearcher_1.FilterSearcher(_filters);
|
|
37
|
+
this._builder = new FilterBuilder_1.FilterBuilder(_filters);
|
|
38
|
+
this._adapt = new FilterAdapter_1.FilterAdapter(_filters, datasets, _interactiveTable);
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
41
|
* **************************************************************************************************
|
|
42
42
|
****************************************** Getters *************************************************
|
|
43
43
|
****************************************************************************************************
|
|
44
44
|
*/
|
|
45
|
-
/**
|
|
46
|
-
* Gets the builder methods
|
|
47
|
-
* @returns the builder methods
|
|
48
|
-
*/
|
|
49
|
-
get builder() {
|
|
50
|
-
return this._builder;
|
|
51
|
-
}
|
|
52
45
|
/**
|
|
53
46
|
* Gets the adapt methods
|
|
54
47
|
* @returns the adapt methods
|
|
@@ -57,11 +50,18 @@ class FilterManager {
|
|
|
57
50
|
return this._adapt;
|
|
58
51
|
}
|
|
59
52
|
/**
|
|
60
|
-
* Gets the
|
|
61
|
-
* @returns the
|
|
53
|
+
* Gets the builder methods
|
|
54
|
+
* @returns the builder methods
|
|
62
55
|
*/
|
|
63
|
-
get
|
|
64
|
-
return this.
|
|
56
|
+
get builder() {
|
|
57
|
+
return this._builder;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Gets the filter collections
|
|
61
|
+
* @returns the filters
|
|
62
|
+
*/
|
|
63
|
+
get filters() {
|
|
64
|
+
return this._filters;
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Gets the interactive table
|
|
@@ -70,6 +70,13 @@ class FilterManager {
|
|
|
70
70
|
get interactiveTable() {
|
|
71
71
|
return this._interactiveTable;
|
|
72
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Gets the search methods
|
|
75
|
+
* @returns the search methods
|
|
76
|
+
*/
|
|
77
|
+
get search() {
|
|
78
|
+
return this._searchEngine;
|
|
79
|
+
}
|
|
73
80
|
/**
|
|
74
81
|
* **************************************************************************************************
|
|
75
82
|
****************************************** Setters *************************************************
|
|
@@ -87,6 +94,7 @@ class FilterManager {
|
|
|
87
94
|
* @param filters the new collection of filters to set
|
|
88
95
|
*/
|
|
89
96
|
setFilters(filters = []) {
|
|
97
|
+
this._filters = filters;
|
|
90
98
|
this._builder.setFilters(filters);
|
|
91
99
|
this._searchEngine.setFilters(filters);
|
|
92
100
|
this._adapt.setFilters(filters);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=FilterSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterSettings.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterSettings.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// import { objectCopy } from "@qrvey/utils";
|
|
3
|
+
// import { IFilter } from "../resources/filters.resources";
|
|
4
|
+
// import { IFilterSettings } from "../resources/filter-settings.resources";
|
|
5
|
+
// /**
|
|
6
|
+
// * Class to search filters.
|
|
7
|
+
// */
|
|
8
|
+
// export class FilterSettings {
|
|
9
|
+
// /**
|
|
10
|
+
// * Constructor
|
|
11
|
+
// * @param settings the filter settings
|
|
12
|
+
// */
|
|
13
|
+
// constructor(protected settings: IFilterSettings) {
|
|
14
|
+
// this.setSettings(Array.isArray(filters) ? filters : []);
|
|
15
|
+
// }
|
|
16
|
+
// /**
|
|
17
|
+
// * **************************************************************************************************
|
|
18
|
+
// ****************************************** Getters *************************************************
|
|
19
|
+
// ****************************************************************************************************
|
|
20
|
+
// */
|
|
21
|
+
// /**
|
|
22
|
+
// * Gets the filter collection
|
|
23
|
+
// * @returns the collection of filters of the context
|
|
24
|
+
// */
|
|
25
|
+
// public getFilters(): IFilter[] {
|
|
26
|
+
// return this.filters;
|
|
27
|
+
// }
|
|
28
|
+
// /**
|
|
29
|
+
// * **************************************************************************************************
|
|
30
|
+
// ****************************************** Setters *************************************************
|
|
31
|
+
// ****************************************************************************************************
|
|
32
|
+
// */
|
|
33
|
+
// /**
|
|
34
|
+
// * Sets the filter settings
|
|
35
|
+
// * @param settings the new filter settings
|
|
36
|
+
// */
|
|
37
|
+
// public setFilters(settings: IFilterSettings): void {
|
|
38
|
+
// this.settings = objectCopy(settings);
|
|
39
|
+
// }
|
|
40
|
+
// }
|
|
@@ -119,6 +119,35 @@ export interface IFilterBuilderEditValue {
|
|
|
119
119
|
*/
|
|
120
120
|
editValues: (id: string, values: IFilterValue[], indexes: number[]) => IFilterBuilderSingleReturn;
|
|
121
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Structure module for the editing filters
|
|
124
|
+
*/
|
|
125
|
+
export interface IFilterBuilderMerge {
|
|
126
|
+
/**
|
|
127
|
+
* Merge the filter into the collection by some filter parameters
|
|
128
|
+
* @param filter the filter to merge
|
|
129
|
+
* @returns the new filter collection
|
|
130
|
+
*/
|
|
131
|
+
mergeSingle: (filter: IFilter) => IFilterBuilderSingleReturn;
|
|
132
|
+
/**
|
|
133
|
+
* Merge the filters into the collection by some filter parameters
|
|
134
|
+
* @param filters the filter collection to merge
|
|
135
|
+
* @returns the new filter collection
|
|
136
|
+
*/
|
|
137
|
+
mergeMutiple: (filters: IFilter[]) => IFilterBuilderMultipleReturn;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Structure module for the editing filter values
|
|
141
|
+
*/
|
|
142
|
+
export interface IFilterBuilderMergeValue {
|
|
143
|
+
/**
|
|
144
|
+
* Merge values from filter
|
|
145
|
+
* @param id the ID to search the filter to merge values
|
|
146
|
+
* @param values the value collection to merge
|
|
147
|
+
* @returns the new filter collection
|
|
148
|
+
*/
|
|
149
|
+
mergeValues: (id: string, values: IFilterValue[] | undefined, indexes: number[]) => IFilterBuilderSingleReturn;
|
|
150
|
+
}
|
|
122
151
|
/**
|
|
123
152
|
* Structure module for the setting filters
|
|
124
153
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-builder.models.d.ts","sourceRoot":"","sources":["../../../src/models/filter-builder.models.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filter-builder.models.d.ts","sourceRoot":"","sources":["../../../src/models/filter-builder.models.ts"],"names":[],"mappings":"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"}
|