@qrvey/utils 1.5.0-9 → 1.5.0

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 (292) hide show
  1. package/README.md +1 -1
  2. package/dist/charts/adapters/endpointData.js +27 -25
  3. package/dist/charts/adapters/endpointDataGet.js +15 -16
  4. package/dist/cjs/charts/adapters/endpointData.js +27 -25
  5. package/dist/cjs/charts/adapters/endpointDataGet.js +15 -16
  6. package/dist/cjs/column_format/helpers/columnTypeByChart.js +1 -2
  7. package/dist/cjs/column_format/helpers/defineTableChartFormat.js +3 -3
  8. package/dist/cjs/column_format/helpers/defineXYChartFormat.js +10 -17
  9. package/dist/cjs/columns/constants/COLUMN.js +1 -1
  10. package/dist/cjs/columns/constants/COLUMN_PROPERTY.js +2 -2
  11. package/dist/cjs/columns/helpers/getDatasetColumn.d.ts +9 -1
  12. package/dist/cjs/columns/helpers/getDatasetColumn.js +31 -4
  13. package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.d.ts +6 -5
  14. package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.js +22 -8
  15. package/dist/cjs/columns/helpers/getModelColumn.d.ts +4 -4
  16. package/dist/cjs/columns/helpers/getModelColumn.js +9 -19
  17. package/dist/cjs/columns/helpers/isComplexColumn.d.ts +5 -0
  18. package/dist/cjs/columns/helpers/isComplexColumn.js +5 -0
  19. package/dist/cjs/columns/helpers/isDateColumn.d.ts +5 -0
  20. package/dist/cjs/columns/helpers/isDateColumn.js +8 -1
  21. package/dist/cjs/columns/helpers/isNumericalColumn.d.ts +5 -0
  22. package/dist/cjs/columns/helpers/isNumericalColumn.js +7 -1
  23. package/dist/cjs/dates/adapters/dateToHms.d.ts +1 -1
  24. package/dist/cjs/dates/adapters/dateToHms.js +6 -8
  25. package/dist/cjs/dates/adapters/dateToMdyDate.js +6 -9
  26. package/dist/cjs/dates/adapters/dateToMonthYear.js +6 -4
  27. package/dist/cjs/dates/adapters/dateToQuarterYear.d.ts +2 -2
  28. package/dist/cjs/dates/adapters/dateToQuarterYear.js +8 -6
  29. package/dist/cjs/dates/adapters/dateToWeekYear.js +5 -3
  30. package/dist/cjs/dates/adapters/dateToYear.d.ts +1 -1
  31. package/dist/cjs/dates/adapters/dateToYear.js +6 -4
  32. package/dist/cjs/dates/adapters/weekYearToDate.js +1 -6
  33. package/dist/cjs/dates/constants/DATE_DISTINCT_PROPERTY.js +1 -1
  34. package/dist/cjs/dates/constants/DATE_FORMAT.js +7 -7
  35. package/dist/cjs/dates/constants/DATE_FORMATS.d.ts +1 -0
  36. package/dist/cjs/dates/constants/DATE_FORMATS.js +22 -0
  37. package/dist/cjs/dates/constants/DATE_GROUPING_ALL_PROPERTIES.d.ts +1 -0
  38. package/dist/cjs/dates/constants/DATE_GROUPING_ALL_PROPERTIES.js +9 -0
  39. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSIONS.d.ts +1 -0
  40. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSIONS.js +23 -0
  41. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.d.ts +3 -0
  42. package/dist/cjs/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.js +40 -0
  43. package/dist/cjs/dates/constants/index.d.ts +4 -0
  44. package/dist/cjs/dates/constants/index.js +4 -0
  45. package/dist/cjs/dates/helpers/{includeDateTokens.d.ts → areIncludedDateTokens.d.ts} +1 -1
  46. package/dist/cjs/dates/helpers/{includeDateTokens.js → areIncludedDateTokens.js} +5 -4
  47. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -2
  48. package/dist/cjs/dates/helpers/getDateFormatRegularExpressionInArray.js +9 -42
  49. package/dist/{dates/range → cjs/dates/helpers}/getDateRange.d.ts +3 -3
  50. package/dist/cjs/dates/{range → helpers}/getDateRange.js +73 -69
  51. package/dist/cjs/dates/helpers/getFormattedDateByFormat.d.ts +1 -0
  52. package/dist/cjs/dates/helpers/getFormattedDateByFormat.js +17 -17
  53. package/dist/cjs/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
  54. package/dist/cjs/dates/helpers/getSeparatorByDateFormat.js +1 -1
  55. package/dist/cjs/dates/helpers/getWeek.d.ts +6 -4
  56. package/dist/cjs/dates/helpers/getWeek.js +6 -3
  57. package/dist/cjs/dates/helpers/index.d.ts +4 -1
  58. package/dist/cjs/dates/helpers/index.js +4 -1
  59. package/dist/cjs/dates/helpers/isValidPotentialDate.d.ts +6 -0
  60. package/dist/cjs/dates/helpers/isValidPotentialDate.js +18 -0
  61. package/dist/cjs/dates/index.d.ts +0 -1
  62. package/dist/cjs/dates/index.js +0 -1
  63. package/dist/cjs/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.js +5 -5
  64. package/dist/cjs/filters/adapters/FDToFlatUI.js +4 -4
  65. package/dist/cjs/filters/adapters/FDToUI.js +3 -3
  66. package/dist/cjs/filters/adapters/UIToFD.js +3 -3
  67. package/dist/cjs/filters/adapters/UIToFlatUI.js +3 -3
  68. package/dist/cjs/filters/adapters/UIToOldLogic.js +6 -6
  69. package/dist/cjs/filters/adapters/adaptFilterData.js +7 -7
  70. package/dist/cjs/filters/adapters/flatUIToFD.js +24 -24
  71. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +42 -49
  72. package/dist/cjs/filters/adapters/flatUIToUI.js +29 -29
  73. package/dist/cjs/filters/adapters/index.d.ts +0 -1
  74. package/dist/cjs/filters/adapters/index.js +0 -1
  75. package/dist/cjs/filters/adapters/logicToFlatUI.js +6 -8
  76. package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +2 -1
  77. package/dist/cjs/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +1 -0
  78. package/dist/cjs/filters/helpers/OLD_getAggFilters.js +5 -4
  79. package/dist/cjs/filters/helpers/backend/buildExpression.js +1 -1
  80. package/dist/cjs/filters/helpers/backend/buildFilters.js +6 -16
  81. package/dist/cjs/filters/helpers/backend/getBackendValidator.js +1 -1
  82. package/dist/cjs/filters/helpers/backend/getBackendValues.js +1 -3
  83. package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +2 -2
  84. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +2 -2
  85. package/dist/cjs/filters/helpers/backend/getLogicByScopes.js +2 -2
  86. package/dist/cjs/filters/helpers/backend/getLogicByScopesHierarchy.js +0 -2
  87. package/dist/cjs/filters/helpers/common/excludeFiltersByAggregateColumn.js +3 -3
  88. package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +7 -9
  89. package/dist/cjs/filters/helpers/common/excludeFiltersByScopes.js +3 -3
  90. package/dist/cjs/filters/helpers/common/getFilterLabel.js +1 -1
  91. package/dist/cjs/filters/helpers/common/getFiltersByAggregateColumn.js +3 -3
  92. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +15 -17
  93. package/dist/cjs/filters/helpers/common/getFiltersByScopes.js +3 -3
  94. package/dist/cjs/filters/helpers/common/getFiltersByScopesIds.js +4 -4
  95. package/dist/cjs/filters/helpers/common/getFiltersByVisibility.js +4 -4
  96. package/dist/cjs/filters/helpers/common/mergeFilters.js +23 -19
  97. package/dist/cjs/filters/helpers/common/mergeValues.js +2 -2
  98. package/dist/cjs/filters/helpers/filtersTokensToString.js +4 -1
  99. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +2 -2
  100. package/dist/cjs/filters/helpers/getTokensFromFilters.js +17 -3
  101. package/dist/cjs/filters/helpers/ui/excludeUIFiltersByAggregate.js +2 -2
  102. package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +2 -2
  103. package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.js +3 -3
  104. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.js +2 -2
  105. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.js +2 -2
  106. package/dist/cjs/filters/helpers/ui/getUIValues.js +9 -11
  107. package/dist/cjs/filters/helpers/ui/transformFilterValues.js +1 -3
  108. package/dist/cjs/filters/services/Filters.api.d.ts +4 -4
  109. package/dist/cjs/filters/services/Filters.api.js +7 -7
  110. package/dist/cjs/filters/services/UChartApi.d.ts +11 -11
  111. package/dist/cjs/filters/services/UChartApi.js +176 -185
  112. package/dist/cjs/filters/services/UChartPaginationApi.d.ts +13 -13
  113. package/dist/cjs/filters/services/UChartPaginationApi.js +198 -212
  114. package/dist/cjs/format/duration/addDurationFormat.d.ts +1 -1
  115. package/dist/cjs/format/duration/addDurationFormat.js +2 -2
  116. package/dist/cjs/format/duration/durationFormatter.d.ts +1 -1
  117. package/dist/cjs/format/duration/durationFormatter.js +7 -6
  118. package/dist/cjs/format/format.js +38 -33
  119. package/dist/cjs/format/localization.js +1 -2
  120. package/dist/cjs/general/mix/importScripts.js +8 -14
  121. package/dist/cjs/general/mix/randomId.js +11 -10
  122. package/dist/cjs/general/object/get.js +4 -4
  123. package/dist/cjs/general/object/getAttribute.js +1 -1
  124. package/dist/cjs/general/object/mapValues.js +2 -2
  125. package/dist/cjs/general/object/mergeDeep.js +6 -4
  126. package/dist/cjs/general/object/serialize.js +3 -3
  127. package/dist/cjs/general/string/padLeadingZeros.js +2 -2
  128. package/dist/cjs/globalization/helpers/getI18nDateGroupLabel.js +13 -10
  129. package/dist/cjs/globalization/helpers/getReverseI18nGroupLabel.js +12 -9
  130. package/dist/cjs/globalization/interfaces/II18nResource.d.ts +1 -1
  131. package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderAxisStyle.d.ts +9 -0
  132. package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderDurationParts.d.ts +1 -0
  133. package/dist/cjs/globalization/interfaces/common/II18nCommon.d.ts +2 -0
  134. package/dist/cjs/globalization/interfaces/filters/II18nTokenBox.d.ts +1 -0
  135. package/dist/cjs/globalization/labels/I18N_DEFAULT.js +1 -1
  136. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
  137. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +13 -4
  138. package/dist/cjs/globalization/labels/common/I18N_COMMON.js +4 -0
  139. package/dist/cjs/qrvey/helpers/getLookupAnswers.js +4 -6
  140. package/dist/cjs/qrvey/helpers/getValueWithSuffixes.js +1 -1
  141. package/dist/cjs/services/adapters/index.d.ts +2 -1
  142. package/dist/cjs/services/adapters/index.js +2 -1
  143. package/dist/cjs/services/api/getAllDatasets.api.js +6 -8
  144. package/dist/cjs/services/helpers/Request.js +5 -4
  145. package/dist/column_format/helpers/columnTypeByChart.js +1 -2
  146. package/dist/column_format/helpers/defineTableChartFormat.js +4 -4
  147. package/dist/column_format/helpers/defineXYChartFormat.js +10 -17
  148. package/dist/columns/constants/COLUMN.js +1 -1
  149. package/dist/columns/constants/COLUMN_PROPERTY.js +2 -2
  150. package/dist/columns/helpers/getDatasetColumn.d.ts +9 -1
  151. package/dist/columns/helpers/getDatasetColumn.js +31 -4
  152. package/dist/columns/helpers/getDatasetColumnByDatasets.d.ts +6 -5
  153. package/dist/columns/helpers/getDatasetColumnByDatasets.js +22 -8
  154. package/dist/columns/helpers/getModelColumn.d.ts +4 -4
  155. package/dist/columns/helpers/getModelColumn.js +9 -19
  156. package/dist/columns/helpers/isComplexColumn.d.ts +5 -0
  157. package/dist/columns/helpers/isComplexColumn.js +5 -0
  158. package/dist/columns/helpers/isDateColumn.d.ts +5 -0
  159. package/dist/columns/helpers/isDateColumn.js +8 -1
  160. package/dist/columns/helpers/isNumericalColumn.d.ts +5 -0
  161. package/dist/columns/helpers/isNumericalColumn.js +7 -1
  162. package/dist/dates/adapters/dateToHms.d.ts +1 -1
  163. package/dist/dates/adapters/dateToHms.js +6 -8
  164. package/dist/dates/adapters/dateToMdyDate.js +6 -9
  165. package/dist/dates/adapters/dateToMonthYear.js +6 -4
  166. package/dist/dates/adapters/dateToQuarterYear.d.ts +2 -2
  167. package/dist/dates/adapters/dateToQuarterYear.js +8 -6
  168. package/dist/dates/adapters/dateToWeekYear.js +5 -3
  169. package/dist/dates/adapters/dateToYear.d.ts +1 -1
  170. package/dist/dates/adapters/dateToYear.js +6 -4
  171. package/dist/dates/adapters/weekYearToDate.js +1 -6
  172. package/dist/dates/constants/DATE_DISTINCT_PROPERTY.js +1 -1
  173. package/dist/dates/constants/DATE_FORMAT.js +7 -7
  174. package/dist/dates/constants/DATE_FORMATS.d.ts +1 -0
  175. package/dist/dates/constants/DATE_FORMATS.js +19 -0
  176. package/dist/dates/constants/DATE_GROUPING_ALL_PROPERTIES.d.ts +1 -0
  177. package/dist/dates/constants/DATE_GROUPING_ALL_PROPERTIES.js +6 -0
  178. package/dist/dates/constants/DATE_REGULAR_EXPRESSIONS.d.ts +1 -0
  179. package/dist/dates/constants/DATE_REGULAR_EXPRESSIONS.js +20 -0
  180. package/dist/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.d.ts +3 -0
  181. package/dist/dates/constants/DATE_REGULAR_EXPRESSION_ARRAY_BY_FORMAT.js +37 -0
  182. package/dist/dates/constants/index.d.ts +4 -0
  183. package/dist/dates/constants/index.js +4 -0
  184. package/dist/dates/helpers/{includeDateTokens.d.ts → areIncludedDateTokens.d.ts} +1 -1
  185. package/dist/dates/helpers/{includeDateTokens.js → areIncludedDateTokens.js} +3 -2
  186. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.d.ts +2 -2
  187. package/dist/dates/helpers/getDateFormatRegularExpressionInArray.js +9 -42
  188. package/dist/{cjs/dates/range → dates/helpers}/getDateRange.d.ts +3 -3
  189. package/dist/dates/{range → helpers}/getDateRange.js +73 -69
  190. package/dist/dates/helpers/getFormattedDateByFormat.d.ts +1 -0
  191. package/dist/dates/helpers/getFormattedDateByFormat.js +17 -17
  192. package/dist/dates/helpers/getSeparatorByDateFormat.d.ts +1 -1
  193. package/dist/dates/helpers/getSeparatorByDateFormat.js +1 -1
  194. package/dist/dates/helpers/getWeek.d.ts +6 -4
  195. package/dist/dates/helpers/getWeek.js +6 -3
  196. package/dist/dates/helpers/index.d.ts +4 -1
  197. package/dist/dates/helpers/index.js +4 -1
  198. package/dist/dates/helpers/isValidPotentialDate.d.ts +6 -0
  199. package/dist/dates/helpers/isValidPotentialDate.js +14 -0
  200. package/dist/dates/index.d.ts +0 -1
  201. package/dist/dates/index.js +0 -1
  202. package/dist/dates/relative/constants/RELATIVE_UNIT_INFO_LIST.js +5 -5
  203. package/dist/filters/adapters/FDToFlatUI.js +4 -4
  204. package/dist/filters/adapters/FDToUI.js +3 -3
  205. package/dist/filters/adapters/UIToFD.js +3 -3
  206. package/dist/filters/adapters/UIToFlatUI.js +3 -3
  207. package/dist/filters/adapters/UIToOldLogic.js +6 -6
  208. package/dist/filters/adapters/adaptFilterData.js +7 -7
  209. package/dist/filters/adapters/flatUIToFD.js +24 -24
  210. package/dist/filters/adapters/flatUIToOldLogic.js +42 -49
  211. package/dist/filters/adapters/flatUIToUI.js +29 -29
  212. package/dist/filters/adapters/index.d.ts +0 -1
  213. package/dist/filters/adapters/index.js +0 -1
  214. package/dist/filters/adapters/logicToFlatUI.js +6 -8
  215. package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.d.ts +2 -1
  216. package/dist/filters/constants/common/FILTER_TOKENS_STRUCTURE_TYPE.js +1 -0
  217. package/dist/filters/helpers/OLD_getAggFilters.js +5 -4
  218. package/dist/filters/helpers/backend/buildExpression.js +1 -1
  219. package/dist/filters/helpers/backend/buildFilters.js +6 -16
  220. package/dist/filters/helpers/backend/getBackendValidator.js +1 -1
  221. package/dist/filters/helpers/backend/getBackendValues.js +1 -3
  222. package/dist/filters/helpers/backend/getLogicByDatasets.js +2 -2
  223. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +2 -2
  224. package/dist/filters/helpers/backend/getLogicByScopes.js +2 -2
  225. package/dist/filters/helpers/backend/getLogicByScopesHierarchy.js +0 -2
  226. package/dist/filters/helpers/common/excludeFiltersByAggregateColumn.js +3 -3
  227. package/dist/filters/helpers/common/excludeFiltersByParams.js +7 -9
  228. package/dist/filters/helpers/common/excludeFiltersByScopes.js +3 -3
  229. package/dist/filters/helpers/common/getFilterLabel.js +1 -1
  230. package/dist/filters/helpers/common/getFiltersByAggregateColumn.js +3 -3
  231. package/dist/filters/helpers/common/getFiltersByParams.js +15 -17
  232. package/dist/filters/helpers/common/getFiltersByScopes.js +3 -3
  233. package/dist/filters/helpers/common/getFiltersByScopesIds.js +4 -4
  234. package/dist/filters/helpers/common/getFiltersByVisibility.js +4 -4
  235. package/dist/filters/helpers/common/mergeFilters.js +23 -19
  236. package/dist/filters/helpers/common/mergeValues.js +2 -2
  237. package/dist/filters/helpers/filtersTokensToString.js +4 -1
  238. package/dist/filters/helpers/getAggFiltersFromFilterData.js +2 -2
  239. package/dist/filters/helpers/getTokensFromFilters.js +17 -3
  240. package/dist/filters/helpers/ui/excludeUIFiltersByAggregate.js +2 -2
  241. package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +2 -2
  242. package/dist/filters/helpers/ui/getUIFlatFilterByParams.js +3 -3
  243. package/dist/filters/helpers/ui/getUIFlatFiltersByParams.js +2 -2
  244. package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.js +2 -2
  245. package/dist/filters/helpers/ui/getUIValues.js +9 -11
  246. package/dist/filters/helpers/ui/transformFilterValues.js +1 -3
  247. package/dist/filters/services/Filters.api.d.ts +4 -4
  248. package/dist/filters/services/Filters.api.js +7 -7
  249. package/dist/filters/services/UChartApi.d.ts +11 -11
  250. package/dist/filters/services/UChartApi.js +176 -185
  251. package/dist/filters/services/UChartPaginationApi.d.ts +13 -13
  252. package/dist/filters/services/UChartPaginationApi.js +198 -212
  253. package/dist/format/duration/addDurationFormat.d.ts +1 -1
  254. package/dist/format/duration/addDurationFormat.js +2 -2
  255. package/dist/format/duration/durationFormatter.d.ts +1 -1
  256. package/dist/format/duration/durationFormatter.js +7 -6
  257. package/dist/format/format.js +38 -33
  258. package/dist/format/localization.js +1 -2
  259. package/dist/general/mix/importScripts.js +8 -14
  260. package/dist/general/mix/randomId.js +11 -10
  261. package/dist/general/object/get.js +4 -4
  262. package/dist/general/object/getAttribute.js +1 -1
  263. package/dist/general/object/mapValues.js +2 -2
  264. package/dist/general/object/mergeDeep.js +6 -4
  265. package/dist/general/object/serialize.js +3 -3
  266. package/dist/general/string/padLeadingZeros.js +2 -2
  267. package/dist/globalization/helpers/getI18nDateGroupLabel.js +13 -10
  268. package/dist/globalization/helpers/getReverseI18nGroupLabel.js +12 -9
  269. package/dist/globalization/interfaces/II18nResource.d.ts +1 -1
  270. package/dist/globalization/interfaces/chart_builder/II18nChartBuilderAxisStyle.d.ts +9 -0
  271. package/dist/globalization/interfaces/chart_builder/II18nChartBuilderDurationParts.d.ts +1 -0
  272. package/dist/globalization/interfaces/common/II18nCommon.d.ts +2 -0
  273. package/dist/globalization/interfaces/filters/II18nTokenBox.d.ts +1 -0
  274. package/dist/globalization/labels/I18N_DEFAULT.js +2 -2
  275. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.js +1 -0
  276. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +13 -4
  277. package/dist/globalization/labels/common/I18N_COMMON.js +4 -0
  278. package/dist/qrvey/helpers/getLookupAnswers.js +4 -6
  279. package/dist/qrvey/helpers/getValueWithSuffixes.js +1 -1
  280. package/dist/services/adapters/index.d.ts +2 -1
  281. package/dist/services/adapters/index.js +2 -1
  282. package/dist/services/api/getAllDatasets.api.js +6 -8
  283. package/dist/services/helpers/Request.js +5 -4
  284. package/package.json +5 -5
  285. package/dist/cjs/dates/range/index.d.ts +0 -1
  286. package/dist/cjs/dates/range/index.js +0 -17
  287. package/dist/cjs/filters/adapters/transformFilters.d.ts +0 -60
  288. package/dist/cjs/filters/adapters/transformFilters.js +0 -427
  289. package/dist/dates/range/index.d.ts +0 -1
  290. package/dist/dates/range/index.js +0 -1
  291. package/dist/filters/adapters/transformFilters.d.ts +0 -60
  292. package/dist/filters/adapters/transformFilters.js +0 -423
