@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
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVerboseFilter = getVerboseFilter;
|
|
4
|
+
exports.getTokensFromFilters = getTokensFromFilters;
|
|
5
|
+
exports.filtersTokensToString = filtersTokensToString;
|
|
6
|
+
const utils_1 = require("@qrvey/utils");
|
|
7
|
+
const filter_adapt_helpers_1 = require("./filter-adapt.helpers");
|
|
8
|
+
const filter_validators_helpers_1 = require("./filter-validators.helpers");
|
|
9
|
+
const isRankingFilter_1 = require("./isRankingFilter");
|
|
10
|
+
const filter_grouping_resources_1 = require("../resources/filter-grouping.resources");
|
|
11
|
+
const filter_operators_resources_1 = require("../resources/filter-operators.resources");
|
|
12
|
+
const filter_scopes_resources_1 = require("../resources/filter-scopes.resources");
|
|
13
|
+
const filter_validators_resources_1 = require("../resources/filter-validators.resources");
|
|
14
|
+
const filter_verbose_resources_1 = require("../resources/filter-verbose.resources");
|
|
15
|
+
function getVerboseFilter(filters, datasets = [], settings) {
|
|
16
|
+
const tokens = getTokensFromFilters(filters, datasets, settings);
|
|
17
|
+
return filtersTokensToString(tokens);
|
|
18
|
+
}
|
|
19
|
+
function getTokensFromFilters(filters, datasets = [], settings = {}) {
|
|
20
|
+
const visual = (0, filter_adapt_helpers_1.filterToVisual)(filters, datasets);
|
|
21
|
+
if (!visual)
|
|
22
|
+
return [];
|
|
23
|
+
const t = buildTranslator(settings.translate);
|
|
24
|
+
const tokens = [];
|
|
25
|
+
for (const scope of visual.scopes) {
|
|
26
|
+
if (scope.datasets.length === 0)
|
|
27
|
+
continue;
|
|
28
|
+
if (settings.showScope) {
|
|
29
|
+
const scopeInfo = filter_scopes_resources_1.FILTER_SCOPE_INFO[scope.scope];
|
|
30
|
+
tokens.push({
|
|
31
|
+
token: `${t(`filter.scope_title.${scope.scope.toLowerCase()}`, scopeInfo?.label ?? scope.scope)}:`,
|
|
32
|
+
type: filter_verbose_resources_1.FILTER_TOKEN_TYPE.SCOPE,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
let hasFiltersWithValues = false;
|
|
36
|
+
for (const dataset of scope.datasets) {
|
|
37
|
+
if (dataset.filters.length === 0)
|
|
38
|
+
continue;
|
|
39
|
+
if (settings.showDataset) {
|
|
40
|
+
tokens.push({
|
|
41
|
+
token: `${dataset.label}:`,
|
|
42
|
+
type: filter_verbose_resources_1.FILTER_TOKEN_TYPE.DATABASE_NAME,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
for (let i = 0; i < dataset.filters.length; i++) {
|
|
46
|
+
const filter = dataset.filters[i];
|
|
47
|
+
if (!filter.enabled) {
|
|
48
|
+
if (tokens[tokens.length - 1]?.type ===
|
|
49
|
+
filter_verbose_resources_1.FILTER_TOKEN_TYPE.LOGICAL_OPERATOR) {
|
|
50
|
+
tokens.pop();
|
|
51
|
+
}
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
hasFiltersWithValues = true;
|
|
55
|
+
if (settings.showChart && filter.scope === filter_scopes_resources_1.FILTER_SCOPE.CHART) {
|
|
56
|
+
const chartLabel = filter.customLabel ?? "";
|
|
57
|
+
const existing = tokens.find((tok) => tok.token === `${chartLabel}:` && tok.id === filter.scopeId);
|
|
58
|
+
if (!existing) {
|
|
59
|
+
if (tokens[tokens.length - 1]?.type ===
|
|
60
|
+
filter_verbose_resources_1.FILTER_TOKEN_TYPE.LOGICAL_OPERATOR) {
|
|
61
|
+
tokens.pop();
|
|
62
|
+
}
|
|
63
|
+
tokens.push({
|
|
64
|
+
token: `${chartLabel}:`,
|
|
65
|
+
type: filter_verbose_resources_1.FILTER_TOKEN_TYPE.CHART_NAME,
|
|
66
|
+
id: filter.scopeId,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
let columnLabel = filter.columnLabel || filter.columnId;
|
|
71
|
+
if (!(0, utils_1.isEmpty)(filter.aggregateType)) {
|
|
72
|
+
const aggLabel = t(`common.aggregate_labels.${filter.aggregateType.toLowerCase()}`, String(filter.aggregateType));
|
|
73
|
+
columnLabel += ` (${aggLabel})`;
|
|
74
|
+
}
|
|
75
|
+
tokens.push({
|
|
76
|
+
token: `${columnLabel}:`,
|
|
77
|
+
type: filter_verbose_resources_1.FILTER_TOKEN_TYPE.COLUMN_NAME,
|
|
78
|
+
});
|
|
79
|
+
const validatorInfo = filter_validators_resources_1.FILTER_VALIDATOR_INFO[filter.validator];
|
|
80
|
+
const validatorLabel = t(`filter.validators.${filter.validator.toLowerCase()}_label`, validatorInfo?.label ?? filter.validator);
|
|
81
|
+
const groupingLabel = !(0, utils_1.isEmpty)(filter.grouping)
|
|
82
|
+
? (filter_grouping_resources_1.FILTER_GROUPING_INFO[filter.grouping]?.label ?? "")
|
|
83
|
+
: "";
|
|
84
|
+
tokens.push({
|
|
85
|
+
token: validatorLabel + (groupingLabel ? ` (${groupingLabel})` : ""),
|
|
86
|
+
type: filter_verbose_resources_1.FILTER_TOKEN_TYPE.VALIDATOR,
|
|
87
|
+
});
|
|
88
|
+
tokens.push({
|
|
89
|
+
token: buildValueLabel(filter, settings, t),
|
|
90
|
+
type: filter_verbose_resources_1.FILTER_TOKEN_TYPE.VALUE,
|
|
91
|
+
});
|
|
92
|
+
if (i < dataset.filters.length - 1) {
|
|
93
|
+
const opInfo = filter_operators_resources_1.FILTER_OPERATOR_INFO[filter.operator];
|
|
94
|
+
const opLabel = t(`filter.operators.${filter.operator.toLowerCase()}`, opInfo?.label ?? filter.operator);
|
|
95
|
+
tokens.push({
|
|
96
|
+
token: opLabel,
|
|
97
|
+
type: filter_verbose_resources_1.FILTER_TOKEN_TYPE.LOGICAL_OPERATOR,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (!hasFiltersWithValues && settings.showDataset) {
|
|
102
|
+
tokens.pop();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (!hasFiltersWithValues && settings.showScope) {
|
|
106
|
+
tokens.pop();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return tokens;
|
|
110
|
+
}
|
|
111
|
+
function filtersTokensToString(tokens) {
|
|
112
|
+
let str = "";
|
|
113
|
+
for (const token of tokens) {
|
|
114
|
+
if ([filter_verbose_resources_1.FILTER_TOKEN_TYPE.SCOPE, filter_verbose_resources_1.FILTER_TOKEN_TYPE.CHART_NAME].includes(token.type)) {
|
|
115
|
+
str += "\n";
|
|
116
|
+
}
|
|
117
|
+
str += `${token.token} `;
|
|
118
|
+
}
|
|
119
|
+
return str.trim();
|
|
120
|
+
}
|
|
121
|
+
function buildTranslator(translate) {
|
|
122
|
+
if (translate) {
|
|
123
|
+
return (key, fallback) => translate(key) || fallback;
|
|
124
|
+
}
|
|
125
|
+
return (_key, fallback) => fallback;
|
|
126
|
+
}
|
|
127
|
+
function buildValueLabel(filter, settings, t) {
|
|
128
|
+
const values = filter.values ?? [];
|
|
129
|
+
let labels;
|
|
130
|
+
if ((0, filter_validators_helpers_1.isNullValidator)(filter.validator)) {
|
|
131
|
+
const validatorInfo = filter_validators_resources_1.FILTER_VALIDATOR_INFO[filter.validator];
|
|
132
|
+
labels = [
|
|
133
|
+
t(`filter.validators.${filter.validator.toLowerCase()}_label`, validatorInfo?.label ?? filter.validator),
|
|
134
|
+
];
|
|
135
|
+
}
|
|
136
|
+
else if ((0, filter_validators_helpers_1.isRangeValidator)(filter.validator)) {
|
|
137
|
+
labels = getRangeLabels(values, filter.validator, settings, t);
|
|
138
|
+
}
|
|
139
|
+
else if ((0, filter_validators_helpers_1.isInValidator)(filter.validator)) {
|
|
140
|
+
labels = getRelativeLabels(values, t);
|
|
141
|
+
}
|
|
142
|
+
else if ((0, isRankingFilter_1.isRankingFilter)(filter)) {
|
|
143
|
+
labels = getRankingLabels(values);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
labels = getRegularLabels(values);
|
|
147
|
+
}
|
|
148
|
+
const filtered = labels.filter((l) => !(0, utils_1.isEmpty)(l));
|
|
149
|
+
let result = filtered.join(", ");
|
|
150
|
+
if (filter.selectAll) {
|
|
151
|
+
result = (0, utils_1.isEmpty)(result)
|
|
152
|
+
? t("filter_panel.card_all_selected", "All selected")
|
|
153
|
+
: `${t("filter_panel.card_all_except", "All except")} ${result}`;
|
|
154
|
+
}
|
|
155
|
+
else if ((0, utils_1.isEmpty)(result)) {
|
|
156
|
+
result = t("filter_panel.card_none_selected", "None selected");
|
|
157
|
+
}
|
|
158
|
+
return result;
|
|
159
|
+
}
|
|
160
|
+
function getRegularLabels(values) {
|
|
161
|
+
return values
|
|
162
|
+
.filter((v) => (v.displayed ?? true) && (v.enabled ?? true))
|
|
163
|
+
.map((v) => v.value ?? "");
|
|
164
|
+
}
|
|
165
|
+
function getRangeLabels(values, validator, settings, t) {
|
|
166
|
+
const sep = settings.rangeSeparator ?? t("filter.range_separator", "-");
|
|
167
|
+
return values
|
|
168
|
+
.filter((v) => (v.displayed ?? true) && (v.enabled ?? true))
|
|
169
|
+
.map((v) => {
|
|
170
|
+
switch (validator) {
|
|
171
|
+
case "AFTER":
|
|
172
|
+
case "AFTER_ON":
|
|
173
|
+
case "GREATER_THAN":
|
|
174
|
+
case "GREATER_THAN_EQUAL":
|
|
175
|
+
return v.min ?? "";
|
|
176
|
+
case "BEFORE":
|
|
177
|
+
case "BEFORE_ON":
|
|
178
|
+
case "LESS_THAN":
|
|
179
|
+
case "LESS_THAN_EQUAL":
|
|
180
|
+
return v.max ?? "";
|
|
181
|
+
default:
|
|
182
|
+
return `${v.min ?? ""} ${sep} ${v.max ?? ""}`;
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
function getRelativeLabels(values, t) {
|
|
187
|
+
return values
|
|
188
|
+
.filter((v) => (v.displayed ?? true) && (v.enabled ?? true))
|
|
189
|
+
.map((v) => {
|
|
190
|
+
const cursorInfo = utils_1.RELATIVE_CURSOR_INFO[v.cursor];
|
|
191
|
+
const cursorLabel = t(cursorInfo.i18nLabelPath, cursorInfo.label);
|
|
192
|
+
const isThis = v.cursor === utils_1.RELATIVE_CURSOR.THIS;
|
|
193
|
+
const number = !isThis && v.number != null && v.number > 1 ? `${v.number} ` : "";
|
|
194
|
+
const unit = t(`common.units.${v.unit}`, String(v.unit));
|
|
195
|
+
const pluralUnit = !isThis && v.number != null && v.number > 1 ? `${unit}s` : unit;
|
|
196
|
+
if (isThis) {
|
|
197
|
+
return `${cursorLabel} ${pluralUnit}`.trim();
|
|
198
|
+
}
|
|
199
|
+
const fromLabel = t("filter.relative_container.from_label", "from");
|
|
200
|
+
const anchorLabel = typeof v.anchor === "string" && !(0, utils_1.isEmpty)(v.anchor)
|
|
201
|
+
? v.anchor
|
|
202
|
+
: t("filter.relative_container.current_date", "Current Date");
|
|
203
|
+
return `${cursorLabel} ${number}${pluralUnit} ${fromLabel} ${anchorLabel}`.trim();
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
function getRankingLabels(values) {
|
|
207
|
+
return values
|
|
208
|
+
.flat()
|
|
209
|
+
.filter((v) => (v.displayed ?? true) && (v.enabled ?? true))
|
|
210
|
+
.map((v) => `${v.value ?? ""} - ${v.position}`);
|
|
211
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAggregateFilters = getAggregateFilters;
|
|
4
|
+
exports.excludeAggregateFilters = excludeAggregateFilters;
|
|
5
|
+
const utils_1 = require("@qrvey/utils");
|
|
6
|
+
function getAggregateFilters(filters = []) {
|
|
7
|
+
return filters.filter((filter) => !(0, utils_1.isEmpty)(filter.aggregateType));
|
|
8
|
+
}
|
|
9
|
+
function excludeAggregateFilters(filters = []) {
|
|
10
|
+
return filters.filter((filter) => (0, utils_1.isEmpty)(filter.aggregateType));
|
|
11
|
+
}
|
|
@@ -1,22 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFilterId =
|
|
3
|
+
exports.getFilterId = getFilterId;
|
|
4
4
|
const utils_1 = require("@qrvey/utils");
|
|
5
|
-
/**
|
|
6
|
-
* Get the Filter ID by the filter structure
|
|
7
|
-
* The order of the epression ID is:
|
|
8
|
-
* - Scope Type
|
|
9
|
-
* - scope Id
|
|
10
|
-
* - dataset Id
|
|
11
|
-
* - column Id
|
|
12
|
-
* - validator
|
|
13
|
-
* - grouping
|
|
14
|
-
* - Column Aggregate
|
|
15
|
-
* - Optional Index
|
|
16
|
-
* @param filter the filter structure
|
|
17
|
-
* @param index an aditional number to add into the ID
|
|
18
|
-
* @returns a text to identify the filter
|
|
19
|
-
*/
|
|
20
5
|
function getFilterId(filter, index) {
|
|
21
6
|
if ((0, utils_1.isEmpty)(filter) || !(0, utils_1.isObject)(filter))
|
|
22
7
|
return "";
|
|
@@ -39,4 +24,3 @@ function getFilterId(filter, index) {
|
|
|
39
24
|
filterId.push(index.toString());
|
|
40
25
|
return filterId.length > 0 ? filterId.join("|") : "";
|
|
41
26
|
}
|
|
42
|
-
exports.getFilterId = getFilterId;
|
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFilterType =
|
|
3
|
+
exports.getFilterType = getFilterType;
|
|
4
4
|
const utils_1 = require("@qrvey/utils");
|
|
5
5
|
const filters_resources_1 = require("../resources/filters.resources");
|
|
6
|
-
/**
|
|
7
|
-
* Gets the filter type based on the column type and the validator
|
|
8
|
-
* @param columnType the column type
|
|
9
|
-
* @param validator the validator type
|
|
10
|
-
* @returns the filter type
|
|
11
|
-
*/
|
|
12
6
|
function getFilterType(columnType, validator) {
|
|
13
7
|
if (columnType === utils_1.COLUMN.RANKING)
|
|
14
8
|
return filters_resources_1.FILTER_TYPE.RANKING;
|
|
15
9
|
return filters_resources_1.FILTER_TYPE_BY_VALIDATOR[validator];
|
|
16
10
|
}
|
|
17
|
-
exports.getFilterType = getFilterType;
|
|
@@ -1,22 +1,14 @@
|
|
|
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("./filter-
|
|
19
|
-
__exportStar(require("./
|
|
20
|
-
__exportStar(require("./
|
|
21
|
-
__exportStar(require("./
|
|
22
|
-
__exportStar(require("./
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./filter-adapt.helpers"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./filter-settings.helpers"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./filter-validators.helpers"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./filter-verbose.helpers"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./getAggregateFilters"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./getFilterId"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./getFilterType"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./isDateDistinctGrouping"), exports);
|
|
12
|
+
tslib_1.__exportStar(require("./isRankingFilter"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./resolveFilterConditions"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./utils.helpers"), exports);
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDateDistinctGrouping = isDateDistinctGrouping;
|
|
4
|
+
const filter_grouping_resources_1 = require("../resources/filter-grouping.resources");
|
|
5
|
+
const DATE_DISTINCT_GROUPINGS = [
|
|
6
|
+
filter_grouping_resources_1.FILTER_GROUPING.YEAR_QUARTER,
|
|
7
|
+
filter_grouping_resources_1.FILTER_GROUPING.YEAR_MONTH,
|
|
8
|
+
filter_grouping_resources_1.FILTER_GROUPING.MONTH_DAY,
|
|
9
|
+
filter_grouping_resources_1.FILTER_GROUPING.DAY_HOUR,
|
|
10
|
+
filter_grouping_resources_1.FILTER_GROUPING.HOUR_MINUTE,
|
|
11
|
+
filter_grouping_resources_1.FILTER_GROUPING.MINUTE_SECOND,
|
|
12
|
+
];
|
|
13
|
+
function isDateDistinctGrouping(grouping) {
|
|
14
|
+
return DATE_DISTINCT_GROUPINGS.includes(grouping);
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isRankingFilter = isRankingFilter;
|
|
4
|
+
const utils_1 = require("@qrvey/utils");
|
|
5
|
+
const filter_validators_helpers_1 = require("./filter-validators.helpers");
|
|
6
|
+
function isRankingFilter(filter) {
|
|
7
|
+
return (filter.columnType === utils_1.COLUMN.RANKING &&
|
|
8
|
+
(0, utils_1.isEmpty)(filter.aggregateType) &&
|
|
9
|
+
!(0, filter_validators_helpers_1.isNullValidator)(filter.validator));
|
|
10
|
+
}
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveFilterConditions =
|
|
4
|
-
/**
|
|
5
|
-
* Resolves conditions to fullfill the match of the filter object
|
|
6
|
-
* @param filter the filter object
|
|
7
|
-
* @param params the params of the filter to resolve the condition
|
|
8
|
-
* @param settings the filter param settings
|
|
9
|
-
* @returns true: the conditions is fullfiled.
|
|
10
|
-
*/
|
|
3
|
+
exports.resolveFilterConditions = resolveFilterConditions;
|
|
11
4
|
function resolveFilterConditions(filter, params, settings) {
|
|
12
|
-
const paramKeys = Object.keys(params)
|
|
5
|
+
const paramKeys = Object.keys(params);
|
|
13
6
|
let condition = true;
|
|
14
7
|
for (let i = 0; i < paramKeys.length; i++) {
|
|
15
8
|
const paramKey = paramKeys[i];
|
|
@@ -22,4 +15,3 @@ function resolveFilterConditions(filter, params, settings) {
|
|
|
22
15
|
}
|
|
23
16
|
return condition;
|
|
24
17
|
}
|
|
25
|
-
exports.resolveFilterConditions = resolveFilterConditions;
|
|
@@ -1,30 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
* Gets the column info by ID
|
|
6
|
-
* @param ids the ids to search the info
|
|
7
|
-
* @param ids.columnId the column ID
|
|
8
|
-
* @param ids.datasetId the dataset ID
|
|
9
|
-
* @param datasets the collection of datasets
|
|
10
|
-
* @returns the Column Info
|
|
11
|
-
*/
|
|
3
|
+
exports.getColumnInfo = getColumnInfo;
|
|
4
|
+
exports.getDatasetInfo = getDatasetInfo;
|
|
12
5
|
function getColumnInfo(ids, datasets = []) {
|
|
13
6
|
const datasetInfo = getDatasetInfo(ids, datasets);
|
|
14
7
|
return datasetInfo?.options?.find((cInfo) => cInfo.id === ids.columnId && cInfo.qrveyid === ids.datasetId);
|
|
15
8
|
}
|
|
16
|
-
exports.getColumnInfo = getColumnInfo;
|
|
17
|
-
/**
|
|
18
|
-
* Gets the dataset info by ID
|
|
19
|
-
* @param ids the ids to search the info
|
|
20
|
-
* @param ids.columnId the column ID
|
|
21
|
-
* @param ids.datasetId the dataset ID
|
|
22
|
-
* @param datasets the collection of datasets
|
|
23
|
-
* @returns the Dataset Info
|
|
24
|
-
*/
|
|
25
9
|
function getDatasetInfo(ids, datasets = []) {
|
|
26
10
|
if (ids == null || !Array.isArray(datasets))
|
|
27
11
|
return;
|
|
28
12
|
return datasets?.find((dInfo) => dInfo.qrveyid === ids.datasetId);
|
|
29
13
|
}
|
|
30
|
-
exports.getDatasetInfo = getDatasetInfo;
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,20 +1,7 @@
|
|
|
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("./
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./classes"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./helpers"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./models"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./resources"), exports);
|
package/dist/cjs/models/index.js
CHANGED
|
@@ -1,19 +1,6 @@
|
|
|
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("./filter-
|
|
19
|
-
__exportStar(require("./filter-
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./filter-builder.models"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./filter-resources.models"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./filter-searcher.models"), exports);
|
|
@@ -7,25 +7,20 @@ var FILTER_GROUPING;
|
|
|
7
7
|
(function (FILTER_GROUPING) {
|
|
8
8
|
FILTER_GROUPING["LOOKUP_DISPLAY"] = "display";
|
|
9
9
|
FILTER_GROUPING["LOOKUP_VALUE"] = "value";
|
|
10
|
-
// ...DATE_GROUPING_PROPERTY,
|
|
11
10
|
FILTER_GROUPING["DAY"] = "day";
|
|
12
11
|
FILTER_GROUPING["MONTH"] = "month";
|
|
13
12
|
FILTER_GROUPING["QUARTER"] = "quarter";
|
|
14
13
|
FILTER_GROUPING["WEEK"] = "week";
|
|
15
14
|
FILTER_GROUPING["YEAR"] = "year";
|
|
16
|
-
// ...DATE_GROUPING_TIME_PROPERTY,
|
|
17
15
|
FILTER_GROUPING["HOUR"] = "hour";
|
|
18
16
|
FILTER_GROUPING["MINUTE"] = "minute";
|
|
19
17
|
FILTER_GROUPING["SECOND"] = "second";
|
|
20
|
-
// ...DATE_DISTINCT_PROPERTY,
|
|
21
18
|
FILTER_GROUPING["YEAR_QUARTER"] = "quarter_only";
|
|
22
19
|
FILTER_GROUPING["YEAR_MONTH"] = "month_only";
|
|
23
20
|
FILTER_GROUPING["MONTH_DAY"] = "day_only";
|
|
24
|
-
// ...DATE_DISTINCT_TIME_PROPERTY,
|
|
25
21
|
FILTER_GROUPING["DAY_HOUR"] = "hour_only";
|
|
26
22
|
FILTER_GROUPING["HOUR_MINUTE"] = "minute_only";
|
|
27
23
|
FILTER_GROUPING["MINUTE_SECOND"] = "second_only";
|
|
28
|
-
// ...COMPLEX_COLUMN_PROPERTY,
|
|
29
24
|
FILTER_GROUPING["TEXTFIELD_WORDS"] = "words";
|
|
30
25
|
FILTER_GROUPING["TEXTFIELD_KEYPHRASES"] = "keywords";
|
|
31
26
|
FILTER_GROUPING["TEXTFIELD_SENTIMENTS"] = "sentiment";
|
|
@@ -35,7 +30,6 @@ var FILTER_GROUPING;
|
|
|
35
30
|
FILTER_GROUPING["IMAGEUPLOAD_IMAGEWORDS"] = "analysis";
|
|
36
31
|
FILTER_GROUPING["EXPRESSION_POSITIVE"] = "positive";
|
|
37
32
|
FILTER_GROUPING["EXPRESSION_NEGATIVE"] = "negative";
|
|
38
|
-
// ...COMPOUND_COLUMN_PROPERTY,
|
|
39
33
|
FILTER_GROUPING["NAME_FIRST"] = "first_name";
|
|
40
34
|
FILTER_GROUPING["NAME_LAST"] = "last_name";
|
|
41
35
|
FILTER_GROUPING["ADDRESS_STREET"] = "street_address";
|
|
@@ -50,25 +44,20 @@ var FILTER_GROUPING_LABEL;
|
|
|
50
44
|
(function (FILTER_GROUPING_LABEL) {
|
|
51
45
|
FILTER_GROUPING_LABEL["LOOKUP_DISPLAY"] = "display";
|
|
52
46
|
FILTER_GROUPING_LABEL["LOOKUP_VALUE"] = "value";
|
|
53
|
-
// ...DATE_GROUPING_PROPERTY,
|
|
54
47
|
FILTER_GROUPING_LABEL["DAY"] = "Full Date";
|
|
55
48
|
FILTER_GROUPING_LABEL["MONTH"] = "Month, Year";
|
|
56
49
|
FILTER_GROUPING_LABEL["QUARTER"] = "Quarter, Year";
|
|
57
50
|
FILTER_GROUPING_LABEL["WEEK"] = "Week, Year";
|
|
58
51
|
FILTER_GROUPING_LABEL["YEAR"] = "Year";
|
|
59
|
-
// ...DATE_GROUPING_TIME_PROPERTY,
|
|
60
52
|
FILTER_GROUPING_LABEL["HOUR"] = "Date, Hour";
|
|
61
53
|
FILTER_GROUPING_LABEL["MINUTE"] = "Date, Minute";
|
|
62
54
|
FILTER_GROUPING_LABEL["SECOND"] = "Date, Second";
|
|
63
|
-
// ...DATE_DISTINCT_PROPERTY,
|
|
64
55
|
FILTER_GROUPING_LABEL["YEAR_QUARTER"] = "Quarter";
|
|
65
56
|
FILTER_GROUPING_LABEL["YEAR_MONTH"] = "Month";
|
|
66
57
|
FILTER_GROUPING_LABEL["MONTH_DAY"] = "Day (Month)";
|
|
67
|
-
// ...DATE_DISTINCT_TIME_PROPERTY,
|
|
68
58
|
FILTER_GROUPING_LABEL["DAY_HOUR"] = "Hour";
|
|
69
59
|
FILTER_GROUPING_LABEL["HOUR_MINUTE"] = "Minute";
|
|
70
60
|
FILTER_GROUPING_LABEL["MINUTE_SECOND"] = "Second";
|
|
71
|
-
// ...COMPLEX_COLUMN_PROPERTY,
|
|
72
61
|
FILTER_GROUPING_LABEL["TEXTFIELD_WORDS"] = "Words";
|
|
73
62
|
FILTER_GROUPING_LABEL["TEXTFIELD_KEYPHRASES"] = "Keyphrases";
|
|
74
63
|
FILTER_GROUPING_LABEL["TEXTFIELD_SENTIMENTS"] = "Sentiments";
|
|
@@ -81,7 +70,6 @@ var FILTER_GROUPING_LABEL;
|
|
|
81
70
|
FILTER_GROUPING_LABEL["IMAGEUPLOAD_IMAGECATEGORY"] = "Categories";
|
|
82
71
|
FILTER_GROUPING_LABEL["EXPRESSION_POSITIVE"] = "Positive";
|
|
83
72
|
FILTER_GROUPING_LABEL["EXPRESSION_NEGATIVE"] = "Negative";
|
|
84
|
-
// ...COMPOUND_COLUMN_PROPERTY,
|
|
85
73
|
FILTER_GROUPING_LABEL["NAME_FIRST"] = "First Name";
|
|
86
74
|
FILTER_GROUPING_LABEL["NAME_LAST"] = "Last Name";
|
|
87
75
|
FILTER_GROUPING_LABEL["ADDRESS_STREET"] = "Street";
|
|
@@ -336,9 +324,6 @@ exports.FILTER_GROUPING_INFO = {
|
|
|
336
324
|
value: FILTER_GROUPING.USADDRESS_LINE_2,
|
|
337
325
|
},
|
|
338
326
|
};
|
|
339
|
-
/**
|
|
340
|
-
* List of columns allowed to set grouping filters
|
|
341
|
-
*/
|
|
342
327
|
exports.FILTER_GROUPING_COLUMNS = [
|
|
343
328
|
utils_1.COLUMN.DATE,
|
|
344
329
|
utils_1.COLUMN.DATE_FORMULA,
|
|
@@ -352,9 +337,6 @@ exports.FILTER_GROUPING_COLUMNS = [
|
|
|
352
337
|
utils_1.COLUMN.ADDRESS,
|
|
353
338
|
utils_1.COLUMN.LOOKUP,
|
|
354
339
|
];
|
|
355
|
-
/**
|
|
356
|
-
* List of validator allowed to set grouping filters
|
|
357
|
-
*/
|
|
358
340
|
exports.FILTER_GROUPING_VALIDATORS = [
|
|
359
341
|
filter_validators_resources_1.FILTER_VALIDATOR.EQUALS,
|
|
360
342
|
filter_validators_resources_1.FILTER_VALIDATOR.NOT_EQUAL,
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FILTER_LOGIC_VALIDATOR = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Enumartion of filter Logic validators
|
|
6
|
-
*/
|
|
7
4
|
var FILTER_LOGIC_VALIDATOR;
|
|
8
5
|
(function (FILTER_LOGIC_VALIDATOR) {
|
|
9
6
|
FILTER_LOGIC_VALIDATOR["EQUALS"] = "EQUAL";
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FILTER_SCOPE_INFO_LIST = exports.FILTER_SCOPE_INFO = exports.FILTER_SCOPES = exports.FILTER_SCOPE_LABEL = exports.FILTER_SCOPE = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Enumeration of filter scope types
|
|
6
|
-
*/
|
|
7
4
|
var FILTER_SCOPE;
|
|
8
5
|
(function (FILTER_SCOPE) {
|
|
9
6
|
FILTER_SCOPE["ADMIN"] = "ADMIN";
|
|
10
7
|
FILTER_SCOPE["FLOW"] = "FLOW";
|
|
11
8
|
FILTER_SCOPE["DATA"] = "DATA";
|
|
12
9
|
FILTER_SCOPE["GLOBAL"] = "GLOBAL";
|
|
10
|
+
FILTER_SCOPE["VIEW_ONLY"] = "VIEW_ONLY";
|
|
13
11
|
FILTER_SCOPE["PAGE"] = "PAGE";
|
|
14
12
|
FILTER_SCOPE["TAB"] = "TAB";
|
|
15
13
|
FILTER_SCOPE["CONTAINER"] = "CONTAINER";
|
|
@@ -17,15 +15,13 @@ var FILTER_SCOPE;
|
|
|
17
15
|
FILTER_SCOPE["CHART"] = "CHART";
|
|
18
16
|
FILTER_SCOPE["ACTION"] = "ACTION";
|
|
19
17
|
})(FILTER_SCOPE || (exports.FILTER_SCOPE = FILTER_SCOPE = {}));
|
|
20
|
-
/**
|
|
21
|
-
* Enumeration of filter scope labels
|
|
22
|
-
*/
|
|
23
18
|
var FILTER_SCOPE_LABEL;
|
|
24
19
|
(function (FILTER_SCOPE_LABEL) {
|
|
25
20
|
FILTER_SCOPE_LABEL["ADMIN"] = "Admin";
|
|
26
21
|
FILTER_SCOPE_LABEL["FLOW"] = "Automation";
|
|
27
22
|
FILTER_SCOPE_LABEL["DATA"] = "Data";
|
|
28
23
|
FILTER_SCOPE_LABEL["GLOBAL"] = "Global";
|
|
24
|
+
FILTER_SCOPE_LABEL["VIEW_ONLY"] = "View Only";
|
|
29
25
|
FILTER_SCOPE_LABEL["PAGE"] = "Dashboard";
|
|
30
26
|
FILTER_SCOPE_LABEL["TAB"] = "Tab";
|
|
31
27
|
FILTER_SCOPE_LABEL["CONTAINER"] = "Container";
|
|
@@ -33,14 +29,12 @@ var FILTER_SCOPE_LABEL;
|
|
|
33
29
|
FILTER_SCOPE_LABEL["CHART"] = "Panel";
|
|
34
30
|
FILTER_SCOPE_LABEL["ACTION"] = "Action";
|
|
35
31
|
})(FILTER_SCOPE_LABEL || (exports.FILTER_SCOPE_LABEL = FILTER_SCOPE_LABEL = {}));
|
|
36
|
-
/**
|
|
37
|
-
* List of filter scope types
|
|
38
|
-
*/
|
|
39
32
|
exports.FILTER_SCOPES = [
|
|
40
33
|
FILTER_SCOPE.ADMIN,
|
|
41
34
|
FILTER_SCOPE.FLOW,
|
|
42
35
|
FILTER_SCOPE.DATA,
|
|
43
36
|
FILTER_SCOPE.GLOBAL,
|
|
37
|
+
FILTER_SCOPE.VIEW_ONLY,
|
|
44
38
|
FILTER_SCOPE.PAGE,
|
|
45
39
|
FILTER_SCOPE.TAB,
|
|
46
40
|
FILTER_SCOPE.CONTAINER,
|
|
@@ -48,9 +42,6 @@ exports.FILTER_SCOPES = [
|
|
|
48
42
|
FILTER_SCOPE.CHART,
|
|
49
43
|
FILTER_SCOPE.ACTION,
|
|
50
44
|
];
|
|
51
|
-
/**
|
|
52
|
-
* Filter scope information by Scope types
|
|
53
|
-
*/
|
|
54
45
|
exports.FILTER_SCOPE_INFO = {
|
|
55
46
|
[FILTER_SCOPE.ADMIN]: {
|
|
56
47
|
displayed: true,
|
|
@@ -76,6 +67,12 @@ exports.FILTER_SCOPE_INFO = {
|
|
|
76
67
|
label: FILTER_SCOPE_LABEL.GLOBAL,
|
|
77
68
|
value: FILTER_SCOPE.GLOBAL,
|
|
78
69
|
},
|
|
70
|
+
[FILTER_SCOPE.VIEW_ONLY]: {
|
|
71
|
+
displayed: true,
|
|
72
|
+
i18nLabelPath: "filter.scopes.view_only",
|
|
73
|
+
label: FILTER_SCOPE_LABEL.VIEW_ONLY,
|
|
74
|
+
value: FILTER_SCOPE.VIEW_ONLY,
|
|
75
|
+
},
|
|
79
76
|
[FILTER_SCOPE.PAGE]: {
|
|
80
77
|
displayed: true,
|
|
81
78
|
i18nLabelPath: "filter.scopes.page",
|
|
@@ -113,18 +110,4 @@ exports.FILTER_SCOPE_INFO = {
|
|
|
113
110
|
value: FILTER_SCOPE.ACTION,
|
|
114
111
|
},
|
|
115
112
|
};
|
|
116
|
-
|
|
117
|
-
* List of filter scope information
|
|
118
|
-
*/
|
|
119
|
-
exports.FILTER_SCOPE_INFO_LIST = [
|
|
120
|
-
exports.FILTER_SCOPE_INFO.ADMIN,
|
|
121
|
-
exports.FILTER_SCOPE_INFO.FLOW,
|
|
122
|
-
exports.FILTER_SCOPE_INFO.DATA,
|
|
123
|
-
exports.FILTER_SCOPE_INFO.GLOBAL,
|
|
124
|
-
exports.FILTER_SCOPE_INFO.PAGE,
|
|
125
|
-
exports.FILTER_SCOPE_INFO.TAB,
|
|
126
|
-
exports.FILTER_SCOPE_INFO.CONTAINER,
|
|
127
|
-
exports.FILTER_SCOPE_INFO.DEFAULT,
|
|
128
|
-
exports.FILTER_SCOPE_INFO.CHART,
|
|
129
|
-
exports.FILTER_SCOPE_INFO.ACTION,
|
|
130
|
-
];
|
|
113
|
+
exports.FILTER_SCOPE_INFO_LIST = exports.FILTER_SCOPES.map((scope) => exports.FILTER_SCOPE_INFO[scope]);
|
|
@@ -320,8 +320,6 @@ exports.FILTER_VALIDATORS_INFO_BY_COLUMN_TYPE = {
|
|
|
320
320
|
[utils_1.COLUMN.TEXT_CATEGORY]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.TEXT,
|
|
321
321
|
[utils_1.COLUMN.TEXT_LABEL]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.TEXT,
|
|
322
322
|
[utils_1.COLUMN.TEXT_FORMULA]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.TEXT,
|
|
323
|
-
// Special case, they are Equal/Null when groupings are FILETYPE
|
|
324
|
-
// Special case, they are Numeric when groupings are FILESIZE
|
|
325
323
|
[utils_1.COLUMN.IMAGEUPLOAD]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.TEXT,
|
|
326
324
|
[utils_1.COLUMN.FILEUPLOAD]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.TEXT,
|
|
327
325
|
[utils_1.COLUMN.DATE]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.DATE,
|
|
@@ -339,7 +337,6 @@ exports.FILTER_VALIDATORS_INFO_BY_COLUMN_TYPE = {
|
|
|
339
337
|
[utils_1.COLUMN.YES_NO]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.EQUAL,
|
|
340
338
|
[utils_1.COLUMN.PASSWORD]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.NULL,
|
|
341
339
|
[utils_1.COLUMN.SIGNATURE]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.NULL,
|
|
342
|
-
// Useless cases
|
|
343
340
|
[utils_1.COLUMN.TIME]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.NULL,
|
|
344
341
|
[utils_1.COLUMN.AGGREGATED_FORMULA]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.NULL,
|
|
345
342
|
[utils_1.COLUMN.FORMULA]: exports.FILTER_VALIDATORS_INFO_BY_SECTION_TYPE.NULL,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FILTER_TOKEN_TYPE = void 0;
|
|
4
|
+
var FILTER_TOKEN_TYPE;
|
|
5
|
+
(function (FILTER_TOKEN_TYPE) {
|
|
6
|
+
FILTER_TOKEN_TYPE["SCOPE"] = "SCOPE";
|
|
7
|
+
FILTER_TOKEN_TYPE["DATABASE_NAME"] = "DATABASE_NAME";
|
|
8
|
+
FILTER_TOKEN_TYPE["COLUMN_NAME"] = "COLUMN_NAME";
|
|
9
|
+
FILTER_TOKEN_TYPE["VALIDATOR"] = "VALIDATOR";
|
|
10
|
+
FILTER_TOKEN_TYPE["VALUE"] = "VALUE";
|
|
11
|
+
FILTER_TOKEN_TYPE["LOGICAL_OPERATOR"] = "LOGICAL_OPERATOR";
|
|
12
|
+
FILTER_TOKEN_TYPE["CHART_NAME"] = "CHART_NAME";
|
|
13
|
+
})(FILTER_TOKEN_TYPE || (exports.FILTER_TOKEN_TYPE = FILTER_TOKEN_TYPE = {}));
|