@qrvey/utils 1.3.0-9 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (888) hide show
  1. package/.eslintrc.json +2 -0
  2. package/README.md +2663 -733
  3. package/bitbucket-pipelines.yml +43 -17
  4. package/dist/charts/constants/index.d.ts +1 -0
  5. package/dist/charts/constants/index.js +1 -0
  6. package/dist/cjs/charts/constants/index.d.ts +1 -0
  7. package/dist/cjs/charts/constants/index.js +1 -0
  8. package/dist/cjs/column_format/helpers/defineXYChartFormat.js +3 -2
  9. package/dist/cjs/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION.d.ts +5 -0
  10. package/dist/cjs/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION.js +9 -0
  11. package/dist/cjs/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION_LIST.d.ts +2 -0
  12. package/dist/cjs/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION_LIST.js +9 -0
  13. package/dist/cjs/columns/constants/index.d.ts +4 -0
  14. package/dist/cjs/columns/constants/index.js +4 -0
  15. package/dist/{qrvey → cjs/columns}/helpers/getColumnsLabel.d.ts +1 -1
  16. package/dist/cjs/{qrvey → columns}/helpers/getColumnsLabel.js +2 -0
  17. package/dist/cjs/columns/helpers/getDatasetColumn.d.ts +3 -0
  18. package/dist/cjs/columns/helpers/getDatasetColumn.js +16 -0
  19. package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.d.ts +10 -0
  20. package/dist/cjs/columns/helpers/getDatasetColumnByDatasets.js +19 -0
  21. package/dist/cjs/columns/helpers/getModelColumn.d.ts +9 -0
  22. package/dist/cjs/columns/helpers/getModelColumn.js +30 -0
  23. package/dist/cjs/columns/helpers/index.d.ts +4 -0
  24. package/dist/cjs/columns/helpers/index.js +4 -0
  25. package/dist/cjs/columns/interfaces/IBColumAnswer.d.ts +6 -0
  26. package/dist/cjs/{filters/interfaces/builder/IFilterBuilderGeneralConfig.js → columns/interfaces/IBColumAnswer.js} +0 -0
  27. package/dist/cjs/columns/interfaces/IBColumn.d.ts +10 -3
  28. package/dist/cjs/columns/interfaces/IBColumnAnswerExpression.d.ts +5 -0
  29. package/dist/cjs/{filters/interfaces/common/IFSMergeFiltersSettings.js → columns/interfaces/IBColumnAnswerExpression.js} +0 -0
  30. package/dist/cjs/columns/interfaces/IBColumnAnswerExpressionCategory.d.ts +6 -0
  31. package/dist/cjs/{filters/interfaces/common/IFSParamsToGetFilterSettings.js → columns/interfaces/IBColumnAnswerExpressionCategory.js} +0 -0
  32. package/dist/cjs/columns/interfaces/IBColumnAnswerExpressionWord.d.ts +3 -0
  33. package/dist/cjs/{interfaces/general/IGeneralWidgetConfig.js → columns/interfaces/IBColumnAnswerExpressionWord.js} +0 -0
  34. package/dist/cjs/columns/interfaces/IBColumnAnswerGeneral.d.ts +4 -0
  35. package/dist/cjs/{qrvey/interfaces/IGetValueWithSuffixesSettings.js → columns/interfaces/IBColumnAnswerGeneral.js} +0 -0
  36. package/dist/cjs/columns/interfaces/IBColumnAnswerImages.d.ts +5 -0
  37. package/dist/cjs/columns/interfaces/IBColumnAnswerImages.js +2 -0
  38. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupAnswer.d.ts +5 -0
  39. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupAnswer.js +2 -0
  40. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupAnswerAnswer.d.ts +6 -0
  41. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupAnswerAnswer.js +2 -0
  42. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupValue.d.ts +4 -0
  43. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupValue.js +2 -0
  44. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupValueValue.d.ts +7 -0
  45. package/dist/cjs/columns/interfaces/IBColumnAnswerLookupValueValue.js +2 -0
  46. package/dist/cjs/columns/interfaces/IBColumnAnswerSlidebar.d.ts +3 -0
  47. package/dist/cjs/columns/interfaces/IBColumnAnswerSlidebar.js +2 -0
  48. package/dist/cjs/columns/interfaces/IColumn.d.ts +9 -1
  49. package/dist/cjs/columns/interfaces/IColumnImageUploadOption.d.ts +2 -0
  50. package/dist/cjs/columns/interfaces/IColumnImageUploadOption.js +2 -0
  51. package/dist/cjs/columns/interfaces/index.d.ts +11 -0
  52. package/dist/cjs/columns/interfaces/index.js +11 -0
  53. package/dist/cjs/dates/constants/index.d.ts +1 -0
  54. package/dist/cjs/dates/constants/index.js +1 -0
  55. package/dist/cjs/dates/helpers/isValidDateObject.d.ts +6 -0
  56. package/dist/cjs/dates/helpers/isValidDateObject.js +12 -0
  57. package/dist/cjs/dates/index.d.ts +1 -1
  58. package/dist/cjs/dates/index.js +1 -1
  59. package/dist/cjs/dates/range/getDateRange.js +10 -3
  60. package/dist/cjs/dates/relative/constants/RELATIVE_CURSOR_INFO_LIST.d.ts +1 -1
  61. package/dist/cjs/filters/adapters/FDToFlatUI.js +1 -0
  62. package/dist/cjs/filters/adapters/FDToLogic.js +3 -3
  63. package/dist/cjs/filters/adapters/UIToFD.js +2 -1
  64. package/dist/cjs/filters/adapters/UIToFlatUI.js +1 -0
  65. package/dist/cjs/filters/adapters/UIToOldLogic.js +5 -3
  66. package/dist/cjs/filters/adapters/adaptDateGroupingProperty.d.ts +2 -2
  67. package/dist/cjs/filters/adapters/adaptDateGroupingProperty.js +2 -2
  68. package/dist/cjs/filters/adapters/adaptFilterValues.js +3 -3
  69. package/dist/cjs/filters/adapters/flatUIToFD.js +1 -0
  70. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +45 -25
  71. package/dist/cjs/filters/adapters/flatUIToUI.js +1 -0
  72. package/dist/cjs/filters/adapters/index.d.ts +2 -0
  73. package/dist/cjs/filters/adapters/index.js +2 -0
  74. package/dist/cjs/filters/adapters/logicToFlatUI.js +10 -9
  75. package/dist/cjs/filters/adapters/modelAnswerToFilterValue.d.ts +8 -0
  76. package/dist/cjs/filters/adapters/modelAnswerToFilterValue.js +16 -0
  77. package/dist/cjs/filters/constants/builder/FILTER_BUILDER_SCOPE_LABEL.js +4 -4
  78. package/dist/cjs/filters/constants/builder/STATIC_OPTION_COLUMNS.d.ts +2 -2
  79. package/dist/cjs/filters/constants/builder/index.d.ts +1 -0
  80. package/dist/cjs/filters/constants/builder/index.js +1 -0
  81. package/dist/cjs/filters/helpers/OLD_getAggFilters.d.ts +9 -0
  82. package/dist/cjs/filters/helpers/OLD_getAggFilters.js +88 -0
  83. package/dist/cjs/filters/helpers/applyHierarchyForAggFilters.d.ts +3 -3
  84. package/dist/cjs/filters/helpers/applyHierarchyForAggFilters.js +3 -3
  85. package/dist/cjs/filters/helpers/backend/buildExpression.js +3 -2
  86. package/dist/cjs/filters/helpers/backend/getAggFiltersBySummaryIndex.d.ts +5 -3
  87. package/dist/cjs/filters/helpers/backend/getAggFiltersBySummaryIndex.js +5 -3
  88. package/dist/cjs/filters/helpers/backend/getBackendValidator.d.ts +2 -2
  89. package/dist/cjs/filters/helpers/backend/getBackendValidator.js +4 -4
  90. package/dist/cjs/filters/helpers/backend/getBackendValues.js +16 -13
  91. package/dist/cjs/filters/helpers/backend/getLogicByDatasets.d.ts +11 -0
  92. package/dist/cjs/filters/helpers/backend/getLogicByDatasets.js +34 -0
  93. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.d.ts +12 -0
  94. package/dist/cjs/filters/helpers/backend/getLogicByDatasetsColumns.js +47 -0
  95. package/dist/cjs/filters/helpers/backend/index.d.ts +3 -1
  96. package/dist/cjs/filters/helpers/backend/index.js +4 -1
  97. package/dist/cjs/filters/helpers/builder/getFilterBuilderGeneralConfig.d.ts +2 -2
  98. package/dist/cjs/filters/helpers/common/excludeFiltersByParams.js +5 -5
  99. package/dist/cjs/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -2
  100. package/dist/cjs/filters/helpers/common/getFiltersByParams.d.ts +2 -2
  101. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +2 -2
  102. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.d.ts +2 -2
  103. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +4 -3
  104. package/dist/cjs/filters/helpers/common/getMergeValuesSettings.d.ts +7 -0
  105. package/dist/cjs/filters/helpers/common/getMergeValuesSettings.js +15 -0
  106. package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.d.ts +2 -2
  107. package/dist/cjs/filters/helpers/common/getValuesFromDataset.d.ts +8 -0
  108. package/dist/cjs/filters/helpers/common/getValuesFromDataset.js +20 -0
  109. package/dist/cjs/filters/helpers/common/getValuesFromModel.d.ts +8 -0
  110. package/dist/cjs/filters/helpers/common/getValuesFromModel.js +20 -0
  111. package/dist/cjs/filters/helpers/common/index.d.ts +4 -1
  112. package/dist/cjs/filters/helpers/common/index.js +5 -1
  113. package/dist/cjs/filters/helpers/common/mergeFilters.d.ts +3 -3
  114. package/dist/cjs/filters/helpers/common/mergeFilters.js +19 -55
  115. package/dist/cjs/filters/helpers/common/mergeValues.d.ts +11 -0
  116. package/dist/cjs/filters/helpers/common/mergeValues.js +95 -0
  117. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.d.ts +5 -4
  118. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +5 -5
  119. package/dist/cjs/filters/helpers/getAvailableScopes.js +5 -5
  120. package/dist/cjs/filters/helpers/index.d.ts +1 -0
  121. package/dist/cjs/filters/helpers/index.js +2 -0
  122. package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.js +2 -2
  123. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.js +2 -2
  124. package/dist/cjs/filters/helpers/ui/getUIValues.d.ts +3 -3
  125. package/dist/cjs/filters/helpers/ui/getUIValues.js +26 -18
  126. package/dist/cjs/filters/helpers/ui/index.d.ts +1 -0
  127. package/dist/cjs/filters/helpers/ui/index.js +1 -0
  128. package/dist/cjs/filters/helpers/ui/{resolveUIFlatFiltersByParams.d.ts → resolveUIFlatFilterByParams.d.ts} +2 -1
  129. package/dist/cjs/filters/helpers/ui/{resolveUIFlatFiltersByParams.js → resolveUIFlatFilterByParams.js} +7 -7
  130. package/dist/cjs/filters/helpers/ui/transformFilterValues.d.ts +2 -2
  131. package/dist/cjs/filters/helpers/ui/transformFilterValues.js +4 -3
  132. package/dist/cjs/filters/index.d.ts +1 -0
  133. package/dist/cjs/filters/index.js +1 -0
  134. package/dist/cjs/filters/interfaces/OLD_IFilterDetail.d.ts +4 -1
  135. package/dist/cjs/filters/interfaces/backend/IFBData.d.ts +5 -0
  136. package/dist/cjs/filters/interfaces/backend/IFBData.js +2 -0
  137. package/dist/cjs/filters/interfaces/backend/IFBExpression.d.ts +1 -0
  138. package/dist/cjs/filters/interfaces/backend/index.d.ts +1 -0
  139. package/dist/cjs/filters/interfaces/backend/index.js +1 -0
  140. package/dist/cjs/filters/interfaces/builder/IFilterBuilderConfig.d.ts +2 -2
  141. package/dist/cjs/filters/interfaces/builder/index.d.ts +0 -1
  142. package/dist/cjs/filters/interfaces/builder/index.js +0 -1
  143. package/dist/cjs/filters/interfaces/common/IFSAvailableScope.d.ts +1 -0
  144. package/dist/cjs/filters/interfaces/common/IFSColumn.d.ts +1 -1
  145. package/dist/cjs/filters/interfaces/common/IFSFilter.d.ts +2 -1
  146. package/dist/cjs/filters/interfaces/common/IFSFilterExtras.d.ts +2 -0
  147. package/dist/cjs/filters/interfaces/common/IFSGetDataValues.d.ts +2 -0
  148. package/dist/cjs/filters/interfaces/common/IFSGetDataValues.js +2 -0
  149. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -0
  150. package/dist/cjs/filters/interfaces/common/IFSValue.d.ts +1 -0
  151. package/dist/cjs/filters/interfaces/common/IFSValueRange.d.ts +1 -0
  152. package/dist/cjs/filters/interfaces/common/IFSValueRanking.d.ts +1 -0
  153. package/dist/cjs/filters/interfaces/common/IFSValueRelativeDate.d.ts +1 -0
  154. package/dist/cjs/filters/interfaces/common/IFilterConfig.d.ts +2 -0
  155. package/dist/cjs/filters/interfaces/common/IFilterConfig.js +2 -0
  156. package/dist/cjs/filters/interfaces/common/index.d.ts +2 -2
  157. package/dist/cjs/filters/interfaces/common/index.js +2 -2
  158. package/dist/cjs/filters/interfaces/functions/IFFGetLogicByDatasets.d.ts +6 -0
  159. package/dist/cjs/filters/interfaces/functions/IFFGetLogicByDatasets.js +2 -0
  160. package/dist/cjs/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.d.ts +7 -0
  161. package/dist/cjs/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.js +2 -0
  162. package/dist/cjs/filters/interfaces/functions/IFFiltersGetData.d.ts +17 -0
  163. package/dist/cjs/filters/interfaces/functions/IFFiltersGetData.js +2 -0
  164. package/dist/cjs/filters/interfaces/functions/IFFiltersGetValuesFromDataset.d.ts +10 -0
  165. package/dist/cjs/filters/interfaces/functions/IFFiltersGetValuesFromDataset.js +2 -0
  166. package/dist/cjs/filters/interfaces/functions/IFFiltersGetValuesFromModel.d.ts +10 -0
  167. package/dist/cjs/filters/interfaces/functions/IFFiltersGetValuesFromModel.js +2 -0
  168. package/dist/cjs/filters/interfaces/functions/IFFiltersMergeFilters.d.ts +8 -0
  169. package/dist/cjs/filters/interfaces/functions/IFFiltersMergeFilters.js +2 -0
  170. package/dist/cjs/filters/interfaces/functions/IFFiltersMergeValues.d.ts +3 -0
  171. package/dist/cjs/filters/interfaces/functions/IFFiltersMergeValues.js +2 -0
  172. package/dist/cjs/filters/interfaces/{common/IFSParamsToGetFilterSettings.d.ts → functions/IFFiltersParamsToGetFilter.d.ts} +1 -1
  173. package/dist/cjs/filters/interfaces/functions/IFFiltersParamsToGetFilter.js +2 -0
  174. package/dist/cjs/filters/interfaces/functions/index.d.ts +8 -0
  175. package/dist/cjs/filters/interfaces/functions/index.js +24 -0
  176. package/dist/cjs/filters/interfaces/index.d.ts +1 -0
  177. package/dist/cjs/filters/interfaces/index.js +1 -0
  178. package/dist/cjs/filters/interfaces/ui/IFUColumn.d.ts +2 -2
  179. package/dist/cjs/filters/interfaces/ui/IFUValue.d.ts +1 -0
  180. package/dist/cjs/filters/interfaces/ui/index.d.ts +1 -1
  181. package/dist/cjs/filters/interfaces/ui/index.js +1 -1
  182. package/dist/cjs/filters/services/Filters.api.d.ts +52 -0
  183. package/dist/cjs/filters/services/Filters.api.js +140 -0
  184. package/dist/cjs/filters/services/UChartApi.d.ts +86 -0
  185. package/dist/cjs/filters/services/UChartApi.js +250 -0
  186. package/dist/cjs/filters/services/UChartPaginationApi.d.ts +114 -0
  187. package/dist/cjs/filters/services/UChartPaginationApi.js +295 -0
  188. package/dist/cjs/filters/services/index.d.ts +3 -0
  189. package/dist/cjs/filters/services/index.js +19 -0
  190. package/dist/cjs/format/definition.d.ts +62 -0
  191. package/dist/cjs/format/definition.js +18 -1
  192. package/dist/cjs/format/duration/addDurationFormat.d.ts +13 -0
  193. package/dist/cjs/format/duration/addDurationFormat.js +20 -0
  194. package/dist/cjs/format/duration/durationFormatter.d.ts +79 -0
  195. package/dist/cjs/format/duration/durationFormatter.js +156 -0
  196. package/dist/cjs/format/duration/index.d.ts +2 -0
  197. package/dist/cjs/format/duration/index.js +18 -0
  198. package/dist/cjs/format/index.d.ts +1 -0
  199. package/dist/cjs/format/index.js +1 -0
  200. package/dist/cjs/general/array/getArrayByProperty.d.ts +7 -0
  201. package/dist/cjs/general/array/getArrayByProperty.js +19 -0
  202. package/dist/cjs/general/array/getUniqueArray.d.ts +9 -0
  203. package/dist/cjs/general/array/getUniqueArray.js +15 -0
  204. package/dist/cjs/general/array/index.d.ts +1 -0
  205. package/dist/cjs/general/array/index.js +1 -0
  206. package/dist/cjs/general/object/get.d.ts +0 -20
  207. package/dist/cjs/general/object/get.js +0 -20
  208. package/dist/cjs/globalization/helpers/getI18nDateGroupLabel.js +1 -1
  209. package/dist/cjs/globalization/interfaces/chart_builder/II18nChartBuilderStyleOptions.d.ts +10 -0
  210. package/dist/cjs/globalization/interfaces/filters/II18nFilterPanel.d.ts +3 -0
  211. package/dist/cjs/globalization/interfaces/filters/II18nValueContainer.d.ts +3 -2
  212. package/dist/cjs/globalization/interfaces/style_themes/II18nStyleThemesTheme.d.ts +1 -0
  213. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER.d.ts +1 -1
  214. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_COMPARISION_OPTIONS.d.ts +1 -1
  215. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_FORMAT_OPTIONS.d.ts +1 -1
  216. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_GENERAL_OPTIONS.d.ts +1 -1
  217. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_LAYER_OPTIONS.d.ts +1 -1
  218. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_LAYER_OPTIONS.js +1 -1
  219. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.d.ts +1 -1
  220. package/dist/cjs/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +10 -0
  221. package/dist/cjs/globalization/labels/filters/I18N_FILTER_PANEL.js +3 -0
  222. package/dist/cjs/globalization/labels/filters/I18N_VALUE_CONTAINER.js +2 -1
  223. package/dist/cjs/globalization/labels/style_themes/I18N_STYLE_THEMES.js +1 -0
  224. package/dist/cjs/interfaces/general/IWidgetConfig.d.ts +10 -0
  225. package/dist/cjs/interfaces/general/IWidgetConfig.js +2 -0
  226. package/dist/cjs/interfaces/general/index.d.ts +1 -1
  227. package/dist/cjs/interfaces/general/index.js +1 -1
  228. package/dist/cjs/qrvey/constants/APP_DATASET_TYPE_LIST.d.ts +6 -0
  229. package/dist/cjs/qrvey/constants/APP_DATASET_TYPE_LIST.js +16 -0
  230. package/dist/cjs/qrvey/constants/APP_FORM_TYPE_LIST.d.ts +6 -0
  231. package/dist/cjs/qrvey/constants/APP_FORM_TYPE_LIST.js +14 -0
  232. package/dist/cjs/qrvey/constants/APP_STATUS.d.ts +5 -0
  233. package/dist/cjs/qrvey/constants/APP_STATUS.js +9 -0
  234. package/dist/cjs/qrvey/constants/APP_STATUS_LIST.d.ts +6 -0
  235. package/dist/cjs/qrvey/constants/APP_STATUS_LIST.js +13 -0
  236. package/dist/cjs/qrvey/constants/APP_TYPE.d.ts +16 -0
  237. package/dist/cjs/qrvey/constants/APP_TYPE.js +20 -0
  238. package/dist/cjs/qrvey/constants/index.d.ts +6 -0
  239. package/dist/cjs/qrvey/constants/index.js +6 -0
  240. package/dist/cjs/qrvey/helpers/areStaticColumnValues.d.ts +8 -0
  241. package/dist/cjs/qrvey/helpers/areStaticColumnValues.js +17 -0
  242. package/dist/cjs/qrvey/helpers/getCategorizableExpression.d.ts +11 -0
  243. package/dist/cjs/qrvey/helpers/getCategorizableExpression.js +22 -0
  244. package/dist/cjs/qrvey/helpers/getDataAnswersByColumn.d.ts +13 -0
  245. package/dist/cjs/qrvey/helpers/getDataAnswersByColumn.js +54 -0
  246. package/dist/cjs/qrvey/helpers/getDatasetByColumn.d.ts +9 -0
  247. package/dist/cjs/qrvey/helpers/getDatasetByColumn.js +16 -0
  248. package/dist/cjs/qrvey/helpers/getDropdownAnswers.d.ts +9 -0
  249. package/dist/cjs/qrvey/helpers/getDropdownAnswers.js +14 -0
  250. package/dist/cjs/qrvey/helpers/getExpressionAnswers.d.ts +10 -0
  251. package/dist/cjs/qrvey/helpers/getExpressionAnswers.js +22 -0
  252. package/dist/cjs/qrvey/helpers/getImageAnswers.d.ts +8 -0
  253. package/dist/cjs/qrvey/helpers/getImageAnswers.js +17 -0
  254. package/dist/cjs/qrvey/helpers/getImageUploadHasAnalysis.d.ts +10 -0
  255. package/dist/cjs/qrvey/helpers/getImageUploadHasAnalysis.js +23 -0
  256. package/dist/cjs/qrvey/helpers/getLookupAnswers.d.ts +4 -0
  257. package/dist/cjs/qrvey/helpers/getLookupAnswers.js +15 -0
  258. package/dist/cjs/qrvey/helpers/getLookupDisplays.d.ts +4 -0
  259. package/dist/cjs/qrvey/helpers/getLookupDisplays.js +9 -0
  260. package/dist/cjs/qrvey/helpers/getRatingAnswers.d.ts +7 -0
  261. package/dist/cjs/qrvey/helpers/getRatingAnswers.js +12 -0
  262. package/dist/cjs/qrvey/helpers/getSlidebarAnswers.d.ts +8 -0
  263. package/dist/cjs/qrvey/helpers/getSlidebarAnswers.js +18 -0
  264. package/dist/cjs/qrvey/helpers/getSuffixTranslateByColumn.d.ts +7 -0
  265. package/dist/cjs/qrvey/helpers/getSuffixTranslateByColumn.js +17 -0
  266. package/dist/cjs/qrvey/helpers/getValueWithSuffixes.d.ts +2 -2
  267. package/dist/cjs/qrvey/helpers/getValueWithSuffixes.js +1 -1
  268. package/dist/cjs/qrvey/helpers/getYesNoAnswers.d.ts +9 -0
  269. package/dist/cjs/qrvey/helpers/getYesNoAnswers.js +13 -0
  270. package/dist/cjs/qrvey/helpers/index.d.ts +16 -1
  271. package/dist/cjs/qrvey/helpers/index.js +16 -1
  272. package/dist/cjs/qrvey/helpers/isDataset.d.ts +2 -0
  273. package/dist/cjs/qrvey/helpers/isDataset.js +8 -0
  274. package/dist/cjs/qrvey/helpers/isForm.d.ts +2 -0
  275. package/dist/cjs/qrvey/helpers/isForm.js +8 -0
  276. package/dist/cjs/qrvey/interfaces/IAppStatus.d.ts +2 -0
  277. package/dist/cjs/qrvey/interfaces/IAppStatus.js +2 -0
  278. package/dist/cjs/qrvey/interfaces/IAppType.d.ts +2 -0
  279. package/dist/cjs/qrvey/interfaces/IAppType.js +2 -0
  280. package/dist/cjs/qrvey/interfaces/IBModel.d.ts +19 -0
  281. package/dist/cjs/qrvey/interfaces/IBModel.js +2 -0
  282. package/dist/cjs/qrvey/interfaces/IBModelBranchesMap.d.ts +5 -0
  283. package/dist/cjs/qrvey/interfaces/IBModelBranchesMap.js +2 -0
  284. package/dist/cjs/qrvey/interfaces/IBModelBranchesMapBranch.d.ts +4 -0
  285. package/dist/cjs/qrvey/interfaces/IBModelBranchesMapBranch.js +2 -0
  286. package/dist/cjs/qrvey/interfaces/IBModelData.d.ts +4 -0
  287. package/dist/cjs/qrvey/interfaces/IBModelData.js +2 -0
  288. package/dist/cjs/qrvey/interfaces/IFunctionGetDataAnswersByColumn.d.ts +11 -0
  289. package/dist/cjs/qrvey/interfaces/IFunctionGetDataAnswersByColumn.js +2 -0
  290. package/dist/{qrvey/interfaces/IGetValueWithSuffixesSettings.d.ts → cjs/qrvey/interfaces/IFunctionGetValueWithSuffixes.d.ts} +3 -3
  291. package/dist/cjs/qrvey/interfaces/IFunctionGetValueWithSuffixes.js +2 -0
  292. package/dist/cjs/qrvey/interfaces/IModel.d.ts +10 -0
  293. package/dist/cjs/qrvey/interfaces/IModel.js +2 -0
  294. package/dist/cjs/qrvey/interfaces/IModelAnswer.d.ts +5 -0
  295. package/dist/cjs/qrvey/interfaces/IModelAnswer.js +2 -0
  296. package/dist/cjs/qrvey/interfaces/IModelBranchesMap.d.ts +5 -0
  297. package/dist/cjs/qrvey/interfaces/IModelBranchesMap.js +2 -0
  298. package/dist/cjs/qrvey/interfaces/IModelBranchesMapBranch.d.ts +4 -0
  299. package/dist/cjs/qrvey/interfaces/IModelBranchesMapBranch.js +2 -0
  300. package/dist/cjs/qrvey/interfaces/IModelColumn.d.ts +23 -0
  301. package/dist/cjs/qrvey/interfaces/IModelColumn.js +2 -0
  302. package/dist/cjs/qrvey/interfaces/IModelDataset.d.ts +7 -0
  303. package/dist/cjs/qrvey/interfaces/IModelDataset.js +2 -0
  304. package/dist/cjs/qrvey/interfaces/index.d.ts +12 -1
  305. package/dist/cjs/qrvey/interfaces/index.js +12 -1
  306. package/dist/cjs/services/adapters/BBranchesMapToUIBranchesMap.adapter.d.ts +8 -0
  307. package/dist/cjs/services/adapters/BBranchesMapToUIBranchesMap.adapter.js +21 -0
  308. package/dist/cjs/services/adapters/BColumnsToUIColumns.adapter.js +13 -4
  309. package/dist/cjs/services/adapters/BDatasetsToUIDatasets.adapter.js +3 -2
  310. package/dist/cjs/services/adapters/BModelToUIModel.adapter.d.ts +3 -0
  311. package/dist/cjs/services/adapters/BModelToUIModel.adapter.js +26 -0
  312. package/dist/cjs/services/adapters/index.d.ts +1 -0
  313. package/dist/cjs/services/adapters/index.js +1 -0
  314. package/dist/cjs/services/api/Charts.api.d.ts +15 -0
  315. package/dist/cjs/services/api/Charts.api.js +37 -0
  316. package/dist/cjs/services/api/getAllDatasets.api.d.ts +9 -5
  317. package/dist/cjs/services/api/getAllDatasets.api.js +24 -15
  318. package/dist/cjs/services/api/getAllQrveys.api.d.ts +1 -1
  319. package/dist/cjs/services/api/getAllQrveys.api.js +1 -1
  320. package/dist/cjs/services/api/getDatasetColumns.api.d.ts +3 -3
  321. package/dist/cjs/services/api/getDatasetColumns.api.js +5 -4
  322. package/dist/cjs/services/api/getDatasetsByIds.api.d.ts +8 -0
  323. package/dist/cjs/services/api/getDatasetsByIds.api.js +30 -0
  324. package/dist/cjs/services/api/getModel.api.d.ts +1 -0
  325. package/dist/cjs/services/api/getModel.api.js +16 -0
  326. package/dist/cjs/services/api/index.d.ts +2 -0
  327. package/dist/cjs/services/api/index.js +2 -0
  328. package/dist/cjs/services/constants/MODEL_ENDPOINT.d.ts +2 -0
  329. package/dist/cjs/services/constants/MODEL_ENDPOINT.js +7 -0
  330. package/dist/cjs/services/constants/QUESTION_LIST_BULK_ENDPOINT.d.ts +2 -0
  331. package/dist/cjs/services/constants/QUESTION_LIST_BULK_ENDPOINT.js +7 -0
  332. package/dist/cjs/services/constants/UCHART_ENDPOINT.d.ts +2 -0
  333. package/dist/cjs/services/constants/UCHART_ENDPOINT.js +7 -0
  334. package/dist/cjs/services/constants/UCHART_PAGINATION_ENDPOINT.d.ts +2 -0
  335. package/dist/cjs/services/constants/UCHART_PAGINATION_ENDPOINT.js +7 -0
  336. package/dist/cjs/services/constants/index.d.ts +4 -0
  337. package/dist/cjs/services/constants/index.js +4 -0
  338. package/dist/cjs/services/helpers/getDefaultQuestionListOptionsAttributes.d.ts +1 -0
  339. package/dist/cjs/services/helpers/getDefaultQuestionListOptionsAttributes.js +28 -0
  340. package/dist/cjs/services/helpers/index.d.ts +1 -0
  341. package/dist/cjs/services/helpers/index.js +1 -0
  342. package/dist/column_format/helpers/defineXYChartFormat.js +3 -2
  343. package/dist/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION.d.ts +5 -0
  344. package/dist/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION.js +6 -0
  345. package/dist/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION_LIST.d.ts +2 -0
  346. package/dist/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION_LIST.js +6 -0
  347. package/dist/columns/constants/index.d.ts +4 -0
  348. package/dist/columns/constants/index.js +4 -0
  349. package/dist/{cjs/qrvey → columns}/helpers/getColumnsLabel.d.ts +1 -1
  350. package/dist/{qrvey → columns}/helpers/getColumnsLabel.js +2 -0
  351. package/dist/columns/helpers/getDatasetColumn.d.ts +3 -0
  352. package/dist/columns/helpers/getDatasetColumn.js +12 -0
  353. package/dist/columns/helpers/getDatasetColumnByDatasets.d.ts +10 -0
  354. package/dist/columns/helpers/getDatasetColumnByDatasets.js +15 -0
  355. package/dist/columns/helpers/getModelColumn.d.ts +9 -0
  356. package/dist/columns/helpers/getModelColumn.js +26 -0
  357. package/dist/columns/helpers/index.d.ts +4 -0
  358. package/dist/columns/helpers/index.js +4 -0
  359. package/dist/columns/interfaces/IBColumAnswer.d.ts +6 -0
  360. package/dist/{filters/interfaces/builder/IFilterBuilderGeneralConfig.js → columns/interfaces/IBColumAnswer.js} +0 -0
  361. package/dist/columns/interfaces/IBColumn.d.ts +10 -3
  362. package/dist/columns/interfaces/IBColumnAnswerExpression.d.ts +5 -0
  363. package/dist/{filters/interfaces/common/IFSMergeFiltersSettings.js → columns/interfaces/IBColumnAnswerExpression.js} +0 -0
  364. package/dist/columns/interfaces/IBColumnAnswerExpressionCategory.d.ts +6 -0
  365. package/dist/{filters/interfaces/common/IFSParamsToGetFilterSettings.js → columns/interfaces/IBColumnAnswerExpressionCategory.js} +0 -0
  366. package/dist/columns/interfaces/IBColumnAnswerExpressionWord.d.ts +3 -0
  367. package/dist/{interfaces/general/IGeneralWidgetConfig.js → columns/interfaces/IBColumnAnswerExpressionWord.js} +0 -0
  368. package/dist/columns/interfaces/IBColumnAnswerGeneral.d.ts +4 -0
  369. package/dist/{qrvey/interfaces/IGetValueWithSuffixesSettings.js → columns/interfaces/IBColumnAnswerGeneral.js} +0 -0
  370. package/dist/columns/interfaces/IBColumnAnswerImages.d.ts +5 -0
  371. package/dist/columns/interfaces/IBColumnAnswerImages.js +1 -0
  372. package/dist/columns/interfaces/IBColumnAnswerLookupAnswer.d.ts +5 -0
  373. package/dist/columns/interfaces/IBColumnAnswerLookupAnswer.js +1 -0
  374. package/dist/columns/interfaces/IBColumnAnswerLookupAnswerAnswer.d.ts +6 -0
  375. package/dist/columns/interfaces/IBColumnAnswerLookupAnswerAnswer.js +1 -0
  376. package/dist/columns/interfaces/IBColumnAnswerLookupValue.d.ts +4 -0
  377. package/dist/columns/interfaces/IBColumnAnswerLookupValue.js +1 -0
  378. package/dist/columns/interfaces/IBColumnAnswerLookupValueValue.d.ts +7 -0
  379. package/dist/columns/interfaces/IBColumnAnswerLookupValueValue.js +1 -0
  380. package/dist/columns/interfaces/IBColumnAnswerSlidebar.d.ts +3 -0
  381. package/dist/columns/interfaces/IBColumnAnswerSlidebar.js +1 -0
  382. package/dist/columns/interfaces/IColumn.d.ts +9 -1
  383. package/dist/columns/interfaces/IColumnImageUploadOption.d.ts +2 -0
  384. package/dist/columns/interfaces/IColumnImageUploadOption.js +1 -0
  385. package/dist/columns/interfaces/index.d.ts +11 -0
  386. package/dist/columns/interfaces/index.js +11 -0
  387. package/dist/dates/constants/index.d.ts +1 -0
  388. package/dist/dates/constants/index.js +1 -0
  389. package/dist/dates/helpers/isValidDateObject.d.ts +6 -0
  390. package/dist/dates/helpers/isValidDateObject.js +8 -0
  391. package/dist/dates/index.d.ts +1 -1
  392. package/dist/dates/index.js +1 -1
  393. package/dist/dates/range/getDateRange.js +10 -3
  394. package/dist/dates/relative/constants/RELATIVE_CURSOR_INFO_LIST.d.ts +1 -1
  395. package/dist/filters/adapters/FDToFlatUI.js +1 -0
  396. package/dist/filters/adapters/FDToLogic.js +3 -3
  397. package/dist/filters/adapters/UIToFD.js +2 -1
  398. package/dist/filters/adapters/UIToFlatUI.js +1 -0
  399. package/dist/filters/adapters/UIToOldLogic.js +5 -3
  400. package/dist/filters/adapters/adaptDateGroupingProperty.d.ts +2 -2
  401. package/dist/filters/adapters/adaptDateGroupingProperty.js +2 -2
  402. package/dist/filters/adapters/adaptFilterValues.js +3 -3
  403. package/dist/filters/adapters/flatUIToFD.js +1 -0
  404. package/dist/filters/adapters/flatUIToOldLogic.js +45 -25
  405. package/dist/filters/adapters/flatUIToUI.js +1 -0
  406. package/dist/filters/adapters/index.d.ts +2 -0
  407. package/dist/filters/adapters/index.js +2 -0
  408. package/dist/filters/adapters/logicToFlatUI.js +10 -9
  409. package/dist/filters/adapters/modelAnswerToFilterValue.d.ts +8 -0
  410. package/dist/filters/adapters/modelAnswerToFilterValue.js +12 -0
  411. package/dist/filters/constants/builder/FILTER_BUILDER_SCOPE_LABEL.js +1 -1
  412. package/dist/filters/constants/builder/STATIC_OPTION_COLUMNS.d.ts +2 -2
  413. package/dist/filters/constants/builder/index.d.ts +1 -0
  414. package/dist/filters/constants/builder/index.js +1 -0
  415. package/dist/filters/helpers/OLD_getAggFilters.d.ts +9 -0
  416. package/dist/filters/helpers/OLD_getAggFilters.js +84 -0
  417. package/dist/filters/helpers/applyHierarchyForAggFilters.d.ts +3 -3
  418. package/dist/filters/helpers/applyHierarchyForAggFilters.js +3 -3
  419. package/dist/filters/helpers/backend/buildExpression.js +3 -2
  420. package/dist/filters/helpers/backend/getAggFiltersBySummaryIndex.d.ts +5 -3
  421. package/dist/filters/helpers/backend/getAggFiltersBySummaryIndex.js +5 -3
  422. package/dist/filters/helpers/backend/getBackendValidator.d.ts +2 -2
  423. package/dist/filters/helpers/backend/getBackendValidator.js +4 -4
  424. package/dist/filters/helpers/backend/getBackendValues.js +16 -13
  425. package/dist/filters/helpers/backend/getLogicByDatasets.d.ts +11 -0
  426. package/dist/filters/helpers/backend/getLogicByDatasets.js +30 -0
  427. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.d.ts +12 -0
  428. package/dist/filters/helpers/backend/getLogicByDatasetsColumns.js +43 -0
  429. package/dist/filters/helpers/backend/index.d.ts +3 -1
  430. package/dist/filters/helpers/backend/index.js +4 -1
  431. package/dist/filters/helpers/builder/getFilterBuilderGeneralConfig.d.ts +2 -2
  432. package/dist/filters/helpers/common/excludeFiltersByParams.js +5 -5
  433. package/dist/filters/helpers/common/getFiltersByDatasetsColumns.js +7 -2
  434. package/dist/filters/helpers/common/getFiltersByParams.d.ts +2 -2
  435. package/dist/filters/helpers/common/getFiltersByParams.js +2 -2
  436. package/dist/filters/helpers/common/getMergeFiltersSettings.d.ts +2 -2
  437. package/dist/filters/helpers/common/getMergeFiltersSettings.js +4 -3
  438. package/dist/filters/helpers/common/getMergeValuesSettings.d.ts +7 -0
  439. package/dist/filters/helpers/common/getMergeValuesSettings.js +11 -0
  440. package/dist/filters/helpers/common/getParamsToGetFilterSettings.d.ts +2 -2
  441. package/dist/filters/helpers/common/getValuesFromDataset.d.ts +8 -0
  442. package/dist/filters/helpers/common/getValuesFromDataset.js +16 -0
  443. package/dist/filters/helpers/common/getValuesFromModel.d.ts +8 -0
  444. package/dist/filters/helpers/common/getValuesFromModel.js +16 -0
  445. package/dist/filters/helpers/common/index.d.ts +4 -1
  446. package/dist/filters/helpers/common/index.js +5 -1
  447. package/dist/filters/helpers/common/mergeFilters.d.ts +3 -3
  448. package/dist/filters/helpers/common/mergeFilters.js +19 -55
  449. package/dist/filters/helpers/common/mergeValues.d.ts +11 -0
  450. package/dist/filters/helpers/common/mergeValues.js +91 -0
  451. package/dist/filters/helpers/getAggFiltersFromFilterData.d.ts +5 -4
  452. package/dist/filters/helpers/getAggFiltersFromFilterData.js +5 -5
  453. package/dist/filters/helpers/getAvailableScopes.js +5 -5
  454. package/dist/filters/helpers/index.d.ts +1 -0
  455. package/dist/filters/helpers/index.js +2 -0
  456. package/dist/filters/helpers/ui/getUIFlatFilterByParams.js +1 -1
  457. package/dist/filters/helpers/ui/getUIFlatFiltersByParams.js +1 -1
  458. package/dist/filters/helpers/ui/getUIValues.d.ts +3 -3
  459. package/dist/filters/helpers/ui/getUIValues.js +25 -17
  460. package/dist/filters/helpers/ui/index.d.ts +1 -0
  461. package/dist/filters/helpers/ui/index.js +1 -0
  462. package/dist/filters/helpers/ui/{resolveUIFlatFiltersByParams.d.ts → resolveUIFlatFilterByParams.d.ts} +2 -1
  463. package/dist/filters/helpers/ui/{resolveUIFlatFiltersByParams.js → resolveUIFlatFilterByParams.js} +1 -1
  464. package/dist/filters/helpers/ui/transformFilterValues.d.ts +2 -2
  465. package/dist/filters/helpers/ui/transformFilterValues.js +4 -3
  466. package/dist/filters/index.d.ts +1 -0
  467. package/dist/filters/index.js +1 -0
  468. package/dist/filters/interfaces/OLD_IFilterDetail.d.ts +4 -1
  469. package/dist/filters/interfaces/backend/IFBData.d.ts +5 -0
  470. package/dist/filters/interfaces/backend/IFBData.js +1 -0
  471. package/dist/filters/interfaces/backend/IFBExpression.d.ts +1 -0
  472. package/dist/filters/interfaces/backend/index.d.ts +1 -0
  473. package/dist/filters/interfaces/backend/index.js +1 -0
  474. package/dist/filters/interfaces/builder/IFilterBuilderConfig.d.ts +2 -2
  475. package/dist/filters/interfaces/builder/index.d.ts +0 -1
  476. package/dist/filters/interfaces/builder/index.js +0 -1
  477. package/dist/filters/interfaces/common/IFSAvailableScope.d.ts +1 -0
  478. package/dist/filters/interfaces/common/IFSColumn.d.ts +1 -1
  479. package/dist/filters/interfaces/common/IFSFilter.d.ts +2 -1
  480. package/dist/filters/interfaces/common/IFSFilterExtras.d.ts +2 -0
  481. package/dist/filters/interfaces/common/IFSGetDataValues.d.ts +2 -0
  482. package/dist/filters/interfaces/common/IFSGetDataValues.js +1 -0
  483. package/dist/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -0
  484. package/dist/filters/interfaces/common/IFSValue.d.ts +1 -0
  485. package/dist/filters/interfaces/common/IFSValueRange.d.ts +1 -0
  486. package/dist/filters/interfaces/common/IFSValueRanking.d.ts +1 -0
  487. package/dist/filters/interfaces/common/IFSValueRelativeDate.d.ts +1 -0
  488. package/dist/filters/interfaces/common/IFilterConfig.d.ts +2 -0
  489. package/dist/filters/interfaces/common/IFilterConfig.js +1 -0
  490. package/dist/filters/interfaces/common/index.d.ts +2 -2
  491. package/dist/filters/interfaces/common/index.js +2 -2
  492. package/dist/filters/interfaces/functions/IFFGetLogicByDatasets.d.ts +6 -0
  493. package/dist/filters/interfaces/functions/IFFGetLogicByDatasets.js +1 -0
  494. package/dist/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.d.ts +7 -0
  495. package/dist/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.js +1 -0
  496. package/dist/filters/interfaces/functions/IFFiltersGetData.d.ts +17 -0
  497. package/dist/filters/interfaces/functions/IFFiltersGetData.js +1 -0
  498. package/dist/filters/interfaces/functions/IFFiltersGetValuesFromDataset.d.ts +10 -0
  499. package/dist/filters/interfaces/functions/IFFiltersGetValuesFromDataset.js +1 -0
  500. package/dist/filters/interfaces/functions/IFFiltersGetValuesFromModel.d.ts +10 -0
  501. package/dist/filters/interfaces/functions/IFFiltersGetValuesFromModel.js +1 -0
  502. package/dist/filters/interfaces/functions/IFFiltersMergeFilters.d.ts +8 -0
  503. package/dist/filters/interfaces/functions/IFFiltersMergeFilters.js +1 -0
  504. package/dist/filters/interfaces/functions/IFFiltersMergeValues.d.ts +3 -0
  505. package/dist/filters/interfaces/functions/IFFiltersMergeValues.js +1 -0
  506. package/dist/filters/interfaces/{common/IFSParamsToGetFilterSettings.d.ts → functions/IFFiltersParamsToGetFilter.d.ts} +1 -1
  507. package/dist/filters/interfaces/functions/IFFiltersParamsToGetFilter.js +1 -0
  508. package/dist/filters/interfaces/functions/index.d.ts +8 -0
  509. package/dist/filters/interfaces/functions/index.js +8 -0
  510. package/dist/filters/interfaces/index.d.ts +1 -0
  511. package/dist/filters/interfaces/index.js +1 -0
  512. package/dist/filters/interfaces/ui/IFUColumn.d.ts +2 -2
  513. package/dist/filters/interfaces/ui/IFUValue.d.ts +1 -0
  514. package/dist/filters/interfaces/ui/index.d.ts +1 -1
  515. package/dist/filters/interfaces/ui/index.js +1 -1
  516. package/dist/filters/services/Filters.api.d.ts +52 -0
  517. package/dist/filters/services/Filters.api.js +133 -0
  518. package/dist/filters/services/UChartApi.d.ts +86 -0
  519. package/dist/filters/services/UChartApi.js +244 -0
  520. package/dist/filters/services/UChartPaginationApi.d.ts +114 -0
  521. package/dist/filters/services/UChartPaginationApi.js +289 -0
  522. package/dist/filters/services/index.d.ts +3 -0
  523. package/dist/filters/services/index.js +3 -0
  524. package/dist/format/definition.d.ts +62 -0
  525. package/dist/format/definition.js +17 -0
  526. package/dist/format/duration/addDurationFormat.d.ts +13 -0
  527. package/dist/format/duration/addDurationFormat.js +16 -0
  528. package/dist/format/duration/durationFormatter.d.ts +79 -0
  529. package/dist/format/duration/durationFormatter.js +152 -0
  530. package/dist/format/duration/index.d.ts +2 -0
  531. package/dist/format/duration/index.js +2 -0
  532. package/dist/format/index.d.ts +1 -0
  533. package/dist/format/index.js +1 -0
  534. package/dist/general/array/getArrayByProperty.d.ts +7 -0
  535. package/dist/general/array/getArrayByProperty.js +15 -0
  536. package/dist/general/array/getUniqueArray.d.ts +9 -0
  537. package/dist/general/array/getUniqueArray.js +11 -0
  538. package/dist/general/array/index.d.ts +1 -0
  539. package/dist/general/array/index.js +1 -0
  540. package/dist/general/object/get.d.ts +0 -20
  541. package/dist/general/object/get.js +0 -20
  542. package/dist/globalization/helpers/getI18nDateGroupLabel.js +1 -1
  543. package/dist/globalization/interfaces/chart_builder/II18nChartBuilderStyleOptions.d.ts +10 -0
  544. package/dist/globalization/interfaces/filters/II18nFilterPanel.d.ts +3 -0
  545. package/dist/globalization/interfaces/filters/II18nValueContainer.d.ts +3 -2
  546. package/dist/globalization/interfaces/style_themes/II18nStyleThemesTheme.d.ts +1 -0
  547. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER.d.ts +1 -1
  548. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_COMPARISION_OPTIONS.d.ts +1 -1
  549. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_FORMAT_OPTIONS.d.ts +1 -1
  550. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_GENERAL_OPTIONS.d.ts +1 -1
  551. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_LAYER_OPTIONS.d.ts +1 -1
  552. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_LAYER_OPTIONS.js +1 -1
  553. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.d.ts +1 -1
  554. package/dist/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.js +10 -0
  555. package/dist/globalization/labels/filters/I18N_FILTER_PANEL.js +3 -0
  556. package/dist/globalization/labels/filters/I18N_VALUE_CONTAINER.js +2 -1
  557. package/dist/globalization/labels/style_themes/I18N_STYLE_THEMES.js +1 -0
  558. package/dist/interfaces/general/IWidgetConfig.d.ts +10 -0
  559. package/dist/interfaces/general/IWidgetConfig.js +1 -0
  560. package/dist/interfaces/general/index.d.ts +1 -1
  561. package/dist/interfaces/general/index.js +1 -1
  562. package/dist/qrvey/constants/APP_DATASET_TYPE_LIST.d.ts +6 -0
  563. package/dist/qrvey/constants/APP_DATASET_TYPE_LIST.js +13 -0
  564. package/dist/qrvey/constants/APP_FORM_TYPE_LIST.d.ts +6 -0
  565. package/dist/qrvey/constants/APP_FORM_TYPE_LIST.js +11 -0
  566. package/dist/qrvey/constants/APP_STATUS.d.ts +5 -0
  567. package/dist/qrvey/constants/APP_STATUS.js +6 -0
  568. package/dist/qrvey/constants/APP_STATUS_LIST.d.ts +6 -0
  569. package/dist/qrvey/constants/APP_STATUS_LIST.js +10 -0
  570. package/dist/qrvey/constants/APP_TYPE.d.ts +16 -0
  571. package/dist/qrvey/constants/APP_TYPE.js +17 -0
  572. package/dist/qrvey/constants/index.d.ts +6 -0
  573. package/dist/qrvey/constants/index.js +6 -0
  574. package/dist/qrvey/helpers/areStaticColumnValues.d.ts +8 -0
  575. package/dist/qrvey/helpers/areStaticColumnValues.js +13 -0
  576. package/dist/qrvey/helpers/getCategorizableExpression.d.ts +11 -0
  577. package/dist/qrvey/helpers/getCategorizableExpression.js +18 -0
  578. package/dist/qrvey/helpers/getDataAnswersByColumn.d.ts +13 -0
  579. package/dist/qrvey/helpers/getDataAnswersByColumn.js +50 -0
  580. package/dist/qrvey/helpers/getDatasetByColumn.d.ts +9 -0
  581. package/dist/qrvey/helpers/getDatasetByColumn.js +12 -0
  582. package/dist/qrvey/helpers/getDropdownAnswers.d.ts +9 -0
  583. package/dist/qrvey/helpers/getDropdownAnswers.js +10 -0
  584. package/dist/qrvey/helpers/getExpressionAnswers.d.ts +10 -0
  585. package/dist/qrvey/helpers/getExpressionAnswers.js +18 -0
  586. package/dist/qrvey/helpers/getImageAnswers.d.ts +8 -0
  587. package/dist/qrvey/helpers/getImageAnswers.js +13 -0
  588. package/dist/qrvey/helpers/getImageUploadHasAnalysis.d.ts +10 -0
  589. package/dist/qrvey/helpers/getImageUploadHasAnalysis.js +19 -0
  590. package/dist/qrvey/helpers/getLookupAnswers.d.ts +4 -0
  591. package/dist/qrvey/helpers/getLookupAnswers.js +11 -0
  592. package/dist/qrvey/helpers/getLookupDisplays.d.ts +4 -0
  593. package/dist/qrvey/helpers/getLookupDisplays.js +5 -0
  594. package/dist/qrvey/helpers/getRatingAnswers.d.ts +7 -0
  595. package/dist/qrvey/helpers/getRatingAnswers.js +8 -0
  596. package/dist/qrvey/helpers/getSlidebarAnswers.d.ts +8 -0
  597. package/dist/qrvey/helpers/getSlidebarAnswers.js +14 -0
  598. package/dist/qrvey/helpers/getSuffixTranslateByColumn.d.ts +7 -0
  599. package/dist/qrvey/helpers/getSuffixTranslateByColumn.js +13 -0
  600. package/dist/qrvey/helpers/getValueWithSuffixes.d.ts +2 -2
  601. package/dist/qrvey/helpers/getValueWithSuffixes.js +1 -1
  602. package/dist/qrvey/helpers/getYesNoAnswers.d.ts +9 -0
  603. package/dist/qrvey/helpers/getYesNoAnswers.js +9 -0
  604. package/dist/qrvey/helpers/index.d.ts +16 -1
  605. package/dist/qrvey/helpers/index.js +16 -1
  606. package/dist/qrvey/helpers/isDataset.d.ts +2 -0
  607. package/dist/qrvey/helpers/isDataset.js +4 -0
  608. package/dist/qrvey/helpers/isForm.d.ts +2 -0
  609. package/dist/qrvey/helpers/isForm.js +4 -0
  610. package/dist/qrvey/interfaces/IAppStatus.d.ts +2 -0
  611. package/dist/qrvey/interfaces/IAppStatus.js +1 -0
  612. package/dist/qrvey/interfaces/IAppType.d.ts +2 -0
  613. package/dist/qrvey/interfaces/IAppType.js +1 -0
  614. package/dist/qrvey/interfaces/IBModel.d.ts +19 -0
  615. package/dist/qrvey/interfaces/IBModel.js +1 -0
  616. package/dist/qrvey/interfaces/IBModelBranchesMap.d.ts +5 -0
  617. package/dist/qrvey/interfaces/IBModelBranchesMap.js +1 -0
  618. package/dist/qrvey/interfaces/IBModelBranchesMapBranch.d.ts +4 -0
  619. package/dist/qrvey/interfaces/IBModelBranchesMapBranch.js +1 -0
  620. package/dist/qrvey/interfaces/IBModelData.d.ts +4 -0
  621. package/dist/qrvey/interfaces/IBModelData.js +1 -0
  622. package/dist/qrvey/interfaces/IFunctionGetDataAnswersByColumn.d.ts +11 -0
  623. package/dist/qrvey/interfaces/IFunctionGetDataAnswersByColumn.js +1 -0
  624. package/dist/{cjs/qrvey/interfaces/IGetValueWithSuffixesSettings.d.ts → qrvey/interfaces/IFunctionGetValueWithSuffixes.d.ts} +3 -3
  625. package/dist/qrvey/interfaces/IFunctionGetValueWithSuffixes.js +1 -0
  626. package/dist/qrvey/interfaces/IModel.d.ts +10 -0
  627. package/dist/qrvey/interfaces/IModel.js +1 -0
  628. package/dist/qrvey/interfaces/IModelAnswer.d.ts +5 -0
  629. package/dist/qrvey/interfaces/IModelAnswer.js +1 -0
  630. package/dist/qrvey/interfaces/IModelBranchesMap.d.ts +5 -0
  631. package/dist/qrvey/interfaces/IModelBranchesMap.js +1 -0
  632. package/dist/qrvey/interfaces/IModelBranchesMapBranch.d.ts +4 -0
  633. package/dist/qrvey/interfaces/IModelBranchesMapBranch.js +1 -0
  634. package/dist/qrvey/interfaces/IModelColumn.d.ts +23 -0
  635. package/dist/qrvey/interfaces/IModelColumn.js +1 -0
  636. package/dist/qrvey/interfaces/IModelDataset.d.ts +7 -0
  637. package/dist/qrvey/interfaces/IModelDataset.js +1 -0
  638. package/dist/qrvey/interfaces/index.d.ts +12 -1
  639. package/dist/qrvey/interfaces/index.js +12 -1
  640. package/dist/services/adapters/BBranchesMapToUIBranchesMap.adapter.d.ts +8 -0
  641. package/dist/services/adapters/BBranchesMapToUIBranchesMap.adapter.js +17 -0
  642. package/dist/services/adapters/BColumnsToUIColumns.adapter.js +13 -4
  643. package/dist/services/adapters/BDatasetsToUIDatasets.adapter.js +3 -2
  644. package/dist/services/adapters/BModelToUIModel.adapter.d.ts +3 -0
  645. package/dist/services/adapters/BModelToUIModel.adapter.js +22 -0
  646. package/dist/services/adapters/index.d.ts +1 -0
  647. package/dist/services/adapters/index.js +1 -0
  648. package/dist/services/api/Charts.api.d.ts +15 -0
  649. package/dist/services/api/Charts.api.js +31 -0
  650. package/dist/services/api/getAllDatasets.api.d.ts +9 -5
  651. package/dist/services/api/getAllDatasets.api.js +24 -15
  652. package/dist/services/api/getAllQrveys.api.d.ts +1 -1
  653. package/dist/services/api/getAllQrveys.api.js +1 -1
  654. package/dist/services/api/getDatasetColumns.api.d.ts +3 -3
  655. package/dist/services/api/getDatasetColumns.api.js +7 -6
  656. package/dist/services/api/getDatasetsByIds.api.d.ts +8 -0
  657. package/dist/services/api/getDatasetsByIds.api.js +23 -0
  658. package/dist/services/api/getModel.api.d.ts +1 -0
  659. package/dist/services/api/getModel.api.js +9 -0
  660. package/dist/services/api/index.d.ts +2 -0
  661. package/dist/services/api/index.js +2 -0
  662. package/dist/services/constants/MODEL_ENDPOINT.d.ts +2 -0
  663. package/dist/services/constants/MODEL_ENDPOINT.js +4 -0
  664. package/dist/services/constants/QUESTION_LIST_BULK_ENDPOINT.d.ts +2 -0
  665. package/dist/services/constants/QUESTION_LIST_BULK_ENDPOINT.js +4 -0
  666. package/dist/services/constants/UCHART_ENDPOINT.d.ts +2 -0
  667. package/dist/services/constants/UCHART_ENDPOINT.js +4 -0
  668. package/dist/services/constants/UCHART_PAGINATION_ENDPOINT.d.ts +2 -0
  669. package/dist/services/constants/UCHART_PAGINATION_ENDPOINT.js +4 -0
  670. package/dist/services/constants/index.d.ts +4 -0
  671. package/dist/services/constants/index.js +4 -0
  672. package/dist/services/helpers/getDefaultQuestionListOptionsAttributes.d.ts +1 -0
  673. package/dist/services/helpers/getDefaultQuestionListOptionsAttributes.js +24 -0
  674. package/dist/services/helpers/index.d.ts +1 -0
  675. package/dist/services/helpers/index.js +1 -0
  676. package/jsdoc.config.json +14 -0
  677. package/package.json +1 -1
  678. package/sonar-project.properties +1 -0
  679. package/src/charts/constants/index.ts +1 -0
  680. package/src/column_format/helpers/defineXYChartFormat.ts +3 -2
  681. package/src/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION.ts +5 -0
  682. package/src/columns/constants/COLUMN_IMAGE_UPLOAD_OPTION_LIST.ts +7 -0
  683. package/src/columns/constants/index.ts +5 -0
  684. package/src/{qrvey → columns}/helpers/getColumnsLabel.ts +2 -1
  685. package/src/columns/helpers/getDatasetColumn.ts +15 -0
  686. package/src/columns/helpers/getDatasetColumnByDatasets.ts +19 -0
  687. package/src/columns/helpers/getModelColumn.ts +29 -0
  688. package/src/columns/helpers/index.ts +4 -0
  689. package/src/columns/interfaces/IBColumAnswer.ts +7 -0
  690. package/src/columns/interfaces/IBColumn.ts +10 -3
  691. package/src/columns/interfaces/IBColumnAnswerExpression.ts +6 -0
  692. package/src/columns/interfaces/IBColumnAnswerExpressionCategory.ts +7 -0
  693. package/src/columns/interfaces/IBColumnAnswerExpressionWord.ts +3 -0
  694. package/src/columns/interfaces/IBColumnAnswerGeneral.ts +4 -0
  695. package/src/columns/interfaces/IBColumnAnswerImages.ts +6 -0
  696. package/src/columns/interfaces/IBColumnAnswerLookupAnswer.ts +6 -0
  697. package/src/columns/interfaces/IBColumnAnswerLookupAnswerAnswer.ts +6 -0
  698. package/src/columns/interfaces/IBColumnAnswerLookupValue.ts +5 -0
  699. package/src/columns/interfaces/IBColumnAnswerLookupValueValue.ts +8 -0
  700. package/src/columns/interfaces/IBColumnAnswerSlidebar.ts +3 -0
  701. package/src/columns/interfaces/IColumn.ts +9 -1
  702. package/src/columns/interfaces/IColumnImageUploadOption.ts +3 -0
  703. package/src/columns/interfaces/index.ts +12 -0
  704. package/src/dates/constants/index.ts +1 -0
  705. package/src/dates/helpers/isValidDateObject.ts +9 -0
  706. package/src/dates/index.ts +1 -1
  707. package/src/dates/range/getDateRange.ts +13 -3
  708. package/src/dates/relative/constants/RELATIVE_CURSOR_INFO_LIST.ts +1 -1
  709. package/src/filters/adapters/FDToFlatUI.ts +1 -0
  710. package/src/filters/adapters/FDToLogic.ts +5 -5
  711. package/src/filters/adapters/UIToFD.ts +2 -1
  712. package/src/filters/adapters/UIToFlatUI.ts +1 -0
  713. package/src/filters/adapters/UIToOldLogic.ts +4 -3
  714. package/src/filters/adapters/adaptDateGroupingProperty.ts +2 -2
  715. package/src/filters/adapters/adaptFilterValues.ts +3 -3
  716. package/src/filters/adapters/flatUIToFD.ts +1 -0
  717. package/src/filters/adapters/flatUIToOldLogic.ts +43 -32
  718. package/src/filters/adapters/flatUIToUI.ts +1 -0
  719. package/src/filters/adapters/index.ts +4 -0
  720. package/src/filters/adapters/logicToFlatUI.ts +5 -3
  721. package/src/filters/adapters/modelAnswerToFilterValue.ts +15 -0
  722. package/src/filters/constants/builder/FILTER_BUILDER_SCOPE_LABEL.ts +1 -1
  723. package/src/filters/constants/builder/STATIC_OPTION_COLUMNS.ts +2 -1
  724. package/src/filters/constants/builder/index.ts +1 -0
  725. package/src/filters/helpers/OLD_getAggFilters.ts +90 -0
  726. package/src/filters/helpers/applyHierarchyForAggFilters.ts +3 -3
  727. package/src/filters/helpers/backend/buildExpression.ts +2 -2
  728. package/src/filters/helpers/backend/getAggFiltersBySummaryIndex.ts +5 -3
  729. package/src/filters/helpers/backend/getBackendValidator.ts +5 -5
  730. package/src/filters/helpers/backend/getBackendValues.ts +17 -13
  731. package/src/filters/helpers/backend/getLogicByDatasets.ts +37 -0
  732. package/src/filters/helpers/backend/getLogicByDatasetsColumns.ts +52 -0
  733. package/src/filters/helpers/backend/index.ts +4 -1
  734. package/src/filters/helpers/builder/getFilterBuilderGeneralConfig.ts +2 -2
  735. package/src/filters/helpers/common/excludeFiltersByParams.ts +4 -4
  736. package/src/filters/helpers/common/getFiltersByDatasetsColumns.ts +7 -2
  737. package/src/filters/helpers/common/getFiltersByParams.ts +4 -4
  738. package/src/filters/helpers/common/getMergeFiltersSettings.ts +3 -2
  739. package/src/filters/helpers/common/getMergeValuesSettings.ts +12 -0
  740. package/src/filters/helpers/common/getParamsToGetFilterSettings.ts +2 -2
  741. package/src/filters/helpers/common/getValuesFromDataset.ts +19 -0
  742. package/src/filters/helpers/common/getValuesFromModel.ts +19 -0
  743. package/src/filters/helpers/common/index.ts +7 -1
  744. package/src/filters/helpers/common/mergeFilters.ts +35 -61
  745. package/src/filters/helpers/common/mergeValues.ts +90 -0
  746. package/src/filters/helpers/getAggFiltersFromFilterData.ts +5 -5
  747. package/src/filters/helpers/getAvailableScopes.ts +4 -4
  748. package/src/filters/helpers/index.ts +3 -0
  749. package/src/filters/helpers/ui/getUIFlatFilterByParams.ts +1 -1
  750. package/src/filters/helpers/ui/getUIFlatFiltersByParams.ts +1 -1
  751. package/src/filters/helpers/ui/getUIValues.ts +26 -16
  752. package/src/filters/helpers/ui/index.ts +1 -0
  753. package/src/filters/helpers/ui/{resolveUIFlatFiltersByParams.ts → resolveUIFlatFilterByParams.ts} +3 -2
  754. package/src/filters/helpers/ui/transformFilterValues.ts +6 -5
  755. package/src/filters/index.ts +1 -0
  756. package/src/filters/interfaces/OLD_IFilterDetail.ts +2 -1
  757. package/src/filters/interfaces/backend/IFBData.ts +6 -0
  758. package/src/filters/interfaces/backend/IFBExpression.ts +1 -0
  759. package/src/filters/interfaces/backend/index.ts +2 -0
  760. package/src/filters/interfaces/builder/IFilterBuilderConfig.ts +3 -3
  761. package/src/filters/interfaces/builder/index.ts +0 -1
  762. package/src/filters/interfaces/common/IFSAvailableScope.ts +1 -0
  763. package/src/filters/interfaces/common/IFSColumn.ts +1 -1
  764. package/src/filters/interfaces/common/IFSFilter.ts +2 -1
  765. package/src/filters/interfaces/common/IFSFilterExtras.ts +2 -0
  766. package/src/filters/interfaces/common/IFSGetDataValues.ts +3 -0
  767. package/src/filters/interfaces/common/IFSParamsToGetFilter.ts +2 -0
  768. package/src/filters/interfaces/common/IFSValue.ts +1 -0
  769. package/src/filters/interfaces/common/IFSValueRange.ts +1 -0
  770. package/src/filters/interfaces/common/IFSValueRanking.ts +1 -0
  771. package/src/filters/interfaces/common/IFSValueRelativeDate.ts +1 -1
  772. package/src/filters/interfaces/common/IFilterConfig.ts +3 -0
  773. package/src/filters/interfaces/common/index.ts +2 -2
  774. package/src/filters/interfaces/functions/IFFGetLogicByDatasets.ts +6 -0
  775. package/src/filters/interfaces/functions/IFFGetLogicByDatasetsColumns.ts +7 -0
  776. package/src/filters/interfaces/functions/IFFiltersGetData.ts +18 -0
  777. package/src/filters/interfaces/functions/IFFiltersGetValuesFromDataset.ts +11 -0
  778. package/src/filters/interfaces/functions/IFFiltersGetValuesFromModel.ts +11 -0
  779. package/src/filters/interfaces/functions/IFFiltersMergeFilters.ts +9 -0
  780. package/src/filters/interfaces/functions/IFFiltersMergeValues.ts +3 -0
  781. package/src/filters/interfaces/{common/IFSParamsToGetFilterSettings.ts → functions/IFFiltersParamsToGetFilter.ts} +1 -1
  782. package/src/filters/interfaces/functions/index.ts +8 -0
  783. package/src/filters/interfaces/index.ts +1 -0
  784. package/src/filters/interfaces/ui/IFUColumn.ts +2 -2
  785. package/src/filters/interfaces/ui/IFUValue.ts +1 -0
  786. package/src/filters/interfaces/ui/index.ts +1 -1
  787. package/src/filters/services/Filters.api.ts +159 -0
  788. package/src/filters/services/UChartApi.ts +265 -0
  789. package/src/filters/services/UChartPaginationApi.ts +326 -0
  790. package/src/filters/services/index.ts +3 -0
  791. package/src/format/definition.ts +19 -0
  792. package/src/format/duration/addDurationFormat.ts +17 -0
  793. package/src/format/duration/durationFormatter.ts +169 -0
  794. package/src/format/duration/index.ts +2 -0
  795. package/src/format/index.ts +1 -0
  796. package/src/general/array/getArrayByProperty.ts +14 -0
  797. package/src/general/array/getUniqueArray.ts +11 -0
  798. package/src/general/array/index.ts +1 -0
  799. package/src/general/object/get.ts +0 -22
  800. package/src/globalization/helpers/getI18nDateGroupLabel.ts +1 -1
  801. package/src/globalization/interfaces/chart_builder/II18nChartBuilderStyleOptions.ts +10 -0
  802. package/src/globalization/interfaces/filters/II18nFilterPanel.ts +3 -0
  803. package/src/globalization/interfaces/filters/II18nValueContainer.ts +3 -2
  804. package/src/globalization/interfaces/style_themes/II18nStyleThemesTheme.ts +1 -0
  805. package/src/globalization/labels/chart_builder/I18N_CHART_BUILDER.ts +1 -1
  806. package/src/globalization/labels/chart_builder/I18N_CHART_BUILDER_COMPARISION_OPTIONS.ts +1 -1
  807. package/src/globalization/labels/chart_builder/I18N_CHART_BUILDER_FORMAT_OPTIONS.ts +1 -1
  808. package/src/globalization/labels/chart_builder/I18N_CHART_BUILDER_GENERAL_OPTIONS.ts +2 -1
  809. package/src/globalization/labels/chart_builder/I18N_CHART_BUILDER_LAYER_OPTIONS.ts +2 -2
  810. package/src/globalization/labels/chart_builder/I18N_CHART_BUILDER_STYLE_OPTIONS.ts +11 -1
  811. package/src/globalization/labels/filters/I18N_FILTER_PANEL.ts +3 -0
  812. package/src/globalization/labels/filters/I18N_VALUE_CONTAINER.ts +2 -1
  813. package/src/globalization/labels/style_themes/I18N_STYLE_THEMES.ts +1 -0
  814. package/src/interfaces/Qrvey.Interface.ts +1 -27
  815. package/src/interfaces/general/IWidgetConfig.ts +11 -0
  816. package/src/interfaces/general/index.ts +1 -1
  817. package/src/qrvey/constants/APP_DATASET_TYPE_LIST.ts +14 -0
  818. package/src/qrvey/constants/APP_FORM_TYPE_LIST.ts +12 -0
  819. package/src/qrvey/constants/APP_STATUS.ts +6 -0
  820. package/src/qrvey/constants/APP_STATUS_LIST.ts +11 -0
  821. package/src/qrvey/constants/APP_TYPE.ts +17 -0
  822. package/src/qrvey/constants/index.ts +6 -0
  823. package/src/qrvey/helpers/areStaticColumnValues.ts +15 -0
  824. package/src/qrvey/helpers/getCategorizableExpression.ts +20 -0
  825. package/src/qrvey/helpers/getDataAnswersByColumn.ts +56 -0
  826. package/src/qrvey/helpers/getDatasetByColumn.ts +15 -0
  827. package/src/qrvey/helpers/getDropdownAnswers.ts +13 -0
  828. package/src/qrvey/helpers/getExpressionAnswers.ts +21 -0
  829. package/src/qrvey/helpers/getImageAnswers.ts +16 -0
  830. package/src/qrvey/helpers/getImageUploadHasAnalysis.ts +23 -0
  831. package/src/qrvey/helpers/getLookupAnswers.ts +17 -0
  832. package/src/qrvey/helpers/getLookupDisplays.ts +9 -0
  833. package/src/qrvey/helpers/getRatingAnswers.ts +10 -0
  834. package/src/qrvey/helpers/getSlidebarAnswers.ts +16 -0
  835. package/src/qrvey/helpers/getSuffixTranslateByColumn.ts +13 -0
  836. package/src/qrvey/helpers/getValueWithSuffixes.ts +3 -3
  837. package/src/qrvey/helpers/getYesNoAnswers.ts +12 -0
  838. package/src/qrvey/helpers/index.ts +16 -1
  839. package/src/qrvey/helpers/isDataset.ts +6 -0
  840. package/src/qrvey/helpers/isForm.ts +6 -0
  841. package/src/qrvey/interfaces/IAppStatus.ts +3 -0
  842. package/src/qrvey/interfaces/IAppType.ts +3 -0
  843. package/src/qrvey/interfaces/IBModel.ts +20 -0
  844. package/src/qrvey/interfaces/IBModelBranchesMap.ts +6 -0
  845. package/src/qrvey/interfaces/IBModelBranchesMapBranch.ts +5 -0
  846. package/src/qrvey/interfaces/IBModelData.ts +5 -0
  847. package/src/qrvey/interfaces/IDataset.ts +1 -1
  848. package/src/qrvey/interfaces/IFunctionGetDataAnswersByColumn.ts +12 -0
  849. package/src/qrvey/interfaces/{IGetValueWithSuffixesSettings.ts → IFunctionGetValueWithSuffixes.ts} +3 -3
  850. package/src/qrvey/interfaces/IModel.ts +11 -0
  851. package/src/qrvey/interfaces/IModelAnswer.ts +5 -0
  852. package/src/qrvey/interfaces/IModelBranchesMap.ts +6 -0
  853. package/src/qrvey/interfaces/IModelBranchesMapBranch.ts +5 -0
  854. package/src/qrvey/interfaces/IModelColumn.ts +25 -0
  855. package/src/qrvey/interfaces/IModelDataset.ts +7 -0
  856. package/src/qrvey/interfaces/index.ts +19 -1
  857. package/src/services/adapters/BBranchesMapToUIBranchesMap.adapter.ts +20 -0
  858. package/src/services/adapters/BColumnsToUIColumns.adapter.ts +14 -5
  859. package/src/services/adapters/BDatasetsToUIDatasets.adapter.ts +5 -4
  860. package/src/services/adapters/BModelToUIModel.adapter.ts +25 -0
  861. package/src/services/adapters/index.ts +1 -0
  862. package/src/services/api/Charts.api.ts +44 -0
  863. package/src/services/api/getAllDatasets.api.ts +23 -17
  864. package/src/services/api/getAllQrveys.api.ts +1 -1
  865. package/src/services/api/getDatasetColumns.api.ts +10 -9
  866. package/src/services/api/getDatasetsByIds.api.ts +26 -0
  867. package/src/services/api/getModel.api.ts +10 -0
  868. package/src/services/api/index.ts +2 -0
  869. package/src/services/constants/MODEL_ENDPOINT.ts +6 -0
  870. package/src/services/constants/QUESTION_LIST_BULK_ENDPOINT.ts +6 -0
  871. package/src/services/constants/UCHART_ENDPOINT.ts +6 -0
  872. package/src/services/constants/UCHART_PAGINATION_ENDPOINT.ts +6 -0
  873. package/src/services/constants/index.ts +6 -0
  874. package/src/services/helpers/getDefaultQuestionListOptionsAttributes.ts +24 -0
  875. package/src/services/helpers/index.ts +1 -0
  876. package/test/filters/backend/getLogicByDatasetsColumns.test.js +312 -0
  877. package/test/format/addDurationFormat.test.js +39 -0
  878. package/test/format/addDurationFormatWithLocale.test.js +11 -0
  879. package/test/format/durationFormatterClass.test.js +45 -0
  880. package/dist/cjs/filters/interfaces/builder/IFilterBuilderGeneralConfig.d.ts +0 -13
  881. package/dist/cjs/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +0 -7
  882. package/dist/cjs/interfaces/general/IGeneralWidgetConfig.d.ts +0 -12
  883. package/dist/filters/interfaces/builder/IFilterBuilderGeneralConfig.d.ts +0 -13
  884. package/dist/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +0 -7
  885. package/dist/interfaces/general/IGeneralWidgetConfig.d.ts +0 -12
  886. package/src/filters/interfaces/builder/IFilterBuilderGeneralConfig.ts +0 -14
  887. package/src/filters/interfaces/common/IFSMergeFiltersSettings.ts +0 -8
  888. package/src/interfaces/general/IGeneralWidgetConfig.ts +0 -12