@@ -18,9 +18,7 @@ export default class UChartPaginationApi {
18
18
  * Gets afterKey object
19
19
  * @returns the afterKey object
20
20
  */
21
- this.getAfterKey = () => {
22
- return this.afterKey;
23
- };
21
+ this.getAfterKey = () => this.afterKey;
24
22
  /**
25
23
  * Gets a promise with a resulting data
26
24
  * @param config the config
@@ -32,183 +30,14 @@ export default class UChartPaginationApi {
32
30
  this.getChartResult = (config, uFilter, filterLogic = [], chartSettings, resetApi = false) => {
33
31
  this.refineAfterkey(uFilter, resetApi);
34
32
  this.setProps(uFilter);
35
- const requestBody = this._getPreviewRequestBody(uFilter, filterLogic, chartSettings, this.afterKey);
33
+ const requestBody = UChartPaginationApi._getPreviewRequestBody(uFilter, filterLogic, chartSettings, this.afterKey);
36
34
  const customChartApi = new ChartsApi(Object.assign(Object.assign({}, config), { qrvey_id: isEmpty(uFilter.column.aggregate)
37
35
  ? uFilter.column.qrveyid
38
36
  : chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.qrveyid }));
39
37
  return customChartApi
40
38
  .getResultsPagination(requestBody, false)
41
- .then((response) => {
42
- return this._getDataFromResponse(response, uFilter);
43
- })
44
- .catch((_) => {
45
- return { data: [], total: 0 };
46
- });
47
- };
48
- /**
49
- * Gets request body structure
50
- * @param {IFUFlattenedFilter} uFilter The filter object
51
- * @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
52
- * @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
53
- * @returns the request body structure
54
- */
55
- this._getPreviewRequestBody = (uFilter, filterLogic = [], chartSettings, afterKey) => {
56
- const searchLogic = this._getSearchLogic(uFilter);
57
- const filterCharts = this._getFilterCharts(uFilter, searchLogic, chartSettings);
58
- const dimensions = !filterCharts[0]
59
- ? this._getDimensionsBody(uFilter)
60
- : this._getDimensionsBodyAdapter(filterCharts[0].dimensions);
61
- const summaries = !filterCharts[0]
62
- ? this._getSummariesBody(uFilter)
63
- : filterCharts[0].summaries;
64
- const maxDataPoints = this._getMaxDataPoints(uFilter.column, chartSettings);
65
- const filters = [
66
- ...filterLogic,
67
- ...(!filterCharts[0] ? (searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [] : []),
68
- ];
69
- return { dimensions, summaries, maxDataPoints, afterKey, logic: filters };
70
- };
71
- /**
72
- * Gets dimension body structure
73
- * @param uFilter The filter Builder filter
74
- * @returns the dimension body structure
75
- */
76
- this._getDimensionsBody = (uFilter) => {
77
- const { column, validator } = uFilter;
78
- let dimensions;
79
- if (!isRangeValidator(validator)) {
80
- dimensions = [
81
- {
82
- questionid: column.id,
83
- type: column.type,
84
- formulaType: column.type === COLUMN.FORMULA ? column.formulaType : undefined,
85
- sort: this._getSortOption(column),
86
- },
87
- ];
88
- dimensions = this._refineBodies([...dimensions], uFilter);
89
- }
90
- return dimensions;
91
- };
92
- /**
93
- * Get a dimension body structure foor pagination endpoint
94
- * @param dimensions
95
- * @returns the dimension body structure
96
- */
97
- this._getDimensionsBodyAdapter = (dimensions = []) => {
98
- return dimensions.map((dimension) => ({
99
- questionid: dimension.questionid,
100
- type: dimension.type,
101
- formulaType: dimension.type === COLUMN.FORMULA ? dimension.formulaType : undefined,
102
- groupType: dimension.groupType,
103
- groupValue: dimension.groupValue,
104
- sort: {
105
- by: _get(dimension, "sortOption.sortBy", "VALUE"),
106
- direction: _get(dimension, "sortOption.sortDirection", "DESC"),
107
- },
108
- }));
109
- };
110
- /**
111
- * Gets max data point number
112
- * @param column The column to filter
113
- * @param chartSettings The settings of the chart. For Aggregate Columns.
114
- * @returns max data point number
115
- */
116
- this._getMaxDataPoints = (column, chartSettings) => {
117
- return !isDateColumn(column) && !isEmpty(column.aggregate)
118
- ? _get(chartSettings, "maxDataPoints.option", 1000)
119
- : 1000;
120
- };
121
- /**
122
- * Gets sort option structure
123
- * @param column The column to filter
124
- * @returns sort option structure
125
- */
126
- this._getSortOption = (column) => {
127
- let by = "CATEGORY";
128
- let direction = isNumericalColumn(column) ? "DESC" : "ASC";
129
- if (!isEmpty(column.sorting)) {
130
- by = _get(column.sorting, "sortBy");
131
- direction = _get(column.sorting, "order");
132
- if (by == null)
133
- by = "VALUE";
134
- if (direction == null)
135
- direction = "DESC";
136
- }
137
- return { by, direction };
138
- };
139
- /**
140
- * Gets summaries body structure
141
- * @param uFilter The filter Builder filter
142
- * @returns summaries body structure
143
- */
144
- this._getSummariesBody = (uFilter) => {
145
- const { column, validator } = uFilter;
146
- const summary = {
147
- aggregate: _get(column, "aggregate.label", AGGREGATE.COUNT),
148
- questionid: column.id,
149
- property: !isDateColumn(uFilter.column) ? uFilter.property : undefined,
150
- type: column.type,
151
- };
152
- let summaries = [summary];
153
- if (isNumericalColumn(column) || isRangeValidator(validator)) {
154
- summaries = [
155
- Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MIN }),
156
- Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MAX }),
157
- ];
158
- }
159
- return summaries;
160
- };
161
- /**
162
- * Refines the body structure
163
- * @param bodies The body structure
164
- * @param uFilter The filter Builder filter
165
- * @returns the body structure
166
- */
167
- this._refineBodies = (bodies, uFilter) => {
168
- const _bodies = cloneDeep(bodies);
169
- if (uFilter.property != null) {
170
- _bodies.forEach((body) => {
171
- if (isDateColumn(uFilter.column)) {
172
- body["groupType"] = "DATE";
173
- body["groupValue"] = uFilter.property.toUpperCase();
174
- }
175
- else {
176
- body["property"] = uFilter.property;
177
- }
178
- });
179
- }
180
- return _bodies;
181
- };
182
- /**
183
- * Gets the validation type for the preview request
184
- * @param column The column to filter
185
- * @param vaildator Validator Type
186
- * @returns the validator type for the preview request
187
- */
188
- this._getValidationType = (column, validator) => {
189
- if (isDateColumn(column) ||
190
- column.type === COLUMN.BUCKET ||
191
- isNumericalColumn(column)) {
192
- return FILTER_VALIDATOR.EQUALS;
193
- }
194
- else {
195
- if ([
196
- FILTER_VALIDATOR.NOT_CONTAIN,
197
- FILTER_VALIDATOR.EQUALS,
198
- FILTER_VALIDATOR.NOT_EQUAL,
199
- ].includes(validator)) {
200
- return FILTER_VALIDATOR.CONTAINS;
201
- }
202
- else if (validator === FILTER_VALIDATOR.NOT_END_WITH) {
203
- return FILTER_VALIDATOR.ENDS_WITH;
204
- }
205
- else if (validator === FILTER_VALIDATOR.NOT_START_WITH) {
206
- return FILTER_VALIDATOR.STARTS_WITH;
207
- }
208
- else {
209
- return validator;
210
- }
211
- }
39
+ .then((response) => this._getDataFromResponse(response, uFilter))
40
+ .catch((_) => ({ data: [], total: 0 }));
212
41
  };
