@qrvey/utils 1.4.0-0 → 1.4.0-3
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 +1 -1
- package/dist/charts/helpers/isSimpleTableChart.js +2 -1
- package/dist/cjs/charts/helpers/isSimpleTableChart.js +2 -1
- package/dist/cjs/column_format/helpers/defineTableChartFormat.js +10 -26
- package/dist/cjs/column_format/helpers/defineXYChartFormat.js +7 -11
- package/dist/cjs/columns/constants/COLUMN_INFO.js +23 -49
- package/dist/cjs/columns/constants/COLUMN_LABEL.js +1 -29
- package/dist/cjs/columns/constants/COLUMN_PROPERTY_INFO.js +3 -8
- package/dist/cjs/columns/constants/COLUMN_PROPERTY_LABEL.js +1 -11
- package/dist/cjs/columns/helpers/getColumnsLabel.js +0 -5
- package/dist/cjs/columns/helpers/getDatasetColumn.js +1 -1
- package/dist/cjs/columns/helpers/getModelColumn.js +0 -1
- package/dist/cjs/dates/relative/RelativeStatementAdapter.js +6 -24
- package/dist/cjs/filters/adapters/FDToFlatUI.js +8 -18
- package/dist/cjs/filters/adapters/FDToLogic.js +1 -1
- package/dist/cjs/filters/adapters/FDToUI.js +12 -24
- package/dist/cjs/filters/adapters/UIToFlatUI.js +4 -14
- package/dist/cjs/filters/adapters/UIToOldLogic.js +2 -1
- package/dist/cjs/filters/adapters/adaptFilterValues.js +1 -6
- package/dist/cjs/filters/adapters/flatUIToFD.js +3 -14
- package/dist/cjs/filters/adapters/flatUIToOldLogic.js +15 -49
- package/dist/cjs/filters/adapters/flatUIToUI.js +3 -14
- package/dist/cjs/filters/adapters/logicToFlatUI.js +20 -32
- package/dist/cjs/filters/adapters/transformFilters.js +4 -19
- package/dist/cjs/filters/classes/FilterInputErrorHandler.js +0 -8
- package/dist/cjs/filters/helpers/applyHierarchyForAggFilters.js +2 -11
- package/dist/cjs/filters/helpers/backend/buildExpression.js +2 -1
- package/dist/cjs/filters/helpers/backend/buildFilters.js +2 -1
- package/dist/cjs/filters/helpers/backend/getAggFiltersBySummaryIndex.js +1 -4
- package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +5 -7
- package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +6 -8
- package/dist/cjs/filters/helpers/common/areFiltersEquals.js +3 -2
- package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +17 -22
- package/dist/cjs/filters/helpers/common/getFilterid.js +9 -8
- package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -16
- package/dist/cjs/filters/helpers/common/getFiltersByParams.js +12 -18
- package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +4 -3
- package/dist/cjs/filters/helpers/common/getMergeValuesSettings.js +2 -1
- package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.js +10 -9
- package/dist/cjs/filters/helpers/common/mergeFilters.js +7 -30
- package/dist/cjs/filters/helpers/common/mergeValues.js +9 -6
- package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +9 -8
- package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +2 -42
- package/dist/cjs/filters/helpers/ui/getUIValues.js +14 -12
- package/dist/cjs/filters/helpers/ui/getUpdatedUIFilters.js +1 -1
- package/dist/cjs/filters/helpers/ui/resolveUIFlatFilterByParams.js +5 -4
- package/dist/cjs/filters/helpers/ui/transformFilterValues.js +3 -14
- package/dist/cjs/filters/interfaces/builder/IFilterBuilderSettings.d.ts +2 -0
- package/dist/cjs/filters/services/Filters.api.js +44 -45
- package/dist/cjs/filters/services/UChartApi.js +246 -257
- package/dist/cjs/filters/services/UChartPaginationApi.js +289 -301
- package/dist/cjs/format/definition.js +1 -1
- package/dist/cjs/format/duration/durationFormatter.js +7 -12
- package/dist/cjs/format/format.js +8 -7
- package/dist/cjs/format/localization.d.ts +2 -1
- package/dist/cjs/format/localization.js +8 -7
- package/dist/cjs/general/array/addPropertyToArrayOfObjects.js +1 -1
- package/dist/cjs/general/object/getAttribute.js +2 -6
- package/dist/cjs/general/object/mergeDeep.js +3 -2
- package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +6 -21
- package/dist/cjs/globalization/service/i18nextBuilder.js +31 -19
- package/dist/cjs/globalization/service/initI18n.js +13 -2
- package/dist/cjs/qrvey/helpers/getCategorizableExpression.js +2 -1
- package/dist/cjs/qrvey/helpers/getDataAnswersByColumn.js +1 -4
- package/dist/cjs/qrvey/helpers/getDropdownAnswers.js +1 -1
- package/dist/cjs/qrvey/helpers/getImageAnswers.js +2 -2
- package/dist/cjs/qrvey/helpers/getImageUploadHasAnalysis.js +1 -1
- package/dist/cjs/qrvey/helpers/getLookupAnswers.js +4 -4
- package/dist/cjs/qrvey/helpers/getLookupDisplays.js +1 -1
- package/dist/cjs/qrvey/helpers/getSlidebarAnswers.js +2 -1
- package/dist/cjs/qrvey/helpers/getYesNoAnswers.js +1 -5
- package/dist/cjs/qrvey/helpers/transformValue.js +2 -1
- package/dist/cjs/services/api/Charts.api.js +3 -9
- package/dist/cjs/services/api/getAllDatasets.api.js +1 -1
- package/dist/cjs/services/api/getAllQrveys.api.js +1 -1
- package/dist/cjs/services/api/getDatasetColumns.api.js +1 -1
- package/dist/cjs/services/api/getDatasetsByIds.api.js +2 -2
- package/dist/cjs/services/api/getModel.api.js +1 -4
- package/dist/cjs/services/helpers/Request.js +16 -5
- package/dist/column_format/helpers/defineTableChartFormat.js +10 -26
- package/dist/column_format/helpers/defineXYChartFormat.js +7 -11
- package/dist/columns/constants/COLUMN_INFO.js +23 -49
- package/dist/columns/constants/COLUMN_LABEL.js +1 -29
- package/dist/columns/constants/COLUMN_PROPERTY_INFO.js +3 -8
- package/dist/columns/constants/COLUMN_PROPERTY_LABEL.js +1 -11
- package/dist/columns/helpers/getColumnsLabel.js +0 -5
- package/dist/columns/helpers/getDatasetColumn.js +1 -1
- package/dist/columns/helpers/getModelColumn.js +0 -1
- package/dist/dates/relative/RelativeStatementAdapter.js +6 -24
- package/dist/filters/adapters/FDToFlatUI.js +8 -18
- package/dist/filters/adapters/FDToLogic.js +1 -1
- package/dist/filters/adapters/FDToUI.js +12 -24
- package/dist/filters/adapters/UIToFlatUI.js +4 -14
- package/dist/filters/adapters/UIToOldLogic.js +2 -1
- package/dist/filters/adapters/adaptFilterValues.js +1 -6
- package/dist/filters/adapters/flatUIToFD.js +3 -14
- package/dist/filters/adapters/flatUIToOldLogic.js +15 -49
- package/dist/filters/adapters/flatUIToUI.js +3 -14
- package/dist/filters/adapters/logicToFlatUI.js +20 -32
- package/dist/filters/adapters/transformFilters.js +4 -19
- package/dist/filters/classes/FilterInputErrorHandler.js +0 -8
- package/dist/filters/helpers/applyHierarchyForAggFilters.js +2 -11
- package/dist/filters/helpers/backend/buildExpression.js +2 -1
- package/dist/filters/helpers/backend/buildFilters.js +2 -1
- package/dist/filters/helpers/backend/getAggFiltersBySummaryIndex.js +1 -4
- package/dist/filters/helpers/backend/getLogicByDatasets.js +5 -7
- package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +6 -8
- package/dist/filters/helpers/common/areFiltersEquals.js +3 -2
- package/dist/filters/helpers/common/excludeFiltersByParams.js +17 -22
- package/dist/filters/helpers/common/getFilterid.js +9 -8
- package/dist/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -16
- package/dist/filters/helpers/common/getFiltersByParams.js +12 -18
- package/dist/filters/helpers/common/getMergeFiltersSettings.js +4 -3
- package/dist/filters/helpers/common/getMergeValuesSettings.js +2 -1
- package/dist/filters/helpers/common/getParamsToGetFilterSettings.js +10 -9
- package/dist/filters/helpers/common/mergeFilters.js +7 -30
- package/dist/filters/helpers/common/mergeValues.js +9 -6
- package/dist/filters/helpers/common/resolveFilterConditions.js +9 -8
- package/dist/filters/helpers/getAggFiltersFromFilterData.js +2 -42
- package/dist/filters/helpers/ui/getUIValues.js +14 -12
- package/dist/filters/helpers/ui/getUpdatedUIFilters.js +1 -1
- package/dist/filters/helpers/ui/resolveUIFlatFilterByParams.js +5 -4
- package/dist/filters/helpers/ui/transformFilterValues.js +3 -14
- package/dist/filters/interfaces/builder/IFilterBuilderSettings.d.ts +2 -0
- package/dist/filters/services/Filters.api.js +44 -45
- package/dist/filters/services/UChartApi.js +246 -257
- package/dist/filters/services/UChartPaginationApi.js +289 -301
- package/dist/format/definition.js +1 -1
- package/dist/format/duration/durationFormatter.js +7 -12
- package/dist/format/format.js +8 -7
- package/dist/format/localization.d.ts +2 -1
- package/dist/format/localization.js +7 -6
- package/dist/general/array/addPropertyToArrayOfObjects.js +1 -1
- package/dist/general/object/getAttribute.js +2 -6
- package/dist/general/object/mergeDeep.js +3 -2
- package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +6 -21
- package/dist/globalization/service/i18nextBuilder.js +31 -19
- package/dist/globalization/service/initI18n.js +13 -2
- package/dist/qrvey/helpers/getCategorizableExpression.js +2 -1
- package/dist/qrvey/helpers/getDataAnswersByColumn.js +1 -4
- package/dist/qrvey/helpers/getDropdownAnswers.js +1 -1
- package/dist/qrvey/helpers/getImageAnswers.js +2 -2
- package/dist/qrvey/helpers/getImageUploadHasAnalysis.js +1 -1
- package/dist/qrvey/helpers/getLookupAnswers.js +4 -4
- package/dist/qrvey/helpers/getLookupDisplays.js +1 -1
- package/dist/qrvey/helpers/getSlidebarAnswers.js +2 -1
- package/dist/qrvey/helpers/getYesNoAnswers.js +1 -5
- package/dist/qrvey/helpers/transformValue.js +2 -1
- package/dist/services/api/Charts.api.js +3 -9
- package/dist/services/api/getAllDatasets.api.js +1 -1
- package/dist/services/api/getAllQrveys.api.js +1 -1
- package/dist/services/api/getDatasetColumns.api.js +1 -1
- package/dist/services/api/getDatasetsByIds.api.js +2 -2
- package/dist/services/api/getModel.api.js +1 -4
- package/dist/services/helpers/Request.js +16 -5
- package/package.json +5 -4
|
@@ -11,33 +11,24 @@ export function getFiltersByDatasetsColumns(data, datasets = []) {
|
|
|
11
11
|
return;
|
|
12
12
|
if (isEmpty(datasets))
|
|
13
13
|
return data;
|
|
14
|
-
const newData = {
|
|
15
|
-
|
|
16
|
-
scopes: data.scopes
|
|
17
|
-
.map((scope) => ({
|
|
18
|
-
...scope,
|
|
19
|
-
datasets: scope.datasets
|
|
14
|
+
const newData = Object.assign(Object.assign({}, data), { scopes: data.scopes
|
|
15
|
+
.map((scope) => (Object.assign(Object.assign({}, scope), { datasets: scope.datasets
|
|
20
16
|
.map((filterDataset) => {
|
|
21
17
|
const dataset = datasets.find((_data) => _data.qrveyid === filterDataset.qrveyid);
|
|
22
18
|
if (!isEmpty(dataset)) {
|
|
23
|
-
return {
|
|
24
|
-
...filterDataset,
|
|
25
|
-
filters: filterDataset.filters
|
|
19
|
+
return Object.assign(Object.assign({}, filterDataset), { filters: filterDataset.filters
|
|
26
20
|
.map((filter) => {
|
|
27
21
|
const column = (dataset.options || []).find((cInfo) => cInfo.id === filter.column.id &&
|
|
28
22
|
cInfo.qrveyid === filter.column.qrveyid);
|
|
29
23
|
if (!isEmpty(column)) {
|
|
30
|
-
return {
|
|
24
|
+
return Object.assign({}, filter);
|
|
31
25
|
}
|
|
32
26
|
})
|
|
33
|
-
.filter(Boolean)
|
|
34
|
-
};
|
|
27
|
+
.filter(Boolean) });
|
|
35
28
|
}
|
|
36
29
|
})
|
|
37
|
-
.filter((dataset) => !isEmpty(dataset) && dataset.filters.length > 0)
|
|
38
|
-
|
|
39
|
-
.filter((scope) => !isEmpty(scope) && scope.datasets.length > 0),
|
|
40
|
-
};
|
|
30
|
+
.filter((dataset) => !isEmpty(dataset) && dataset.filters.length > 0) })))
|
|
31
|
+
.filter((scope) => !isEmpty(scope) && scope.datasets.length > 0) });
|
|
41
32
|
if (!isEmpty(newData) && newData.scopes.length > 0) {
|
|
42
33
|
return newData;
|
|
43
34
|
}
|
|
@@ -30,19 +30,13 @@ export function getFiltersByParams(filterData, params, settings) {
|
|
|
30
30
|
filterData.scopes = filterData.scopes
|
|
31
31
|
.map((scope) => {
|
|
32
32
|
if (resolveScopeConditions(scope, params, settings.letPassUndefinedProperties.scope, settings.letPassUndefinedParams.scope)) {
|
|
33
|
-
return {
|
|
34
|
-
...scope,
|
|
35
|
-
datasets: scope.datasets
|
|
33
|
+
return Object.assign(Object.assign({}, scope), { datasets: scope.datasets
|
|
36
34
|
.map((dataset) => {
|
|
37
35
|
if (resolveDatasetConditions(dataset, params, settings.letPassUndefinedProperties.dataset, settings.letPassUndefinedParams.dataset)) {
|
|
38
|
-
return {
|
|
39
|
-
...dataset,
|
|
40
|
-
filters: dataset.filters
|
|
36
|
+
return Object.assign(Object.assign({}, dataset), { filters: dataset.filters
|
|
41
37
|
.map((filter) => {
|
|
42
38
|
if (resolveFilterConditions(filter, params, settings.letPassUndefinedProperties.filter, settings.letPassUndefinedParams.filter)) {
|
|
43
|
-
return {
|
|
44
|
-
...filter,
|
|
45
|
-
values: (filter.values || [])
|
|
39
|
+
return Object.assign(Object.assign({}, filter), { values: (filter.values || [])
|
|
46
40
|
.map((value) => {
|
|
47
41
|
if (Array.isArray(value) && value.length > 0) {
|
|
48
42
|
const rankingValues = value;
|
|
@@ -63,21 +57,21 @@ export function getFiltersByParams(filterData, params, settings) {
|
|
|
63
57
|
return value;
|
|
64
58
|
}
|
|
65
59
|
})
|
|
66
|
-
.filter(Boolean)
|
|
67
|
-
};
|
|
60
|
+
.filter(Boolean) });
|
|
68
61
|
}
|
|
69
62
|
})
|
|
70
|
-
.filter((filter) =>
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
filter
|
|
74
|
-
|
|
63
|
+
.filter((filter) => {
|
|
64
|
+
var _a;
|
|
65
|
+
return !isEmpty(filter) &&
|
|
66
|
+
(!settings.filterEmptyArrays.filter ||
|
|
67
|
+
filter.selectAll ||
|
|
68
|
+
((_a = filter.values) === null || _a === void 0 ? void 0 : _a.length) > 0);
|
|
69
|
+
}) });
|
|
75
70
|
}
|
|
76
71
|
})
|
|
77
72
|
.filter((dataset) => !isEmpty(dataset) &&
|
|
78
73
|
(!settings.filterEmptyArrays.dataset ||
|
|
79
|
-
dataset.filters.length > 0))
|
|
80
|
-
};
|
|
74
|
+
dataset.filters.length > 0)) });
|
|
81
75
|
}
|
|
82
76
|
})
|
|
83
77
|
.filter((scope) => !isEmpty(scope) &&
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* @returns a new MergeFilters settings object.
|
|
5
5
|
*/
|
|
6
6
|
export function getMergeFiltersSettings(settings) {
|
|
7
|
+
var _a, _b, _c;
|
|
7
8
|
return {
|
|
8
|
-
overwriteFilterProps: settings
|
|
9
|
-
overwriteValues: settings
|
|
10
|
-
setGroupedColumnOperator: settings
|
|
9
|
+
overwriteFilterProps: (_a = settings === null || settings === void 0 ? void 0 : settings.overwriteFilterProps) !== null && _a !== void 0 ? _a : true,
|
|
10
|
+
overwriteValues: (_b = settings === null || settings === void 0 ? void 0 : settings.overwriteValues) !== null && _b !== void 0 ? _b : false,
|
|
11
|
+
setGroupedColumnOperator: (_c = settings === null || settings === void 0 ? void 0 : settings.setGroupedColumnOperator) !== null && _c !== void 0 ? _c : true,
|
|
11
12
|
};
|
|
12
13
|
}
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* @returns a new MergeFilters settings object.
|
|
5
5
|
*/
|
|
6
6
|
export function getMergeValuesSettings(settings) {
|
|
7
|
+
var _a;
|
|
7
8
|
return {
|
|
8
|
-
overwriteValues: settings
|
|
9
|
+
overwriteValues: (_a = settings === null || settings === void 0 ? void 0 : settings.overwriteValues) !== null && _a !== void 0 ? _a : false,
|
|
9
10
|
};
|
|
10
11
|
}
|
|
@@ -4,21 +4,22 @@
|
|
|
4
4
|
* @returns a new ParamsToGetFilter settings object.
|
|
5
5
|
*/
|
|
6
6
|
export function getParamsToGetFilterSettings(settings) {
|
|
7
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
7
8
|
return {
|
|
8
9
|
letPassUndefinedParams: {
|
|
9
|
-
dataset: settings
|
|
10
|
-
filter: settings
|
|
11
|
-
scope: settings
|
|
10
|
+
dataset: (_b = (_a = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedParams) === null || _a === void 0 ? void 0 : _a.dataset) !== null && _b !== void 0 ? _b : true,
|
|
11
|
+
filter: (_d = (_c = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedParams) === null || _c === void 0 ? void 0 : _c.filter) !== null && _d !== void 0 ? _d : true,
|
|
12
|
+
scope: (_f = (_e = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedParams) === null || _e === void 0 ? void 0 : _e.scope) !== null && _f !== void 0 ? _f : true,
|
|
12
13
|
},
|
|
13
14
|
letPassUndefinedProperties: {
|
|
14
|
-
dataset: settings
|
|
15
|
-
filter: settings
|
|
16
|
-
scope: settings
|
|
15
|
+
dataset: (_h = (_g = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedProperties) === null || _g === void 0 ? void 0 : _g.dataset) !== null && _h !== void 0 ? _h : false,
|
|
16
|
+
filter: (_k = (_j = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedProperties) === null || _j === void 0 ? void 0 : _j.filter) !== null && _k !== void 0 ? _k : false,
|
|
17
|
+
scope: (_m = (_l = settings === null || settings === void 0 ? void 0 : settings.letPassUndefinedProperties) === null || _l === void 0 ? void 0 : _l.scope) !== null && _m !== void 0 ? _m : false,
|
|
17
18
|
},
|
|
18
19
|
filterEmptyArrays: {
|
|
19
|
-
dataset: settings
|
|
20
|
-
filter: settings
|
|
21
|
-
scope: settings
|
|
20
|
+
dataset: (_p = (_o = settings === null || settings === void 0 ? void 0 : settings.filterEmptyArrays) === null || _o === void 0 ? void 0 : _o.dataset) !== null && _p !== void 0 ? _p : true,
|
|
21
|
+
filter: (_r = (_q = settings === null || settings === void 0 ? void 0 : settings.filterEmptyArrays) === null || _q === void 0 ? void 0 : _q.filter) !== null && _r !== void 0 ? _r : true,
|
|
22
|
+
scope: (_t = (_s = settings === null || settings === void 0 ? void 0 : settings.filterEmptyArrays) === null || _s === void 0 ? void 0 : _s.scope) !== null && _t !== void 0 ? _t : true,
|
|
22
23
|
},
|
|
23
24
|
};
|
|
24
25
|
}
|
|
@@ -46,10 +46,7 @@ function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
|
46
46
|
scopeid: scope1.scopeid,
|
|
47
47
|
}));
|
|
48
48
|
if (scope2Index > -1) {
|
|
49
|
-
scope1 = {
|
|
50
|
-
...scopes2[scope2Index],
|
|
51
|
-
datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings),
|
|
52
|
-
};
|
|
49
|
+
scope1 = Object.assign(Object.assign({}, scopes2[scope2Index]), { datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings) });
|
|
53
50
|
scopes2.splice(scope2Index, 1);
|
|
54
51
|
}
|
|
55
52
|
scopes.push(scope1);
|
|
@@ -73,10 +70,7 @@ function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
|
73
70
|
linkid: dataset1.linkid,
|
|
74
71
|
}));
|
|
75
72
|
if (dataset2Index > -1) {
|
|
76
|
-
dataset1 = {
|
|
77
|
-
...datasets2[dataset2Index],
|
|
78
|
-
filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings),
|
|
79
|
-
};
|
|
73
|
+
dataset1 = Object.assign(Object.assign({}, datasets2[dataset2Index]), { filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings) });
|
|
80
74
|
datasets2.splice(dataset2Index, 1);
|
|
81
75
|
}
|
|
82
76
|
datasets.push(dataset1);
|
|
@@ -103,20 +97,14 @@ function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
|
103
97
|
validator: filter1.validator,
|
|
104
98
|
}));
|
|
105
99
|
if (filter2Index > -1) {
|
|
106
|
-
filter1 = {
|
|
107
|
-
...filter1,
|
|
108
|
-
values: mergeValues(filter1, filters2[filter2Index], settings),
|
|
109
|
-
};
|
|
100
|
+
filter1 = Object.assign(Object.assign({}, filter1), { values: mergeValues(filter1, filters2[filter2Index], settings) });
|
|
110
101
|
filter1 = mergeFilterProps(filter1, filters2[filter2Index], settings);
|
|
111
102
|
filters2.splice(filter2Index, 1);
|
|
112
103
|
}
|
|
113
104
|
else {
|
|
114
|
-
filter1 = {
|
|
115
|
-
...filter1,
|
|
116
|
-
operator: settings.setGroupedColumnOperator
|
|
105
|
+
filter1 = Object.assign(Object.assign({}, filter1), { operator: settings.setGroupedColumnOperator
|
|
117
106
|
? FILTER_GROUPED_COLUMN_OPERATOR
|
|
118
|
-
: filter1.operator
|
|
119
|
-
};
|
|
107
|
+
: filter1.operator });
|
|
120
108
|
}
|
|
121
109
|
filter1.filterid = getFilterid(filter1);
|
|
122
110
|
filters.push(filter1);
|
|
@@ -134,20 +122,9 @@ function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
|
134
122
|
* @returns a new filter structure with overwritted props
|
|
135
123
|
*/
|
|
136
124
|
function mergeFilterProps(filter1, filter2, settings) {
|
|
125
|
+
var _a, _b, _c;
|
|
137
126
|
if (settings.overwriteFilterProps) {
|
|
138
|
-
filter1 = {
|
|
139
|
-
...filter1,
|
|
140
|
-
collapsed: filter2.collapsed ?? filter1.collapsed,
|
|
141
|
-
displayed: filter2.displayed ?? filter1.displayed,
|
|
142
|
-
dateSection: filter2.dateSection,
|
|
143
|
-
extras: filter2.extras,
|
|
144
|
-
enabled: filter2.enabled ?? filter1.enabled,
|
|
145
|
-
operator: filter2.operator || filter1.operator,
|
|
146
|
-
filterid: filter2.filterid,
|
|
147
|
-
lookupDisplayIndex: filter2.lookupDisplayIndex,
|
|
148
|
-
nullValues: filter2.nullValues,
|
|
149
|
-
selectAll: filter2.selectAll,
|
|
150
|
-
};
|
|
127
|
+
filter1 = Object.assign(Object.assign({}, filter1), { collapsed: (_a = filter2.collapsed) !== null && _a !== void 0 ? _a : filter1.collapsed, displayed: (_b = filter2.displayed) !== null && _b !== void 0 ? _b : filter1.displayed, dateSection: filter2.dateSection, extras: filter2.extras, enabled: (_c = filter2.enabled) !== null && _c !== void 0 ? _c : filter1.enabled, operator: filter2.operator || filter1.operator, filterid: filter2.filterid, lookupDisplayIndex: filter2.lookupDisplayIndex, nullValues: filter2.nullValues, selectAll: filter2.selectAll });
|
|
151
128
|
}
|
|
152
129
|
return filter1;
|
|
153
130
|
}
|
|
@@ -25,6 +25,7 @@ export function mergeValues(filter1, filter2, settings) {
|
|
|
25
25
|
else {
|
|
26
26
|
if (isInValidator(filter1.validator)) {
|
|
27
27
|
newValues = filter2Values.reduce((values, value2) => {
|
|
28
|
+
var _a, _b;
|
|
28
29
|
const value1Index = filter1Values.findIndex((value1) => value2.anchor === value1.anchor &&
|
|
29
30
|
value2.cursor === value1.cursor &&
|
|
30
31
|
value2.includeCurrent === value1.includeCurrent &&
|
|
@@ -38,8 +39,8 @@ export function mergeValues(filter1, filter2, settings) {
|
|
|
38
39
|
values[value1Index] = {
|
|
39
40
|
anchor: value2.anchor,
|
|
40
41
|
cursor: value2.cursor,
|
|
41
|
-
displayed: value2.displayed
|
|
42
|
-
enabled: value2.enabled
|
|
42
|
+
displayed: (_a = value2.displayed) !== null && _a !== void 0 ? _a : values[value1Index].displayed,
|
|
43
|
+
enabled: (_b = value2.enabled) !== null && _b !== void 0 ? _b : values[value1Index].enabled,
|
|
43
44
|
includeCurrent: value2.includeCurrent,
|
|
44
45
|
isCalendarDate: value2.isCalendarDate,
|
|
45
46
|
number: value2.number,
|
|
@@ -51,14 +52,15 @@ export function mergeValues(filter1, filter2, settings) {
|
|
|
51
52
|
}
|
|
52
53
|
else if (isRangeValidator(filter1.validator)) {
|
|
53
54
|
newValues = filter2Values.reduce((values, value2) => {
|
|
55
|
+
var _a, _b;
|
|
54
56
|
const value1Index = filter1Values.findIndex((value1) => value2.max === value1.max && value2.min === value1.min);
|
|
55
57
|
if (value1Index === -1) {
|
|
56
58
|
values.push(value2);
|
|
57
59
|
}
|
|
58
60
|
else {
|
|
59
61
|
values[value1Index] = {
|
|
60
|
-
displayed: value2.displayed
|
|
61
|
-
enabled: value2.enabled
|
|
62
|
+
displayed: (_a = value2.displayed) !== null && _a !== void 0 ? _a : values[value1Index].displayed,
|
|
63
|
+
enabled: (_b = value2.enabled) !== null && _b !== void 0 ? _b : values[value1Index].enabled,
|
|
62
64
|
max: value2.max,
|
|
63
65
|
min: value2.min,
|
|
64
66
|
};
|
|
@@ -69,6 +71,7 @@ export function mergeValues(filter1, filter2, settings) {
|
|
|
69
71
|
else if (isRegularValidator(filter1.validator) ||
|
|
70
72
|
isNullValidator(filter1.validator)) {
|
|
71
73
|
newValues = filter2Values.reduce((values, value2) => {
|
|
74
|
+
var _a, _b;
|
|
72
75
|
const value1Index = filter1Values.findIndex((value1) => value2.imageUrl === value1.imageUrl &&
|
|
73
76
|
value2.value === value1.value);
|
|
74
77
|
if (value1Index === -1) {
|
|
@@ -76,8 +79,8 @@ export function mergeValues(filter1, filter2, settings) {
|
|
|
76
79
|
}
|
|
77
80
|
else {
|
|
78
81
|
values[value1Index] = {
|
|
79
|
-
displayed: value2.displayed
|
|
80
|
-
enabled: value2.enabled
|
|
82
|
+
displayed: (_a = value2.displayed) !== null && _a !== void 0 ? _a : values[value1Index].displayed,
|
|
83
|
+
enabled: (_b = value2.enabled) !== null && _b !== void 0 ? _b : values[value1Index].enabled,
|
|
81
84
|
imageUrl: value2.imageUrl,
|
|
82
85
|
value: value2.value,
|
|
83
86
|
valueid: value2.valueid,
|
|
@@ -9,6 +9,7 @@ import { _hasProperty } from "../../../general/object/hasProperty";
|
|
|
9
9
|
* @returns true: the condition is satisfied
|
|
10
10
|
*/
|
|
11
11
|
export function resolveFilterConditions(filter, params, letPassUndefinedProperties = false, letPassUndefinedParams = true) {
|
|
12
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
12
13
|
return ((!_hasProperty(params, "enableds") ||
|
|
13
14
|
!_hasProperty(params.enableds, "filters") ||
|
|
14
15
|
(letPassUndefinedProperties && filter.enabled == null) ||
|
|
@@ -33,12 +34,12 @@ export function resolveFilterConditions(filter, params, letPassUndefinedProperti
|
|
|
33
34
|
(!_hasProperty(params, "column") ||
|
|
34
35
|
(letPassUndefinedProperties && filter.column == null) ||
|
|
35
36
|
(letPassUndefinedParams && isEmpty(params.column)) ||
|
|
36
|
-
(((letPassUndefinedParams && isEmpty(params.column
|
|
37
|
-
params.column
|
|
38
|
-
((letPassUndefinedParams && isEmpty(params.column
|
|
39
|
-
params.column
|
|
40
|
-
((letPassUndefinedParams && isEmpty(params.column
|
|
41
|
-
params.column
|
|
42
|
-
((letPassUndefinedParams && isEmpty(params.column
|
|
43
|
-
params.column
|
|
37
|
+
(((letPassUndefinedParams && isEmpty((_a = params.column) === null || _a === void 0 ? void 0 : _a.id)) ||
|
|
38
|
+
((_b = params.column) === null || _b === void 0 ? void 0 : _b.id) === filter.column.id) &&
|
|
39
|
+
((letPassUndefinedParams && isEmpty((_c = params.column) === null || _c === void 0 ? void 0 : _c.qrveyid)) ||
|
|
40
|
+
((_d = params.column) === null || _d === void 0 ? void 0 : _d.qrveyid) === filter.column.qrveyid) &&
|
|
41
|
+
((letPassUndefinedParams && isEmpty((_e = params.column) === null || _e === void 0 ? void 0 : _e.linkid)) ||
|
|
42
|
+
((_f = params.column) === null || _f === void 0 ? void 0 : _f.linkid) === filter.column.linkid) &&
|
|
43
|
+
((letPassUndefinedParams && isEmpty((_g = params.column) === null || _g === void 0 ? void 0 : _g.aggregate)) ||
|
|
44
|
+
((_h = params.column) === null || _h === void 0 ? void 0 : _h.aggregate) === filter.column.aggregate))));
|
|
44
45
|
}
|
|
@@ -8,48 +8,8 @@ import { getFiltersByAggregateColumn } from "./common/getFiltersByAggregateColum
|
|
|
8
8
|
* @returns the aggFilters structure
|
|
9
9
|
*/
|
|
10
10
|
export function getAggFiltersFromFilterData(filterData, _summaries) {
|
|
11
|
-
filterData = {
|
|
11
|
+
filterData = Object.assign({}, getFiltersByAggregateColumn(filterData));
|
|
12
12
|
if (isEmpty(filterData))
|
|
13
13
|
return;
|
|
14
|
-
|
|
15
|
-
// const aggFilters: IFBExpressionAggregate[] = uFilters.map(uFilter => {
|
|
16
|
-
// const summaryIndex = summaries.findIndex(summary =>
|
|
17
|
-
// uFilter.column.id === summary.questionid &&
|
|
18
|
-
// uFilter.column.qrveyid === summary.qrveyid &&
|
|
19
|
-
// uFilter.column.linkid === summary.linkid &&
|
|
20
|
-
// uFilter.column.aggregate === summary.aggregate
|
|
21
|
-
// );
|
|
22
|
-
// if (summaryIndex > -1) {
|
|
23
|
-
// return {
|
|
24
|
-
// enabled: uFilter.enabled,
|
|
25
|
-
// summaryIndex,
|
|
26
|
-
// validationType: getBackendValidator(uFilter.validator),
|
|
27
|
-
// value: getBackendValues(uFilter),
|
|
28
|
-
// };
|
|
29
|
-
// }
|
|
30
|
-
// }).filter(Boolean);
|
|
31
|
-
// // [TODO: FILTERS - Adapt filter.validator and filter.values in the backend format]
|
|
32
|
-
// const aggFilters: IFBFilterAggregate[] = filterData.scopes.map((scope) => {
|
|
33
|
-
// scope.datasets.forEach(dataset => {
|
|
34
|
-
// buildFilters(dataset.filters);
|
|
35
|
-
// const filters = dataset.filters.map((filter): IFBExpressionAggregate => {
|
|
36
|
-
// filter
|
|
37
|
-
// const summaryIndex = summaries.findIndex(summary =>
|
|
38
|
-
// filter.column.id === summary.questionid &&
|
|
39
|
-
// dataset.qrveyid === summary.qrveyid &&
|
|
40
|
-
// dataset.linkid === summary.linkid &&
|
|
41
|
-
// filter.column.aggregate === summary.aggregate
|
|
42
|
-
// );
|
|
43
|
-
// if (summaryIndex > -1) {
|
|
44
|
-
// return {
|
|
45
|
-
// enabled: filter.enabled,
|
|
46
|
-
// summaryIndex,
|
|
47
|
-
// validationType: filter.validator as any,
|
|
48
|
-
// value: filter.values as any,
|
|
49
|
-
// };
|
|
50
|
-
// }
|
|
51
|
-
// }).filter(Boolean);
|
|
52
|
-
// })
|
|
53
|
-
// }).filter(aggFilter => aggFilter && aggFilter.expressions && aggFilter.expressions.length);
|
|
54
|
-
return; // aggFilters && concatAggFilters(aggFilters);
|
|
14
|
+
return;
|
|
55
15
|
}
|
|
@@ -13,6 +13,7 @@ import { getI18nDateGroupLabel } from "../../../globalization/helpers/getI18nDat
|
|
|
13
13
|
* @returns an array of values
|
|
14
14
|
*/
|
|
15
15
|
export function getUIValues(filter, settings) {
|
|
16
|
+
var _a, _b;
|
|
16
17
|
settings = getUiValuesSettings(settings);
|
|
17
18
|
const values = filter.values || [];
|
|
18
19
|
switch (filter.validator) {
|
|
@@ -57,25 +58,25 @@ export function getUIValues(filter, settings) {
|
|
|
57
58
|
case FILTER_VALIDATOR.IS_NOT_NULL:
|
|
58
59
|
return [
|
|
59
60
|
{
|
|
60
|
-
value: settings
|
|
61
|
+
value: (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
61
62
|
? settings.translate("filter.validators." + filter.validator.toLowerCase() + "_label")
|
|
62
63
|
: FILTER_VALIDATOR_INFO[filter.validator].label,
|
|
63
|
-
displayed: values[0]
|
|
64
|
+
displayed: (_a = values[0]) === null || _a === void 0 ? void 0 : _a.displayed,
|
|
64
65
|
enabled: settings.addEnableds
|
|
65
|
-
? values[0]
|
|
66
|
+
? (_b = values[0]) === null || _b === void 0 ? void 0 : _b.enabled
|
|
66
67
|
: undefined,
|
|
67
68
|
},
|
|
68
69
|
];
|
|
69
70
|
case FILTER_VALIDATOR.IN:
|
|
70
71
|
return values.map((value) => {
|
|
71
|
-
const cursor = settings
|
|
72
|
+
const cursor = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
72
73
|
? settings.translate(RELATIVE_CURSOR_INFO[value.cursor].i18nLabelPath)
|
|
73
74
|
: RELATIVE_CURSOR_INFO[value.cursor].i18nLabelPath;
|
|
74
|
-
const from = settings
|
|
75
|
+
const from = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
75
76
|
? settings.translate("filter.relative_container.from_label")
|
|
76
77
|
: "from";
|
|
77
|
-
const anchor = settings
|
|
78
|
-
? settings
|
|
78
|
+
const anchor = (settings === null || settings === void 0 ? void 0 : settings.translate)
|
|
79
|
+
? settings === null || settings === void 0 ? void 0 : settings.translate("filter.relative_container.current_date")
|
|
79
80
|
: "current date";
|
|
80
81
|
return {
|
|
81
82
|
value: `${cursor} ${value.cursor !== RELATIVE_CURSOR.THIS && value.number > 1
|
|
@@ -111,12 +112,13 @@ function getValueLabel(value, filter, settings) {
|
|
|
111
112
|
: value;
|
|
112
113
|
}
|
|
113
114
|
function getUiValuesSettings(settings) {
|
|
115
|
+
var _a;
|
|
114
116
|
return {
|
|
115
|
-
addEnableds: settings
|
|
116
|
-
rangeSeparator: settings
|
|
117
|
-
rangeSeparatorPath: settings
|
|
118
|
-
rankingGroupIndex: settings
|
|
119
|
-
translate: settings
|
|
117
|
+
addEnableds: (_a = settings === null || settings === void 0 ? void 0 : settings.addEnableds) !== null && _a !== void 0 ? _a : false,
|
|
118
|
+
rangeSeparator: (settings === null || settings === void 0 ? void 0 : settings.rangeSeparator) || "-",
|
|
119
|
+
rangeSeparatorPath: settings === null || settings === void 0 ? void 0 : settings.rangeSeparatorPath,
|
|
120
|
+
rankingGroupIndex: settings === null || settings === void 0 ? void 0 : settings.rankingGroupIndex,
|
|
121
|
+
translate: settings === null || settings === void 0 ? void 0 : settings.translate,
|
|
120
122
|
};
|
|
121
123
|
}
|
|
122
124
|
function getValueUiUnitRelativeDate(relative, settings) {
|
|
@@ -6,11 +6,12 @@ import { isEmpty } from "../../../general/mix/isEmpty";
|
|
|
6
6
|
* @returns true: the conditions are satisfied.
|
|
7
7
|
*/
|
|
8
8
|
export function resolveUIFlatFilterByParams(filter, params) {
|
|
9
|
+
var _a, _b, _c, _d;
|
|
9
10
|
return ((isEmpty(params.column) ||
|
|
10
|
-
(filter.column.id === params.column
|
|
11
|
-
filter.column.qrveyid === params.column
|
|
12
|
-
filter.column.linkid === params.column
|
|
13
|
-
filter.column.aggregate === params.column
|
|
11
|
+
(filter.column.id === ((_a = params.column) === null || _a === void 0 ? void 0 : _a.id) &&
|
|
12
|
+
filter.column.qrveyid === ((_b = params.column) === null || _b === void 0 ? void 0 : _b.qrveyid) &&
|
|
13
|
+
filter.column.linkid === ((_c = params.column) === null || _c === void 0 ? void 0 : _c.linkid) &&
|
|
14
|
+
filter.column.aggregate === ((_d = params.column) === null || _d === void 0 ? void 0 : _d.aggregate))) &&
|
|
14
15
|
(isEmpty(params.scope) || filter.extras.scope === params.scope) &&
|
|
15
16
|
(isEmpty(params.scopeid) || filter.extras.scopeid === params.scopeid) &&
|
|
16
17
|
(isEmpty(params.panelid) || filter.extras.panelid === params.panelid) &&
|
|
@@ -3,26 +3,15 @@ import { transformValue } from "../../../qrvey/helpers/transformValue";
|
|
|
3
3
|
import { isRangeValidator } from "../common/isRangeValidator";
|
|
4
4
|
import { isRegularValidator } from "../common/isRegularValidator";
|
|
5
5
|
export function transformFilterValues(filter, settings) {
|
|
6
|
-
const transformValueSettings = {
|
|
7
|
-
...settings,
|
|
8
|
-
column: filter.column,
|
|
9
|
-
property: filter.property,
|
|
10
|
-
};
|
|
6
|
+
const transformValueSettings = Object.assign(Object.assign({}, settings), { column: filter.column, property: filter.property });
|
|
11
7
|
if (isEmpty(filter))
|
|
12
8
|
return [];
|
|
13
9
|
const values = filter.values || [];
|
|
14
10
|
if (isRegularValidator(filter.validator)) {
|
|
15
|
-
return values.map((value) => ({
|
|
16
|
-
...value,
|
|
17
|
-
value: transformValue(value.value, transformValueSettings),
|
|
18
|
-
}));
|
|
11
|
+
return values.map((value) => (Object.assign(Object.assign({}, value), { value: transformValue(value.value, transformValueSettings) })));
|
|
19
12
|
}
|
|
20
13
|
else if (isRangeValidator(filter.validator)) {
|
|
21
|
-
return values.map((value) => ({
|
|
22
|
-
...value,
|
|
23
|
-
min: transformValue(value.min, transformValueSettings),
|
|
24
|
-
max: transformValue(value.max, transformValueSettings),
|
|
25
|
-
}));
|
|
14
|
+
return values.map((value) => (Object.assign(Object.assign({}, value), { min: transformValue(value.min, transformValueSettings), max: transformValue(value.max, transformValueSettings) })));
|
|
26
15
|
}
|
|
27
16
|
else {
|
|
28
17
|
return values;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FILTER_FLOW } from "../../constants/builder/FILTER_FLOW";
|
|
1
2
|
import { IFStructureType } from "../IFStructureType";
|
|
2
3
|
import { IFUChartSettings } from "../ui/IFUChartSettings";
|
|
3
4
|
import { IFilterBuilderSettingsScopes } from "./IFilterBuilderSettingsScopes";
|
|
@@ -6,6 +7,7 @@ import { IFilterBuilderSettingsScopes } from "./IFilterBuilderSettingsScopes";
|
|
|
6
7
|
*/
|
|
7
8
|
export interface IFilterBuilderSettings {
|
|
8
9
|
chart?: IFUChartSettings;
|
|
10
|
+
mode?: FILTER_FLOW;
|
|
9
11
|
scopes?: IFilterBuilderSettingsScopes[];
|
|
10
12
|
scopeMenuDisplayed?: boolean;
|
|
11
13
|
returningFilterStructureType?: IFStructureType;
|