@qrvey/utils 1.4.0-1 → 1.4.0-4

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 (154) 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/getDatasetColumn.js +1 -1
  11. package/dist/cjs/dates/relative/RelativeStatementAdapter.js +6 -24
  12. package/dist/cjs/filters/adapters/FDToFlatUI.js +8 -18
  13. package/dist/cjs/filters/adapters/FDToLogic.js +1 -1
  14. package/dist/cjs/filters/adapters/FDToUI.js +12 -24
  15. package/dist/cjs/filters/adapters/UIToFlatUI.js +4 -14
  16. package/dist/cjs/filters/adapters/UIToOldLogic.js +2 -1
  17. package/dist/cjs/filters/adapters/adaptFilterValues.js +1 -6
  18. package/dist/cjs/filters/adapters/flatUIToFD.js +3 -14
  19. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +15 -49
  20. package/dist/cjs/filters/adapters/flatUIToUI.js +3 -14
  21. package/dist/cjs/filters/adapters/logicToFlatUI.js +20 -32
  22. package/dist/cjs/filters/adapters/transformFilters.js +4 -19
  23. package/dist/cjs/filters/classes/FilterInputErrorHandler.js +0 -8
  24. package/dist/cjs/filters/helpers/applyHierarchyForAggFilters.js +2 -11
  25. package/dist/cjs/filters/helpers/backend/buildExpression.js +2 -1
  26. package/dist/cjs/filters/helpers/backend/buildFilters.js +2 -1
  27. package/dist/cjs/filters/helpers/backend/getAggFiltersBySummaryIndex.js +1 -4
  28. package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +5 -7
  29. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +6 -8
  30. package/dist/cjs/filters/helpers/common/areFiltersEquals.js +3 -2
  31. package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +17 -22
  32. package/dist/cjs/filters/helpers/common/getFilterid.js +9 -8
  33. package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -16
  34. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +12 -18
  35. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +4 -3
  36. package/dist/cjs/filters/helpers/common/getMergeValuesSettings.js +2 -1
  37. package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.js +10 -9
  38. package/dist/cjs/filters/helpers/common/mergeFilters.js +7 -30
  39. package/dist/cjs/filters/helpers/common/mergeValues.js +9 -6
  40. package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +9 -8
  41. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +1 -1
  42. package/dist/cjs/filters/helpers/ui/getUIValues.js +14 -12
  43. package/dist/cjs/filters/helpers/ui/getUpdatedUIFilters.js +1 -1
  44. package/dist/cjs/filters/helpers/ui/resolveUIFlatFilterByParams.js +5 -4
  45. package/dist/cjs/filters/helpers/ui/transformFilterValues.js +3 -14
  46. package/dist/cjs/filters/interfaces/builder/IFilterBuilderSettings.d.ts +2 -0
  47. package/dist/cjs/filters/services/Filters.api.js +44 -45
  48. package/dist/cjs/filters/services/UChartApi.js +246 -257
  49. package/dist/cjs/filters/services/UChartPaginationApi.js +289 -301
  50. package/dist/cjs/format/duration/durationFormatter.js +7 -12
  51. package/dist/cjs/format/format.js +8 -7
  52. package/dist/cjs/format/localization.d.ts +2 -1
  53. package/dist/cjs/format/localization.js +8 -7
  54. package/dist/cjs/general/array/addPropertyToArrayOfObjects.js +1 -1
  55. package/dist/cjs/general/object/getAttribute.js +2 -6
  56. package/dist/cjs/general/object/mergeDeep.js +3 -2
  57. package/dist/cjs/globalization/interfaces/formula_builder/II18nFormulaBuilderListModal.d.ts +2 -1
  58. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +6 -21
  59. package/dist/cjs/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +2 -1
  60. package/dist/cjs/globalization/service/i18nextBuilder.js +31 -19
  61. package/dist/cjs/globalization/service/initI18n.js +13 -2
  62. package/dist/cjs/qrvey/helpers/getCategorizableExpression.js +2 -1
  63. package/dist/cjs/qrvey/helpers/getDataAnswersByColumn.js +1 -4
  64. package/dist/cjs/qrvey/helpers/getDropdownAnswers.js +1 -1
  65. package/dist/cjs/qrvey/helpers/getImageAnswers.js +2 -2
  66. package/dist/cjs/qrvey/helpers/getImageUploadHasAnalysis.js +1 -1
  67. package/dist/cjs/qrvey/helpers/getLookupAnswers.js +4 -4
  68. package/dist/cjs/qrvey/helpers/getLookupDisplays.js +1 -1
  69. package/dist/cjs/qrvey/helpers/getSlidebarAnswers.js +2 -1
  70. package/dist/cjs/qrvey/helpers/getYesNoAnswers.js +1 -5
  71. package/dist/cjs/qrvey/helpers/transformValue.js +2 -1
  72. package/dist/cjs/services/api/Charts.api.js +3 -9
  73. package/dist/cjs/services/api/getAllDatasets.api.js +1 -1
  74. package/dist/cjs/services/api/getAllQrveys.api.js +1 -1
  75. package/dist/cjs/services/api/getDatasetColumns.api.js +1 -1
  76. package/dist/cjs/services/api/getDatasetsByIds.api.js +2 -2
  77. package/dist/cjs/services/api/getModel.api.js +1 -4
  78. package/dist/cjs/services/helpers/Request.js +16 -5
  79. package/dist/column_format/helpers/defineTableChartFormat.js +10 -26
  80. package/dist/column_format/helpers/defineXYChartFormat.js +7 -11
  81. package/dist/columns/constants/COLUMN_INFO.js +23 -49
  82. package/dist/columns/constants/COLUMN_LABEL.js +1 -29
  83. package/dist/columns/constants/COLUMN_PROPERTY_INFO.js +3 -8
  84. package/dist/columns/constants/COLUMN_PROPERTY_LABEL.js +1 -11
  85. package/dist/columns/helpers/getDatasetColumn.js +1 -1
  86. package/dist/dates/relative/RelativeStatementAdapter.js +6 -24
  87. package/dist/filters/adapters/FDToFlatUI.js +8 -18
  88. package/dist/filters/adapters/FDToLogic.js +1 -1
  89. package/dist/filters/adapters/FDToUI.js +12 -24
  90. package/dist/filters/adapters/UIToFlatUI.js +4 -14
  91. package/dist/filters/adapters/UIToOldLogic.js +2 -1
  92. package/dist/filters/adapters/adaptFilterValues.js +1 -6
  93. package/dist/filters/adapters/flatUIToFD.js +3 -14
  94. package/dist/filters/adapters/flatUIToOldLogic.js +15 -49
  95. package/dist/filters/adapters/flatUIToUI.js +3 -14
  96. package/dist/filters/adapters/logicToFlatUI.js +20 -32
  97. package/dist/filters/adapters/transformFilters.js +4 -19
  98. package/dist/filters/classes/FilterInputErrorHandler.js +0 -8
  99. package/dist/filters/helpers/applyHierarchyForAggFilters.js +2 -11
  100. package/dist/filters/helpers/backend/buildExpression.js +2 -1
  101. package/dist/filters/helpers/backend/buildFilters.js +2 -1
  102. package/dist/filters/helpers/backend/getAggFiltersBySummaryIndex.js +1 -4
  103. package/dist/filters/helpers/backend/getLogicByDatasets.js +5 -7
  104. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +6 -8
  105. package/dist/filters/helpers/common/areFiltersEquals.js +3 -2
  106. package/dist/filters/helpers/common/excludeFiltersByParams.js +17 -22
  107. package/dist/filters/helpers/common/getFilterid.js +9 -8
  108. package/dist/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -16
  109. package/dist/filters/helpers/common/getFiltersByParams.js +12 -18
  110. package/dist/filters/helpers/common/getMergeFiltersSettings.js +4 -3
  111. package/dist/filters/helpers/common/getMergeValuesSettings.js +2 -1
  112. package/dist/filters/helpers/common/getParamsToGetFilterSettings.js +10 -9
  113. package/dist/filters/helpers/common/mergeFilters.js +7 -30
  114. package/dist/filters/helpers/common/mergeValues.js +9 -6
  115. package/dist/filters/helpers/common/resolveFilterConditions.js +9 -8
  116. package/dist/filters/helpers/getAggFiltersFromFilterData.js +1 -1
  117. package/dist/filters/helpers/ui/getUIValues.js +14 -12
  118. package/dist/filters/helpers/ui/getUpdatedUIFilters.js +1 -1
  119. package/dist/filters/helpers/ui/resolveUIFlatFilterByParams.js +5 -4
  120. package/dist/filters/helpers/ui/transformFilterValues.js +3 -14
  121. package/dist/filters/interfaces/builder/IFilterBuilderSettings.d.ts +2 -0
  122. package/dist/filters/services/Filters.api.js +44 -45
  123. package/dist/filters/services/UChartApi.js +246 -257
  124. package/dist/filters/services/UChartPaginationApi.js +289 -301
  125. package/dist/format/duration/durationFormatter.js +7 -12
  126. package/dist/format/format.js +8 -7
  127. package/dist/format/localization.d.ts +2 -1
  128. package/dist/format/localization.js +7 -6
  129. package/dist/general/array/addPropertyToArrayOfObjects.js +1 -1
  130. package/dist/general/object/getAttribute.js +2 -6
  131. package/dist/general/object/mergeDeep.js +3 -2
  132. package/dist/globalization/interfaces/formula_builder/II18nFormulaBuilderListModal.d.ts +2 -1
  133. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +6 -21
  134. package/dist/globalization/labels/formula_builder/I18N_FORMULA_BUILDER.js +2 -1
  135. package/dist/globalization/service/i18nextBuilder.js +31 -19
  136. package/dist/globalization/service/initI18n.js +13 -2
  137. package/dist/qrvey/helpers/getCategorizableExpression.js +2 -1
  138. package/dist/qrvey/helpers/getDataAnswersByColumn.js +1 -4
  139. package/dist/qrvey/helpers/getDropdownAnswers.js +1 -1
  140. package/dist/qrvey/helpers/getImageAnswers.js +2 -2
  141. package/dist/qrvey/helpers/getImageUploadHasAnalysis.js +1 -1
  142. package/dist/qrvey/helpers/getLookupAnswers.js +4 -4
  143. package/dist/qrvey/helpers/getLookupDisplays.js +1 -1
  144. package/dist/qrvey/helpers/getSlidebarAnswers.js +2 -1
  145. package/dist/qrvey/helpers/getYesNoAnswers.js +1 -5
  146. package/dist/qrvey/helpers/transformValue.js +2 -1
  147. package/dist/services/api/Charts.api.js +3 -9
  148. package/dist/services/api/getAllDatasets.api.js +1 -1
  149. package/dist/services/api/getAllQrveys.api.js +1 -1
  150. package/dist/services/api/getDatasetColumns.api.js +1 -1
  151. package/dist/services/api/getDatasetsByIds.api.js +2 -2
  152. package/dist/services/api/getModel.api.js +1 -4
  153. package/dist/services/helpers/Request.js +16 -5
  154. package/package.json +3 -3