213
42
  /**
214
43
  * Gets the Data from preview Response
@@ -219,32 +48,19 @@ export default class UChartPaginationApi {
219
48
  this._getDataFromResponse = (response, uFilter) => {
220
49
  var _a;
221
50
  const data = { data: [], total: 0 };
222
- if (!this.isResultPaginationEmpty(response)) {
51
+ if (!UChartPaginationApi.isResultPaginationEmpty(response)) {
223
52
  const records = _get(response, "data");
224
53
  data.data = isEmpty(uFilter.column.aggregate)
225
54
  ? records.map((record) => ({
226
55
  value: record.key.toString(),
227
56
  }))
228
- : this._getResponseSummaries(records);
57
+ : UChartPaginationApi._getResponseSummaries(records);
229
58
  data.data = getUniqueArray(data.data, "value");
230
59
  data.total = (_a = _get(response, "totalGroups", 0)) !== null && _a !== void 0 ? _a : 0;
231
60
  this.setAfterKey(_get(response, "afterKey"));
232
61
  }
233
62
  return data;
234
63
  };
235
- /**
236
- * Gets summaries from preview response
237
- * @param records The data from preview response
238
- * @param values The values from the preview response
239
- * @returns the sumaries
240
- */
241
- this._getResponseSummaries = (records, values = []) => {
242
- records.forEach((record) => {
243
- const value = record.summaries[0].toString();
244
- value && values.push({ value });
245
- });
246
- return values;
247
- };
248
64
  /**
249
65
  * Refines the afterKey object
250
66
  * @param props
@@ -253,7 +69,7 @@ export default class UChartPaginationApi {
253
69
  if (forceSet ||
254
70
  _get(uFilter, "values[0].value", "") !==
255
71
  _get(this.uFilter, "values[0].value", "") ||
256
- !this.areColumnsEquals(uFilter.column, _get(this.uFilter, "column")) ||
72
+ !UChartPaginationApi.areColumnsEquals(uFilter.column, _get(this.uFilter, "column")) ||
257
73
  uFilter.validator !== this.uFilter.validator ||
258
74
  uFilter.property !== this.uFilter.property ||
259
75
  uFilter.extras.scope !== this.uFilter.extras.scope)
@@ -273,35 +89,17 @@ export default class UChartPaginationApi {
273
89
  this.setProps = (uFilter) => {
274
90
  this.uFilter = cloneDeep(uFilter);
275
91
  };
276
- /**
277
- * Checks if two filter columns are the same.
278
- * @param column1
279
- * @param column2
280
- * @returns True: Columns are equal; False: Columns are not equal
281
- */
282
- this.areColumnsEquals = (column1, column2) => {
283
- if (isEmpty(column1) || isEmpty(column2))
284
- return false;
285
- return (column1.id === column2.id &&
286
- column1.qrveyid === column2.qrveyid &&
287
- column1.property === column2.property &&
288
- column1.aggregate === column2.aggregate);
289
- };
290
- this.isResultPaginationEmpty = (resultObject) => {
291
- const result = _get(resultObject, "data");
292
- return isEmpty(result);
293
- };
294
92
  }
