@qrvey/filters 0.0.45 → 0.1.1
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/README.md +63 -1
- package/dist/cjs/classes/FilterAdapter.js +1 -80
- package/dist/cjs/classes/FilterBuilder.js +32 -251
- package/dist/cjs/classes/FilterManager.js +7 -64
- package/dist/cjs/classes/FilterResources.js +3 -116
- package/dist/cjs/classes/FilterSearcher.js +0 -77
- package/dist/cjs/classes/FilterValidation.js +0 -93
- package/dist/cjs/classes/FilterValues.js +0 -24
- package/dist/cjs/classes/index.js +8 -21
- package/dist/cjs/helpers/filter-adapt.helpers.js +3 -46
- package/dist/cjs/helpers/filter-adapt.legacy.helpers.js +6 -53
- package/dist/cjs/helpers/filter-adapt.logic.helpers.js +7 -128
- package/dist/cjs/helpers/filter-builder.helpers.js +1 -8
- package/dist/cjs/helpers/filter-settings.helpers.js +6 -41
- package/dist/cjs/helpers/filter-validators.helpers.js +15 -9
- package/dist/cjs/helpers/filter-verbose.helpers.js +211 -0
- package/dist/cjs/helpers/getAggregateFilters.js +11 -0
- package/dist/cjs/helpers/getFilterId.js +1 -17
- package/dist/cjs/helpers/getFilterType.js +1 -8
- package/dist/cjs/helpers/index.js +12 -20
- package/dist/cjs/helpers/isDateDistinctGrouping.js +15 -0
- package/dist/cjs/helpers/isRankingFilter.js +10 -0
- package/dist/cjs/helpers/resolveFilterConditions.js +2 -10
- package/dist/cjs/helpers/utils.helpers.js +2 -19
- package/dist/cjs/index.js +5 -18
- package/dist/cjs/models/index.js +4 -17
- package/dist/cjs/resources/filter-grouping.resources.js +0 -18
- package/dist/cjs/resources/filter-logic.resources.js +0 -3
- package/dist/cjs/resources/filter-scopes.resources.js +10 -27
- package/dist/cjs/resources/filter-validators.resources.js +0 -3
- package/dist/cjs/resources/filter-verbose.resources.js +13 -0
- package/dist/cjs/resources/filters.resources.js +0 -12
- package/dist/cjs/resources/index.js +12 -24
- package/dist/classes/FilterAdapter.d.ts +0 -80
- package/dist/classes/FilterAdapter.js +1 -80
- package/dist/classes/FilterBuilder.d.ts +2 -177
- package/dist/classes/FilterBuilder.js +32 -251
- package/dist/classes/FilterManager.d.ts +7 -62
- package/dist/classes/FilterManager.js +7 -64
- package/dist/classes/FilterResources.d.ts +1 -115
- package/dist/classes/FilterResources.js +3 -116
- package/dist/classes/FilterSearcher.d.ts +2 -77
- package/dist/classes/FilterSearcher.js +0 -77
- package/dist/classes/FilterValidation.d.ts +1 -47
- package/dist/classes/FilterValidation.js +0 -93
- package/dist/classes/FilterValues.d.ts +0 -25
- package/dist/classes/FilterValues.js +0 -24
- package/dist/classes/index.d.ts +0 -1
- package/dist/helpers/filter-adapt.helpers.d.ts +0 -15
- package/dist/helpers/filter-adapt.helpers.js +1 -43
- package/dist/helpers/filter-adapt.legacy.helpers.d.ts +0 -20
- package/dist/helpers/filter-adapt.legacy.helpers.js +3 -49
- package/dist/helpers/filter-adapt.logic.helpers.d.ts +0 -22
- package/dist/helpers/filter-adapt.logic.helpers.js +3 -123
- package/dist/helpers/filter-builder.helpers.d.ts +0 -7
- package/dist/helpers/filter-builder.helpers.js +0 -6
- package/dist/helpers/filter-settings.helpers.d.ts +0 -35
- package/dist/helpers/filter-settings.helpers.js +0 -34
- package/dist/helpers/filter-validators.helpers.d.ts +3 -6
- package/dist/helpers/filter-validators.helpers.js +11 -7
- package/dist/helpers/filter-verbose.helpers.d.ts +6 -0
- package/dist/helpers/filter-verbose.helpers.js +206 -0
- package/dist/helpers/getAggregateFilters.d.ts +3 -0
- package/dist/helpers/getAggregateFilters.js +7 -0
- package/dist/helpers/getFilterId.d.ts +0 -16
- package/dist/helpers/getFilterId.js +0 -15
- package/dist/helpers/getFilterType.d.ts +0 -7
- package/dist/helpers/getFilterType.js +0 -6
- package/dist/helpers/index.d.ts +5 -1
- package/dist/helpers/index.js +5 -0
- package/dist/helpers/isDateDistinctGrouping.d.ts +2 -0
- package/dist/helpers/isDateDistinctGrouping.js +12 -0
- package/dist/helpers/isRankingFilter.d.ts +2 -0
- package/dist/helpers/isRankingFilter.js +7 -0
- package/dist/helpers/resolveFilterConditions.d.ts +0 -8
- package/dist/helpers/resolveFilterConditions.js +1 -8
- package/dist/helpers/utils.helpers.d.ts +0 -17
- package/dist/helpers/utils.helpers.js +0 -16
- package/dist/index.d.ts +0 -1
- package/dist/models/filter-builder.models.d.ts +0 -156
- package/dist/models/filter-resources.models.d.ts +0 -53
- package/dist/models/filter-searcher.models.d.ts +5 -34
- package/dist/models/filter-validation.models.d.ts +0 -40
- package/dist/models/index.d.ts +0 -1
- package/dist/resources/filter-functions.resources.d.ts +0 -49
- package/dist/resources/filter-grouping.resources.d.ts +0 -7
- package/dist/resources/filter-grouping.resources.js +0 -18
- package/dist/resources/filter-logic.resources.d.ts +0 -79
- package/dist/resources/filter-logic.resources.js +0 -3
- package/dist/resources/filter-operators.resources.d.ts +0 -1
- package/dist/resources/filter-panel.interfaces.d.ts +0 -49
- package/dist/resources/filter-scopes.resources.d.ts +2 -25
- package/dist/resources/filter-scopes.resources.js +10 -27
- package/dist/resources/filter-validation.resources.d.ts +0 -1
- package/dist/resources/filter-validators.resources.d.ts +0 -1
- package/dist/resources/filter-validators.resources.js +0 -3
- package/dist/resources/filter-values.resources.d.ts +0 -13
- package/dist/resources/filter-verbose.resources.d.ts +23 -0
- package/dist/resources/filter-verbose.resources.js +10 -0
- package/dist/resources/filter-visual.resources.d.ts +0 -50
- package/dist/resources/filters.resources.d.ts +1 -102
- package/dist/resources/filters.resources.js +0 -12
- package/dist/resources/index.d.ts +1 -1
- package/dist/resources/index.js +1 -0
- package/package.json +59 -44
- package/.eslintignore +0 -6
- package/.eslintrc.json +0 -122
- package/.husky/pre-commit +0 -4
- package/.lintstagedrc +0 -7
- package/.prettierignore +0 -6
- package/.prettierrc.json +0 -1
- package/CHANGELOG.md +0 -274
- package/CODE_OF_CONDUCT.md +0 -132
- package/bitbucket-pipelines.yml +0 -92
- package/dist/cjs/classes/FilterAdapter.d.ts +0 -107
- package/dist/cjs/classes/FilterAdapter.d.ts.map +0 -1
- package/dist/cjs/classes/FilterBuilder.d.ts +0 -206
- package/dist/cjs/classes/FilterBuilder.d.ts.map +0 -1
- package/dist/cjs/classes/FilterManager.d.ts +0 -84
- package/dist/cjs/classes/FilterManager.d.ts.map +0 -1
- package/dist/cjs/classes/FilterResources.d.ts +0 -139
- package/dist/cjs/classes/FilterResources.d.ts.map +0 -1
- package/dist/cjs/classes/FilterSearcher.d.ts +0 -90
- package/dist/cjs/classes/FilterSearcher.d.ts.map +0 -1
- package/dist/cjs/classes/FilterValidation.d.ts +0 -58
- package/dist/cjs/classes/FilterValidation.d.ts.map +0 -1
- package/dist/cjs/classes/FilterValues.d.ts +0 -33
- package/dist/cjs/classes/FilterValues.d.ts.map +0 -1
- package/dist/cjs/classes/index.d.ts +0 -8
- package/dist/cjs/classes/index.d.ts.map +0 -1
- package/dist/cjs/helpers/filter-adapt.helpers.d.ts +0 -21
- package/dist/cjs/helpers/filter-adapt.helpers.d.ts.map +0 -1
- package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts +0 -26
- package/dist/cjs/helpers/filter-adapt.legacy.helpers.d.ts.map +0 -1
- package/dist/cjs/helpers/filter-adapt.logic.helpers.d.ts +0 -29
- package/dist/cjs/helpers/filter-adapt.logic.helpers.d.ts.map +0 -1
- package/dist/cjs/helpers/filter-builder.helpers.d.ts +0 -11
- package/dist/cjs/helpers/filter-builder.helpers.d.ts.map +0 -1
- package/dist/cjs/helpers/filter-settings.helpers.d.ts +0 -42
- package/dist/cjs/helpers/filter-settings.helpers.d.ts.map +0 -1
- package/dist/cjs/helpers/filter-validators.helpers.d.ts +0 -8
- package/dist/cjs/helpers/filter-validators.helpers.d.ts.map +0 -1
- package/dist/cjs/helpers/getFilterId.d.ts +0 -18
- package/dist/cjs/helpers/getFilterId.d.ts.map +0 -1
- package/dist/cjs/helpers/getFilterType.d.ts +0 -11
- package/dist/cjs/helpers/getFilterType.d.ts.map +0 -1
- package/dist/cjs/helpers/index.d.ts +0 -7
- package/dist/cjs/helpers/index.d.ts.map +0 -1
- package/dist/cjs/helpers/resolveFilterConditions.d.ts +0 -11
- package/dist/cjs/helpers/resolveFilterConditions.d.ts.map +0 -1
- package/dist/cjs/helpers/utils.helpers.d.ts +0 -26
- package/dist/cjs/helpers/utils.helpers.d.ts.map +0 -1
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/models/filter-builder.models.d.ts +0 -203
- package/dist/cjs/models/filter-builder.models.d.ts.map +0 -1
- package/dist/cjs/models/filter-resources.models.d.ts +0 -71
- package/dist/cjs/models/filter-resources.models.d.ts.map +0 -1
- package/dist/cjs/models/filter-searcher.models.d.ts +0 -42
- package/dist/cjs/models/filter-searcher.models.d.ts.map +0 -1
- package/dist/cjs/models/filter-validation.models.d.ts +0 -59
- package/dist/cjs/models/filter-validation.models.d.ts.map +0 -1
- package/dist/cjs/models/index.d.ts +0 -4
- package/dist/cjs/models/index.d.ts.map +0 -1
- package/dist/cjs/resources/filter-functions.resources.d.ts +0 -94
- package/dist/cjs/resources/filter-functions.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-grouping.resources.d.ts +0 -103
- package/dist/cjs/resources/filter-grouping.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-logic.resources.d.ts +0 -135
- package/dist/cjs/resources/filter-logic.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-operators.resources.d.ts +0 -16
- package/dist/cjs/resources/filter-operators.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-panel.interfaces.d.ts +0 -80
- package/dist/cjs/resources/filter-panel.interfaces.d.ts.map +0 -1
- package/dist/cjs/resources/filter-scopes.resources.d.ts +0 -62
- package/dist/cjs/resources/filter-scopes.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-validation.resources.d.ts +0 -20
- package/dist/cjs/resources/filter-validation.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-validators.resources.d.ts +0 -80
- package/dist/cjs/resources/filter-validators.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-values.resources.d.ts +0 -40
- package/dist/cjs/resources/filter-values.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filter-visual.resources.d.ts +0 -77
- package/dist/cjs/resources/filter-visual.resources.d.ts.map +0 -1
- package/dist/cjs/resources/filters.resources.d.ts +0 -168
- package/dist/cjs/resources/filters.resources.d.ts.map +0 -1
- package/dist/cjs/resources/index.d.ts +0 -11
- package/dist/cjs/resources/index.d.ts.map +0 -1
- package/dist/classes/FilterAdapter.d.ts.map +0 -1
- package/dist/classes/FilterBuilder.d.ts.map +0 -1
- package/dist/classes/FilterManager.d.ts.map +0 -1
- package/dist/classes/FilterResources.d.ts.map +0 -1
- package/dist/classes/FilterSearcher.d.ts.map +0 -1
- package/dist/classes/FilterValidation.d.ts.map +0 -1
- package/dist/classes/FilterValues.d.ts.map +0 -1
- package/dist/classes/index.d.ts.map +0 -1
- package/dist/helpers/filter-adapt.helpers.d.ts.map +0 -1
- package/dist/helpers/filter-adapt.legacy.helpers.d.ts.map +0 -1
- package/dist/helpers/filter-adapt.logic.helpers.d.ts.map +0 -1
- package/dist/helpers/filter-builder.helpers.d.ts.map +0 -1
- package/dist/helpers/filter-settings.helpers.d.ts.map +0 -1
- package/dist/helpers/filter-validators.helpers.d.ts.map +0 -1
- package/dist/helpers/getFilterId.d.ts.map +0 -1
- package/dist/helpers/getFilterType.d.ts.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/resolveFilterConditions.d.ts.map +0 -1
- package/dist/helpers/utils.helpers.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/models/filter-builder.models.d.ts.map +0 -1
- package/dist/models/filter-resources.models.d.ts.map +0 -1
- package/dist/models/filter-searcher.models.d.ts.map +0 -1
- package/dist/models/filter-validation.models.d.ts.map +0 -1
- package/dist/models/index.d.ts.map +0 -1
- package/dist/resources/filter-functions.resources.d.ts.map +0 -1
- package/dist/resources/filter-grouping.resources.d.ts.map +0 -1
- package/dist/resources/filter-logic.resources.d.ts.map +0 -1
- package/dist/resources/filter-operators.resources.d.ts.map +0 -1
- package/dist/resources/filter-panel.interfaces.d.ts.map +0 -1
- package/dist/resources/filter-scopes.resources.d.ts.map +0 -1
- package/dist/resources/filter-validation.resources.d.ts.map +0 -1
- package/dist/resources/filter-validators.resources.d.ts.map +0 -1
- package/dist/resources/filter-values.resources.d.ts.map +0 -1
- package/dist/resources/filter-visual.resources.d.ts.map +0 -1
- package/dist/resources/filters.resources.d.ts.map +0 -1
- package/dist/resources/index.d.ts.map +0 -1
- package/jest.config.js +0 -10
- package/jsdoc.config.json +0 -14
- package/scripts/clean-build/index.js +0 -62
- package/sonar-project.properties +0 -2
- package/src/classes/FilterAdapter.ts +0 -208
- package/src/classes/FilterBuilder.ts +0 -822
- package/src/classes/FilterManager.ts +0 -126
- package/src/classes/FilterResources.ts +0 -411
- package/src/classes/FilterSearcher.ts +0 -243
- package/src/classes/FilterValidation.ts +0 -221
- package/src/classes/FilterValues.ts +0 -89
- package/src/classes/index.ts +0 -7
- package/src/helpers/filter-adapt.helpers.ts +0 -204
- package/src/helpers/filter-adapt.legacy.helpers.ts +0 -298
- package/src/helpers/filter-adapt.logic.helpers.ts +0 -631
- package/src/helpers/filter-builder.helpers.ts +0 -28
- package/src/helpers/filter-settings.helpers.ts +0 -133
- package/src/helpers/filter-validators.helpers.ts +0 -15
- package/src/helpers/getFilterId.ts +0 -35
- package/src/helpers/getFilterType.ts +0 -23
- package/src/helpers/index.ts +0 -6
- package/src/helpers/resolveFilterConditions.ts +0 -29
- package/src/helpers/utils.helpers.ts +0 -37
- package/src/index.ts +0 -4
- package/src/models/filter-builder.models.ts +0 -256
- package/src/models/filter-resources.models.ts +0 -89
- package/src/models/filter-searcher.models.ts +0 -61
- package/src/models/filter-validation.models.ts +0 -71
- package/src/models/index.ts +0 -3
- package/src/resources/filter-functions.resources.ts +0 -132
- package/src/resources/filter-grouping.resources.ts +0 -531
- package/src/resources/filter-logic.resources.ts +0 -148
- package/src/resources/filter-operators.resources.ts +0 -40
- package/src/resources/filter-panel.interfaces.ts +0 -86
- package/src/resources/filter-scopes.resources.ts +0 -152
- package/src/resources/filter-validation.resources.ts +0 -90
- package/src/resources/filter-validators.resources.ts +0 -411
- package/src/resources/filter-values.resources.ts +0 -57
- package/src/resources/filter-visual.resources.ts +0 -86
- package/src/resources/filters.resources.ts +0 -232
- package/src/resources/index.ts +0 -10
- package/tests/classes/FilterAdapter.test.ts +0 -124
- package/tests/classes/FilterBuilder.test.ts +0 -903
- package/tests/classes/FilterResources.test.ts +0 -267
- package/tests/classes/FilterSearcher.test.ts +0 -188
- package/tests/classes/FilterValidation.test.ts +0 -54
- package/tests/helpers/getFilterId.test.ts +0 -121
- package/tests/mock/datasets.mock.ts +0 -61
- package/tests/mock/filters-adapter.mock.ts +0 -646
- package/tests/mock/filters-interactive-table.mock.ts +0 -59
- package/tests/mock/filters.mock.ts +0 -277
- package/tsconfig.doc.json +0 -4
- package/tsconfig.eslint.json +0 -4
- package/tsconfig.json +0 -113
|
@@ -4,105 +4,48 @@ exports.FilterManager = void 0;
|
|
|
4
4
|
const FilterAdapter_1 = require("./FilterAdapter");
|
|
5
5
|
const FilterBuilder_1 = require("./FilterBuilder");
|
|
6
6
|
const FilterSearcher_1 = require("./FilterSearcher");
|
|
7
|
-
/**
|
|
8
|
-
* Class to manage the filters
|
|
9
|
-
*/
|
|
10
7
|
class FilterManager {
|
|
11
8
|
_filters;
|
|
12
9
|
datasets;
|
|
13
10
|
_interactiveTable;
|
|
14
|
-
/**
|
|
15
|
-
* Instance to adapt filters
|
|
16
|
-
*/
|
|
17
11
|
_adapt;
|
|
18
|
-
/**
|
|
19
|
-
* Instance to build filters
|
|
20
|
-
*/
|
|
21
12
|
_builder;
|
|
22
|
-
/**
|
|
23
|
-
* Instance to search filters
|
|
24
|
-
*/
|
|
25
13
|
_searchEngine;
|
|
26
|
-
|
|
27
|
-
* Constructor
|
|
28
|
-
* @param _filters the collection of filters
|
|
29
|
-
* @param datasets the collection of datasets info
|
|
30
|
-
* @param _interactiveTable table of interaction properties for each section
|
|
31
|
-
*/
|
|
32
|
-
constructor(_filters = [], datasets = [], _interactiveTable) {
|
|
14
|
+
constructor(_filters = [], datasets = [], _interactiveTable, dependencies) {
|
|
33
15
|
this._filters = _filters;
|
|
34
16
|
this.datasets = datasets;
|
|
35
17
|
this._interactiveTable = _interactiveTable;
|
|
36
|
-
this._searchEngine =
|
|
37
|
-
|
|
38
|
-
this.
|
|
18
|
+
this._searchEngine =
|
|
19
|
+
dependencies?.searchEngine ?? new FilterSearcher_1.FilterSearcher(_filters);
|
|
20
|
+
this._builder = dependencies?.builder ?? new FilterBuilder_1.FilterBuilder(_filters);
|
|
21
|
+
this._adapt =
|
|
22
|
+
dependencies?.adapt ??
|
|
23
|
+
new FilterAdapter_1.FilterAdapter(_filters, datasets, _interactiveTable);
|
|
39
24
|
}
|
|
40
|
-
/**
|
|
41
|
-
* **************************************************************************************************
|
|
42
|
-
****************************************** Getters *************************************************
|
|
43
|
-
****************************************************************************************************
|
|
44
|
-
*/
|
|
45
|
-
/**
|
|
46
|
-
* Gets the adapt methods
|
|
47
|
-
* @returns the adapt methods
|
|
48
|
-
*/
|
|
49
25
|
get adapt() {
|
|
50
26
|
return this._adapt;
|
|
51
27
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Gets the builder methods
|
|
54
|
-
* @returns the builder methods
|
|
55
|
-
*/
|
|
56
28
|
get builder() {
|
|
57
29
|
return this._builder;
|
|
58
30
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Gets the filter collections
|
|
61
|
-
* @returns the filters
|
|
62
|
-
*/
|
|
63
31
|
get filters() {
|
|
64
32
|
return this._filters;
|
|
65
33
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Gets the interactive table
|
|
68
|
-
* @returns the interactive table
|
|
69
|
-
*/
|
|
70
34
|
get interactiveTable() {
|
|
71
35
|
return this._interactiveTable;
|
|
72
36
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Gets the search methods
|
|
75
|
-
* @returns the search methods
|
|
76
|
-
*/
|
|
77
37
|
get search() {
|
|
78
38
|
return this._searchEngine;
|
|
79
39
|
}
|
|
80
|
-
/**
|
|
81
|
-
* **************************************************************************************************
|
|
82
|
-
****************************************** Setters *************************************************
|
|
83
|
-
****************************************************************************************************
|
|
84
|
-
*/
|
|
85
|
-
/**
|
|
86
|
-
* Sets the datasets
|
|
87
|
-
* @param datasets the collection of dataset info
|
|
88
|
-
*/
|
|
89
40
|
setDatasets(datasets) {
|
|
90
41
|
this._adapt.setDatasets(datasets);
|
|
91
42
|
}
|
|
92
|
-
/**
|
|
93
|
-
* Sets the filters
|
|
94
|
-
* @param filters the new collection of filters to set
|
|
95
|
-
*/
|
|
96
43
|
setFilters(filters = []) {
|
|
97
44
|
this._filters = filters;
|
|
98
45
|
this._builder.setFilters(filters);
|
|
99
46
|
this._searchEngine.setFilters(filters);
|
|
100
47
|
this._adapt.setFilters(filters);
|
|
101
48
|
}
|
|
102
|
-
/**
|
|
103
|
-
* Sets the table of interactive table
|
|
104
|
-
* @param interactiveTable table of interaction properties for each section
|
|
105
|
-
*/
|
|
106
49
|
setInteractiveTable(interactiveTable) {
|
|
107
50
|
this._interactiveTable = interactiveTable;
|
|
108
51
|
this._adapt.setInteractiveTable(this._interactiveTable);
|
|
@@ -2,36 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FilterResources = void 0;
|
|
4
4
|
const utils_1 = require("@qrvey/utils");
|
|
5
|
-
const
|
|
5
|
+
const FilterValidation_1 = require("./FilterValidation");
|
|
6
6
|
const filter_settings_helpers_1 = require("../helpers/filter-settings.helpers");
|
|
7
|
+
const getFilterType_1 = require("../helpers/getFilterType");
|
|
7
8
|
const filter_grouping_resources_1 = require("../resources/filter-grouping.resources");
|
|
9
|
+
const filter_scopes_resources_1 = require("../resources/filter-scopes.resources");
|
|
8
10
|
const filter_validators_resources_1 = require("../resources/filter-validators.resources");
|
|
9
11
|
const filters_resources_1 = require("../resources/filters.resources");
|
|
10
|
-
const filter_scopes_resources_1 = require("../resources/filter-scopes.resources");
|
|
11
|
-
const FilterValidation_1 = require("./FilterValidation");
|
|
12
|
-
/**
|
|
13
|
-
* Class to search, build and get resources for the filters.
|
|
14
|
-
*/
|
|
15
12
|
class FilterResources {
|
|
16
|
-
/**
|
|
17
|
-
* **************************************************************************************************
|
|
18
|
-
**************************************** Grouping **************************************************
|
|
19
|
-
****************************************************************************************************
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* Gets a grouping info by a grouping type
|
|
23
|
-
* @param grouping the grouping type
|
|
24
|
-
* @returns a single grouping info
|
|
25
|
-
*/
|
|
26
13
|
static getGroupingInfo(grouping) {
|
|
27
14
|
return filter_grouping_resources_1.FILTER_GROUPING_INFO[grouping];
|
|
28
15
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Gets a collection of groupings info by a column type
|
|
31
|
-
* @param type the object with column and formula type
|
|
32
|
-
* @param settings settings for the function
|
|
33
|
-
* @returns a collection of grouping info
|
|
34
|
-
*/
|
|
35
16
|
static getGroupingInfoListByColumnType(type, settings) {
|
|
36
17
|
const { type: columnType, formulaType } = type;
|
|
37
18
|
const completeSettings = (0, filter_settings_helpers_1.getInfoGroupingsByColumnTypeSettings)(settings);
|
|
@@ -50,13 +31,6 @@ class FilterResources {
|
|
|
50
31
|
groupinInfoList = this.getGroupingInfoListOnDates(groupinInfoList, completeSettings);
|
|
51
32
|
return groupinInfoList;
|
|
52
33
|
}
|
|
53
|
-
/**
|
|
54
|
-
* Gets a grouping info by a column type and grouping
|
|
55
|
-
* @param type the object with column and formula type
|
|
56
|
-
* @param grouping the grouping type
|
|
57
|
-
* @param settings settings for the function
|
|
58
|
-
* @returns the grouping info
|
|
59
|
-
*/
|
|
60
34
|
static getGroupingInfoByColumnType(type, grouping, settings) {
|
|
61
35
|
if (grouping == null)
|
|
62
36
|
return;
|
|
@@ -64,35 +38,17 @@ class FilterResources {
|
|
|
64
38
|
const groupingInfo = groupingInfoList.find((gInfo) => gInfo.value === grouping);
|
|
65
39
|
return groupingInfo == null ? groupingInfoList[0] : groupingInfo;
|
|
66
40
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Gets a grouping info by a filter
|
|
69
|
-
* @param filter the filter object
|
|
70
|
-
* @returns the grouping info
|
|
71
|
-
*/
|
|
72
41
|
static getGroupingInfoByFilter(filter, settings) {
|
|
73
42
|
if (!FilterValidation_1.FilterValidation.isGroupingValid(filter.columnType, filter.validator))
|
|
74
43
|
return;
|
|
75
44
|
return this.getGroupingInfoByColumnType({ type: filter.columnType, formulaType: filter.formulaType }, filter.grouping, settings);
|
|
76
45
|
}
|
|
77
|
-
/**
|
|
78
|
-
* Gets a collection of groupings info by a column type
|
|
79
|
-
* - The resulting grouping info collection is an intersection of mulitple grouping info collections
|
|
80
|
-
* @param types the collection of objects with column and formula types
|
|
81
|
-
* @param settings settings for the function
|
|
82
|
-
* @returns a collection of grouping info
|
|
83
|
-
*/
|
|
84
46
|
static getGroupingInfoListByColumnTypes(types, settings) {
|
|
85
47
|
if (!Array.isArray(types))
|
|
86
48
|
return [];
|
|
87
49
|
const infoGroupings = types.map((type, index) => FilterResources.getGroupingInfoListByColumnType(type, settings?.[index]));
|
|
88
50
|
return (0, utils_1.intersectObjectArrays)(infoGroupings, "value");
|
|
89
51
|
}
|
|
90
|
-
/**
|
|
91
|
-
* Gets the grouping info of Date column type
|
|
92
|
-
* @param groupinInfoList the original grouping info list
|
|
93
|
-
* @param settings settings for the function
|
|
94
|
-
* @returns the new grouping info list
|
|
95
|
-
*/
|
|
96
52
|
static getGroupingInfoListOnDates(groupinInfoList, settings) {
|
|
97
53
|
let newGroupInfoList = groupinInfoList;
|
|
98
54
|
if (settings.hasDateTime) {
|
|
@@ -115,65 +71,25 @@ class FilterResources {
|
|
|
115
71
|
}
|
|
116
72
|
return newGroupInfoList;
|
|
117
73
|
}
|
|
118
|
-
/**
|
|
119
|
-
* Gets the grouping info of Expression column type
|
|
120
|
-
* @param groupinInfoList the original grouping info list
|
|
121
|
-
* @param settings settings for the function
|
|
122
|
-
* @returns the new grouping info list
|
|
123
|
-
*/
|
|
124
74
|
static getGroupingInfoListOnExpressions(groupinInfoList, settings) {
|
|
125
75
|
if (!settings.isExpressionCategorizable)
|
|
126
76
|
return [];
|
|
127
77
|
return groupinInfoList;
|
|
128
78
|
}
|
|
129
|
-
/**
|
|
130
|
-
* Gets the grouping info of Image Upload column type
|
|
131
|
-
* @param groupinInfoList the original grouping info list
|
|
132
|
-
* @param settings settings for the function
|
|
133
|
-
* @returns the new grouping info list
|
|
134
|
-
*/
|
|
135
79
|
static getGroupingInfoListOnImageUploads(groupinInfoList, settings) {
|
|
136
80
|
if (settings.hasImageUploadAnalysis)
|
|
137
81
|
return groupinInfoList;
|
|
138
82
|
return groupinInfoList.filter((groupingInfo) => groupingInfo.value !== filter_grouping_resources_1.FILTER_GROUPING.IMAGEUPLOAD_IMAGEWORDS);
|
|
139
83
|
}
|
|
140
|
-
/**
|
|
141
|
-
* Gets the complete collection of grouping types
|
|
142
|
-
* @returns the collection of grouping types
|
|
143
|
-
*/
|
|
144
84
|
static getGroupings() {
|
|
145
85
|
return filter_grouping_resources_1.FILTER_GROUPINGS;
|
|
146
86
|
}
|
|
147
|
-
/**
|
|
148
|
-
* Gets the complete collection of validator info
|
|
149
|
-
* @returns the collection of validator info
|
|
150
|
-
*/
|
|
151
87
|
static getGroupingsInfoList() {
|
|
152
88
|
return filter_grouping_resources_1.FILTER_GROUPING_INFO_LIST;
|
|
153
89
|
}
|
|
154
|
-
/**
|
|
155
|
-
* **************************************************************************************************
|
|
156
|
-
**************************************** Scopes *************************************************
|
|
157
|
-
****************************************************************************************************
|
|
158
|
-
*/
|
|
159
|
-
/**
|
|
160
|
-
* Gets the collection of filter scopes in order of hierarchy
|
|
161
|
-
* @returns the collection of validator info
|
|
162
|
-
*/
|
|
163
90
|
static getHierarchyScopes() {
|
|
164
91
|
return filter_scopes_resources_1.FILTER_SCOPES;
|
|
165
92
|
}
|
|
166
|
-
/**
|
|
167
|
-
* **************************************************************************************************
|
|
168
|
-
**************************************** Timezone *************************************************
|
|
169
|
-
****************************************************************************************************
|
|
170
|
-
*/
|
|
171
|
-
/**
|
|
172
|
-
* Gets the filters transformed by the given timezone
|
|
173
|
-
* @param filters the filters to transform
|
|
174
|
-
* @param timezone the timezone info
|
|
175
|
-
* @returns the transformed filters to a new timezone
|
|
176
|
-
*/
|
|
177
93
|
static getFiltersByTimezone(filters, timezone) {
|
|
178
94
|
if ((0, utils_1.isEmpty)(filters) || !Array.isArray(filters))
|
|
179
95
|
return [];
|
|
@@ -216,31 +132,12 @@ class FilterResources {
|
|
|
216
132
|
};
|
|
217
133
|
});
|
|
218
134
|
}
|
|
219
|
-
/**
|
|
220
|
-
* **************************************************************************************************
|
|
221
|
-
**************************************** Validator *************************************************
|
|
222
|
-
****************************************************************************************************
|
|
223
|
-
*/
|
|
224
|
-
/**
|
|
225
|
-
* Gets a validator info by a validator type
|
|
226
|
-
* @param validator the validator type
|
|
227
|
-
* @returns a single validator info
|
|
228
|
-
*/
|
|
229
135
|
static getValidatorInfo(validator) {
|
|
230
136
|
return filter_validators_resources_1.FILTER_VALIDATOR_INFO[validator];
|
|
231
137
|
}
|
|
232
|
-
/**
|
|
233
|
-
* Gets the complete collection of validator info
|
|
234
|
-
* @returns the collection of validator info
|
|
235
|
-
*/
|
|
236
138
|
static getValidatorInfoList() {
|
|
237
139
|
return filter_validators_resources_1.FILTER_VALIDATOR_INFO_LIST;
|
|
238
140
|
}
|
|
239
|
-
/**
|
|
240
|
-
* Gets a collection of validator info by a column type
|
|
241
|
-
* @param type the object with column and formula type
|
|
242
|
-
* @returns a collection of validator info
|
|
243
|
-
*/
|
|
244
141
|
static getValidatorInfoListByColumnType(type) {
|
|
245
142
|
const { type: colummType, formulaType } = type;
|
|
246
143
|
let newType = colummType;
|
|
@@ -249,22 +146,12 @@ class FilterResources {
|
|
|
249
146
|
}
|
|
250
147
|
return filter_validators_resources_1.FILTER_VALIDATORS_INFO_BY_COLUMN_TYPE[newType];
|
|
251
148
|
}
|
|
252
|
-
/**
|
|
253
|
-
* Gets a collection of validator info by a mutiple column types
|
|
254
|
-
* - The resulting validator info collection is an intersection of mulitple validator info collections
|
|
255
|
-
* @param types a collection of objects with column and formula types
|
|
256
|
-
* @returns a collection of validator info
|
|
257
|
-
*/
|
|
258
149
|
static getValidatorInfoListByColumnTypes(types) {
|
|
259
150
|
if (!Array.isArray(types))
|
|
260
151
|
return [];
|
|
261
152
|
const infoValidators = types.map((type) => FilterResources.getValidatorInfoListByColumnType(type));
|
|
262
153
|
return (0, utils_1.intersectObjectArrays)(infoValidators, "value");
|
|
263
154
|
}
|
|
264
|
-
/**
|
|
265
|
-
* Gets the complete collection of validator types
|
|
266
|
-
* @returns the collection of validator types
|
|
267
|
-
*/
|
|
268
155
|
static getValidators() {
|
|
269
156
|
return filter_validators_resources_1.FILTER_VALIDATORS;
|
|
270
157
|
}
|
|
@@ -4,54 +4,24 @@ exports.FilterSearcher = void 0;
|
|
|
4
4
|
const utils_1 = require("@qrvey/utils");
|
|
5
5
|
const filter_settings_helpers_1 = require("../helpers/filter-settings.helpers");
|
|
6
6
|
const resolveFilterConditions_1 = require("../helpers/resolveFilterConditions");
|
|
7
|
-
/**
|
|
8
|
-
* Class to search filters.
|
|
9
|
-
*/
|
|
10
7
|
class FilterSearcher {
|
|
11
8
|
filters;
|
|
12
|
-
/**
|
|
13
|
-
* Constructor
|
|
14
|
-
* @param filters the collection of filters
|
|
15
|
-
*/
|
|
16
9
|
constructor(filters = []) {
|
|
17
10
|
this.filters = filters;
|
|
18
11
|
this.setFilters(Array.isArray(filters) ? filters : []);
|
|
19
12
|
}
|
|
20
|
-
/**
|
|
21
|
-
* **************************************************************************************************
|
|
22
|
-
**************************************** By Params *************************************************
|
|
23
|
-
****************************************************************************************************
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Searchs and excludes filters by the given params
|
|
27
|
-
* @param params params to exclude the filters
|
|
28
|
-
* @param settings settings for this function
|
|
29
|
-
* @returns the new collection of filters
|
|
30
|
-
*/
|
|
31
13
|
excludeByParams(params, settings) {
|
|
32
14
|
if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
|
|
33
15
|
return this.filters;
|
|
34
16
|
const completeSettings = (0, filter_settings_helpers_1.getParamFiltersSettings)(settings);
|
|
35
17
|
return this.filters.filter((filter) => !(0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, completeSettings));
|
|
36
18
|
}
|
|
37
|
-
/**
|
|
38
|
-
* Searchs filters by the given params
|
|
39
|
-
* @param params params to search the filters
|
|
40
|
-
* @param settings settings for this function
|
|
41
|
-
* @returns the new collection of filters
|
|
42
|
-
*/
|
|
43
19
|
filterByParams(params, settings) {
|
|
44
20
|
if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
|
|
45
21
|
return this.filters;
|
|
46
22
|
const completeSettings = (0, filter_settings_helpers_1.getParamFiltersSettings)(settings);
|
|
47
23
|
return this.filters.filter((filter) => (0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, completeSettings));
|
|
48
24
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Searchs filters by the given params and returns the indexes
|
|
51
|
-
* @param params params to search the filters
|
|
52
|
-
* @param settings settings for this function
|
|
53
|
-
* @returns the new collection of filters
|
|
54
|
-
*/
|
|
55
25
|
filterIndexesByParams(params, settings) {
|
|
56
26
|
if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
|
|
57
27
|
return [];
|
|
@@ -64,42 +34,16 @@ class FilterSearcher {
|
|
|
64
34
|
return indexes;
|
|
65
35
|
}, []);
|
|
66
36
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Searchs filters by the given params.
|
|
69
|
-
* Gets the first match of the searching
|
|
70
|
-
* @param params params to search the filters
|
|
71
|
-
* @param settings settings for this function
|
|
72
|
-
* @returns the new collection of filters
|
|
73
|
-
*/
|
|
74
37
|
findByParams(params, settings) {
|
|
75
38
|
if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
|
|
76
39
|
return undefined;
|
|
77
40
|
return this.filters.find((filter) => (0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, (0, filter_settings_helpers_1.getParamFiltersSettings)(settings)));
|
|
78
41
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Searchs filters by the given params.
|
|
81
|
-
* Gets the first match of the searching and returns the related index
|
|
82
|
-
* @param params params to search the filters
|
|
83
|
-
* @param settings settings for this function
|
|
84
|
-
* @returns the new collection of filters
|
|
85
|
-
*/
|
|
86
42
|
findIndexByParams(params, settings) {
|
|
87
43
|
if ((0, utils_1.isEmpty)(this.filters) || (0, utils_1.isEmpty)(params))
|
|
88
44
|
return -1;
|
|
89
45
|
return this.filters.findIndex((filter) => (0, resolveFilterConditions_1.resolveFilterConditions)(filter, params, (0, filter_settings_helpers_1.getParamFiltersSettings)(settings)));
|
|
90
46
|
}
|
|
91
|
-
/**
|
|
92
|
-
* **************************************************************************************************
|
|
93
|
-
**************************************** By Filters *************************************************
|
|
94
|
-
****************************************************************************************************
|
|
95
|
-
*/
|
|
96
|
-
/**
|
|
97
|
-
* Gets an index where the new filter is going to be added
|
|
98
|
-
* If an index is given, the searching is skipped
|
|
99
|
-
* @param newFilter the new filter to add
|
|
100
|
-
* @param index a custom index
|
|
101
|
-
* @returns the index result object
|
|
102
|
-
*/
|
|
103
47
|
findLastIndexByFilter(newFilter, index = -1) {
|
|
104
48
|
const result = {
|
|
105
49
|
index: -1,
|
|
@@ -114,47 +58,26 @@ class FilterSearcher {
|
|
|
114
58
|
return { ...result, index: this.filters.length - 1 };
|
|
115
59
|
if (newIndex > -1)
|
|
116
60
|
return { ...result, index: newIndex };
|
|
117
|
-
// Look index next to Scope - Dataset - column
|
|
118
61
|
let lastIndex = (0, utils_1.getLastIndexFromArray)(this.filters, (aFilter) => aFilter.columnId === newFilter.columnId &&
|
|
119
62
|
aFilter.datasetId === newFilter.datasetId &&
|
|
120
63
|
aFilter.scope === newFilter.scope &&
|
|
121
64
|
aFilter.scopeId === newFilter.scopeId);
|
|
122
65
|
if (lastIndex > -1)
|
|
123
66
|
return { ...result, index: lastIndex, nextToColumnFilter: true };
|
|
124
|
-
// Look index next to Scope - Dataset
|
|
125
67
|
lastIndex = (0, utils_1.getLastIndexFromArray)(this.filters, (aFilter) => aFilter.datasetId === newFilter.datasetId &&
|
|
126
68
|
aFilter.scope === newFilter.scope &&
|
|
127
69
|
aFilter.scopeId === newFilter.scopeId);
|
|
128
70
|
if (lastIndex > -1)
|
|
129
71
|
return { ...result, index: lastIndex, nextToDatasetFilter: true };
|
|
130
|
-
// Look index next to Scope
|
|
131
72
|
lastIndex = (0, utils_1.getLastIndexFromArray)(this.filters, (aFilter) => aFilter.scope === newFilter.scope &&
|
|
132
73
|
aFilter.scopeId === newFilter.scopeId);
|
|
133
74
|
if (lastIndex > -1)
|
|
134
75
|
return { ...result, index: lastIndex, nextToScopeFilter: true };
|
|
135
76
|
return result;
|
|
136
77
|
}
|
|
137
|
-
/**
|
|
138
|
-
* **************************************************************************************************
|
|
139
|
-
****************************************** Getters *************************************************
|
|
140
|
-
****************************************************************************************************
|
|
141
|
-
*/
|
|
142
|
-
/**
|
|
143
|
-
* Gets the filter collection
|
|
144
|
-
* @returns the collection of filters of the context
|
|
145
|
-
*/
|
|
146
78
|
getFilters() {
|
|
147
79
|
return this.filters;
|
|
148
80
|
}
|
|
149
|
-
/**
|
|
150
|
-
* **************************************************************************************************
|
|
151
|
-
****************************************** Setters *************************************************
|
|
152
|
-
****************************************************************************************************
|
|
153
|
-
*/
|
|
154
|
-
/**
|
|
155
|
-
* Sets the filters
|
|
156
|
-
* @param filters the new collection of filters to set
|
|
157
|
-
*/
|
|
158
81
|
setFilters(filters) {
|
|
159
82
|
this.filters = (0, utils_1.objectCopy)(filters);
|
|
160
83
|
}
|
|
@@ -4,64 +4,7 @@ exports.FilterValidation = void 0;
|
|
|
4
4
|
const getFilterType_1 = require("../helpers/getFilterType");
|
|
5
5
|
const filter_grouping_resources_1 = require("../resources/filter-grouping.resources");
|
|
6
6
|
const filters_resources_1 = require("../resources/filters.resources");
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
7
|
class FilterValidation {
|
|
11
|
-
// /**
|
|
12
|
-
// *
|
|
13
|
-
// * @param filter
|
|
14
|
-
// */
|
|
15
|
-
// filter(filter: IFilter): IFilterValidationSingleError {
|
|
16
|
-
// const errors: IFilterValidationError[] = [];
|
|
17
|
-
// if (isEmpty(filter) || !isObject(filter))
|
|
18
|
-
// errors.push({ type: FILTER_VALIDATION.EMPTY_FILTER });
|
|
19
|
-
// return {
|
|
20
|
-
// infoErrors: getInfoErrors(errors),
|
|
21
|
-
// errors,
|
|
22
|
-
// };
|
|
23
|
-
// }
|
|
24
|
-
// /**
|
|
25
|
-
// *
|
|
26
|
-
// * @param filter
|
|
27
|
-
// * @param values
|
|
28
|
-
// */
|
|
29
|
-
// static values(
|
|
30
|
-
// filter: IFilter,
|
|
31
|
-
// values: IFilterInputValue[],
|
|
32
|
-
// ): IFilterValidationSingleError {
|
|
33
|
-
// const errors: IFilterValidationError[] = [];
|
|
34
|
-
// if (isEmpty(filter)) errors.push({ type: FILTER_VALIDATION.EMPTY_FILTER });
|
|
35
|
-
// const { columnType, validator, values: filterValues } = filter;
|
|
36
|
-
// const filterType = getFilterType(columnType, validator);
|
|
37
|
-
// switch (filterType) {
|
|
38
|
-
// case FILTER_TYPE.NULL:
|
|
39
|
-
// if (!isEmpty(filterValues) || !isEmpty(values))
|
|
40
|
-
// errors.push({ type: FILTER_VALIDATION.EMPTY_FILTER });
|
|
41
|
-
// break;
|
|
42
|
-
// case FILTER_TYPE.RANGE:
|
|
43
|
-
// if (isEmpty(values))
|
|
44
|
-
// errors.push({ type: FILTER_VALIDATION.NOT_EMPTY_VALUES });
|
|
45
|
-
// else if (values)
|
|
46
|
-
// FilterValidation.rangeValues(filter, values)
|
|
47
|
-
// default:
|
|
48
|
-
// break;
|
|
49
|
-
// }
|
|
50
|
-
// }
|
|
51
|
-
// private static rangeValues(filter: IFilter, values: IFilterInputValueRange[]): IFilterValidationSingleError {
|
|
52
|
-
// const errors: IFilterValidationError[] = [];
|
|
53
|
-
// filter.validator
|
|
54
|
-
// FILTER_VALIDATOR.
|
|
55
|
-
// values.forEach(value => {
|
|
56
|
-
// if (value.max
|
|
57
|
-
// });
|
|
58
|
-
// }
|
|
59
|
-
/**
|
|
60
|
-
* Validated if the given filter exists into the filter collection
|
|
61
|
-
* @param filters the collection of filters
|
|
62
|
-
* @param filter the filter to validate
|
|
63
|
-
* @returns True when the filter is duplicated in the collection
|
|
64
|
-
*/
|
|
65
8
|
static isDuplicated(filters, filter) {
|
|
66
9
|
if (!Array.isArray(filters))
|
|
67
10
|
return false;
|
|
@@ -76,12 +19,6 @@ class FilterValidation {
|
|
|
76
19
|
_filter.validator === filter.validator &&
|
|
77
20
|
FilterValidation.isFilterValueDuplicated(_filter, filter));
|
|
78
21
|
}
|
|
79
|
-
/**
|
|
80
|
-
* Validates if the given regular value is duplicated with another value collection
|
|
81
|
-
* @param filter1 the filter info
|
|
82
|
-
* @param filter2 the filter info to compare
|
|
83
|
-
* @returns true when the value is duplicated
|
|
84
|
-
*/
|
|
85
22
|
static isFilterValueDuplicated(filter1, filter2) {
|
|
86
23
|
const filterType1 = (0, getFilterType_1.getFilterType)(filter1.columnType, filter1.validator);
|
|
87
24
|
const filterType2 = (0, getFilterType_1.getFilterType)(filter2.columnType, filter2.validator);
|
|
@@ -98,52 +35,22 @@ class FilterValidation {
|
|
|
98
35
|
return this.isFilterRegularValueDuplicated(filter1.values, filter2.values);
|
|
99
36
|
}
|
|
100
37
|
}
|
|
101
|
-
/**
|
|
102
|
-
* Validates if the given regular value is duplicated with another value collection
|
|
103
|
-
* @param values1 the filter regular values collection
|
|
104
|
-
* @param values2 the filter regular values collection
|
|
105
|
-
* @returns true when the regular value is duplicated
|
|
106
|
-
*/
|
|
107
38
|
static isFilterRegularValueDuplicated(values1, values2) {
|
|
108
39
|
return values1.every((value1) => values2.some((value2) => value1.id === value2.id && value1.value === value2.value));
|
|
109
40
|
}
|
|
110
|
-
/**
|
|
111
|
-
* Validates if the given range value is duplicated with another value collection
|
|
112
|
-
* @param values1 the filter range values collection
|
|
113
|
-
* @param values2 the filter range values colleciton
|
|
114
|
-
* @returns true when the range value is duplicated
|
|
115
|
-
*/
|
|
116
41
|
static isFilterRangeValueDuplicated(values1, values2) {
|
|
117
42
|
return values1.every((value1) => values2.some((value2) => value1.id === value2.id &&
|
|
118
43
|
value1.max === value2.max &&
|
|
119
44
|
value1.min === value2.min));
|
|
120
45
|
}
|
|
121
|
-
/**
|
|
122
|
-
* Validates if the given relative value is duplicated with another value collection
|
|
123
|
-
* @param values1 the filter relative values collection
|
|
124
|
-
* @param values2 the filter relative values collection
|
|
125
|
-
* @returns true when the relative value is duplicated
|
|
126
|
-
*/
|
|
127
46
|
static isFilterRelativeValueDuplicated(values1, values2) {
|
|
128
47
|
return values1.every((value1) => values2.some((value2) => value1.id === value2.id &&
|
|
129
48
|
value1.cursor === value2.cursor &&
|
|
130
49
|
value1.unit === value2.unit));
|
|
131
50
|
}
|
|
132
|
-
/**
|
|
133
|
-
* Validates if the given ranking value is duplicated with another value collection
|
|
134
|
-
* @param _values1 the filter ranking values collection
|
|
135
|
-
* @param _values2 the filter ranking values collection
|
|
136
|
-
* @returns true when the ranking value is duplicated
|
|
137
|
-
*/
|
|
138
51
|
static isFilterRankingValueDuplicated(_values1, _values2) {
|
|
139
52
|
return false;
|
|
140
53
|
}
|
|
141
|
-
/**
|
|
142
|
-
* Validates if the grouping is valid to set for the given params
|
|
143
|
-
* @param columnType the column type
|
|
144
|
-
* @param validator the filter validator
|
|
145
|
-
* @returns true when the grouping is valid
|
|
146
|
-
*/
|
|
147
54
|
static isGroupingValid(columnType, validator) {
|
|
148
55
|
return (filter_grouping_resources_1.FILTER_GROUPING_COLUMNS.includes(columnType) &&
|
|
149
56
|
filter_grouping_resources_1.FILTER_GROUPING_VALIDATORS.includes(validator));
|
|
@@ -2,15 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FilterValues = void 0;
|
|
4
4
|
const filters_resources_1 = require("../resources/filters.resources");
|
|
5
|
-
/**
|
|
6
|
-
* Class to manipulate filter values and input values
|
|
7
|
-
*/
|
|
8
5
|
class FilterValues {
|
|
9
|
-
/**
|
|
10
|
-
* Gets the Filter Values based on Regular Input values
|
|
11
|
-
* @param values the regular input values
|
|
12
|
-
* @returns the Filter Regular Values
|
|
13
|
-
*/
|
|
14
6
|
static getFilterRegularValues(values = []) {
|
|
15
7
|
return values.map((value) => ({
|
|
16
8
|
displayed: true,
|
|
@@ -18,11 +10,6 @@ class FilterValues {
|
|
|
18
10
|
value: `${value}`,
|
|
19
11
|
}));
|
|
20
12
|
}
|
|
21
|
-
/**
|
|
22
|
-
* Gets the Filter Values based on Range Input values
|
|
23
|
-
* @param values the range input values
|
|
24
|
-
* @returns the Filter Range Values
|
|
25
|
-
*/
|
|
26
13
|
static getFilterRangeValues(values = []) {
|
|
27
14
|
return values.map((value) => ({
|
|
28
15
|
displayed: true,
|
|
@@ -31,11 +18,6 @@ class FilterValues {
|
|
|
31
18
|
min: value.min,
|
|
32
19
|
}));
|
|
33
20
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Gets the Filter Values based on Relative Input values
|
|
36
|
-
* @param values the relative range input value
|
|
37
|
-
* @returns the Filter Relative Value
|
|
38
|
-
*/
|
|
39
21
|
static getFilterRelativeValues(values = []) {
|
|
40
22
|
return values.map((value) => ({
|
|
41
23
|
displayed: true,
|
|
@@ -43,12 +25,6 @@ class FilterValues {
|
|
|
43
25
|
...value,
|
|
44
26
|
}));
|
|
45
27
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Gets the Filter Values based on the flter type
|
|
48
|
-
* @param filterType the filter type
|
|
49
|
-
* @param values the input values
|
|
50
|
-
* @returns the Filter Values
|
|
51
|
-
*/
|
|
52
28
|
static getFilterValues(filterType, values = []) {
|
|
53
29
|
switch (filterType) {
|
|
54
30
|
case filters_resources_1.FILTER_TYPE.REGULAR:
|
|
@@ -1,23 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
18
|
-
__exportStar(require("./
|
|
19
|
-
__exportStar(require("./
|
|
20
|
-
__exportStar(require("./
|
|
21
|
-
__exportStar(require("./
|
|
22
|
-
__exportStar(require("./
|
|
23
|
-
__exportStar(require("./
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./FilterAdapter"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./FilterBuilder"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./FilterManager"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./FilterResources"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./FilterSearcher"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./FilterValues"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./FilterValidation"), exports);
|