@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.
Files changed (156) hide show
  1. package/README.md +1 -1
  2. package/dist/charts/helpers/isSimpleTableChart.js +2 -1
  3. package/dist/cjs/charts/helpers/isSimpleTableChart.js +2 -1
  4. package/dist/cjs/column_format/helpers/defineTableChartFormat.js +10 -26
  5. package/dist/cjs/column_format/helpers/defineXYChartFormat.js +7 -11
  6. package/dist/cjs/columns/constants/COLUMN_INFO.js +23 -49
  7. package/dist/cjs/columns/constants/COLUMN_LABEL.js +1 -29
  8. package/dist/cjs/columns/constants/COLUMN_PROPERTY_INFO.js +3 -8
  9. package/dist/cjs/columns/constants/COLUMN_PROPERTY_LABEL.js +1 -11
  10. package/dist/cjs/columns/helpers/getColumnsLabel.js +0 -5
  11. package/dist/cjs/columns/helpers/getDatasetColumn.js +1 -1
  12. package/dist/cjs/columns/helpers/getModelColumn.js +0 -1
  13. package/dist/cjs/dates/relative/RelativeStatementAdapter.js +6 -24
  14. package/dist/cjs/filters/adapters/FDToFlatUI.js +8 -18
  15. package/dist/cjs/filters/adapters/FDToLogic.js +1 -1
  16. package/dist/cjs/filters/adapters/FDToUI.js +12 -24
  17. package/dist/cjs/filters/adapters/UIToFlatUI.js +4 -14
  18. package/dist/cjs/filters/adapters/UIToOldLogic.js +2 -1
  19. package/dist/cjs/filters/adapters/adaptFilterValues.js +1 -6
  20. package/dist/cjs/filters/adapters/flatUIToFD.js +3 -14
  21. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +15 -49
  22. package/dist/cjs/filters/adapters/flatUIToUI.js +3 -14
  23. package/dist/cjs/filters/adapters/logicToFlatUI.js +20 -32
  24. package/dist/cjs/filters/adapters/transformFilters.js +4 -19
  25. package/dist/cjs/filters/classes/FilterInputErrorHandler.js +0 -8
  26. package/dist/cjs/filters/helpers/applyHierarchyForAggFilters.js +2 -11
  27. package/dist/cjs/filters/helpers/backend/buildExpression.js +2 -1
  28. package/dist/cjs/filters/helpers/backend/buildFilters.js +2 -1
  29. package/dist/cjs/filters/helpers/backend/getAggFiltersBySummaryIndex.js +1 -4
  30. package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +5 -7
  31. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +6 -8
  32. package/dist/cjs/filters/helpers/common/areFiltersEquals.js +3 -2
  33. package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +17 -22
  34. package/dist/cjs/filters/helpers/common/getFilterid.js +9 -8
  35. package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -16
  36. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +12 -18
  37. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +4 -3
  38. package/dist/cjs/filters/helpers/common/getMergeValuesSettings.js +2 -1
  39. package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.js +10 -9
  40. package/dist/cjs/filters/helpers/common/mergeFilters.js +7 -30
  41. package/dist/cjs/filters/helpers/common/mergeValues.js +9 -6
  42. package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +9 -8
  43. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +2 -42
  44. package/dist/cjs/filters/helpers/ui/getUIValues.js +14 -12
  45. package/dist/cjs/filters/helpers/ui/getUpdatedUIFilters.js +1 -1
  46. package/dist/cjs/filters/helpers/ui/resolveUIFlatFilterByParams.js +5 -4
  47. package/dist/cjs/filters/helpers/ui/transformFilterValues.js +3 -14
  48. package/dist/cjs/filters/interfaces/builder/IFilterBuilderSettings.d.ts +2 -0
  49. package/dist/cjs/filters/services/Filters.api.js +44 -45
  50. package/dist/cjs/filters/services/UChartApi.js +246 -257
  51. package/dist/cjs/filters/services/UChartPaginationApi.js +289 -301
  52. package/dist/cjs/format/definition.js +1 -1
  53. package/dist/cjs/format/duration/durationFormatter.js +7 -12
  54. package/dist/cjs/format/format.js +8 -7
  55. package/dist/cjs/format/localization.d.ts +2 -1
  56. package/dist/cjs/format/localization.js +8 -7
  57. package/dist/cjs/general/array/addPropertyToArrayOfObjects.js +1 -1
  58. package/dist/cjs/general/object/getAttribute.js +2 -6
  59. package/dist/cjs/general/object/mergeDeep.js +3 -2
  60. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +6 -21
  61. package/dist/cjs/globalization/service/i18nextBuilder.js +31 -19
  62. package/dist/cjs/globalization/service/initI18n.js +13 -2
  63. package/dist/cjs/qrvey/helpers/getCategorizableExpression.js +2 -1
  64. package/dist/cjs/qrvey/helpers/getDataAnswersByColumn.js +1 -4
  65. package/dist/cjs/qrvey/helpers/getDropdownAnswers.js +1 -1
  66. package/dist/cjs/qrvey/helpers/getImageAnswers.js +2 -2
  67. package/dist/cjs/qrvey/helpers/getImageUploadHasAnalysis.js +1 -1
  68. package/dist/cjs/qrvey/helpers/getLookupAnswers.js +4 -4
  69. package/dist/cjs/qrvey/helpers/getLookupDisplays.js +1 -1
  70. package/dist/cjs/qrvey/helpers/getSlidebarAnswers.js +2 -1
  71. package/dist/cjs/qrvey/helpers/getYesNoAnswers.js +1 -5
  72. package/dist/cjs/qrvey/helpers/transformValue.js +2 -1
  73. package/dist/cjs/services/api/Charts.api.js +3 -9
  74. package/dist/cjs/services/api/getAllDatasets.api.js +1 -1
  75. package/dist/cjs/services/api/getAllQrveys.api.js +1 -1
  76. package/dist/cjs/services/api/getDatasetColumns.api.js +1 -1
  77. package/dist/cjs/services/api/getDatasetsByIds.api.js +2 -2
  78. package/dist/cjs/services/api/getModel.api.js +1 -4
  79. package/dist/cjs/services/helpers/Request.js +16 -5
  80. package/dist/column_format/helpers/defineTableChartFormat.js +10 -26
  81. package/dist/column_format/helpers/defineXYChartFormat.js +7 -11
  82. package/dist/columns/constants/COLUMN_INFO.js +23 -49
  83. package/dist/columns/constants/COLUMN_LABEL.js +1 -29
  84. package/dist/columns/constants/COLUMN_PROPERTY_INFO.js +3 -8
  85. package/dist/columns/constants/COLUMN_PROPERTY_LABEL.js +1 -11
  86. package/dist/columns/helpers/getColumnsLabel.js +0 -5
  87. package/dist/columns/helpers/getDatasetColumn.js +1 -1
  88. package/dist/columns/helpers/getModelColumn.js +0 -1
  89. package/dist/dates/relative/RelativeStatementAdapter.js +6 -24
  90. package/dist/filters/adapters/FDToFlatUI.js +8 -18
  91. package/dist/filters/adapters/FDToLogic.js +1 -1
  92. package/dist/filters/adapters/FDToUI.js +12 -24
  93. package/dist/filters/adapters/UIToFlatUI.js +4 -14
  94. package/dist/filters/adapters/UIToOldLogic.js +2 -1
  95. package/dist/filters/adapters/adaptFilterValues.js +1 -6
  96. package/dist/filters/adapters/flatUIToFD.js +3 -14
  97. package/dist/filters/adapters/flatUIToOldLogic.js +15 -49
  98. package/dist/filters/adapters/flatUIToUI.js +3 -14
  99. package/dist/filters/adapters/logicToFlatUI.js +20 -32
  100. package/dist/filters/adapters/transformFilters.js +4 -19
  101. package/dist/filters/classes/FilterInputErrorHandler.js +0 -8
  102. package/dist/filters/helpers/applyHierarchyForAggFilters.js +2 -11
  103. package/dist/filters/helpers/backend/buildExpression.js +2 -1
  104. package/dist/filters/helpers/backend/buildFilters.js +2 -1
  105. package/dist/filters/helpers/backend/getAggFiltersBySummaryIndex.js +1 -4
  106. package/dist/filters/helpers/backend/getLogicByDatasets.js +5 -7
  107. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +6 -8
  108. package/dist/filters/helpers/common/areFiltersEquals.js +3 -2
  109. package/dist/filters/helpers/common/excludeFiltersByParams.js +17 -22
  110. package/dist/filters/helpers/common/getFilterid.js +9 -8
  111. package/dist/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -16
  112. package/dist/filters/helpers/common/getFiltersByParams.js +12 -18
  113. package/dist/filters/helpers/common/getMergeFiltersSettings.js +4 -3
  114. package/dist/filters/helpers/common/getMergeValuesSettings.js +2 -1
  115. package/dist/filters/helpers/common/getParamsToGetFilterSettings.js +10 -9
  116. package/dist/filters/helpers/common/mergeFilters.js +7 -30
  117. package/dist/filters/helpers/common/mergeValues.js +9 -6
  118. package/dist/filters/helpers/common/resolveFilterConditions.js +9 -8
  119. package/dist/filters/helpers/getAggFiltersFromFilterData.js +2 -42
  120. package/dist/filters/helpers/ui/getUIValues.js +14 -12
  121. package/dist/filters/helpers/ui/getUpdatedUIFilters.js +1 -1
  122. package/dist/filters/helpers/ui/resolveUIFlatFilterByParams.js +5 -4
  123. package/dist/filters/helpers/ui/transformFilterValues.js +3 -14
  124. package/dist/filters/interfaces/builder/IFilterBuilderSettings.d.ts +2 -0
  125. package/dist/filters/services/Filters.api.js +44 -45
  126. package/dist/filters/services/UChartApi.js +246 -257
  127. package/dist/filters/services/UChartPaginationApi.js +289 -301
  128. package/dist/format/definition.js +1 -1
  129. package/dist/format/duration/durationFormatter.js +7 -12
  130. package/dist/format/format.js +8 -7
  131. package/dist/format/localization.d.ts +2 -1
  132. package/dist/format/localization.js +7 -6
  133. package/dist/general/array/addPropertyToArrayOfObjects.js +1 -1
  134. package/dist/general/object/getAttribute.js +2 -6
  135. package/dist/general/object/mergeDeep.js +3 -2
  136. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +6 -21
  137. package/dist/globalization/service/i18nextBuilder.js +31 -19
  138. package/dist/globalization/service/initI18n.js +13 -2
  139. package/dist/qrvey/helpers/getCategorizableExpression.js +2 -1
  140. package/dist/qrvey/helpers/getDataAnswersByColumn.js +1 -4
  141. package/dist/qrvey/helpers/getDropdownAnswers.js +1 -1
  142. package/dist/qrvey/helpers/getImageAnswers.js +2 -2
  143. package/dist/qrvey/helpers/getImageUploadHasAnalysis.js +1 -1
  144. package/dist/qrvey/helpers/getLookupAnswers.js +4 -4
  145. package/dist/qrvey/helpers/getLookupDisplays.js +1 -1
  146. package/dist/qrvey/helpers/getSlidebarAnswers.js +2 -1
  147. package/dist/qrvey/helpers/getYesNoAnswers.js +1 -5
  148. package/dist/qrvey/helpers/transformValue.js +2 -1
  149. package/dist/services/api/Charts.api.js +3 -9
  150. package/dist/services/api/getAllDatasets.api.js +1 -1
  151. package/dist/services/api/getAllQrveys.api.js +1 -1
  152. package/dist/services/api/getDatasetColumns.api.js +1 -1
  153. package/dist/services/api/getDatasetsByIds.api.js +2 -2
  154. package/dist/services/api/getModel.api.js +1 -4
  155. package/dist/services/helpers/Request.js +16 -5
  156. 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