295
93
  /**
296
94
  * Gets the filter object structure for the searching text
297
95
  * @param {IFUFlattenedFilter} uFilter The filter object
298
96
  * @returns the filter object structure
299
97
  */
300
- _getSearchLogic(uFilter) {
98
+ static _getSearchLogic(uFilter) {
301
99
  let searchLogic;
302
100
  if (!isEmpty(uFilter.values)) {
303
101
  searchLogic = flatUIToOldLogic([
304
- Object.assign(Object.assign({}, uFilter), { validator: this._getValidationType(uFilter.column, uFilter.validator), column: Object.assign({}, uFilter.column) }),
102
+ Object.assign(Object.assign({}, uFilter), { validator: UChartPaginationApi._getValidationType(uFilter.column, uFilter.validator), column: Object.assign({}, uFilter.column) }),
305
103
  ]);
306
104
  }
307
105
  return searchLogic;
@@ -313,7 +111,7 @@ export default class UChartPaginationApi {
313
111
  * @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
314
112
  * @returns the filters from the chart settings
315
113
  */
316
- _getFilterCharts(uFilter, searchLogic, chartSettings) {
114
+ static _getFilterCharts(uFilter, searchLogic, chartSettings) {
317
115
  let filterCharts = [];
318
116
  const haveAggFilters = ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.aggregateColumns) || []).length &&
319
117
  ((chartSettings === null || chartSettings === void 0 ? void 0 : chartSettings.chart) || []).length;
@@ -332,3 +130,191 @@ export default class UChartPaginationApi {
332
130
  return filterCharts;
333
131
  }
334
132
  }
133
+ /**
134
+ * Gets request body structure
135
+ * @param {IFUFlattenedFilter} uFilter The filter object
136
+ * @param {IFBLogic[]} filterLogic Additional filter logic to apply in the preview
137
+ * @param {IFUChartSettings} chartSettings The settings of the chart. For Aggregate Columns.
138
+ * @returns the request body structure
139
+ */
140
+ UChartPaginationApi._getPreviewRequestBody = (uFilter, filterLogic = [], chartSettings, afterKey) => {
141
+ const searchLogic = UChartPaginationApi._getSearchLogic(uFilter);
142
+ const filterCharts = UChartPaginationApi._getFilterCharts(uFilter, searchLogic, chartSettings);
143
+ const dimensions = !filterCharts[0]
144
+ ? UChartPaginationApi._getDimensionsBody(uFilter)
145
+ : UChartPaginationApi._getDimensionsBodyAdapter(filterCharts[0].dimensions);
146
+ const summaries = !filterCharts[0]
147
+ ? UChartPaginationApi._getSummariesBody(uFilter)
148
+ : filterCharts[0].summaries;
149
+ const maxDataPoints = UChartPaginationApi._getMaxDataPoints(uFilter.column, chartSettings);
150
+ const filters = [
151
+ ...filterLogic,
152
+ ...(!filterCharts[0] ? (searchLogic === null || searchLogic === void 0 ? void 0 : searchLogic.logic) || [] : []),
153
+ ];
154
+ return { dimensions, summaries, maxDataPoints, afterKey, logic: filters };
155
+ };
156
+ /**
157
+ * Gets dimension body structure
158
+ * @param uFilter The filter Builder filter
159
+ * @returns the dimension body structure
160
+ */
161
+ UChartPaginationApi._getDimensionsBody = (uFilter) => {
162
+ const { column, validator } = uFilter;
163
+ let dimensions;
164
+ if (!isRangeValidator(validator)) {
165
+ dimensions = [
166
+ {
167
+ questionid: column.id,
168
+ type: column.type,
169
+ formulaType: column.type === COLUMN.FORMULA ? column.formulaType : undefined,
170
+ sort: UChartPaginationApi._getSortOption(column),
171
+ },
172
+ ];
173
+ dimensions = UChartPaginationApi._refineBodies([...dimensions], uFilter);
174
+ }
175
+ return dimensions;
176
+ };
177
+ /**
178
+ * Get a dimension body structure foor pagination endpoint
179
+ * @param dimensions
180
+ * @returns the dimension body structure
181
+ */
182
+ UChartPaginationApi._getDimensionsBodyAdapter = (dimensions = []) => dimensions.map((dimension) => ({
183
+ questionid: dimension.questionid,
184
+ type: dimension.type,
185
+ formulaType: dimension.type === COLUMN.FORMULA ? dimension.formulaType : undefined,
186
+ groupType: dimension.groupType,
187
+ groupValue: dimension.groupValue,
188
+ sort: {
189
+ by: _get(dimension, "sortOption.sortBy", "VALUE"),
190
+ direction: _get(dimension, "sortOption.sortDirection", "DESC"),
191
+ },
192
+ }));
193
+ /**
194
+ * Gets max data point number
195
+ * @param column The column to filter
196
+ * @param chartSettings The settings of the chart. For Aggregate Columns.
197
+ * @returns max data point number
198
+ */
199
+ UChartPaginationApi._getMaxDataPoints = (column, chartSettings) => !isDateColumn(column) && !isEmpty(column.aggregate)
200
+ ? _get(chartSettings, "maxDataPoints.option", 1000)
201
+ : 1000;
202
+ /**
203
+ * Gets sort option structure
204
+ * @param column The column to filter
205
+ * @returns sort option structure
206
+ */
207
+ UChartPaginationApi._getSortOption = (column) => {
208
+ let by = "CATEGORY";
209
+ let direction = isNumericalColumn(column) ? "DESC" : "ASC";
210
+ if (!isEmpty(column.sorting)) {
211
+ by = _get(column.sorting, "sortBy");
212
+ direction = _get(column.sorting, "order");
213
+ if (by == null)
214
+ by = "VALUE";
215
+ if (direction == null)
216
+ direction = "DESC";
217
+ }
218
+ return { by, direction };
219
+ };
220
+ /**
221
+ * Gets summaries body structure
222
+ * @param uFilter The filter Builder filter
223
+ * @returns summaries body structure
224
+ */
225
+ UChartPaginationApi._getSummariesBody = (uFilter) => {
226
+ const { column, validator } = uFilter;
227
+ const summary = {
228
+ aggregate: _get(column, "aggregate.label", AGGREGATE.COUNT),
229
+ questionid: column.id,
230
+ property: !isDateColumn(uFilter.column) ? uFilter.property : undefined,
231
+ type: column.type,
232
+ };
233
+ let summaries = [summary];
234
+ if (isNumericalColumn(column) || isRangeValidator(validator)) {
235
+ summaries = [
236
+ Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MIN }),
237
+ Object.assign(Object.assign({}, summary), { aggregate: AGGREGATE.MAX }),
238
+ ];
239
+ }
240
+ return summaries;
241
+ };
242
+ /**
243
+ * Refines the body structure
244
+ * @param bodies The body structure
245
+ * @param uFilter The filter Builder filter
246
+ * @returns the body structure
247
+ */
248
+ UChartPaginationApi._refineBodies = (bodies, uFilter) => {
249
+ const _bodies = cloneDeep(bodies);
250
+ if (uFilter.property != null) {
251
+ _bodies.forEach((body) => {
252
+ if (isDateColumn(uFilter.column)) {
253
+ body.groupType = "DATE";
254
+ body.groupValue = uFilter.property.toUpperCase();
255
+ }
256
+ else {
257
+ body.property = uFilter.property;
258
+ }
259
+ });
260
+ }
261
+ return _bodies;
262
+ };
263
+ /**
264
+ * Gets the validation type for the preview request
265
+ * @param column The column to filter
266
+ * @param vaildator Validator Type
267
+ * @returns the validator type for the preview request
268
+ */
269
+ UChartPaginationApi._getValidationType = (column, validator) => {
270
+ if (isDateColumn(column) ||
271
+ column.type === COLUMN.BUCKET ||
272
+ isNumericalColumn(column)) {
273
+ return FILTER_VALIDATOR.EQUALS;
274
+ }
275
+ if ([
276
+ FILTER_VALIDATOR.NOT_CONTAIN,
277
+ FILTER_VALIDATOR.EQUALS,
278
+ FILTER_VALIDATOR.NOT_EQUAL,
279
+ ].includes(validator)) {
280
+ return FILTER_VALIDATOR.CONTAINS;
281
+ }
282
+ else if (validator === FILTER_VALIDATOR.NOT_END_WITH) {
283
+ return FILTER_VALIDATOR.ENDS_WITH;
284
+ }
285
+ else if (validator === FILTER_VALIDATOR.NOT_START_WITH) {
286
+ return FILTER_VALIDATOR.STARTS_WITH;
287
+ }
288
+ return validator;
289
+ };
290
+ /**
291
+ * Gets summaries from preview response
292
+ * @param records The data from preview response
293
+ * @param values The values from the preview response
294
+ * @returns the sumaries
295
+ */
296
+ UChartPaginationApi._getResponseSummaries = (records, values = []) => {
297
+ records.forEach((record) => {
298
+ const value = record.summaries[0].toString();
299
+ value && values.push({ value });
300
+ });
301
+ return values;
302
+ };
303
+ /**
304
+ * Checks if two filter columns are the same.
305
+ * @param column1
306
+ * @param column2
307
+ * @returns True: Columns are equal; False: Columns are not equal
308
+ */
309
+ UChartPaginationApi.areColumnsEquals = (column1, column2) => {
310
+ if (isEmpty(column1) || isEmpty(column2))
311
+ return false;
312
+ return (column1.id === column2.id &&
313
+ column1.qrveyid === column2.qrveyid &&
314
+ column1.property === column2.property &&
315
+ column1.aggregate === column2.aggregate);
316
+ };
317
+ UChartPaginationApi.isResultPaginationEmpty = (resultObject) => {
318
+ const result = _get(resultObject, "data");
319
+ return isEmpty(result);
320
+ };
@@ -1,4 +1,4 @@
1
- /**[TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
1
+ /** [TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
2
2
  * "Convert a number of seconds to a human readable string."
3
3
  *
4
4
  * `addDurationFormat` is a function that takes a number, a format, an optional locale, and an optional
@@ -1,5 +1,5 @@
1
1
  import { DurationFormatter } from "./durationFormatter";
2
- /**[TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
2
+ /** [TODO: The decimals dots are not working correctly, we need to reviewing (fractionDigits)]
3
3
  * "Convert a number of seconds to a human readable string."
4
4
  *
5
5
  * `addDurationFormat` is a function that takes a number, a format, an optional locale, and an optional
@@ -14,6 +14,6 @@ import { DurationFormatter } from "./durationFormatter";
14
14
  export function addDurationFormat(number, format, locale, fractionDigits) {
15
15
  return new DurationFormatter({
16
16
  template: format,
17
- options: { locale: locale, fractionDigits: fractionDigits },
17
+ options: { locale, fractionDigits },
18
18
  }).format(number);
19
19
  }
@@ -49,7 +49,7 @@ export declare class DurationFormatter {
49
49
  * @returns The template string with all instances of H replaced with h and all instances of D
50
50
  * replaced with d.
51
51
  */