@@ -0,0 +1,52 @@
1
+ import { filterNestedTree } from "../../../general/array/filterNestedTree";
2
+ import { isEmpty } from "../../../general/mix/isEmpty";
3
+ import { _hasProperty } from "../../../general/object/hasProperty";
4
+ import { IDataset } from "../../../qrvey/interfaces/IDataset";
5
+ import { IFBExpression } from "../../interfaces/backend/IFBExpression";
6
+ import { IFBLogic } from "../../interfaces/backend/IFBLogic";
7
+ import { IFFGetLogicByDatasetsColumns } from "../../interfaces/functions/IFFGetLogicByDatasetsColumns";
8
+
9
+ /**
10
+ * @todo MODULE NO READY
11
+ * Filters the logic by a datasets array
12
+ * If an qrveyid is not provided in the expression a the filter passes normally
13
+ * @param logic The logic of the filter
14
+ * @param datasets The collection of datasets
15
+ * @returns a new filtered logic
16
+ */
17
+ export function getLogicByDatasetsColumns(logic: IFBLogic[], datasets: IDataset[] = [], settings?: IFFGetLogicByDatasetsColumns): IFBLogic[] {
18
+ if (isEmpty(logic)) return;
19
+ if (isEmpty(datasets)) return logic;
20
+
21
+ settings = getGetLogicByDatasetsSettings(settings);
22
+
23
+ return logic.map(_l => ({
24
+ ..._l,
25
+ filters: filterNestedTree(_l.filters, 'expressions', (expression: IFBExpression) => {
26
+ const letQrveyidPass = settings.letPassUndefinedProperties.qrveyid || _hasProperty(expression, 'qrveyid');
27
+ let letQuestionidPass = settings.letPassUndefinedProperties.questionid || _hasProperty(expression, 'questionid');
28
+ const dataset = letQrveyidPass ? datasets.find(_data => _data.qrveyid === expression.qrveyid) : undefined;
29
+ if (!isEmpty(dataset)) {
30
+ const column = letQuestionidPass ? (dataset.options || []).find(option => option.id === expression.questionid) : undefined;
31
+ letQuestionidPass = letQuestionidPass || !isEmpty(column);
32
+ }
33
+
34
+ return (letQrveyidPass && !isEmpty(dataset)) && letQuestionidPass;
35
+ })
36
+ }));
37
+ }
38
+
39
+ /**
40
+ * Gets the default settings for the getLogicByDatasetsColumn function
41
+ * @param settings the settings given by the implementer
42
+ * @returns an object with all properties set
43
+ */
44
+ function getGetLogicByDatasetsSettings(settings?: IFFGetLogicByDatasetsColumns): IFFGetLogicByDatasetsColumns {
45
+ return {
46
+ filterEmptyArrays: settings?.filterEmptyArrays ?? true,
47
+ letPassUndefinedProperties: {
48
+ qrveyid: settings?.letPassUndefinedProperties?.qrveyid ?? true,
49
+ questionid: settings?.letPassUndefinedProperties?.questionid ?? true
50
+ }
51
+ };
52
+ }
@@ -6,5 +6,8 @@ export * from './getBackendGroupValue';
6
6
  export * from './getBackendProperty';