- ...data,
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 { ...filter };
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) => !isEmpty(filter) &&
71
- (!settings.filterEmptyArrays.filter ||
72
- filter.selectAll ||
73
- filter.values?.length > 0)),
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?.overwriteFilterProps ?? true,
9
- overwriteValues: settings?.overwriteValues ?? false,
10
- setGroupedColumnOperator: settings?.setGroupedColumnOperator ?? true,
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?.overwriteValues ?? false,
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?.letPassUndefinedParams?.dataset ?? true,
10
- filter: settings?.letPassUndefinedParams?.filter ?? true,
11
- scope: settings?.letPassUndefinedParams?.scope ?? true,
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?.letPassUndefinedProperties?.dataset ?? false,
15
- filter: settings?.letPassUndefinedProperties?.filter ?? false,
16
- scope: settings?.letPassUndefinedProperties?.scope ?? false,
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?.filterEmptyArrays?.dataset ?? true,
20
- filter: settings?.filterEmptyArrays?.filter ?? true,
21
- scope: settings?.filterEmptyArrays?.scope ?? true,
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 ?? values[value1Index].displayed,
42
- enabled: value2.enabled ?? values[value1Index].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 ?? values[value1Index].displayed,
61
- enabled: value2.enabled ?? values[value1Index].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 ?? values[value1Index].displayed,
80
- enabled: value2.enabled ?? values[value1Index].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?.id)) ||
37
- params.column?.id === filter.column.id) &&
38
- ((letPassUndefinedParams && isEmpty(params.column?.qrveyid)) ||
39
- params.column?.qrveyid === filter.column.qrveyid) &&
40
- ((letPassUndefinedParams && isEmpty(params.column?.linkid)) ||
41
- params.column?.linkid === filter.column.linkid) &&
42
- ((letPassUndefinedParams && isEmpty(params.column?.aggregate)) ||
43
- params.column?.aggregate === filter.column.aggregate))));
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 = { ...getFiltersByAggregateColumn(filterData) };
11
+ filterData = Object.assign({}, getFiltersByAggregateColumn(filterData));
12
12
  if (isEmpty(filterData))
13
13
  return;
14
- // const uFilters = FDToFlatUI(filterData);
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?.translate
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]?.displayed,
64
+ displayed: (_a = values[0]) === null || _a === void 0 ? void 0 : _a.displayed,
64
65
  enabled: settings.addEnableds
65
- ? values[0]?.enabled
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?.translate
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?.translate
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?.translate
78
- ? settings?.translate("filter.relative_container.current_date")
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?.addEnableds ?? false,
116
- rangeSeparator: settings?.rangeSeparator || "-",
117
- rangeSeparatorPath: settings?.rangeSeparatorPath,
118
- rankingGroupIndex: settings?.rankingGroupIndex,
119
- translate: settings?.translate,
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) {
@@ -32,5 +32,5 @@ export function getUpdatedUIFilters(data, datasets = []) {
32
32
  });
33
33
  return scopes;
34
34
  });
35
- return { ...data, scopes: updatedScopes };
35
+ return Object.assign(Object.assign({}, data), { scopes: updatedScopes });
36
36
  }
@@ -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?.id &&
11
- filter.column.qrveyid === params.column?.qrveyid &&
12
- filter.column.linkid === params.column?.linkid &&
13
- filter.column.aggregate === params.column?.aggregate)) &&
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;