@qrvey/filters 0.0.44 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +63 -1
- package/dist/cjs/classes/FilterAdapter.js +1 -80
- package/dist/cjs/classes/FilterBuilder.js +33 -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 +33 -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 -268
- 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 -821
- 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
package/jsdoc.config.json
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"plugins": ["plugins/markdown"],
|
|
3
|
-
"source": {
|
|
4
|
-
"include": ["./dist"],
|
|
5
|
-
"exclude": ["./node_modules", "./src"],
|
|
6
|
-
"includePattern": "./dist/.+\\.js",
|
|
7
|
-
"excludePattern": "./dist/cjs/.+\\.js"
|
|
8
|
-
},
|
|
9
|
-
"opts": {
|
|
10
|
-
"package": "./package.json",
|
|
11
|
-
"readme": "./README.md",
|
|
12
|
-
"recurse": true
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Script for cleaning the project from temporary files and building a new bundle
|
|
3
|
-
* 1- Deleting some directories and files
|
|
4
|
-
* 2- Installing dependencies
|
|
5
|
-
* 3- Build a new bundle
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
const util = require("util");
|
|
9
|
-
const childProcess = require("child_process");
|
|
10
|
-
const exec = util.promisify(childProcess.exec);
|
|
11
|
-
const { exit } = require("process");
|
|
12
|
-
|
|
13
|
-
async function execute(command) {
|
|
14
|
-
console.log(command);
|
|
15
|
-
const response = await exec(command);
|
|
16
|
-
if (response.error != null) {
|
|
17
|
-
throw new Error(response.error);
|
|
18
|
-
}
|
|
19
|
-
if (response.stderr != null && response.stderr !== "") {
|
|
20
|
-
console.error(response.stderr);
|
|
21
|
-
}
|
|
22
|
-
if (response.stdout != null && response.stdout !== "") {
|
|
23
|
-
console.log(response.stdout);
|
|
24
|
-
}
|
|
25
|
-
return response;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async function cleaningProject(settings) {
|
|
29
|
-
console.log("==>>> Cleaning project...");
|
|
30
|
-
await execute(`rm -f ${settings.packageLockPath}`);
|
|
31
|
-
await execute(`rm -f -R ${settings.nodeModulesPath}`);
|
|
32
|
-
await execute(`rm -f -R ${settings.distPath}`);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
async function buildingBundle(_settings) {
|
|
36
|
-
console.log("==>>> Installing Dependencies...");
|
|
37
|
-
await execute("npm install");
|
|
38
|
-
|
|
39
|
-
await execute("npm run build");
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
async function init() {
|
|
43
|
-
console.log("Welcome.");
|
|
44
|
-
let settings = {
|
|
45
|
-
distPath: "./dist",
|
|
46
|
-
nodeModulesPath: "./node_modules",
|
|
47
|
-
packageLockPath: "./package-lock.json",
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
try {
|
|
51
|
-
await cleaningProject(settings);
|
|
52
|
-
await buildingBundle(settings);
|
|
53
|
-
console.info("Finished cleaning and installed dependencies");
|
|
54
|
-
} catch (err) {
|
|
55
|
-
console.error("Error: ", err);
|
|
56
|
-
} finally {
|
|
57
|
-
console.log("Execution finished");
|
|
58
|
-
exit();
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
init();
|
package/sonar-project.properties
DELETED
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
import { IDataset, IFUData } from "@qrvey/utils";
|
|
2
|
-
|
|
3
|
-
import { filterToVisual } from "../helpers/filter-adapt.helpers";
|
|
4
|
-
import {
|
|
5
|
-
filterToLegacyVisual,
|
|
6
|
-
legacyVisualToFilter,
|
|
7
|
-
legacyVisualToInteractiveTable,
|
|
8
|
-
} from "../helpers/filter-adapt.legacy.helpers";
|
|
9
|
-
import { filterToLogic } from "../helpers/filter-adapt.logic.helpers";
|
|
10
|
-
import { IFilterLogic } from "../resources/filter-logic.resources";
|
|
11
|
-
import {
|
|
12
|
-
IFilterPanelInteractiveTable,
|
|
13
|
-
IFilterUIToFilter,
|
|
14
|
-
} from "../resources/filter-panel.interfaces";
|
|
15
|
-
import { IFilterVisual } from "../resources/filter-visual.resources";
|
|
16
|
-
import {
|
|
17
|
-
FILTER_VERSION_TYPE,
|
|
18
|
-
IFilter,
|
|
19
|
-
IFilterVersion,
|
|
20
|
-
} from "../resources/filters.resources";
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Class to adapt the filters
|
|
24
|
-
*/
|
|
25
|
-
export class FilterAdapter {
|
|
26
|
-
/**
|
|
27
|
-
* The Logic filters
|
|
28
|
-
*/
|
|
29
|
-
private _logic?: IFilterLogic[];
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* The visual filters
|
|
33
|
-
*/
|
|
34
|
-
private _visual?: IFilterVisual;
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The old Filter Data structure
|
|
38
|
-
*/
|
|
39
|
-
private _legacyVisual?: IFUData;
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Constructor
|
|
43
|
-
* @param _filters the collection of filters
|
|
44
|
-
* @param datasets the collection of datasets info
|
|
45
|
-
* @param interactiveTable table of interaction properties for each section
|
|
46
|
-
*/
|
|
47
|
-
constructor(
|
|
48
|
-
protected _filters: IFilter[] = [],
|
|
49
|
-
protected datasets: IDataset[] = [],
|
|
50
|
-
protected interactiveTable?: IFilterPanelInteractiveTable,
|
|
51
|
-
) {
|
|
52
|
-
this.setFilters(Array.isArray(_filters) ? _filters : []);
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
*
|
|
57
|
-
*/
|
|
58
|
-
private sync(): void {
|
|
59
|
-
this.setVisual(this.filterToVisual());
|
|
60
|
-
this.setLegacyVisual(this.filterToLegacyVisual());
|
|
61
|
-
this.setLogic(this.filterToLogic());
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Generates a visual filter structure from the filter collection.
|
|
66
|
-
* @returns a visual Filter structure
|
|
67
|
-
*/
|
|
68
|
-
private filterToLegacyVisual(): IFUData | undefined {
|
|
69
|
-
return filterToLegacyVisual(
|
|
70
|
-
this._filters,
|
|
71
|
-
this.datasets,
|
|
72
|
-
this.interactiveTable,
|
|
73
|
-
);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Generates a logic filters structure from the filter collection.
|
|
78
|
-
* @returns the Logic Filters
|
|
79
|
-
*/
|
|
80
|
-
private filterToLogic(): IFilterLogic[] {
|
|
81
|
-
return filterToLogic(this._filters);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Generates a visual filter structure from the filter collection.
|
|
86
|
-
* @returns a visual Filter structure
|
|
87
|
-
*/
|
|
88
|
-
private filterToVisual(): IFilterVisual | undefined {
|
|
89
|
-
return filterToVisual(this._filters, this.datasets, this.interactiveTable);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Generates the filter collection from the legacy filter
|
|
94
|
-
* @param legacyVisual the legacy filter
|
|
95
|
-
* @param interactiveTable the interactive table object
|
|
96
|
-
* @returns the filter collection
|
|
97
|
-
*/
|
|
98
|
-
public static legacyVisualToFilter(
|
|
99
|
-
legacyVisual: IFUData,
|
|
100
|
-
interactiveTable?: IFilterPanelInteractiveTable,
|
|
101
|
-
): IFilterUIToFilter {
|
|
102
|
-
const filters: IFilter[] = legacyVisualToFilter(legacyVisual);
|
|
103
|
-
const newInteractiveTable: IFilterPanelInteractiveTable | undefined =
|
|
104
|
-
legacyVisualToInteractiveTable(legacyVisual, interactiveTable);
|
|
105
|
-
|
|
106
|
-
return {
|
|
107
|
-
filters,
|
|
108
|
-
interactiveTable: newInteractiveTable,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Gets the legacy filter version attribute
|
|
114
|
-
* @returns the legacy filter version
|
|
115
|
-
*/
|
|
116
|
-
public get legacyVisual(): IFilterVersion<FILTER_VERSION_TYPE.UI_2> {
|
|
117
|
-
return {
|
|
118
|
-
filters: this._legacyVisual,
|
|
119
|
-
version: FILTER_VERSION_TYPE.UI_2,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Gets the filter logic version
|
|
125
|
-
* @returns the filter logic version
|
|
126
|
-
*/
|
|
127
|
-
public get logic(): IFilterVersion<FILTER_VERSION_TYPE.LOGIC> {
|
|
128
|
-
return {
|
|
129
|
-
filters: this._logic,
|
|
130
|
-
version: FILTER_VERSION_TYPE.LOGIC,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Gets the visual filter version
|
|
136
|
-
* @returns the visual filter version
|
|
137
|
-
*/
|
|
138
|
-
public get visual(): IFilterVersion<FILTER_VERSION_TYPE.UI_3> {
|
|
139
|
-
return {
|
|
140
|
-
filters: this._visual,
|
|
141
|
-
version: FILTER_VERSION_TYPE.UI_3,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Gets the filter version 3
|
|
147
|
-
* @returns the filter version 3
|
|
148
|
-
*/
|
|
149
|
-
public get filters(): IFilterVersion<FILTER_VERSION_TYPE.V3> {
|
|
150
|
-
return {
|
|
151
|
-
filters: this._filters ?? [],
|
|
152
|
-
version: FILTER_VERSION_TYPE.V3,
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Sets the datasets atribute
|
|
158
|
-
* @param datasets the collection of dataset info
|
|
159
|
-
*/
|
|
160
|
-
public setDatasets(datasets: IDataset[] = []): void {
|
|
161
|
-
this.datasets = datasets;
|
|
162
|
-
this.sync();
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
* Sets the collection of filters atribute
|
|
167
|
-
* @param filters the filters
|
|
168
|
-
*/
|
|
169
|
-
public setFilters(filters: IFilter[]): void {
|
|
170
|
-
this._filters = filters;
|
|
171
|
-
this.sync();
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
/**
|
|
175
|
-
* Sets the table of interactive table attribute
|
|
176
|
-
* @param interactiveTable table of interaction properties for each section
|
|
177
|
-
*/
|
|
178
|
-
public setInteractiveTable(
|
|
179
|
-
interactiveTable: IFilterPanelInteractiveTable,
|
|
180
|
-
): void {
|
|
181
|
-
this.interactiveTable = interactiveTable;
|
|
182
|
-
this.sync();
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Sets the filter legacy visual attribute
|
|
187
|
-
* @param legacyVisual the legacy visual filters
|
|
188
|
-
*/
|
|
189
|
-
private setLegacyVisual(legacyVisual: IFUData | undefined): void {
|
|
190
|
-
this._legacyVisual = legacyVisual;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Sets the filter logic attribute
|
|
195
|
-
* @param logic the logic filters
|
|
196
|
-
*/
|
|
197
|
-
private setLogic(logic: IFilterLogic[]): void {
|
|
198
|
-
this._logic = logic;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
/**
|
|
202
|
-
* Sets the filter visual attribute
|
|
203
|
-
* @param visual the visual filters
|
|
204
|
-
*/
|
|
205
|
-
private setVisual(visual: IFilterVisual | undefined): void {
|
|
206
|
-
this._visual = visual;
|
|
207
|
-
}
|
|
208
|
-
}
|