52
- private matchFormatsReplace;
52
+ private static matchFormatsReplace;
53
53
  /**
54
54
  * It sets the numberFactor to the value of the duration part that matches the unit.
55
55
  */
@@ -73,7 +73,7 @@ export class DurationFormatter {
73
73
  * @param {string} template - The format template string.
74
74
  */
75
75
  setParts(template) {
76
- this.template = this.matchFormatsReplace(template);
76
+ this.template = DurationFormatter.matchFormatsReplace(template);
77
77
  this.parts = this.parseFormatTemplate(template);
78
78
  }
79
79
  /**
@@ -82,7 +82,7 @@ export class DurationFormatter {
82
82
  * @returns The template string with all instances of H replaced with h and all instances of D
83
83
  * replaced with d.
84
84
  */
85
- matchFormatsReplace(template) {
85
+ static matchFormatsReplace(template) {
86
86
  return isEmpty(template) ? template : template.replace(/H/g, "h");
87
87
  }
88
88
  /**
@@ -124,15 +124,16 @@ export class DurationFormatter {
124
124
  return undefined;
125
125
  if (isEmpty(number))
126
126
  return "";
127
- number *= this.numberFactor;
127
+ let _number = number;
128
+ _number *= this.numberFactor;
128
129
  const durationParts = this.parts.reduce((store, part) => {
129
- store[part.symbol] = Math.floor(number / part.ms);
130
- number %= part.ms;
130
+ store[part.symbol] = Math.floor(_number / part.ms);
131
+ _number %= part.ms;
131
132
  return store;
132
133
  }, {});
133
134
  if (isEmpty(this.template))
134
135
  return this.valueFormatter
135
- .format(number)
136
+ .format(_number)
136
137
  .padStart(this.parts.length, "0");
137
138
  return this.template.replace(PARTS_REGEX, (match, $1) => {
138
139
  return $1 || this.formatValue(durationParts, match);