@@ -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,7 +8,7 @@ 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
14
  return;
@@ -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;
@@ -1,3 +1,12 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import UChartPaginationApi from "./UChartPaginationApi";
2
11
  import UChartApi from "./UChartApi";
3
12
  import { isRangeValidator } from "../helpers/common/isRangeValidator";
@@ -19,10 +28,6 @@ import { getDatasetByColumn } from "../../qrvey/helpers/getDatasetByColumn";
19
28
  import { getLogicByDatasets } from "../helpers/backend/getLogicByDatasets";
20
29
  import { getFiltersByParams } from "../helpers/common/getFiltersByParams";
21
30
  export class FiltersApi {
22
- // abortCtrl: AbortController;
23
- config;
24
- chartApi;
25
- chartPaginationApi;
26
31
  constructor(cfg) {
27
32
  this.setConfig(cfg);
28
33
  this.chartPaginationApi = new UChartPaginationApi();
@@ -35,8 +40,7 @@ export class FiltersApi {
35
40
  */
36
41
  getModel(qrveyid) {
37
42
  const config = isEmpty(qrveyid)
38
- ? { ...this.config }
39
- : { ...this.config, qrveyid };
43
+ ? Object.assign({}, this.config) : Object.assign(Object.assign({}, this.config), { qrveyid });
40
44
  return getModel(config, {
41
45
  includeInfo: [
42
46
  "datalinkInfo",
@@ -58,14 +62,15 @@ export class FiltersApi {
58
62
  // return DataTokensApi.getAll(config);
59
63
  // }
60
64
  getData(config, resetApi = false) {
65
+ var _a, _b, _c, _d, _e, _f;
61
66
  let promise;
62
- if (areStaticColumnValues(config.filter?.column) &&
63
- isEmpty(config.filter?.column.aggregate)) {
67
+ if (areStaticColumnValues((_a = config.filter) === null || _a === void 0 ? void 0 : _a.column) &&
68
+ isEmpty((_b = config.filter) === null || _b === void 0 ? void 0 : _b.column.aggregate)) {
64
69
  promise = getValuesFromDataset({
65
- column: config.filter?.column,
66
- property: config.filter?.property,
67
- lookupDisplay: config.filter?.lookupDisplayIndex,
68
- dataset: getDatasetByColumn(config.filter?.column, config.datasets),
70
+ column: (_c = config.filter) === null || _c === void 0 ? void 0 : _c.column,
71
+ property: (_d = config.filter) === null || _d === void 0 ? void 0 : _d.property,
72
+ lookupDisplay: (_e = config.filter) === null || _e === void 0 ? void 0 : _e.lookupDisplayIndex,
73
+ dataset: getDatasetByColumn((_f = config.filter) === null || _f === void 0 ? void 0 : _f.column, config.datasets),
69
74
  value: config.valueText,
70
75
  });
71
76
  }
@@ -82,69 +87,63 @@ export class FiltersApi {
82
87
  * @param resetApi flag to determine when the api should be reseted.
83
88
  * @returns a promise with a preview of resulting data.
84
89
  */
85
- async getDataValues(config, resetApi = false) {
86
- let api;
87
- if (isRangeValidator(config.filter.validator)) {
88
- this.chartPaginationApi.afterKey = undefined;
89
- api = this.chartApi;
90
- }
91
- else {
92
- api = this.chartPaginationApi;
93
- }
94
- return api.getChartResult(this.config, this.getFilter(config), this.getLogic(config), this.getChartRequest(config), resetApi);
90
+ getDataValues(config, resetApi = false) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ let api;
93
+ if (isRangeValidator(config.filter.validator)) {
94
+ this.chartPaginationApi.afterKey = undefined;
95
+ api = this.chartApi;
96
+ }
97
+ else {
98
+ api = this.chartPaginationApi;
99
+ }
100
+ return api.getChartResult(this.config, this.getFilter(config), this.getLogic(config), this.getChartRequest(config), resetApi);
101
+ });
95
102
  }
96
103
  getLogic(config) {
104
+ var _a;
97
105
  const scopes = this.getAvailableScopeIds(config);
98
106
  let filterData = getFiltersByVisibility(config.filterData, scopes);
99
- const dataset = config.datasets.find((d) => d.qrveyid === config.filter?.column.qrveyid);
100
- filterData = getFiltersByParams(filterData, { qrveyid: dataset?.qrveyid }, {
107
+ const dataset = config.datasets.find((d) => { var _a; return d.qrveyid === ((_a = config.filter) === null || _a === void 0 ? void 0 : _a.column.qrveyid); });
108
+ filterData = getFiltersByParams(filterData, { qrveyid: dataset === null || dataset === void 0 ? void 0 : dataset.qrveyid }, {
101
109
  letPassUndefinedProperties: { filter: true },
102
110
  filterEmptyArrays: { filter: false },
103
111
  });
104
112
  filterData = excludeFiltersByAggregateColumn(filterData);
105
113
  const logics = FDToLogic(filterData);
106
- const hierarchyLogic = getLogicByScopesHierarchy(logics, scopes, config.filter?.extras.scope);
114
+ const hierarchyLogic = getLogicByScopesHierarchy(logics, scopes, (_a = config.filter) === null || _a === void 0 ? void 0 : _a.extras.scope);
107
115
  return [
108
116
  ...hierarchyLogic,
109
117
  ...(getLogicByDatasets(buildUserFilters(config.userFilters), isEmpty(dataset) ? [] : [dataset.qrveyid]) || []),
110
118
  ];
111
119
  }
112
120
  getFilter(config) {
113
- return {
114
- ...config.filter,
115
- values: !isEmpty(config.valueText)
121
+ return Object.assign(Object.assign({}, config.filter), { values: !isEmpty(config.valueText)
116
122
  ? [{ value: config.valueText, enabled: true }]
117
- : undefined,
118
- };
123
+ : undefined });
119
124
  }
120
125
  getChartRequest(config) {
126
+ var _a;
121
127
  const scopes = this.getAvailableScopeIds(config);
122
- return applyHierarchyForAggFilters(config.chartRequest, scopes, config.filter?.extras.scope);
128
+ return applyHierarchyForAggFilters(config.chartRequest, scopes, (_a = config.filter) === null || _a === void 0 ? void 0 : _a.extras.scope);
123
129
  }
124
130
  /**
125
131
  * Gets the available scopes and scope IDs
126
132
  * @returns a collection of the pair Scopes and Scope IDs
127
133
  */
128
134
  getAvailableScopeIds(config) {
129
- return getAvailableScopes({
130
- ...getAvailableScopesIDsByConfig(config),
131
- panelid: FILTER_SCOPE.CHART === config.filter?.extras.scope
132
- ? config.filter?.extras.scopeid
133
- : undefined,
134
- scopeid: config.filter?.extras.scopeid,
135
- qrveyid: config.filter?.column?.qrveyid,
136
- defaultid: config.filter?.column?.qrveyid,
137
- scope: undefined,
138
- predefinedScopes: [
139
- { label: FILTER_SCOPE.DATA, id: config.filter?.column?.qrveyid },
140
- ],
141
- });
135
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
136
+ return getAvailableScopes(Object.assign(Object.assign({}, getAvailableScopesIDsByConfig(config)), { panelid: FILTER_SCOPE.CHART === ((_a = config.filter) === null || _a === void 0 ? void 0 : _a.extras.scope)
137
+ ? (_b = config.filter) === null || _b === void 0 ? void 0 : _b.extras.scopeid
138
+ : undefined, scopeid: (_c = config.filter) === null || _c === void 0 ? void 0 : _c.extras.scopeid, qrveyid: (_e = (_d = config.filter) === null || _d === void 0 ? void 0 : _d.column) === null || _e === void 0 ? void 0 : _e.qrveyid, defaultid: (_g = (_f = config.filter) === null || _f === void 0 ? void 0 : _f.column) === null || _g === void 0 ? void 0 : _g.qrveyid, scope: undefined, predefinedScopes: [
139
+ { label: FILTER_SCOPE.DATA, id: (_j = (_h = config.filter) === null || _h === void 0 ? void 0 : _h.column) === null || _j === void 0 ? void 0 : _j.qrveyid },
140
+ ] }));
142
141
  }
143
142
  /**
144
143
  * Set the config into the Filter Builder Api class
145
144
  * @param config the config.
146
145
  */
147
146
  setConfig(config) {
148
- this.config = { ...config };
147
+ this.config = Object.assign({}, config);
149
148
  }
150
149
  }