@qrvey/filters 0.0.17 → 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 +13 -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/FilterResources.d.ts +9 -9
- package/dist/cjs/classes/FilterResources.d.ts.map +1 -1
- package/dist/cjs/classes/FilterResources.js +21 -9
- package/dist/cjs/classes/FilterSettings.js +39 -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 +25 -16
- package/dist/cjs/resources/filter-settings.resources.d.ts.map +1 -1
- package/dist/cjs/resources/filter-settings.resources.js +85 -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/FilterResources.d.ts +9 -9
- package/dist/classes/FilterResources.d.ts.map +1 -1
- package/dist/classes/FilterResources.js +22 -10
- package/dist/classes/FilterSettings.js +39 -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 +25 -16
- package/dist/resources/filter-settings.resources.d.ts.map +1 -1
- package/dist/resources/filter-settings.resources.js +84 -1
- package/package.json +2 -2
- package/src/classes/FilterAdapter.ts +5 -5
- package/src/classes/FilterBuilder.ts +148 -2
- package/src/classes/FilterManager.ts +26 -17
- package/src/classes/FilterResources.ts +37 -14
- package/src/models/filter-builder.models.ts +35 -0
- package/tests/classes/FilterBuilder.test.ts +165 -1
- package/tests/classes/FilterResources.test.ts +35 -13
package/CHANGELOG.md
CHANGED
|
@@ -4,8 +4,21 @@ 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
|
+
|
|
11
|
+
#### [v0.0.18](https://bitbucket.org/qrvey/qrvey_filters/compare/v0.0.18..v0.0.17)
|
|
12
|
+
|
|
13
|
+
> 20 June 2024
|
|
14
|
+
|
|
15
|
+
- fix: :bug: added formulaType to get the right validators and groupings [`05dc5f3`](https://bitbucket.org/qrvey/qrvey_filters/commits/05dc5f37cc701db3d54f616867c895461a60903c)
|
|
16
|
+
- build: upgraded Qrvey Utils to 1.14.0-7 [`c0a7433`](https://bitbucket.org/qrvey/qrvey_filters/commits/c0a7433e72bbda091ff78a5938d404df0c79b871)
|
|
17
|
+
|
|
7
18
|
#### [v0.0.17](https://bitbucket.org/qrvey/qrvey_filters/compare/v0.0.17..v0.0.16)
|
|
8
19
|
|
|
20
|
+
> 18 June 2024
|
|
21
|
+
|
|
9
22
|
- test: fixed the mutable filters from implementation [`375c558`](https://bitbucket.org/qrvey/qrvey_filters/commits/375c55896fec2db1ce9f791f320d9abc23d56e7c)
|
|
10
23
|
- fix: :bug: fixed the bad synchronization of filters in builder manager [`0cdee20`](https://bitbucket.org/qrvey/qrvey_filters/commits/0cdee20a8134b0f561f8156cc7fa5dcce8126de8)
|
|
11
24
|
|
|
@@ -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);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IColumnVsFormulaType } from "@qrvey/utils";
|
|
2
2
|
import { IFilterGroupingInfoListByColumnSettings } from "../resources/filter-functions.resources";
|
|
3
3
|
import { IFilterGrouping, IFilterGroupingInfo } from "../resources/filter-grouping.resources";
|
|
4
4
|
import { IFilterValidator, IFilterValidatorInfo } from "../resources/filter-validators.resources";
|
|
@@ -19,19 +19,19 @@ export declare class FilterResources {
|
|
|
19
19
|
static getGroupingInfo(grouping: IFilterGrouping): IFilterGroupingInfo;
|
|
20
20
|
/**
|
|
21
21
|
* Gets a collection of groupings info by a column type
|
|
22
|
-
* @param type the column type
|
|
22
|
+
* @param type the object with column and formula type
|
|
23
23
|
* @param settings settings for the function
|
|
24
24
|
* @returns a collection of grouping info
|
|
25
25
|
*/
|
|
26
|
-
static getGroupingInfoListByColumnType(type:
|
|
26
|
+
static getGroupingInfoListByColumnType(type: IColumnVsFormulaType, settings?: IFilterGroupingInfoListByColumnSettings): IFilterGroupingInfo[];
|
|
27
27
|
/**
|
|
28
28
|
* Gets a collection of groupings info by a column type
|
|
29
29
|
* - The resulting grouping info collection is an intersection of mulitple grouping info collections
|
|
30
|
-
* @param types the collection of column
|
|
30
|
+
* @param types the collection of objects with column and formula types
|
|
31
31
|
* @param settings settings for the function
|
|
32
32
|
* @returns a collection of grouping info
|
|
33
33
|
*/
|
|
34
|
-
static getGroupingInfoListByColumnTypes(types:
|
|
34
|
+
static getGroupingInfoListByColumnTypes(types: IColumnVsFormulaType[], settings?: IFilterGroupingInfoListByColumnSettings[]): IFilterGroupingInfo[];
|
|
35
35
|
/**
|
|
36
36
|
* Gets the grouping info of Date column type
|
|
37
37
|
* @param groupinInfoList the original grouping info list
|
|
@@ -81,17 +81,17 @@ export declare class FilterResources {
|
|
|
81
81
|
static getValidatorInfoList(): IFilterValidatorInfo[];
|
|
82
82
|
/**
|
|
83
83
|
* Gets a collection of validator info by a column type
|
|
84
|
-
* @param type the column type
|
|
84
|
+
* @param type the object with column and formula type
|
|
85
85
|
* @returns a collection of validator info
|
|
86
86
|
*/
|
|
87
|
-
static getValidatorInfoListByColumnType(type:
|
|
87
|
+
static getValidatorInfoListByColumnType(type: IColumnVsFormulaType): IFilterValidatorInfo[];
|
|
88
88
|
/**
|
|
89
89
|
* Gets a collection of validator info by a mutiple column types
|
|
90
90
|
* - The resulting validator info collection is an intersection of mulitple validator info collections
|
|
91
|
-
* @param types a collection of column types
|
|
91
|
+
* @param types a collection of objects with column and formula types
|
|
92
92
|
* @returns a collection of validator info
|
|
93
93
|
*/
|
|
94
|
-
static getValidatorInfoListByColumnTypes(types:
|
|
94
|
+
static getValidatorInfoListByColumnTypes(types: IColumnVsFormulaType[]): IFilterValidatorInfo[];
|
|
95
95
|
/**
|
|
96
96
|
* Gets the complete collection of validator types
|
|
97
97
|
* @returns the collection of validator types
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterResources.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterResources.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FilterResources.d.ts","sourceRoot":"","sources":["../../../src/classes/FilterResources.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,oBAAoB,EAErB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,uCAAuC,EAAE,MAAM,yCAAyC,CAAC;AAClG,OAAO,EAUL,eAAe,EACf,mBAAmB,EACpB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAKL,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAElD;;GAEG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IAEH;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,mBAAmB;IAItE;;;;;OAKG;IACH,MAAM,CAAC,+BAA+B,CACpC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,CAAC,EAAE,uCAAuC,GACjD,mBAAmB,EAAE;IAmCxB;;;;;;OAMG;IACH,MAAM,CAAC,gCAAgC,CACrC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,QAAQ,CAAC,EAAE,uCAAuC,EAAE,GACnD,mBAAmB,EAAE;IASxB;;;;;OAKG;IACH,MAAM,CAAC,0BAA0B,CAC/B,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAwBxB;;;;;OAKG;IACH,MAAM,CAAC,gCAAgC,CACrC,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IAMxB;;;;;OAKG;IACH,MAAM,CAAC,iCAAiC,CACtC,eAAe,EAAE,mBAAmB,EAAE,EACtC,QAAQ,EAAE,uCAAuC,GAChD,mBAAmB,EAAE;IASxB;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,eAAe,EAAE;IAIxC;;;OAGG;IACH,MAAM,CAAC,oBAAoB,IAAI,mBAAmB,EAAE;IAIpD;;;;OAIG;IAEH;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,GAAG,oBAAoB;IAI1E;;;OAGG;IACH,MAAM,CAAC,oBAAoB,IAAI,oBAAoB,EAAE;IAIrD;;;;OAIG;IACH,MAAM,CAAC,gCAAgC,CACrC,IAAI,EAAE,oBAAoB,GACzB,oBAAoB,EAAE;IAUzB;;;;;OAKG;IACH,MAAM,CAAC,iCAAiC,CACtC,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,EAAE;IASzB;;;OAGG;IACH,MAAM,CAAC,aAAa,IAAI,gBAAgB,EAAE;CAG3C"}
|
|
@@ -24,25 +24,32 @@ class FilterResources {
|
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Gets a collection of groupings info by a column type
|
|
27
|
-
* @param type the column type
|
|
27
|
+
* @param type the object with column and formula type
|
|
28
28
|
* @param settings settings for the function
|
|
29
29
|
* @returns a collection of grouping info
|
|
30
30
|
*/
|
|
31
31
|
static getGroupingInfoListByColumnType(type, settings) {
|
|
32
|
+
const { type: columnType, formulaType } = type;
|
|
32
33
|
const completeSettings = (0, filter_settings_helpers_1.getInfoGroupingsByColumnTypeSettings)(settings);
|
|
33
|
-
let
|
|
34
|
-
if (
|
|
34
|
+
let newType = columnType;
|
|
35
|
+
if (formulaType != null) {
|
|
36
|
+
newType = utils_1.COLUMN_BY_FORMULA[formulaType];
|
|
37
|
+
}
|
|
38
|
+
let groupinInfoList = filter_grouping_resources_1.FILTER_GROUPING_INFO_BY_COLUMN_TYPE[newType];
|
|
39
|
+
if (newType === utils_1.COLUMN.EXPRESSION)
|
|
35
40
|
groupinInfoList = this.getGroupingInfoListOnExpressions(groupinInfoList, completeSettings);
|
|
36
|
-
if (
|
|
41
|
+
if (newType === utils_1.COLUMN.IMAGEUPLOAD)
|
|
37
42
|
groupinInfoList = this.getGroupingInfoListOnImageUploads(groupinInfoList, completeSettings);
|
|
38
|
-
if (
|
|
43
|
+
if (newType === utils_1.COLUMN.DATE ||
|
|
44
|
+
newType === utils_1.COLUMN.DATE_FORMULA ||
|
|
45
|
+
formulaType === utils_1.FORMULA.DATE)
|
|
39
46
|
groupinInfoList = this.getGroupingInfoListOnDates(groupinInfoList, completeSettings);
|
|
40
47
|
return groupinInfoList;
|
|
41
48
|
}
|
|
42
49
|
/**
|
|
43
50
|
* Gets a collection of groupings info by a column type
|
|
44
51
|
* - The resulting grouping info collection is an intersection of mulitple grouping info collections
|
|
45
|
-
* @param types the collection of column
|
|
52
|
+
* @param types the collection of objects with column and formula types
|
|
46
53
|
* @param settings settings for the function
|
|
47
54
|
* @returns a collection of grouping info
|
|
48
55
|
*/
|
|
@@ -138,16 +145,21 @@ class FilterResources {
|
|
|
138
145
|
}
|
|
139
146
|
/**
|
|
140
147
|
* Gets a collection of validator info by a column type
|
|
141
|
-
* @param type the column type
|
|
148
|
+
* @param type the object with column and formula type
|
|
142
149
|
* @returns a collection of validator info
|
|
143
150
|
*/
|
|
144
151
|
static getValidatorInfoListByColumnType(type) {
|
|
145
|
-
|
|
152
|
+
const { type: colummType, formulaType } = type;
|
|
153
|
+
let newType = colummType;
|
|
154
|
+
if (formulaType != null) {
|
|
155
|
+
newType = utils_1.COLUMN_BY_FORMULA[formulaType];
|
|
156
|
+
}
|
|
157
|
+
return filter_validators_resources_1.FILTER_VALIDATORS_INFO_BY_COLUMN_TYPE[newType];
|
|
146
158
|
}
|
|
147
159
|
/**
|
|
148
160
|
* Gets a collection of validator info by a mutiple column types
|
|
149
161
|
* - The resulting validator info collection is an intersection of mulitple validator info collections
|
|
150
|
-
* @param types a collection of column types
|
|
162
|
+
* @param types a collection of objects with column and formula types
|
|
151
163
|
* @returns a collection of validator info
|
|
152
164
|
*/
|
|
153
165
|
static getValidatorInfoListByColumnTypes(types) {
|
|
@@ -1 +1,40 @@
|
|
|
1
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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"}
|