@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.
Files changed (37) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/classes/FilterAdapter.d.ts.map +1 -1
  3. package/dist/cjs/classes/FilterBuilder.d.ts +26 -2
  4. package/dist/cjs/classes/FilterBuilder.d.ts.map +1 -1
  5. package/dist/cjs/classes/FilterBuilder.js +110 -0
  6. package/dist/cjs/classes/FilterManager.d.ts +16 -11
  7. package/dist/cjs/classes/FilterManager.d.ts.map +1 -1
  8. package/dist/cjs/classes/FilterManager.js +26 -18
  9. package/dist/cjs/classes/FilterSettings.d.ts +1 -0
  10. package/dist/cjs/classes/FilterSettings.d.ts.map +1 -0
  11. package/dist/cjs/classes/FilterSettings.js +40 -0
  12. package/dist/cjs/models/filter-builder.models.d.ts +29 -0
  13. package/dist/cjs/models/filter-builder.models.d.ts.map +1 -1
  14. package/dist/cjs/resources/filter-settings.resources.d.ts +366 -0
  15. package/dist/cjs/resources/filter-settings.resources.d.ts.map +1 -0
  16. package/dist/cjs/resources/filter-settings.resources.js +87 -0
  17. package/dist/classes/FilterAdapter.d.ts.map +1 -1
  18. package/dist/classes/FilterBuilder.d.ts +26 -2
  19. package/dist/classes/FilterBuilder.d.ts.map +1 -1
  20. package/dist/classes/FilterBuilder.js +111 -1
  21. package/dist/classes/FilterManager.d.ts +16 -11
  22. package/dist/classes/FilterManager.d.ts.map +1 -1
  23. package/dist/classes/FilterManager.js +26 -18
  24. package/dist/classes/FilterSettings.d.ts +1 -0
  25. package/dist/classes/FilterSettings.d.ts.map +1 -0
  26. package/dist/classes/FilterSettings.js +40 -0
  27. package/dist/models/filter-builder.models.d.ts +29 -0
  28. package/dist/models/filter-builder.models.d.ts.map +1 -1
  29. package/dist/resources/filter-settings.resources.d.ts +366 -0
  30. package/dist/resources/filter-settings.resources.d.ts.map +1 -0
  31. package/dist/resources/filter-settings.resources.js +84 -0
  32. package/package.json +1 -1
  33. package/src/classes/FilterAdapter.ts +5 -5
  34. package/src/classes/FilterBuilder.ts +148 -2
  35. package/src/classes/FilterManager.ts +26 -17
  36. package/src/models/filter-builder.models.ts +35 -0
  37. 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;IACH,MAAM,CAAC,oBAAoB,CACzB,YAAY,EAAE,OAAO,EACrB,gBAAgB,CAAC,EAAE,4BAA4B,GAC9C,iBAAiB;IAWpB;;;OAGG;IACH,IAAI,YAAY,IAAI,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAK3D;IAED;;;OAGG;IACH,IAAI,KAAK,IAAI,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAKrD;IAED;;;OAGG;IACH,IAAI,MAAM,IAAI,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAKrD;IAED;;;OAGG;IACH,IAAI,OAAO,IAAI,cAAc,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAKpD;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
+ {"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":"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"}
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 filters: IFilter[];
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 filters the collection of filters
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(filters?: IFilter[], datasets?: IDataset[], _interactiveTable?: IFilterPanelInteractiveTable | undefined);
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 search methods
50
- * @returns the search methods
44
+ * Gets the builder methods
45
+ * @returns the builder methods
51
46
  */
52
- get search(): FilterSearcher;
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,OAAO,EAAE,OAAO,EAAE;IAC5B,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,OAAO,GAAE,OAAO,EAAO,EACvB,QAAQ,GAAE,QAAQ,EAAO,EAC3B,iBAAiB,CAAC,0CAA8B;IAO1D;;;;OAIG;IAEH;;;OAGG;IACH,IAAW,OAAO,IAAI,aAAa,CAElC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,aAAa,CAEhC;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,cAAc,CAElC;IAED;;;OAGG;IACH,IAAW,gBAAgB,IAAI,4BAA4B,GAAG,SAAS,CAEtE;IAED;;;;OAIG;IAEH;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI;IAI9C;;;OAGG;IACI,UAAU,CAAC,OAAO,GAAE,OAAO,EAAO,GAAG,IAAI;IAMhD;;;OAGG;IACI,mBAAmB,CACxB,gBAAgB,EAAE,4BAA4B,GAC7C,IAAI;CAIR"}
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
- filters;
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 filters the collection of filters
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(filters = [], datasets = [], _interactiveTable) {
33
- this.filters = filters;
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(filters);
37
- this._builder = new FilterBuilder_1.FilterBuilder(filters);
38
- this._adapt = new FilterAdapter_1.FilterAdapter(filters, datasets, _interactiveTable);
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 search methods
61
- * @returns the search methods
53
+ * Gets the builder methods
54
+ * @returns the builder methods
62
55
  */
63
- get search() {
64
- return this._searchEngine;
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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"}