@qrvey/utils 1.11.0-7 → 1.11.0-9
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/dist/cjs/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +6 -6
- package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +7 -4
- package/dist/cjs/filters/helpers/common/mergeFilters.d.ts +9 -6
- package/dist/cjs/filters/helpers/common/mergeFilters.js +82 -43
- package/dist/cjs/filters/helpers/common/resolveScopeConditions.d.ts +2 -2
- package/dist/cjs/filters/helpers/common/resolveScopeConditions.js +2 -2
- package/dist/cjs/filters/interfaces/functions/IFFiltersMergeFilters.d.ts +21 -2
- package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderLineStyleOptions.d.ts +1 -0
- package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +1 -0
- package/dist/filters/constants/settings/FILTER_SETTINGS_DEFAULT.js +6 -6
- package/dist/filters/helpers/common/getMergeFiltersSettings.js +7 -4
- package/dist/filters/helpers/common/mergeFilters.d.ts +9 -6
- package/dist/filters/helpers/common/mergeFilters.js +82 -43
- package/dist/filters/helpers/common/resolveScopeConditions.d.ts +2 -2
- package/dist/filters/helpers/common/resolveScopeConditions.js +2 -2
- package/dist/filters/interfaces/functions/IFFiltersMergeFilters.d.ts +21 -2
- package/dist/globalization/interfaces/chart_builder/II18nChartBuilderLineStyleOptions.d.ts +1 -0
- package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +1 -0
- package/package.json +1 -1
|
@@ -103,7 +103,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
|
|
|
103
103
|
color: "#C0C0C0",
|
|
104
104
|
colorized: true,
|
|
105
105
|
colorPickerDisplayed: true,
|
|
106
|
-
displayed:
|
|
106
|
+
displayed: true,
|
|
107
107
|
enabled: true,
|
|
108
108
|
icon: "fp-global",
|
|
109
109
|
iconsDisplayed: true,
|
|
@@ -126,7 +126,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
|
|
|
126
126
|
color: "#4FA6DA",
|
|
127
127
|
colorized: true,
|
|
128
128
|
colorPickerDisplayed: true,
|
|
129
|
-
displayed:
|
|
129
|
+
displayed: true,
|
|
130
130
|
enabled: true,
|
|
131
131
|
icon: "fp-global",
|
|
132
132
|
iconsDisplayed: true,
|
|
@@ -149,7 +149,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
|
|
|
149
149
|
color: "#7DC58C",
|
|
150
150
|
colorized: true,
|
|
151
151
|
colorPickerDisplayed: true,
|
|
152
|
-
displayed:
|
|
152
|
+
displayed: true,
|
|
153
153
|
enabled: true,
|
|
154
154
|
icon: "fp-page",
|
|
155
155
|
iconsDisplayed: true,
|
|
@@ -172,7 +172,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
|
|
|
172
172
|
color: "#E6773D",
|
|
173
173
|
colorized: true,
|
|
174
174
|
colorPickerDisplayed: true,
|
|
175
|
-
displayed:
|
|
175
|
+
displayed: true,
|
|
176
176
|
enabled: true,
|
|
177
177
|
icon: "fp-tab",
|
|
178
178
|
iconsDisplayed: true,
|
|
@@ -195,7 +195,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
|
|
|
195
195
|
color: "#FFB75D",
|
|
196
196
|
colorized: true,
|
|
197
197
|
colorPickerDisplayed: true,
|
|
198
|
-
displayed:
|
|
198
|
+
displayed: true,
|
|
199
199
|
enabled: true,
|
|
200
200
|
icon: "fp-chart",
|
|
201
201
|
iconsDisplayed: true,
|
|
@@ -218,7 +218,7 @@ exports.FILTER_SETTINGS_DEFAULT = {
|
|
|
218
218
|
color: "#C0C0C0",
|
|
219
219
|
colorized: true,
|
|
220
220
|
colorPickerDisplayed: true,
|
|
221
|
-
displayed:
|
|
221
|
+
displayed: true,
|
|
222
222
|
enabled: true,
|
|
223
223
|
icon: "fp-global",
|
|
224
224
|
iconsDisplayed: true,
|
|
@@ -7,11 +7,14 @@ exports.getMergeFiltersSettings = void 0;
|
|
|
7
7
|
* @returns a new MergeFilters settings object.
|
|
8
8
|
*/
|
|
9
9
|
function getMergeFiltersSettings(settings) {
|
|
10
|
-
var _a, _b, _c;
|
|
10
|
+
var _a, _b, _c, _d, _e;
|
|
11
11
|
return {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
mergeFilterDataProps: (_a = settings === null || settings === void 0 ? void 0 : settings.mergeFilterDataProps) !== null && _a !== void 0 ? _a : true,
|
|
13
|
+
mergeScopeProps: (_b = settings === null || settings === void 0 ? void 0 : settings.mergeScopeProps) !== null && _b !== void 0 ? _b : true,
|
|
14
|
+
mergeDatasetProps: (_c = settings === null || settings === void 0 ? void 0 : settings.mergeDatasetProps) !== null && _c !== void 0 ? _c : true,
|
|
15
|
+
mergeFilterProps: (_d = settings === null || settings === void 0 ? void 0 : settings.mergeFilterProps) !== null && _d !== void 0 ? _d : true,
|
|
16
|
+
overwriteValues: (_e = settings === null || settings === void 0 ? void 0 : settings.overwriteValues) !== null && _e !== void 0 ? _e : false,
|
|
17
|
+
setGroupedColumnOperator: settings === null || settings === void 0 ? void 0 : settings.setGroupedColumnOperator,
|
|
15
18
|
};
|
|
16
19
|
}
|
|
17
20
|
exports.getMergeFiltersSettings = getMergeFiltersSettings;
|
|
@@ -2,10 +2,13 @@ import { IFSData } from "../../interfaces/common/IFSData";
|
|
|
2
2
|
import { IFFiltersMergeFilters } from "../../interfaces/functions/IFFiltersMergeFilters";
|
|
3
3
|
import { IFUData } from "../../interfaces/ui/IFUData";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @
|
|
5
|
+
* Merges the second filter data into the first one; the first Filter Data passed in the argument has the priority.
|
|
6
|
+
* Conditions:
|
|
7
|
+
* - If the info in the second filter data does not exist in the first one, the info will be added
|
|
8
|
+
* - If the info in the second filter data exists in the first one, the info will be merged
|
|
9
|
+
* @param {IFUData} filterData1 The target filter data
|
|
10
|
+
* @param {IFUData} filterData2 the filter data to be merged
|
|
11
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
12
|
+
* @returns {IFUData} a new filter data structure
|
|
10
13
|
*/
|
|
11
|
-
export declare function mergeFilters(filterData1:
|
|
14
|
+
export declare function mergeFilters(filterData1: IFUData | IFSData, filterData2: IFUData | IFSData, settings?: IFFiltersMergeFilters): IFUData | IFSData;
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mergeFilters = void 0;
|
|
4
4
|
const isEmpty_1 = require("../../../general/mix/isEmpty");
|
|
5
|
-
const
|
|
6
|
-
const
|
|
5
|
+
const mergeDeep_1 = require("../../../general/object/mergeDeep");
|
|
6
|
+
const objectCopy_1 = require("../../../general/object/objectCopy");
|
|
7
7
|
const getFilterid_1 = require("./getFilterid");
|
|
8
8
|
const getMergeFiltersSettings_1 = require("./getMergeFiltersSettings");
|
|
9
9
|
const mergeValues_1 = require("./mergeValues");
|
|
@@ -11,13 +11,17 @@ const resolveDatasetConditions_1 = require("./resolveDatasetConditions");
|
|
|
11
11
|
const resolveFilterConditions_1 = require("./resolveFilterConditions");
|
|
12
12
|
const resolveScopeConditions_1 = require("./resolveScopeConditions");
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* @
|
|
14
|
+
* Merges the second filter data into the first one; the first Filter Data passed in the argument has the priority.
|
|
15
|
+
* Conditions:
|
|
16
|
+
* - If the info in the second filter data does not exist in the first one, the info will be added
|
|
17
|
+
* - If the info in the second filter data exists in the first one, the info will be merged
|
|
18
|
+
* @param {IFUData} filterData1 The target filter data
|
|
19
|
+
* @param {IFUData} filterData2 the filter data to be merged
|
|
20
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
21
|
+
* @returns {IFUData} a new filter data structure
|
|
19
22
|
*/
|
|
20
23
|
function mergeFilters(filterData1, filterData2, settings) {
|
|
24
|
+
var _a;
|
|
21
25
|
if ((0, isEmpty_1.isEmpty)(filterData1) || (0, isEmpty_1.isEmpty)(filterData1.scopes)) {
|
|
22
26
|
if ((0, isEmpty_1.isEmpty)(filterData2) || (0, isEmpty_1.isEmpty)(filterData2.scopes))
|
|
23
27
|
return;
|
|
@@ -25,23 +29,29 @@ function mergeFilters(filterData1, filterData2, settings) {
|
|
|
25
29
|
}
|
|
26
30
|
if ((0, isEmpty_1.isEmpty)(filterData2) || (0, isEmpty_1.isEmpty)(filterData2.scopes))
|
|
27
31
|
return filterData1;
|
|
28
|
-
const
|
|
29
|
-
const
|
|
32
|
+
const newFilterData1 = (0, objectCopy_1.objectCopy)(filterData1);
|
|
33
|
+
const newFilterData2 = (0, objectCopy_1.objectCopy)(filterData2);
|
|
30
34
|
const defaultSettings = (0, getMergeFiltersSettings_1.getMergeFiltersSettings)(settings);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
const scopes = mergeScopes(newFilterData1.scopes, newFilterData2.scopes, defaultSettings);
|
|
36
|
+
if (defaultSettings.mergeFilterDataProps) {
|
|
37
|
+
return {
|
|
38
|
+
enabled: (_a = newFilterData2.enabled) !== null && _a !== void 0 ? _a : newFilterData1.enabled,
|
|
39
|
+
section: newFilterData2.section || newFilterData1.section,
|
|
40
|
+
scopes,
|
|
41
|
+
version: newFilterData2.version || newFilterData1.version,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return Object.assign(Object.assign({}, newFilterData1), { scopes });
|
|
37
45
|
}
|
|
38
46
|
exports.mergeFilters = mergeFilters;
|
|
39
47
|
/**
|
|
40
|
-
* Gets a new scope structure
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* @param
|
|
44
|
-
* @
|
|
48
|
+
* Gets a new scope array structure by merging both scope structures
|
|
49
|
+
* - If the info in the second scope does not exist in the first one, the scope will be added
|
|
50
|
+
* - If the info in the second scope exists in the first one, the scope will be merged
|
|
51
|
+
* @param {IFUScope[]} scopes1 the target scope structure
|
|
52
|
+
* @param {IFUScope[]} scopes2 the scope to be merged
|
|
53
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
54
|
+
* @returns {IFUScope[]} a new scope array structure
|
|
45
55
|
*/
|
|
46
56
|
function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
47
57
|
let newScopes = scopes1.reduce((scopes, scope1) => {
|
|
@@ -51,7 +61,7 @@ function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
|
51
61
|
}));
|
|
52
62
|
let _scope1 = scope1;
|
|
53
63
|
if (scope2Index > -1) {
|
|
54
|
-
_scope1 = Object.assign(Object.assign({}, scopes2[scope2Index]), { datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings) });
|
|
64
|
+
_scope1 = Object.assign(Object.assign({}, mergeScopeProps(scope1, scopes2[scope2Index], settings)), { datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings) });
|
|
55
65
|
scopes2.splice(scope2Index, 1);
|
|
56
66
|
}
|
|
57
67
|
scopes.push(_scope1);
|
|
@@ -62,11 +72,13 @@ function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
|
62
72
|
return newScopes;
|
|
63
73
|
}
|
|
64
74
|
/**
|
|
65
|
-
* Gets a new dataset structure array by merging
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
* @param
|
|
69
|
-
* @
|
|
75
|
+
* Gets a new dataset structure array by merging both dataset structures
|
|
76
|
+
* - If the info in the second dataset does not exist in the first one, the dataset will be added
|
|
77
|
+
* - If the info in the second dataset exists in the first one, the dataset will be merged
|
|
78
|
+
* @param {IFUDataset[]} datasets1 the target dataset structure
|
|
79
|
+
* @param {IFUDataset[]} datasets2 the dataset to be merged
|
|
80
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilter
|
|
81
|
+
* @returns {IFUDataset[]} a new dataset structure array
|
|
70
82
|
*/
|
|
71
83
|
function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
72
84
|
let newDatasets = datasets1.reduce((datasets, dataset1) => {
|
|
@@ -75,7 +87,7 @@ function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
|
75
87
|
}));
|
|
76
88
|
let _dataset1 = dataset1;
|
|
77
89
|
if (dataset2Index > -1) {
|
|
78
|
-
_dataset1 = Object.assign(Object.assign({}, datasets2[dataset2Index]), { filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings) });
|
|
90
|
+
_dataset1 = Object.assign(Object.assign({}, mergeDatasetProps(dataset1, datasets2[dataset2Index], settings)), { filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings) });
|
|
79
91
|
datasets2.splice(dataset2Index, 1);
|
|
80
92
|
}
|
|
81
93
|
datasets.push(_dataset1);
|
|
@@ -87,10 +99,10 @@ function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
|
87
99
|
}
|
|
88
100
|
/**
|
|
89
101
|
* Gets a new filter structure array by merging two filter structures
|
|
90
|
-
* @param filters1 the target filter structure
|
|
91
|
-
* @param filters2 the filter to be merged
|
|
92
|
-
* @param settings configuration of the
|
|
93
|
-
* @returns a new filter structure array
|
|
102
|
+
* @param {IFUFilter[]} filters1 the target filter structure
|
|
103
|
+
* @param {IFUFilter[]} filters2 the filter to be merged
|
|
104
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
105
|
+
* @returns {IFUFilter[]} a new filter structure array
|
|
94
106
|
*/
|
|
95
107
|
function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
96
108
|
let newFilters = filters1.reduce((filters, filter1) => {
|
|
@@ -103,14 +115,11 @@ function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
|
103
115
|
}));
|
|
104
116
|
let _filter1 = filter1;
|
|
105
117
|
if (filter2Index > -1) {
|
|
106
|
-
_filter1 = Object.assign(Object.assign({}, _filter1), { values: (0, mergeValues_1.mergeValues)(_filter1, filters2[filter2Index], settings) });
|
|
107
|
-
_filter1 = mergeFilterProps(_filter1, filters2[filter2Index], settings);
|
|
118
|
+
_filter1 = Object.assign(Object.assign(Object.assign({}, _filter1), mergeFilterProps(_filter1, filters2[filter2Index], settings)), { values: (0, mergeValues_1.mergeValues)(_filter1, filters2[filter2Index], settings) });
|
|
108
119
|
filters2.splice(filter2Index, 1);
|
|
109
120
|
}
|
|
110
|
-
else {
|
|
111
|
-
_filter1 =
|
|
112
|
-
? FILTER_GROUPED_COLUMN_OPERATOR_1.FILTER_GROUPED_COLUMN_OPERATOR
|
|
113
|
-
: _filter1.operator });
|
|
121
|
+
else if (!(0, isEmpty_1.isEmpty)(settings.setGroupedColumnOperator)) {
|
|
122
|
+
_filter1.operator = settings.setGroupedColumnOperator;
|
|
114
123
|
}
|
|
115
124
|
_filter1.filterid = (0, getFilterid_1.getFilterid)(_filter1);
|
|
116
125
|
filters.push(_filter1);
|
|
@@ -121,17 +130,47 @@ function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
|
121
130
|
return newFilters;
|
|
122
131
|
}
|
|
123
132
|
/**
|
|
124
|
-
* Gets a new
|
|
125
|
-
* @param
|
|
126
|
-
* @param
|
|
127
|
-
* @param settings configuration of the
|
|
133
|
+
* Gets a new scope structure for the configured settings
|
|
134
|
+
* @param {IFUScope} scope1 the target scope structure
|
|
135
|
+
* @param {IFUScope} scope2 the scope to be used to merge the values
|
|
136
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
137
|
+
* @returns {IFUScope} a new filter structure with overwritted props
|
|
138
|
+
*/
|
|
139
|
+
function mergeScopeProps(scope1, scope2, settings) {
|
|
140
|
+
var _a, _b, _c;
|
|
141
|
+
let _scope1 = scope1;
|
|
142
|
+
if (settings.mergeScopeProps) {
|
|
143
|
+
_scope1 = Object.assign(Object.assign({}, scope1), { collapsed: (_a = scope2.collapsed) !== null && _a !== void 0 ? _a : scope1.collapsed, displayed: (_b = scope2.displayed) !== null && _b !== void 0 ? _b : scope1.displayed, enabled: (_c = scope2.enabled) !== null && _c !== void 0 ? _c : scope1.enabled, label: scope2.label || scope1.label, scope: scope2.scope || scope1.scope, scopeid: scope2.scopeid || scope1.scopeid });
|
|
144
|
+
}
|
|
145
|
+
return _scope1;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Gets a new dataset structure for the configured settings
|
|
149
|
+
* @param {IFUDataset} dataset1 the target dataset structure
|
|
150
|
+
* @param {IFUDataset} dataset2 the dataset to be used to merge the values
|
|
151
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
152
|
+
* @returns {IFUDataset} a new filter structure with overwritted props
|
|
153
|
+
*/
|
|
154
|
+
function mergeDatasetProps(dataset1, dataset2, settings) {
|
|
155
|
+
var _a, _b, _c;
|
|
156
|
+
let _dataset1 = dataset1;
|
|
157
|
+
if (settings.mergeDatasetProps) {
|
|
158
|
+
_dataset1 = Object.assign(Object.assign({}, dataset1), { collapsed: (_a = dataset2.collapsed) !== null && _a !== void 0 ? _a : dataset1.collapsed, displayed: (_b = dataset2.displayed) !== null && _b !== void 0 ? _b : dataset1.displayed, enabled: (_c = dataset2.enabled) !== null && _c !== void 0 ? _c : dataset1.enabled, label: dataset2.label || dataset1.label, qrveyid: dataset2.qrveyid || dataset1.qrveyid });
|
|
159
|
+
}
|
|
160
|
+
return _dataset1;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Gets a new filter structure for the configured settings
|
|
164
|
+
* @param {IFUFilter} filter1 the target filter structure
|
|
165
|
+
* @param {IFUFilter} filter2 the filter to be used to merge the values
|
|
166
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
128
167
|
* @returns a new filter structure with overwritted props
|
|
129
168
|
*/
|
|
130
169
|
function mergeFilterProps(filter1, filter2, settings) {
|
|
131
170
|
var _a, _b, _c;
|
|
132
171
|
let _filter1 = filter1;
|
|
133
|
-
if (settings.
|
|
134
|
-
_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,
|
|
172
|
+
if (settings.mergeFilterProps) {
|
|
173
|
+
_filter1 = Object.assign(Object.assign({}, filter1), { collapsed: (_a = filter2.collapsed) !== null && _a !== void 0 ? _a : filter1.collapsed, column: (0, mergeDeep_1.mergeDeep)(filter2.column, filter1.column), 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, lookupDisplayIndex: filter2.lookupDisplayIndex, nullValues: filter2.nullValues, property: filter2.property || filter1.property, operator: filter2.operator || filter1.operator, selectAll: filter2.selectAll, validator: filter2.validator || filter1.validator });
|
|
135
174
|
}
|
|
136
175
|
return _filter1;
|
|
137
176
|
}
|
|
@@ -4,8 +4,8 @@ import { IFSScope } from "../../interfaces/common/IFSScope";
|
|
|
4
4
|
* Resolves the conditions by given params
|
|
5
5
|
* @param filter The filter scope structure
|
|
6
6
|
* @param params given parameters to validate the filter
|
|
7
|
-
* @param letPassUndefinedProperties Flag to avoid applying the condition when the
|
|
8
|
-
* @param letPassUndefinedParams Flag to avoid applying the condition when the
|
|
7
|
+
* @param letPassUndefinedProperties Flag to avoid applying the condition when the properties of the properties are undefined
|
|
8
|
+
* @param letPassUndefinedParams Flag to avoid applying the condition when the properties of the params are explicit undefined.
|
|
9
9
|
* @returns true: the condition is satisfied
|
|
10
10
|
*/
|
|
11
11
|
export declare function resolveScopeConditions(scope: IFSScope, params: IFSParamsToGetFilter, letPassUndefinedProperties?: boolean, letPassUndefinedParams?: boolean): boolean;
|
|
@@ -7,8 +7,8 @@ const hasProperty_1 = require("../../../general/object/hasProperty");
|
|
|
7
7
|
* Resolves the conditions by given params
|
|
8
8
|
* @param filter The filter scope structure
|
|
9
9
|
* @param params given parameters to validate the filter
|
|
10
|
-
* @param letPassUndefinedProperties Flag to avoid applying the condition when the
|
|
11
|
-
* @param letPassUndefinedParams Flag to avoid applying the condition when the
|
|
10
|
+
* @param letPassUndefinedProperties Flag to avoid applying the condition when the properties of the properties are undefined
|
|
11
|
+
* @param letPassUndefinedParams Flag to avoid applying the condition when the properties of the params are explicit undefined.
|
|
12
12
|
* @returns true: the condition is satisfied
|
|
13
13
|
*/
|
|
14
14
|
function resolveScopeConditions(scope, params, letPassUndefinedProperties = false, letPassUndefinedParams = true) {
|
|
@@ -1,8 +1,27 @@
|
|
|
1
|
+
import { IFOperator } from "../IFOperator";
|
|
1
2
|
import { IFFiltersMergeValues } from "./IFFiltersMergeValues";
|
|
2
3
|
/**
|
|
3
4
|
* Structure for MergeFilters property settings
|
|
4
5
|
*/
|
|
5
6
|
export interface IFFiltersMergeFilters extends IFFiltersMergeValues {
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Flag to merge second filter data props to first one
|
|
9
|
+
*/
|
|
10
|
+
mergeFilterDataProps?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Flag to merge second scope props to first one
|
|
13
|
+
*/
|
|
14
|
+
mergeScopeProps?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Flag to merge second dataset props to first one
|
|
17
|
+
*/
|
|
18
|
+
mergeDatasetProps?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Flag to merge second filter props to first one
|
|
21
|
+
*/
|
|
22
|
+
mergeFilterProps?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whet setting, the operator is overwritten on new added filters
|
|
25
|
+
*/
|
|
26
|
+
setGroupedColumnOperator?: IFOperator;
|
|
8
27
|
}
|
|
@@ -140,6 +140,7 @@ exports.I18N_CHART_BUILDER_STYLE_OPTIONS = {
|
|
|
140
140
|
type_straight: "Straight",
|
|
141
141
|
type_monotone: "Monotone",
|
|
142
142
|
type_cardinal: "Cardinal",
|
|
143
|
+
type_smooth: "Smooth",
|
|
143
144
|
type_step_before: "Step Before",
|
|
144
145
|
type_step_after: "Step After",
|
|
145
146
|
fill: "Fill",
|
|
@@ -100,7 +100,7 @@ export const FILTER_SETTINGS_DEFAULT = {
|
|
|
100
100
|
color: "#C0C0C0",
|
|
101
101
|
colorized: true,
|
|
102
102
|
colorPickerDisplayed: true,
|
|
103
|
-
displayed:
|
|
103
|
+
displayed: true,
|
|
104
104
|
enabled: true,
|
|
105
105
|
icon: "fp-global",
|
|
106
106
|
iconsDisplayed: true,
|
|
@@ -123,7 +123,7 @@ export const FILTER_SETTINGS_DEFAULT = {
|
|
|
123
123
|
color: "#4FA6DA",
|
|
124
124
|
colorized: true,
|
|
125
125
|
colorPickerDisplayed: true,
|
|
126
|
-
displayed:
|
|
126
|
+
displayed: true,
|
|
127
127
|
enabled: true,
|
|
128
128
|
icon: "fp-global",
|
|
129
129
|
iconsDisplayed: true,
|
|
@@ -146,7 +146,7 @@ export const FILTER_SETTINGS_DEFAULT = {
|
|
|
146
146
|
color: "#7DC58C",
|
|
147
147
|
colorized: true,
|
|
148
148
|
colorPickerDisplayed: true,
|
|
149
|
-
displayed:
|
|
149
|
+
displayed: true,
|
|
150
150
|
enabled: true,
|
|
151
151
|
icon: "fp-page",
|
|
152
152
|
iconsDisplayed: true,
|
|
@@ -169,7 +169,7 @@ export const FILTER_SETTINGS_DEFAULT = {
|
|
|
169
169
|
color: "#E6773D",
|
|
170
170
|
colorized: true,
|
|
171
171
|
colorPickerDisplayed: true,
|
|
172
|
-
displayed:
|
|
172
|
+
displayed: true,
|
|
173
173
|
enabled: true,
|
|
174
174
|
icon: "fp-tab",
|
|
175
175
|
iconsDisplayed: true,
|
|
@@ -192,7 +192,7 @@ export const FILTER_SETTINGS_DEFAULT = {
|
|
|
192
192
|
color: "#FFB75D",
|
|
193
193
|
colorized: true,
|
|
194
194
|
colorPickerDisplayed: true,
|
|
195
|
-
displayed:
|
|
195
|
+
displayed: true,
|
|
196
196
|
enabled: true,
|
|
197
197
|
icon: "fp-chart",
|
|
198
198
|
iconsDisplayed: true,
|
|
@@ -215,7 +215,7 @@ export const FILTER_SETTINGS_DEFAULT = {
|
|
|
215
215
|
color: "#C0C0C0",
|
|
216
216
|
colorized: true,
|
|
217
217
|
colorPickerDisplayed: true,
|
|
218
|
-
displayed:
|
|
218
|
+
displayed: true,
|
|
219
219
|
enabled: true,
|
|
220
220
|
icon: "fp-global",
|
|
221
221
|
iconsDisplayed: true,
|
|
@@ -4,10 +4,13 @@
|
|
|
4
4
|
* @returns a new MergeFilters settings object.
|
|
5
5
|
*/
|
|
6
6
|
export function getMergeFiltersSettings(settings) {
|
|
7
|
-
var _a, _b, _c;
|
|
7
|
+
var _a, _b, _c, _d, _e;
|
|
8
8
|
return {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
mergeFilterDataProps: (_a = settings === null || settings === void 0 ? void 0 : settings.mergeFilterDataProps) !== null && _a !== void 0 ? _a : true,
|
|
10
|
+
mergeScopeProps: (_b = settings === null || settings === void 0 ? void 0 : settings.mergeScopeProps) !== null && _b !== void 0 ? _b : true,
|
|
11
|
+
mergeDatasetProps: (_c = settings === null || settings === void 0 ? void 0 : settings.mergeDatasetProps) !== null && _c !== void 0 ? _c : true,
|
|
12
|
+
mergeFilterProps: (_d = settings === null || settings === void 0 ? void 0 : settings.mergeFilterProps) !== null && _d !== void 0 ? _d : true,
|
|
13
|
+
overwriteValues: (_e = settings === null || settings === void 0 ? void 0 : settings.overwriteValues) !== null && _e !== void 0 ? _e : false,
|
|
14
|
+
setGroupedColumnOperator: settings === null || settings === void 0 ? void 0 : settings.setGroupedColumnOperator,
|
|
12
15
|
};
|
|
13
16
|
}
|
|
@@ -2,10 +2,13 @@ import { IFSData } from "../../interfaces/common/IFSData";
|
|
|
2
2
|
import { IFFiltersMergeFilters } from "../../interfaces/functions/IFFiltersMergeFilters";
|
|
3
3
|
import { IFUData } from "../../interfaces/ui/IFUData";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* @
|
|
5
|
+
* Merges the second filter data into the first one; the first Filter Data passed in the argument has the priority.
|
|
6
|
+
* Conditions:
|
|
7
|
+
* - If the info in the second filter data does not exist in the first one, the info will be added
|
|
8
|
+
* - If the info in the second filter data exists in the first one, the info will be merged
|
|
9
|
+
* @param {IFUData} filterData1 The target filter data
|
|
10
|
+
* @param {IFUData} filterData2 the filter data to be merged
|
|
11
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
12
|
+
* @returns {IFUData} a new filter data structure
|
|
10
13
|
*/
|
|
11
|
-
export declare function mergeFilters(filterData1:
|
|
14
|
+
export declare function mergeFilters(filterData1: IFUData | IFSData, filterData2: IFUData | IFSData, settings?: IFFiltersMergeFilters): IFUData | IFSData;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isEmpty } from "../../../general/mix/isEmpty";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { mergeDeep } from "../../../general/object/mergeDeep";
|
|
3
|
+
import { objectCopy } from "../../../general/object/objectCopy";
|
|
4
4
|
import { getFilterid } from "./getFilterid";
|
|
5
5
|
import { getMergeFiltersSettings } from "./getMergeFiltersSettings";
|
|
6
6
|
import { mergeValues } from "./mergeValues";
|
|
@@ -8,13 +8,17 @@ import { resolveDatasetConditions } from "./resolveDatasetConditions";
|
|
|
8
8
|
import { resolveFilterConditions } from "./resolveFilterConditions";
|
|
9
9
|
import { resolveScopeConditions } from "./resolveScopeConditions";
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* @
|
|
11
|
+
* Merges the second filter data into the first one; the first Filter Data passed in the argument has the priority.
|
|
12
|
+
* Conditions:
|
|
13
|
+
* - If the info in the second filter data does not exist in the first one, the info will be added
|
|
14
|
+
* - If the info in the second filter data exists in the first one, the info will be merged
|
|
15
|
+
* @param {IFUData} filterData1 The target filter data
|
|
16
|
+
* @param {IFUData} filterData2 the filter data to be merged
|
|
17
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
18
|
+
* @returns {IFUData} a new filter data structure
|
|
16
19
|
*/
|
|
17
20
|
export function mergeFilters(filterData1, filterData2, settings) {
|
|
21
|
+
var _a;
|
|
18
22
|
if (isEmpty(filterData1) || isEmpty(filterData1.scopes)) {
|
|
19
23
|
if (isEmpty(filterData2) || isEmpty(filterData2.scopes))
|
|
20
24
|
return;
|
|
@@ -22,22 +26,28 @@ export function mergeFilters(filterData1, filterData2, settings) {
|
|
|
22
26
|
}
|
|
23
27
|
if (isEmpty(filterData2) || isEmpty(filterData2.scopes))
|
|
24
28
|
return filterData1;
|
|
25
|
-
const
|
|
26
|
-
const
|
|
29
|
+
const newFilterData1 = objectCopy(filterData1);
|
|
30
|
+
const newFilterData2 = objectCopy(filterData2);
|
|
27
31
|
const defaultSettings = getMergeFiltersSettings(settings);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
const scopes = mergeScopes(newFilterData1.scopes, newFilterData2.scopes, defaultSettings);
|
|
33
|
+
if (defaultSettings.mergeFilterDataProps) {
|
|
34
|
+
return {
|
|
35
|
+
enabled: (_a = newFilterData2.enabled) !== null && _a !== void 0 ? _a : newFilterData1.enabled,
|
|
36
|
+
section: newFilterData2.section || newFilterData1.section,
|
|
37
|
+
scopes,
|
|
38
|
+
version: newFilterData2.version || newFilterData1.version,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return Object.assign(Object.assign({}, newFilterData1), { scopes });
|
|
34
42
|
}
|
|
35
43
|
/**
|
|
36
|
-
* Gets a new scope structure
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @param
|
|
40
|
-
* @
|
|
44
|
+
* Gets a new scope array structure by merging both scope structures
|
|
45
|
+
* - If the info in the second scope does not exist in the first one, the scope will be added
|
|
46
|
+
* - If the info in the second scope exists in the first one, the scope will be merged
|
|
47
|
+
* @param {IFUScope[]} scopes1 the target scope structure
|
|
48
|
+
* @param {IFUScope[]} scopes2 the scope to be merged
|
|
49
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
50
|
+
* @returns {IFUScope[]} a new scope array structure
|
|
41
51
|
*/
|
|
42
52
|
function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
43
53
|
let newScopes = scopes1.reduce((scopes, scope1) => {
|
|
@@ -47,7 +57,7 @@ function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
|
47
57
|
}));
|
|
48
58
|
let _scope1 = scope1;
|
|
49
59
|
if (scope2Index > -1) {
|
|
50
|
-
_scope1 = Object.assign(Object.assign({}, scopes2[scope2Index]), { datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings) });
|
|
60
|
+
_scope1 = Object.assign(Object.assign({}, mergeScopeProps(scope1, scopes2[scope2Index], settings)), { datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings) });
|
|
51
61
|
scopes2.splice(scope2Index, 1);
|
|
52
62
|
}
|
|
53
63
|
scopes.push(_scope1);
|
|
@@ -58,11 +68,13 @@ function mergeScopes(scopes1 = [], scopes2 = [], settings) {
|
|
|
58
68
|
return newScopes;
|
|
59
69
|
}
|
|
60
70
|
/**
|
|
61
|
-
* Gets a new dataset structure array by merging
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
* @param
|
|
65
|
-
* @
|
|
71
|
+
* Gets a new dataset structure array by merging both dataset structures
|
|
72
|
+
* - If the info in the second dataset does not exist in the first one, the dataset will be added
|
|
73
|
+
* - If the info in the second dataset exists in the first one, the dataset will be merged
|
|
74
|
+
* @param {IFUDataset[]} datasets1 the target dataset structure
|
|
75
|
+
* @param {IFUDataset[]} datasets2 the dataset to be merged
|
|
76
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilter
|
|
77
|
+
* @returns {IFUDataset[]} a new dataset structure array
|
|
66
78
|
*/
|
|
67
79
|
function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
68
80
|
let newDatasets = datasets1.reduce((datasets, dataset1) => {
|
|
@@ -71,7 +83,7 @@ function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
|
71
83
|
}));
|
|
72
84
|
let _dataset1 = dataset1;
|
|
73
85
|
if (dataset2Index > -1) {
|
|
74
|
-
_dataset1 = Object.assign(Object.assign({}, datasets2[dataset2Index]), { filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings) });
|
|
86
|
+
_dataset1 = Object.assign(Object.assign({}, mergeDatasetProps(dataset1, datasets2[dataset2Index], settings)), { filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings) });
|
|
75
87
|
datasets2.splice(dataset2Index, 1);
|
|
76
88
|
}
|
|
77
89
|
datasets.push(_dataset1);
|
|
@@ -83,10 +95,10 @@ function mergeDatasets(datasets1 = [], datasets2 = [], settings) {
|
|
|
83
95
|
}
|
|
84
96
|
/**
|
|
85
97
|
* Gets a new filter structure array by merging two filter structures
|
|
86
|
-
* @param filters1 the target filter structure
|
|
87
|
-
* @param filters2 the filter to be merged
|
|
88
|
-
* @param settings configuration of the
|
|
89
|
-
* @returns a new filter structure array
|
|
98
|
+
* @param {IFUFilter[]} filters1 the target filter structure
|
|
99
|
+
* @param {IFUFilter[]} filters2 the filter to be merged
|
|
100
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
101
|
+
* @returns {IFUFilter[]} a new filter structure array
|
|
90
102
|
*/
|
|
91
103
|
function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
92
104
|
let newFilters = filters1.reduce((filters, filter1) => {
|
|
@@ -99,14 +111,11 @@ function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
|
99
111
|
}));
|
|
100
112
|
let _filter1 = filter1;
|
|
101
113
|
if (filter2Index > -1) {
|
|
102
|
-
_filter1 = Object.assign(Object.assign({}, _filter1), { values: mergeValues(_filter1, filters2[filter2Index], settings) });
|
|
103
|
-
_filter1 = mergeFilterProps(_filter1, filters2[filter2Index], settings);
|
|
114
|
+
_filter1 = Object.assign(Object.assign(Object.assign({}, _filter1), mergeFilterProps(_filter1, filters2[filter2Index], settings)), { values: mergeValues(_filter1, filters2[filter2Index], settings) });
|
|
104
115
|
filters2.splice(filter2Index, 1);
|
|
105
116
|
}
|
|
106
|
-
else {
|
|
107
|
-
_filter1 =
|
|
108
|
-
? FILTER_GROUPED_COLUMN_OPERATOR
|
|
109
|
-
: _filter1.operator });
|
|
117
|
+
else if (!isEmpty(settings.setGroupedColumnOperator)) {
|
|
118
|
+
_filter1.operator = settings.setGroupedColumnOperator;
|
|
110
119
|
}
|
|
111
120
|
_filter1.filterid = getFilterid(_filter1);
|
|
112
121
|
filters.push(_filter1);
|
|
@@ -117,17 +126,47 @@ function mergeFilterss(filters1 = [], filters2 = [], settings) {
|
|
|
117
126
|
return newFilters;
|
|
118
127
|
}
|
|
119
128
|
/**
|
|
120
|
-
* Gets a new
|
|
121
|
-
* @param
|
|
122
|
-
* @param
|
|
123
|
-
* @param settings configuration of the
|
|
129
|
+
* Gets a new scope structure for the configured settings
|
|
130
|
+
* @param {IFUScope} scope1 the target scope structure
|
|
131
|
+
* @param {IFUScope} scope2 the scope to be used to merge the values
|
|
132
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
133
|
+
* @returns {IFUScope} a new filter structure with overwritted props
|
|
134
|
+
*/
|
|
135
|
+
function mergeScopeProps(scope1, scope2, settings) {
|
|
136
|
+
var _a, _b, _c;
|
|
137
|
+
let _scope1 = scope1;
|
|
138
|
+
if (settings.mergeScopeProps) {
|
|
139
|
+
_scope1 = Object.assign(Object.assign({}, scope1), { collapsed: (_a = scope2.collapsed) !== null && _a !== void 0 ? _a : scope1.collapsed, displayed: (_b = scope2.displayed) !== null && _b !== void 0 ? _b : scope1.displayed, enabled: (_c = scope2.enabled) !== null && _c !== void 0 ? _c : scope1.enabled, label: scope2.label || scope1.label, scope: scope2.scope || scope1.scope, scopeid: scope2.scopeid || scope1.scopeid });
|
|
140
|
+
}
|
|
141
|
+
return _scope1;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Gets a new dataset structure for the configured settings
|
|
145
|
+
* @param {IFUDataset} dataset1 the target dataset structure
|
|
146
|
+
* @param {IFUDataset} dataset2 the dataset to be used to merge the values
|
|
147
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
148
|
+
* @returns {IFUDataset} a new filter structure with overwritted props
|
|
149
|
+
*/
|
|
150
|
+
function mergeDatasetProps(dataset1, dataset2, settings) {
|
|
151
|
+
var _a, _b, _c;
|
|
152
|
+
let _dataset1 = dataset1;
|
|
153
|
+
if (settings.mergeDatasetProps) {
|
|
154
|
+
_dataset1 = Object.assign(Object.assign({}, dataset1), { collapsed: (_a = dataset2.collapsed) !== null && _a !== void 0 ? _a : dataset1.collapsed, displayed: (_b = dataset2.displayed) !== null && _b !== void 0 ? _b : dataset1.displayed, enabled: (_c = dataset2.enabled) !== null && _c !== void 0 ? _c : dataset1.enabled, label: dataset2.label || dataset1.label, qrveyid: dataset2.qrveyid || dataset1.qrveyid });
|
|
155
|
+
}
|
|
156
|
+
return _dataset1;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Gets a new filter structure for the configured settings
|
|
160
|
+
* @param {IFUFilter} filter1 the target filter structure
|
|
161
|
+
* @param {IFUFilter} filter2 the filter to be used to merge the values
|
|
162
|
+
* @param {IFFiltersMergeFilters} settings configuration of the mergeFilters
|
|
124
163
|
* @returns a new filter structure with overwritted props
|
|
125
164
|
*/
|
|
126
165
|
function mergeFilterProps(filter1, filter2, settings) {
|
|
127
166
|
var _a, _b, _c;
|
|
128
167
|
let _filter1 = filter1;
|
|
129
|
-
if (settings.
|
|
130
|
-
_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,
|
|
168
|
+
if (settings.mergeFilterProps) {
|
|
169
|
+
_filter1 = Object.assign(Object.assign({}, filter1), { collapsed: (_a = filter2.collapsed) !== null && _a !== void 0 ? _a : filter1.collapsed, column: mergeDeep(filter2.column, filter1.column), 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, lookupDisplayIndex: filter2.lookupDisplayIndex, nullValues: filter2.nullValues, property: filter2.property || filter1.property, operator: filter2.operator || filter1.operator, selectAll: filter2.selectAll, validator: filter2.validator || filter1.validator });
|
|
131
170
|
}
|
|
132
171
|
return _filter1;
|
|
133
172
|
}
|
|
@@ -4,8 +4,8 @@ import { IFSScope } from "../../interfaces/common/IFSScope";
|
|
|
4
4
|
* Resolves the conditions by given params
|
|
5
5
|
* @param filter The filter scope structure
|
|
6
6
|
* @param params given parameters to validate the filter
|
|
7
|
-
* @param letPassUndefinedProperties Flag to avoid applying the condition when the
|
|
8
|
-
* @param letPassUndefinedParams Flag to avoid applying the condition when the
|
|
7
|
+
* @param letPassUndefinedProperties Flag to avoid applying the condition when the properties of the properties are undefined
|
|
8
|
+
* @param letPassUndefinedParams Flag to avoid applying the condition when the properties of the params are explicit undefined.
|
|
9
9
|
* @returns true: the condition is satisfied
|
|
10
10
|
*/
|
|
11
11
|
export declare function resolveScopeConditions(scope: IFSScope, params: IFSParamsToGetFilter, letPassUndefinedProperties?: boolean, letPassUndefinedParams?: boolean): boolean;
|
|
@@ -4,8 +4,8 @@ import { _hasProperty } from "../../../general/object/hasProperty";
|
|
|
4
4
|
* Resolves the conditions by given params
|
|
5
5
|
* @param filter The filter scope structure
|
|
6
6
|
* @param params given parameters to validate the filter
|
|
7
|
-
* @param letPassUndefinedProperties Flag to avoid applying the condition when the
|
|
8
|
-
* @param letPassUndefinedParams Flag to avoid applying the condition when the
|
|
7
|
+
* @param letPassUndefinedProperties Flag to avoid applying the condition when the properties of the properties are undefined
|
|
8
|
+
* @param letPassUndefinedParams Flag to avoid applying the condition when the properties of the params are explicit undefined.
|
|
9
9
|
* @returns true: the condition is satisfied
|
|
10
10
|
*/
|
|
11
11
|
export function resolveScopeConditions(scope, params, letPassUndefinedProperties = false, letPassUndefinedParams = true) {
|
|
@@ -1,8 +1,27 @@
|
|
|
1
|
+
import { IFOperator } from "../IFOperator";
|
|
1
2
|
import { IFFiltersMergeValues } from "./IFFiltersMergeValues";
|
|
2
3
|
/**
|
|
3
4
|
* Structure for MergeFilters property settings
|
|
4
5
|
*/
|
|
5
6
|
export interface IFFiltersMergeFilters extends IFFiltersMergeValues {
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Flag to merge second filter data props to first one
|
|
9
|
+
*/
|
|
10
|
+
mergeFilterDataProps?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Flag to merge second scope props to first one
|
|
13
|
+
*/
|
|
14
|
+
mergeScopeProps?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Flag to merge second dataset props to first one
|
|
17
|
+
*/
|
|
18
|
+
mergeDatasetProps?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Flag to merge second filter props to first one
|
|
21
|
+
*/
|
|
22
|
+
mergeFilterProps?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Whet setting, the operator is overwritten on new added filters
|
|
25
|
+
*/
|
|
26
|
+
setGroupedColumnOperator?: IFOperator;
|
|
8
27
|
}
|
|
@@ -137,6 +137,7 @@ export const I18N_CHART_BUILDER_STYLE_OPTIONS = {
|
|
|
137
137
|
type_straight: "Straight",
|
|
138
138
|
type_monotone: "Monotone",
|
|
139
139
|
type_cardinal: "Cardinal",
|
|
140
|
+
type_smooth: "Smooth",
|
|
140
141
|
type_step_before: "Step Before",
|
|
141
142
|
type_step_after: "Step After",
|
|
142
143
|
fill: "Fill",
|