7
7
  export * from './getBackendValidator';
8
8
  export * from './getBackendValues';
9
- export * from './getLogicByScopesHierarchy';
9
+ export * from './getLogicByDatasets';
10
+ export * from './getLogicByDatasetsColumns';
10
11
  export * from './getLogicByScopes';
12
+ export * from './getLogicByScopesHierarchy';
13
+ // export * from './hasDatasetRelatedFilters';
@@ -1,12 +1,12 @@
1
1
  import { getAttribute } from '../../../general/object/getAttribute';
2
- import { IFilterBuilderGeneralConfig } from '../../interfaces/builder/IFilterBuilderGeneralConfig';
2
+ import { IFilterConfig } from '../../interfaces/common/IFilterConfig';
3
3
 
4
4
  /**
5
5
  * Returns a filter builder config object by a any given config
6
6
  * @param config any config object
7
7
  * @returns The filter builder config object
8
8
  */
9
- export function getFilterBuilderGeneralConfig(config: any = {}): IFilterBuilderGeneralConfig {
9
+ export function getFilterBuilderGeneralConfig(config: any = {}): IFilterConfig {
10
10
  return {
11
11
  apiKey: getAttribute(config, 'api_key') || config.apiKey,
12
12
  appid: getAttribute(config, 'app_id') || config.appid,
@@ -42,10 +42,10 @@ export function excludeFiltersByParams(filterData: IFSData | IFUData, params: IF
42
42
  if (resolveFilterConditions(filter, params)) {
43
43
  return {
44
44
  ...filter,
45
- values: filter.values.map((value: IFValue) => {
45
+ values: (filter.values || []).map((value: IFValue) => {
46
46
  if (Array.isArray(value) && value.length > 0) {
47
47
  const rankingValues = value as IFSValueRanking[];
48
- rankingValues.map(rValue => {
48
+ return rankingValues.map(rValue => {
49
49
  if (params.enableds == null || params.enableds === rValue.enabled) return rValue;
50
50
  }).filter(Boolean);
51
51
  } else {
@@ -54,7 +54,7 @@ export function excludeFiltersByParams(filterData: IFSData | IFUData, params: IF
54
54
  }
55
55
  }).filter(Boolean) };
56
56
  }
57
- }).filter(filter => !isEmpty(filter) && filter.values.length > 0)
57
+ }).filter(filter => !isEmpty(filter) && (filter.selectAll && filter.values?.length > 0))
58
58
  };
59
59
  }
60
60
  }).filter(dataset => !isEmpty(dataset) && dataset.filters.length > 0)
@@ -88,5 +88,5 @@ function resolveFilterConditions(filter: IFSFilter, params: IFSParamsToGetFilter
88
88
  params.column?.qrveyid !== filter.column.qrveyid &&
89
89
  params.column?.linkid !== filter.column.linkid) &&
90
90
  params.column?.aggregate !== filter.column.aggregate) &&
