@qrvey/utils 1.2.10-1 → 1.2.10-2
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 +0 -5855
- package/dist/cjs/charts/constants/index.js +5 -1
- package/dist/cjs/charts/helpers/index.js +5 -1
- package/dist/cjs/charts/index.js +5 -1
- package/dist/cjs/charts/interfaces/index.js +5 -1
- package/dist/cjs/columns/constants/index.js +5 -1
- package/dist/cjs/columns/helpers/index.js +5 -1
- package/dist/cjs/columns/index.js +5 -1
- package/dist/cjs/columns/interfaces/index.js +5 -1
- package/dist/cjs/constants/index.js +5 -1
- package/dist/cjs/dates/adapters/index.js +5 -1
- package/dist/cjs/dates/constants/index.js +5 -1
- package/dist/cjs/dates/helpers/index.js +5 -1
- package/dist/cjs/dates/index.js +5 -1
- package/dist/cjs/dates/interfaces/index.js +5 -1
- package/dist/cjs/dates/range/index.js +5 -1
- package/dist/cjs/dates/relative/constants/index.js +5 -1
- package/dist/cjs/dates/relative/constants/ui/index.js +5 -1
- package/dist/cjs/dates/relative/helpers/dayjs-module.js +5 -1
- package/dist/cjs/dates/relative/helpers/index.js +5 -1
- package/dist/cjs/dates/relative/index.js +5 -1
- package/dist/cjs/dates/relative/interfaces/index.js +5 -1
- package/dist/cjs/dates/relative/interfaces/ui/index.js +5 -1
- package/dist/cjs/filters/adapters/index.js +5 -1
- package/dist/cjs/filters/classes/index.js +5 -1
- package/dist/cjs/filters/constants/backend/index.js +5 -1
- package/dist/cjs/filters/constants/builder/index.js +5 -1
- package/dist/cjs/filters/constants/common/index.js +5 -1
- package/dist/cjs/filters/constants/index.js +5 -1
- package/dist/cjs/filters/constants/panel/index.js +5 -1
- package/dist/cjs/filters/helpers/backend/index.js +5 -1
- package/dist/cjs/filters/helpers/builder/index.js +5 -1
- package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +4 -3
- package/dist/cjs/filters/helpers/common/index.js +5 -1
- package/dist/cjs/filters/helpers/common/mergeFilters.d.ts +1 -1
- package/dist/cjs/filters/helpers/common/mergeFilters.js +25 -9
- package/dist/cjs/filters/helpers/index.js +5 -1
- package/dist/cjs/filters/helpers/ui/index.js +5 -1
- package/dist/cjs/filters/index.js +5 -1
- package/dist/cjs/filters/interfaces/backend/index.js +5 -1
- package/dist/cjs/filters/interfaces/builder/index.js +5 -1
- package/dist/cjs/filters/interfaces/common/index.js +5 -1
- package/dist/cjs/filters/interfaces/functions/IFFiltersMergeFilters.d.ts +1 -0
- package/dist/cjs/filters/interfaces/functions/index.js +5 -1
- package/dist/cjs/filters/interfaces/index.js +5 -1
- package/dist/cjs/filters/interfaces/panel/index.js +5 -1
- package/dist/cjs/filters/interfaces/ui/index.js +5 -1
- package/dist/cjs/filters/services/index.js +5 -1
- package/dist/cjs/format/index.js +5 -1
- package/dist/cjs/format/localization.js +2 -2
- package/dist/cjs/formulas/constants/index.js +5 -1
- package/dist/cjs/formulas/index.js +5 -1
- package/dist/cjs/formulas/interfaces/index.js +5 -1
- package/dist/cjs/general/array/index.js +5 -1
- package/dist/cjs/general/function/index.js +5 -1
- package/dist/cjs/general/index.js +5 -1
- package/dist/cjs/general/mix/index.js +5 -1
- package/dist/cjs/general/object/index.js +5 -1
- package/dist/cjs/general/string/index.js +5 -1
- package/dist/cjs/globalization/helpers/index.js +5 -1
- package/dist/cjs/globalization/index.js +5 -1
- package/dist/cjs/globalization/interfaces/bucket_builder/index.js +5 -1
- package/dist/cjs/globalization/interfaces/calendar/index.js +5 -1
- package/dist/cjs/globalization/interfaces/chart_builder/index.js +5 -1
- package/dist/cjs/globalization/interfaces/columns/index.js +5 -1
- package/dist/cjs/globalization/interfaces/common/index.js +5 -1
- package/dist/cjs/globalization/interfaces/cross_tabs/index.js +5 -1
- package/dist/cjs/globalization/interfaces/dashboard/index.js +5 -1
- package/dist/cjs/globalization/interfaces/filters/index.js +5 -1
- package/dist/cjs/globalization/interfaces/formula_builder/index.js +5 -1
- package/dist/cjs/globalization/interfaces/index.js +5 -1
- package/dist/cjs/globalization/interfaces/panel/index.js +5 -1
- package/dist/cjs/globalization/interfaces/style_themes/index.js +5 -1
- package/dist/cjs/globalization/interfaces/table_charts/index.js +5 -1
- package/dist/cjs/globalization/labels/bucket_builder/index.js +5 -1
- package/dist/cjs/globalization/labels/calendar/index.js +5 -1
- package/dist/cjs/globalization/labels/chart_builder/index.js +5 -1
- package/dist/cjs/globalization/labels/columns/index.js +5 -1
- package/dist/cjs/globalization/labels/common/index.js +5 -1
- package/dist/cjs/globalization/labels/cross_tabs/index.js +5 -1
- package/dist/cjs/globalization/labels/dashboard/index.js +5 -1
- package/dist/cjs/globalization/labels/filters/index.js +5 -1
- package/dist/cjs/globalization/labels/formula_builder/index.js +5 -1
- package/dist/cjs/globalization/labels/index.js +5 -1
- package/dist/cjs/globalization/labels/panel/index.js +5 -1
- package/dist/cjs/globalization/labels/style_themes/index.js +5 -1
- package/dist/cjs/globalization/labels/table_charts/index.js +5 -1
- package/dist/cjs/globalization/service/index.js +5 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/interfaces/format/index.js +5 -1
- package/dist/cjs/interfaces/general/index.js +5 -1
- package/dist/cjs/interfaces/index.js +5 -1
- package/dist/cjs/qrvey/constants/index.js +5 -1
- package/dist/cjs/qrvey/helpers/getLookupAnswers.js +1 -2
- package/dist/cjs/qrvey/helpers/index.js +5 -1
- package/dist/cjs/qrvey/index.js +5 -1
- package/dist/cjs/qrvey/interfaces/index.js +5 -1
- package/dist/cjs/services/adapters/index.js +5 -1
- package/dist/cjs/services/api/index.js +5 -1
- package/dist/cjs/services/constants/index.js +5 -1
- package/dist/cjs/services/helpers/index.js +5 -1
- package/dist/cjs/services/index.js +5 -1
- package/dist/cjs/services/interfaces/index.js +5 -1
- package/dist/cjs/stencil/decorators/index.js +5 -1
- package/dist/cjs/stencil/index.js +5 -1
- package/dist/cjs/stencil/util/index.js +5 -1
- package/dist/cjs/tokens/index.js +5 -1
- package/dist/cjs/typescript/decorators/index.js +5 -1
- package/dist/cjs/typescript/index.js +5 -1
- package/dist/filters/helpers/common/getMergeFiltersSettings.js +4 -3
- package/dist/filters/helpers/common/mergeFilters.d.ts +1 -1
- package/dist/filters/helpers/common/mergeFilters.js +25 -9
- package/dist/filters/interfaces/functions/IFFiltersMergeFilters.d.ts +1 -0
- package/dist/format/localization.js +2 -2
- package/dist/qrvey/helpers/getLookupAnswers.js +1 -2
- package/package.json +11 -11
- package/prepareToPublish.js +2 -1
- package/src/filters/helpers/common/getMergeFiltersSettings.ts +1 -0
- package/src/filters/helpers/common/mergeFilters.ts +34 -9
- package/src/filters/interfaces/functions/IFFiltersMergeFilters.ts +1 -0
|
@@ -11,6 +11,7 @@ import { IFSValueRelativeDate } from "../../interfaces/common/IFSValueRelativeDa
|
|
|
11
11
|
import { IFFiltersMergeFilters } from "../../interfaces/functions/IFFiltersMergeFilters";
|
|
12
12
|
import { IFValue } from "../../interfaces/IFValue";
|
|
13
13
|
import { IFUData } from "../../interfaces/ui/IFUData";
|
|
14
|
+
import { getFilterid } from "./getFilterid";
|
|
14
15
|
import { getMergeFiltersSettings } from "./getMergeFiltersSettings";
|
|
15
16
|
import { isInValidator } from "./isInValidator";
|
|
16
17
|
import { isNullValidator } from "./isNullValidator";
|
|
@@ -24,7 +25,7 @@ import { resolveScopeConditions } from "./resolveScopeConditions";
|
|
|
24
25
|
* Merge filter data structures in a new one. The first Filter Data passed in the argument has the priority
|
|
25
26
|
* @param filterData1 The target filter data
|
|
26
27
|
* @param filterData2 the filter data to be merged
|
|
27
|
-
* @param
|
|
28
|
+
* @param settings configuration of the mergeFilter
|
|
28
29
|
* @returns a new filter data structure
|
|
29
30
|
*/
|
|
30
31
|
export function mergeFilters(filterData1: IFSData | IFUData, filterData2: IFSData | IFUData, settings?: IFFiltersMergeFilters): IFSData | IFUData {
|
|
@@ -50,7 +51,7 @@ export function mergeFilters(filterData1: IFSData | IFUData, filterData2: IFSDat
|
|
|
50
51
|
* Gets a new scope structure array by merging two scope structures
|
|
51
52
|
* @param scopes1 the target scope structure
|
|
52
53
|
* @param scopes2 the scope to be merged
|
|
53
|
-
* @param
|
|
54
|
+
* @param settings configuration of the mergeFilter
|
|
54
55
|
* @returns a new scope structure array
|
|
55
56
|
*/
|
|
56
57
|
function mergeScopes(scopes1: IFSScope[] = [], scopes2: IFSScope[] = [], settings?: IFFiltersMergeFilters): IFSScope[] {
|
|
@@ -75,7 +76,7 @@ function mergeScopes(scopes1: IFSScope[] = [], scopes2: IFSScope[] = [], setting
|
|
|
75
76
|
* Gets a new dataset structure array by merging two dataset structures
|
|
76
77
|
* @param datasets1 the target dataset structure
|
|
77
78
|
* @param datasets2 the dataset to be merged
|
|
78
|
-
* @param
|
|
79
|
+
* @param settings configuration of the mergeFilter
|
|
79
80
|
* @returns a new dataset structure array
|
|
80
81
|
*/
|
|
81
82
|
function mergeDatasets(datasets1: IFSDataset[] = [], datasets2: IFSDataset[] = [], settings?: IFFiltersMergeFilters): IFSDataset[] {
|
|
@@ -100,18 +101,20 @@ function mergeDatasets(datasets1: IFSDataset[] = [], datasets2: IFSDataset[] = [
|
|
|
100
101
|
* Gets a new filter structure array by merging two filter structures
|
|
101
102
|
* @param filters1 the target filter structure
|
|
102
103
|
* @param filters2 the filter to be merged
|
|
103
|
-
* @param
|
|
104
|
+
* @param settings configuration of the mergeFilter
|
|
104
105
|
* @returns a new filter structure array
|
|
105
106
|
*/
|
|
106
107
|
function mergeFilterss(filters1: IFSFilter[] = [], filters2: IFSFilter[] = [], settings?: IFFiltersMergeFilters): IFSFilter[] {
|
|
107
108
|
let newFilters = filters1.reduce((filters: IFSFilter[], filter1: IFSFilter) => {
|
|
108
109
|
const filter2Index = filters2.findIndex(filter2 => resolveFilterConditions(filter2, { column: filter1.column, dateSection: filter1.dateSection, panelid: filter1.extras.panelid, property: filter1.property, validator: filter1.validator }));
|
|
109
110
|
if (filter2Index > -1) {
|
|
110
|
-
filter1 = { ...filter1, values: mergeValues(filter1, filters2[filter2Index], settings
|
|
111
|
+
filter1 = { ...filter1, values: mergeValues(filter1, filters2[filter2Index], settings) };
|
|
112
|
+
filter1 = mergeFilterProps(filter1, filters2[filter2Index], settings);
|
|
111
113
|
filters2.splice(filter2Index, 1);
|
|
112
114
|
} else {
|
|
113
115
|
filter1 = { ...filter1, operator: settings.setGroupedColumnOperator ? FILTER_GROUPED_COLUMN_OPERATOR : filter1.operator };
|
|
114
116
|
}
|
|
117
|
+
filter1.filterid = getFilterid(filter1);
|
|
115
118
|
filters.push(filter1);
|
|
116
119
|
return filters;
|
|
117
120
|
}, [] as IFSFilter[]);
|
|
@@ -120,20 +123,42 @@ function mergeFilterss(filters1: IFSFilter[] = [], filters2: IFSFilter[] = [], s
|
|
|
120
123
|
return newFilters;
|
|
121
124
|
}
|
|
122
125
|
|
|
126
|
+
/**
|
|
127
|
+
* Gets a new filter structure when the setting is configured
|
|
128
|
+
* @param filter1 the target filter structure
|
|
129
|
+
* @param filter2 the filter to be used to merge the values
|
|
130
|
+
* @param settings configuration of the mergeFilter
|
|
131
|
+
* @returns a new filter structure with overwritted props
|
|
132
|
+
*/
|
|
133
|
+
function mergeFilterProps(filter1: IFSFilter, filter2: IFSFilter, settings?: IFFiltersMergeFilters) {
|
|
134
|
+
if (settings.overwriteFilterProps) {
|
|
135
|
+
filter1 = {
|
|
136
|
+
...filter1,
|
|
137
|
+
extras: filter2.extras,
|
|
138
|
+
enabled: filter2.enabled || filter1.enabled,
|
|
139
|
+
filterid: filter2.filterid,
|
|
140
|
+
lookupDisplayIndex: filter2.lookupDisplayIndex,
|
|
141
|
+
nullValues: filter2.nullValues,
|
|
142
|
+
selectAll: filter2.selectAll,
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
return filter1;
|
|
146
|
+
}
|
|
147
|
+
|
|
123
148
|
/**
|
|
124
149
|
* Gets a new value structure array by merging two value structures
|
|
125
150
|
* @param filter1 the target filter structure
|
|
126
151
|
* @param filter2 the filter to be used to merge the values
|
|
127
|
-
* @param
|
|
152
|
+
* @param settings configuration of the mergeFilter
|
|
128
153
|
* @returns a new value structure array
|
|
129
154
|
*/
|
|
130
|
-
function mergeValues(filter1: IFSFilter, filter2: IFSFilter,
|
|
155
|
+
function mergeValues(filter1: IFSFilter, filter2: IFSFilter, settings?: IFFiltersMergeFilters): IFValue[] {
|
|
131
156
|
if (isEmpty(filter1) && isEmpty(filter2)) return [];
|
|
132
157
|
|
|
133
158
|
let newValues = [];
|
|
134
159
|
let filter1Values = filter1.values || [];
|
|
135
|
-
const filter2Values =
|
|
136
|
-
if (!
|
|
160
|
+
const filter2Values = filter2.values || [];
|
|
161
|
+
if (!settings.overwriteValues) {
|
|
137
162
|
if (isInValidator(filter1.validator)) {
|
|
138
163
|
newValues = filter2Values.reduce((values: IFValue[], value2: IFSValueRelativeDate) => {
|
|
139
164
|
const value1Index = (filter1Values as IFSValueRelativeDate[]).findIndex(value1 => value2.anchor === value1.anchor && value2.cursor === value1.cursor && value2.includeCurrent === value1.includeCurrent && value2.isCalendarDate === value1.isCalendarDate && value2.number === value1.number && value2.unit === value1.unit);
|