91
- filter.values.length > 0;
91
+ filter.values?.length > 0;
92
92
  }
@@ -11,13 +11,14 @@ import { IFUData } from "../../interfaces/ui/IFUData";
11
11
  */
12
12
  export function getFiltersByDatasetsColumns(data: IFUData, datasets: IDataset[] = []): IFUData {
13
13
  if (isEmpty(data) || isEmpty(data.scopes)) return;
14
+ if (isEmpty(datasets)) return data;
14
15
 
15
- return {
16
+ const newData = {
16
17
  ...data,
17
18
  scopes: data.scopes.map(scope => ({
18
19
  ...scope,
19
20
  datasets: scope.datasets.map(filterDataset => {
20
- const dataset = datasets.find(data => data.qrveyid === filterDataset.qrveyid);
21
+ const dataset = datasets.find(_data => _data.qrveyid === filterDataset.qrveyid);
21
22
  if (!isEmpty(dataset)) {
22
23
  return {
23
24
  ...filterDataset,
@@ -32,4 +33,8 @@ export function getFiltersByDatasetsColumns(data: IFUData, datasets: IDataset[]
32
33
  }).filter(dataset => !isEmpty(dataset) && dataset.filters.length > 0)
33
34
  })).filter(scope => !isEmpty(scope) && scope.datasets.length > 0)
34
35
  };
36
+
37
+ if (!isEmpty(newData) && newData.scopes.length > 0) {
38
+ return newData;
39
+ }
35
40
  }
@@ -5,12 +5,12 @@ import { IFSData } from "../../interfaces/common/IFSData";
5
5
  import { IFSDataset } from "../../interfaces/common/IFSDataset";
6
6
  import { IFSFilter } from "../../interfaces/common/IFSFilter";
7
7
  import { IFSParamsToGetFilter } from "../../interfaces/common/IFSParamsToGetFilter";
8
- import { IFSParamsToGetFilterSettings } from "../../interfaces/common/IFSParamsToGetFilterSettings";
9
8
  import { IFSScope } from "../../interfaces/common/IFSScope";
10
9
  import { IFSValue } from "../../interfaces/common/IFSValue";
11
10
  import { IFSValueRange } from "../../interfaces/common/IFSValueRange";
12
11
  import { IFSValueRanking } from "../../interfaces/common/IFSValueRanking";
13
12
  import { IFSValueRelativeDate } from "../../interfaces/common/IFSValueRelativeDate";
13
+ import { IFFiltersParamsToGetFilter } from "../../interfaces/functions/IFFiltersParamsToGetFilter";
14
14
  import { IFValue } from "../../interfaces/IFValue";
15
15
  import { IFUData } from "../../interfaces/ui/IFUData";
16
16
  import { getParamsToGetFilterSettings } from "./getParamsToGetFilterSettings";
@@ -33,7 +33,7 @@ import { resolveScopeConditions } from "./resolveScopeConditions";
33
33
  * @param params given parameters to validate the dataset
34
34
  * @returns a new Filter object structure
35
35
  */
36
- export function getFiltersByParams(filterData: IFSData | IFUData, params: IFSParamsToGetFilter, settings?: IFSParamsToGetFilterSettings): IFSData | IFUData {
36
+ export function getFiltersByParams(filterData: IFSData | IFUData, params: IFSParamsToGetFilter, settings?: IFFiltersParamsToGetFilter): IFSData | IFUData {
37
37
  if (isEmpty(filterData) || isEmpty(filterData.scopes)) return;
38
38
  if (isEmpty(params)) return filterData;
39
39
  filterData = cloneDeep(filterData);
@@ -52,7 +52,7 @@ export function getFiltersByParams(filterData: IFSData | IFUData, params: IFSPar
52
52
  if (resolveFilterConditions(filter, params, settings.letPassUndefinedProperties.filter, settings.letPassUndefinedParams.filter)) {
53
53
  return {
54
54
  ...filter,
55
- values: filter.values.map((value: IFValue) => {
55
+ values: (filter.values || []).map((value: IFValue) => {
56
56
  if (Array.isArray(value) && value.length > 0) {
57
57
  const rankingValues = value as IFSValueRanking[];
58
58
  return rankingValues.map(rValue => {
@@ -64,7 +64,7 @@ export function getFiltersByParams(filterData: IFSData | IFUData, params: IFSPar
64
64
  }
65
65
  }).filter(Boolean) };
66
66
  }
67
- }).filter(filter => !isEmpty(filter) && (!settings.filterEmptyArrays.filter || filter.values.length > 0))
67
+ }).filter(filter => !isEmpty(filter) && (!settings.filterEmptyArrays.filter || filter.selectAll || filter.values?.length > 0))
68
68
  };
69
69
  }
70
70
  }).filter(dataset => !isEmpty(dataset) && (!settings.filterEmptyArrays.dataset || dataset.filters.length > 0))
@@ -1,12 +1,13 @@
1
- import { IFSMergeFiltersSettings } from "../../interfaces/common/IFSMergeFiltersSettings";
1
+ import { IFFiltersMergeFilters } from "../../interfaces/functions/IFFiltersMergeFilters";
2
2
 
3
3
  /**
4
4
  * Transforms the given MergeFilters settings object. Adds the missing properties if they do not exist.
5
5
  * @param settings an object to the MergeFilters settings
6
6
  * @returns a new MergeFilters settings object.
7
7
  */
8
- export function getMergeFiltersSettings(settings?: IFSMergeFiltersSettings): IFSMergeFiltersSettings {
8
+ export function getMergeFiltersSettings(settings?: IFFiltersMergeFilters): IFFiltersMergeFilters {
9
9
  return {
10
+ overwriteFilterProps: settings?.overwriteFilterProps ?? true,
10
11
  overwriteValues: settings?.overwriteValues ?? false,
11
12
  setGroupedColumnOperator: settings?.setGroupedColumnOperator ?? true
12
13
  };
@@ -0,0 +1,12 @@
1
+ import { IFFiltersMergeValues } from "../../interfaces/functions/IFFiltersMergeValues";
2
+
3
+ /**
4
+ * Transforms the given MergeFilters settings object. Adds the missing properties if they do not exist.
5
+ * @param settings an object to the MergeFilters settings
6
+ * @returns a new MergeFilters settings object.
7
+ */
8
+ export function getMergeValuesSettings(settings?: IFFiltersMergeValues): IFFiltersMergeValues {
9
+ return {
10
+ overwriteValues: settings?.overwriteValues ?? false,
11
+ };
12
+ }
@@ -1,11 +1,11 @@
1
- import { IFSParamsToGetFilterSettings } from "../../interfaces/common/IFSParamsToGetFilterSettings";
1
+ import { IFFiltersParamsToGetFilter } from "../../interfaces/functions/IFFiltersParamsToGetFilter";
2
2
 
3
3
  /**
4
4
  * Transforms the given ParamsToGetFilter settings object. Adds the missing properties if they do not exist.
5
5
  * @param settings an object to the ParamsToGetFilter settings
6
6
  * @returns a new ParamsToGetFilter settings object.
7
7
  */
8
- export function getParamsToGetFilterSettings(settings?: IFSParamsToGetFilterSettings): IFSParamsToGetFilterSettings {
8
+ export function getParamsToGetFilterSettings(settings?: IFFiltersParamsToGetFilter): IFFiltersParamsToGetFilter {
9
9
  return {
10
10
  letPassUndefinedParams: {
11
11
  dataset: settings?.letPassUndefinedParams?.dataset ?? true,
@@ -0,0 +1,19 @@
1
+ import { getDataAnswersByColumn } from "../../../qrvey/helpers/getDataAnswersByColumn";
2
+ import { modelAnswerToFilterValue } from "../../adapters/modelAnswerToFilterValue";
3
+ import { IFBData } from "../../interfaces/backend/IFBData";
4
+ import { IFFiltersGetValuesFromDataset } from "../../interfaces/functions/IFFiltersGetValuesFromDataset";
5
+
6
+ /**
7
+ * Gets the values from the model object that will be used to filter. Static values are values to belong from static values questions. Static values questions are questions that do not need request an info from backend, instead the info is got from Model object.
8
+ * @param props Configuration to get static values from the given dataset.
9
+ * @returns The values.
10
+ */
11
+ export function getValuesFromDataset(props: IFFiltersGetValuesFromDataset): IFBData {
12
+ const answers = getDataAnswersByColumn({ column: props.column, dataset: props.dataset, property: props.property, lookupDisplay: props.lookupDisplay });
13
+ const data = modelAnswerToFilterValue(answers);
14
+ const values: IFBData = { data, total: data.length };
15
+ if (props.value) {
16
+ values.data = values.data.filter(v => v.value.toLowerCase().includes(props.value.toLowerCase()));
17
+ }
18
+ return values;
19
+ }
@@ -0,0 +1,19 @@
1
+ import { getDataAnswersByColumn } from "../../../qrvey/helpers/getDataAnswersByColumn";
2
+ import { modelAnswerToFilterValue } from "../../adapters/modelAnswerToFilterValue";
3
+ import { IFBData } from "../../interfaces/backend/IFBData";
4
+ import { IFFiltersGetValuesFromModel } from "../../interfaces/functions/IFFiltersGetValuesFromModel";
5
+
6
+ /**
7
+ * Gets the values from the model object that will be used to filter. Static values are values to belong from static values questions. Static values questions are questions that do not need request an info from backend, instead the info is got from Model object.
8
+ * @param props Configuration to get static values from the given model.
9
+ * @returns The values.
10
+ */
11
+ export function getValuesFromModel(props: IFFiltersGetValuesFromModel): IFBData {
12
+ const answers = getDataAnswersByColumn({ column: props.column, model: props.model, property: props.property, lookupDisplay: props.lookupDisplay });
13
+ const data = modelAnswerToFilterValue(answers);
14
+ const values: IFBData = { data, total: data.length };
15
+ if (props.value) {
16
+ values.data = values.data.filter(v => v.value.toLowerCase().includes(props.value.toLowerCase()));
17
+ }
18
+ return values;
19
+ }
@@ -1,8 +1,9 @@
1
1
  export * from './areFiltersEquals';
2
- export * from './isDateDistinctProperty';
2
+
3
3
  export * from './excludeFiltersByAggregateColumn';
4
4
  export * from './excludeFiltersByParams';
5
5
  export * from './excludeFiltersByScopes';
6
+
6
7
  export * from './getFilterColumnLabel';
7
8
  export * from './getFilterid';
8
9
  export * from './getFilterLabel';
@@ -14,13 +15,18 @@ export * from './getFiltersByScopesIds';
14
15
  export * from './getFiltersByVisibility';
15
16
  export * from './getMergeFiltersSettings';
16
17
  export * from './getParamsToGetFilterSettings';
18
+ export * from './getValuesFromModel';
19
+ export * from './getValuesFromDataset';
17
20
  export * from './haveFiltersByDataset';
18
21
  export * from './isBetweenValidator';
22
+ export * from './isDateDistinctProperty';
19
23
  export * from './isInValidator';
20
24
  export * from './isNullValidator';
21
25
  export * from './isRangeValidator';
22
26
  export * from './isRegularValidator';
23
27
  export * from './mergeFilters';
28
+ export * from './mergeValues';
24
29
  export * from './resolveDatasetConditions';
25
30
  export * from './resolveFilterConditions';
26
31
  export * from './resolveScopeConditions';
32
+ // export * from './validateFilterTextByColumn';
@@ -4,18 +4,12 @@ import { FILTER_GROUPED_COLUMN_OPERATOR } from "../../constants/common/FILTER_GR
4
4
  import { IFSData } from "../../interfaces/common/IFSData";
5
5
  import { IFSDataset } from "../../interfaces/common/IFSDataset";
6
6
  import { IFSFilter } from "../../interfaces/common/IFSFilter";
7
- import { IFSMergeFiltersSettings } from "../../interfaces/common/IFSMergeFiltersSettings";
8
7
  import { IFSScope } from "../../interfaces/common/IFSScope";
9
- import { IFSValue } from "../../interfaces/common/IFSValue";
10
- import { IFSValueRange } from "../../interfaces/common/IFSValueRange";
11
- import { IFSValueRelativeDate } from "../../interfaces/common/IFSValueRelativeDate";
12
- import { IFValue } from "../../interfaces/IFValue";
8
+ import { IFFiltersMergeFilters } from "../../interfaces/functions/IFFiltersMergeFilters";
13
9
  import { IFUData } from "../../interfaces/ui/IFUData";
10
+ import { getFilterid } from "./getFilterid";
14
11
  import { getMergeFiltersSettings } from "./getMergeFiltersSettings";
15
- import { isInValidator } from "./isInValidator";
16
- import { isNullValidator } from "./isNullValidator";
17
- import { isRangeValidator } from "./isRangeValidator";
18
- import { isRegularValidator } from "./isRegularValidator";
12
+ import { mergeValues } from "./mergeValues";
19
13
  import { resolveDatasetConditions } from "./resolveDatasetConditions";
20
14
  import { resolveFilterConditions } from "./resolveFilterConditions";
21
15
  import { resolveScopeConditions } from "./resolveScopeConditions";
@@ -24,10 +18,10 @@ import { resolveScopeConditions } from "./resolveScopeConditions";
24
18
  * Merge filter data structures in a new one. The first Filter Data passed in the argument has the priority
25
19
  * @param filterData1 The target filter data
26
20
  * @param filterData2 the filter data to be merged
27
- * @param overwriteValues Flag to overwrite or not the filter values
21
+ * @param settings configuration of the mergeFilter
28
22
  * @returns a new filter data structure
29
23
  */
30
- export function mergeFilters(filterData1: IFSData | IFUData, filterData2: IFSData | IFUData, settings?: IFSMergeFiltersSettings): IFSData | IFUData {
24
+ export function mergeFilters(filterData1: IFSData | IFUData, filterData2: IFSData | IFUData, settings?: IFFiltersMergeFilters): IFSData | IFUData {
31
25
  if (isEmpty(filterData1) || isEmpty(filterData1.scopes)) {
32
26
  if (isEmpty(filterData2) || isEmpty(filterData2.scopes)) return;
33
27
  return filterData2;
@@ -50,15 +44,15 @@ export function mergeFilters(filterData1: IFSData | IFUData, filterData2: IFSDat
50
44
  * Gets a new scope structure array by merging two scope structures
51
45
  * @param scopes1 the target scope structure
52
46
  * @param scopes2 the scope to be merged
53
- * @param overwriteValues Flag to overwrite or not the filter values
47
+ * @param settings configuration of the mergeFilter
54
48
  * @returns a new scope structure array
55
49
  */
56
- function mergeScopes(scopes1: IFSScope[] = [], scopes2: IFSScope[] = [], settings?: IFSMergeFiltersSettings): IFSScope[] {
50
+ function mergeScopes(scopes1: IFSScope[] = [], scopes2: IFSScope[] = [], settings?: IFFiltersMergeFilters): IFSScope[] {
57
51
  let newScopes = scopes1.reduce((scopes: IFSScope[], scope1: IFSScope) => {
58
52
  const scope2Index = scopes2.findIndex(scope2 => resolveScopeConditions(scope2, { scope: scope1.scope, scopeid: scope1.scopeid }));
59
53
  if (scope2Index > -1) {
60
54
  scope1 = {
61
- ...scope1,
55
+ ...scopes2[scope2Index],
62
56
  datasets: mergeDatasets(scope1.datasets, scopes2[scope2Index].datasets, settings)
63
57
  };
64
58
  scopes2.splice(scope2Index, 1);
@@ -75,15 +69,15 @@ function mergeScopes(scopes1: IFSScope[] = [], scopes2: IFSScope[] = [], setting
75
69
  * Gets a new dataset structure array by merging two dataset structures
76
70
  * @param datasets1 the target dataset structure
77
71
  * @param datasets2 the dataset to be merged
78
- * @param overwriteValues Flag to overwrite or not the filter values
72
+ * @param settings configuration of the mergeFilter
79
73
  * @returns a new dataset structure array
80
74
  */
81
- function mergeDatasets(datasets1: IFSDataset[] = [], datasets2: IFSDataset[] = [], settings?: IFSMergeFiltersSettings): IFSDataset[] {
75
+ function mergeDatasets(datasets1: IFSDataset[] = [], datasets2: IFSDataset[] = [], settings?: IFFiltersMergeFilters): IFSDataset[] {
82
76
  let newDatasets = datasets1.reduce((datasets: IFSDataset[], dataset1: IFSDataset) => {
83
77
  const dataset2Index = datasets2.findIndex(dataset2 => resolveDatasetConditions(dataset2, { qrveyid: dataset1.qrveyid, linkid: dataset1.linkid }));
84
78
  if (dataset2Index > -1) {
85
79
  dataset1 = {
86
- ...dataset1,
80
+ ...datasets2[dataset2Index],
87
81
  filters: mergeFilterss(dataset1.filters, datasets2[dataset2Index].filters, settings)
88
82
  };
89
83
  datasets2.splice(dataset2Index, 1);
@@ -100,18 +94,20 @@ function mergeDatasets(datasets1: IFSDataset[] = [], datasets2: IFSDataset[] = [
100
94
  * Gets a new filter structure array by merging two filter structures
101
95
  * @param filters1 the target filter structure
102
96
  * @param filters2 the filter to be merged
103
- * @param overwriteValues Flag to overwrite or not the filter values
97
+ * @param settings configuration of the mergeFilter
104
98
  * @returns a new filter structure array
105
99
  */
106
- function mergeFilterss(filters1: IFSFilter[] = [], filters2: IFSFilter[] = [], settings?: IFSMergeFiltersSettings): IFSFilter[] {
100
+ function mergeFilterss(filters1: IFSFilter[] = [], filters2: IFSFilter[] = [], settings?: IFFiltersMergeFilters): IFSFilter[] {
107
101
  let newFilters = filters1.reduce((filters: IFSFilter[], filter1: IFSFilter) => {
108
102
  const filter2Index = filters2.findIndex(filter2 => resolveFilterConditions(filter2, { column: filter1.column, dateSection: filter1.dateSection, panelid: filter1.extras.panelid, property: filter1.property, validator: filter1.validator }));
109
103
  if (filter2Index > -1) {
110
- filter1 = { ...filter1, values: mergeValues(filter1, filters2[filter2Index], settings.overwriteValues) };
104
+ filter1 = { ...filter1, values: mergeValues(filter1, filters2[filter2Index], settings) };
105
+ filter1 = mergeFilterProps(filter1, filters2[filter2Index], settings);
111
106
  filters2.splice(filter2Index, 1);
112
107
  } else {
113
108
  filter1 = { ...filter1, operator: settings.setGroupedColumnOperator ? FILTER_GROUPED_COLUMN_OPERATOR : filter1.operator };
114
109
  }
110
+ filter1.filterid = getFilterid(filter1);
115
111
  filters.push(filter1);
116
112
  return filters;
117
113
  }, [] as IFSFilter[]);
@@ -121,49 +117,27 @@ function mergeFilterss(filters1: IFSFilter[] = [], filters2: IFSFilter[] = [], s
121
117
  }
122
118
 
123
119
  /**
124
- * Gets a new value structure array by merging two value structures
120
+ * Gets a new filter structure when the setting is configured
125
121
  * @param filter1 the target filter structure
126
122
  * @param filter2 the filter to be used to merge the values
127
- * @param overwrite Flag to overwrite or not the filter values
128
- * @returns a new value structure array
123
+ * @param settings configuration of the mergeFilter
124
+ * @returns a new filter structure with overwritted props
129
125
  */
130
- function mergeValues(filter1: IFSFilter, filter2: IFSFilter, overwrite = false): IFValue[] {
131
- if (isEmpty(filter1) && isEmpty(filter2)) return [];
132
-
133
- let newValues = [];
134
- if (!overwrite) {
135
- if (isInValidator(filter1.validator)) {
136
- newValues = filter2.values.reduce((values: IFValue[], value2: IFSValueRelativeDate) => {
137
- const value1Index = (filter1.values as IFSValueRelativeDate[]).findIndex(value1 => value2.anchor === value1.anchor && value2.cursor === value1.cursor && value2.includeCurrent === value1.includeCurrent && value2.isCalendarDate === value1.isCalendarDate && value2.number === value1.number && value2.unit === value1.unit);
138
- if (value1Index === -1) {
139
- values.push(value2);
140
- }
141
- return values;
142
- }, filter1.values as IFValue[]);
143
- } else if (isRangeValidator(filter1.validator)) {
144
- newValues = filter2.values.reduce((values: IFValue[], value2: IFSValueRange) => {
145
- const value1Index = (filter1.values as IFSValueRange[]).findIndex(value1 => value2.max === value1.max && value2.min === value1.min);
146
- if (value1Index === -1) {
147
- values.push(value2);
148
- }
149
- return values;
150
- }, filter1.values as IFValue[]);
151
- } else if (isRegularValidator(filter1.validator) || isNullValidator(filter1.validator)) {
152
- newValues = filter2.values.reduce((values: IFValue[], value2: IFSValue) => {
153
- const value1Index = (filter1.values as IFSValue[]).findIndex(value1 => value2.imageUrl === value1.imageUrl && value2.value === value1.value);
154
- if (value1Index === -1) {
155
- values.push(value2);
156
- }
157
- return values;
158
- }, filter1.values as IFValue[]);
159
- } else {
160
- filter1.values = filter1.values.concat(filter2.values);
161
- newValues = filter1.values;
162
- }
163
- } else {
164
- filter1.values = filter2.values;
165
- newValues = filter1.values;
126
+ function mergeFilterProps(filter1: IFSFilter, filter2: IFSFilter, settings?: IFFiltersMergeFilters) {
127
+ if (settings.overwriteFilterProps) {
128
+ filter1 = {
129
+ ...filter1,
130
+ collapsed: filter2.collapsed ?? filter1.collapsed,
131
+ displayed: filter2.displayed ?? filter1.displayed,
132
+ dateSection: filter2.dateSection,
133
+ extras: filter2.extras,
134
+ enabled: filter2.enabled ?? filter1.enabled,
135
+ operator: filter2.operator || filter1.operator,
136
+ filterid: filter2.filterid,
137
+ lookupDisplayIndex: filter2.lookupDisplayIndex,
138
+ nullValues: filter2.nullValues,
139
+ selectAll: filter2.selectAll,
140
+ };
166
141
  }
167
-
168
- return newValues;
142
+ return filter1;
169
143
  }
@@ -0,0 +1,90 @@
1
+ import { isEmpty } from "../../../general/mix/isEmpty";
2
+ import { IFSFilter } from "../../interfaces/common/IFSFilter";
3
+ import { IFSValue } from "../../interfaces/common/IFSValue";
4
+ import { IFSValueRange } from "../../interfaces/common/IFSValueRange";
5
+ import { IFSValueRelativeDate } from "../../interfaces/common/IFSValueRelativeDate";
6
+ import { IFFiltersMergeValues } from "../../interfaces/functions/IFFiltersMergeValues";
7
+ import { IFValue } from "../../interfaces/IFValue";
8
+ import { getMergeValuesSettings } from "./getMergeValuesSettings";
9
+ import { isInValidator } from "./isInValidator";
10
+ import { isNullValidator } from "./isNullValidator";
11
+ import { isRangeValidator } from "./isRangeValidator";
12
+ import { isRegularValidator } from "./isRegularValidator";
13
+
14
+ /**
15
+ * Gets a new value structure array by merging two value structures
16
+ * @param filter1 the target filter structure
17
+ * @param filter2 the filter to be used to merge the values
18
+ * @param settings configuration of the mergeFilter
19
+ * @returns a new value structure array
20
+ */
21
+ export function mergeValues(filter1: IFSFilter, filter2: IFSFilter, settings?: IFFiltersMergeValues): IFValue[] {
22
+ if (isEmpty(filter1) && isEmpty(filter2)) return [];
23
+
24
+ settings = getMergeValuesSettings(settings);
25
+
26
+ let newValues = [];
27
+ let filter1Values = filter1.values || [];
28
+ const filter2Values = filter2.values || [];
29
+ if (settings.overwriteValues) {
30
+ filter1Values = filter2Values;
31
+ newValues = filter1Values;
32
+ } else {
33
+ if (isInValidator(filter1.validator)) {
34
+ newValues = filter2Values.reduce((values: IFSValueRelativeDate[], value2: IFSValueRelativeDate) => {
35
+ const value1Index = (filter1Values as IFSValueRelativeDate[]).findIndex(value1 => value2.anchor === value1.anchor && value2.cursor === value1.cursor && value2.includeCurrent === value1.includeCurrent && value2.isCalendarDate === value1.isCalendarDate && value2.number === value1.number && value2.unit === value1.unit);
36
+ if (value1Index === -1) {
37
+ values.push(value2);
38
+ } else {
39
+ values[value1Index] = {
40
+ anchor: value2.anchor,
41
+ cursor: value2.cursor,
42
+ displayed: value2.displayed ?? values[value1Index].displayed,
43
+ enabled: value2.enabled ?? values[value1Index].enabled,
44
+ includeCurrent: value2.includeCurrent,
45
+ isCalendarDate: value2.isCalendarDate,
46
+ number: value2.number,
47
+ unit: value2.unit,
48
+ };
49
+ }
50
+ return values;
51
+ }, filter1Values as IFValue[]);
52
+ } else if (isRangeValidator(filter1.validator)) {
53
+ newValues = filter2Values.reduce((values: IFSValueRange[], value2: IFSValueRange) => {
54
+ const value1Index = (filter1Values as IFSValueRange[]).findIndex(value1 => value2.max === value1.max && value2.min === value1.min);
55
+ if (value1Index === -1) {
56
+ values.push(value2);
57
+ } else {
58
+ values[value1Index] = {
59
+ displayed: value2.displayed ?? values[value1Index].displayed,
60
+ enabled: value2.enabled ?? values[value1Index].enabled,
61
+ max: value2.max,
62
+ min: value2.min,
63
+ };
64
+ }
65
+ return values;
66
+ }, filter1Values as IFValue[]);
67
+ } else if (isRegularValidator(filter1.validator) || isNullValidator(filter1.validator)) {
68
+ newValues = filter2Values.reduce((values: IFSValue[], value2: IFSValue) => {
69
+ const value1Index = (filter1Values as IFSValue[]).findIndex(value1 => value2.imageUrl === value1.imageUrl && value2.value === value1.value);
70
+ if (value1Index === -1) {
71
+ values.push(value2);
72
+ } else {
73
+ values[value1Index] = {
74
+ displayed: value2.displayed ?? values[value1Index].displayed,
75
+ enabled: value2.enabled ?? values[value1Index].enabled,
76
+ imageUrl: value2.imageUrl,
77
+ value: value2.value,
78
+ valueid: value2.valueid,
79
+ };
80
+ }
81
+ return values;
82
+ }, filter1Values as IFValue[]);
83
+ } else {
84
+ filter1Values = filter1Values.concat(filter2Values);
85
+ newValues = filter1Values;
86
+ }
87
+ }
88
+
89
+ return newValues;
90
+ }
@@ -4,12 +4,12 @@ import { IFSData } from "../interfaces/common/IFSData";
4
4
  import { getFiltersByAggregateColumn } from "./common/getFiltersByAggregateColumn";
5
5
 
6
6
  /**
7
- *
8
- * @param logics
9
- * @param summaries
10
- * @returns
7
+ * @todo FIX AGGREGATE FILTERS
8
+ * @private
9
+ * @param filterData
10
+ * @param _summaries
11
+ * @returns the aggFilters structure
11
12
  */
12
- // [TODO: FILTERS - FIX AGGREGATE FILTERS]
13
13
  export function getAggFiltersFromFilterData(filterData: IFSData, _summaries: any[]): IFBFilterAggregate {
14
14
  filterData = { ...getFiltersByAggregateColumn(filterData) };
15
15
  if (isEmpty(filterData)) return;
@@ -17,13 +17,13 @@ export function getAvailableScopes(config: IFSAvailableScope): IFSScopeID[] {
17
17
  if (!isEmpty(config.predefinedScopes)) scopes = config.predefinedScopes;
18
18
  scopes = [ ...scopes, { label: FILTER_SCOPE.GLOBAL, id: undefined } ];
19
19
 
20
- if (config.tabid != null || config.pageid != null) {
20
+ if (config.tabid != null || config.pageid != null || config.panelid != null) {
21
21
  if (config.pageid) scopes = [...scopes, { label: FILTER_SCOPE.PAGE, id: config.pageid }];
22
22
  if (config.tabid) scopes = [ ...scopes, { label: FILTER_SCOPE.TAB, id: config.tabid }];
23
23
  if (config.defaultid) scopes = [...scopes, { label: FILTER_SCOPE.DEFAULT, id: config.defaultid }];
24
- scopes = [...scopes, { label: FILTER_SCOPE.CHART, id: config.tabid || config.pageid }];
25
- } else {
26
- if (config.defaultid) scopes = [...scopes, { label: FILTER_SCOPE.DEFAULT, id: config.defaultid }];
24
+ if (config.panelid || config.tabid || config.pageid) scopes = [...scopes, { label: FILTER_SCOPE.CHART, id: config.panelid || config.tabid || config.pageid }];
25
+ } else if (config.defaultid) {
26
+ scopes = [...scopes, { label: FILTER_SCOPE.DEFAULT, id: config.defaultid }];
27
27
  }
28
28
  return scopes;
29
29
  }
@@ -4,6 +4,9 @@ export * from './common/index';
4
4
  export * from './ui/index';
5
5
 
6
6
  export * from './applyHierarchyForAggFilters';
7
+ // export * from './getAggFiltersFromFilterData';
7
8
  export * from './getAvailableScopes';
8
9
  export * from './getAvailableScopesIDsByConfig';
9
10
  export * from './getScopesByHierarchy';
11
+
12
+ export * from './OLD_getAggFilters';
@@ -2,7 +2,7 @@ import { isEmpty } from "../../../general/mix/isEmpty";
2
2
  import { cloneDeep } from "../../../general/object/cloneDeep";
3
3
  import { IFUFlattenedFilter } from "../../interfaces/ui/IFUFlattenedFilter";
4
4
  import { IFUParamsToGetFilter } from "../../interfaces/ui/IFUParamsToGetFilter";
5
- import { resolveUIFlatFilterByParams } from "./resolveUIFlatFiltersByParams";
5
+ import { resolveUIFlatFilterByParams } from "./resolveUIFlatFilterByParams";
6
6
 
7
7
  /**
8
8
  * Gets a filter from the given Flattened UI Filters by given params. Return a index of the array or an object
@@ -2,7 +2,7 @@ import { isEmpty } from "../../../general/mix/isEmpty";
2
2
  import { cloneDeep } from "../../../general/object/cloneDeep";
3
3
  import { IFUFlattenedFilter } from "../../interfaces/ui/IFUFlattenedFilter";
4
4
  import { IFUParamsToGetFilter } from "../../interfaces/ui/IFUParamsToGetFilter";
5
- import { resolveUIFlatFilterByParams } from "./resolveUIFlatFiltersByParams";
5
+ import { resolveUIFlatFilterByParams } from "./resolveUIFlatFilterByParams";
6
6
 
7
7
  /**
8
8
  * Gets a filter from the given Flattened UI Filters by given params. Return a index of the array or an object