@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
@@ -48,7 +48,7 @@ export function flatUIToOldLogic(uFilters: IFUFlattenedFilter[], section: IFSect
48
48
  }
49
49
 
50
50
  const flatUIToOldFilterDetail = (uFilters: IFUFlattenedFilter[] = []): OLD_IFilterDetail[] => {
51
- return uFilters.map(filter => {
51
+ return uFilters.map<OLD_IFilterDetail>(filter => {
52
52
  // let aggregate, calculation;
53
53
  // if (filter.column.aggregate != null) {
54
54
  // aggregate = {
@@ -101,6 +101,7 @@ const flatUIToOldFilterDetail = (uFilters: IFUFlattenedFilter[] = []): OLD_IFilt
101
101
  panelid: filter.extras.panelid,
102
102
  panelName: filter.extras.filterLabel,
103
103
  section: filter.extras.section,
104
+ selectAll: filter.selectAll,
104
105
  uiValue: getUIValues(filter, { addEnableds: true }),
105
106
  validator: filter.validator,
106
107
  values: filter.values,
@@ -165,11 +166,11 @@ export function getExpressionId(props: OLD_IFilterDetail): string {
165
166
  }
166
167
 
167
168
  function getRankingExpressions(props: OLD_IFilterDetail): OLD_IFilterExpression[] {
168
- const values = props.values as IFSValueRanking[][];
169
+ const values = props.values as IFSValueRanking[][] || [];
169
170
  return values.map((_value, index) => {
170
171
  const expression: OLD_IFilterExpression = {
171
172
  ...getRegularExpression({ ...props, values: [props.values[index]] as IFValue[] }), // Each uiExtras.value array in each expression of Ranking. For editing, removing and disabling values.
172
- validationType: getBackendValidator(props.validator)
173
+ validationType: getBackendValidator(props as any)
173
174
  };
174
175
  return {
175
176
  ...expression,
@@ -189,14 +190,14 @@ function getRegularExpression(props: OLD_IFilterDetail): OLD_IFilterExpression {
189
190
  questionid: props.column.id,
190
191
  questionType: props.column.type,
191
192
  formulaType: props.column.formulaType,
192
- validationType: getBackendValidator(props.validator),
193
+ validationType: getBackendValidator(props as any),
193
194
  value: getValues(props),
194
195
  uiExtras: {
195
196
  ...props,
196
197
  uiValue
197
198
  }
198
199
  };
199
- expression['enabled'] = expression.value.length > 0 ? props.enabled : false;
200
+ expression['enabled'] = props.selectAll || expression.value?.length > 0 ? props.enabled : false;
200
201
 
201
202
  return expression;
202
203
  }
@@ -282,101 +283,110 @@ function getNullValueExpression(props: OLD_IFilterDetail): OLD_IFilterExpression
282
283
  function getValues(props: OLD_IFilterDetail, rankingGroupIndex?: number): IFBackendExpressionValue[] {
283
284
  // const isDateProperty = !!(isDateColumn(props.column) && props.property && isEmpty(props.column.aggregate));
284
285
  // const dateFormat = getDateFormatByProperty(props.property);
286
+ const values = props.values || [];
285
287
 
286
288
  switch (props.validator) {
287
289
  case FILTER_VALIDATOR.EQUALS:
288
290
  case FILTER_VALIDATOR.NOT_EQUAL:
289
- if (props.column.type === COLUMN.RANKING && isEmpty(props.column.aggregate)) return getRankingValues(props.values as IFSValueRanking[][], rankingGroupIndex);
290
- return getResultValues(props.values as IFSValue[], props);
291
+ if (props.column.type === COLUMN.RANKING && isEmpty(props.column.aggregate)) return getRankingValues(values as IFSValueRanking[][], rankingGroupIndex);
292
+ return getResultValues(values as IFSValue[], props);
291
293
  case FILTER_VALIDATOR.CONTAINS:
292
294
  case FILTER_VALIDATOR.NOT_CONTAIN:
293
295
  case FILTER_VALIDATOR.STARTS_WITH:
294
296
  case FILTER_VALIDATOR.NOT_START_WITH:
295
297
  case FILTER_VALIDATOR.ENDS_WITH:
296
298
  case FILTER_VALIDATOR.NOT_END_WITH:
297
- return (props.values as IFSValue[]).map(value => value.enabled ? value.value : undefined);
299
+ return (values as IFSValue[]).map(value => value.enabled ? value.value : undefined);
298
300
  case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
299
- return (props.values as IFSValueRange[]).map(value => value.enabled ? (
301
+ return (values as IFSValueRange[]).map(value => value.enabled ?
300
302
  { lte: value.max, gte: value.min }
301
- ) : undefined).filter(Boolean);
303
+ : undefined).filter(Boolean);
302
304
  case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
303
- return (props.values as IFSValueRange[]).map(value => value.enabled ? (
305
+ return (values as IFSValueRange[]).map(value => value.enabled ?
304
306
  { lt: value.max, gt: value.min }
305
- ) : undefined).filter(Boolean);
307
+ : undefined).filter(Boolean);
306
308
  case FILTER_VALIDATOR.BEFORE:
307
309
  case FILTER_VALIDATOR.LESS_THAN:
308
- return (props.values as IFSValueRange[]).map(value => value.enabled ? (
310
+ return (values as IFSValueRange[]).map(value => value.enabled ?
309
311
  { lt: value.max }
310
- ) : undefined).filter(Boolean);
312
+ : undefined).filter(Boolean);
311
313
  case FILTER_VALIDATOR.BEFORE_ON:
312
314
  case FILTER_VALIDATOR.LESS_THAN_EQUAL:
313
- return (props.values as IFSValueRange[]).map(value => value.enabled ? (
315
+ return (values as IFSValueRange[]).map(value => value.enabled ?
314
316
  { lte: value.max }
315
- ) : undefined).filter(Boolean);
317
+ : undefined).filter(Boolean);
316
318
  case FILTER_VALIDATOR.AFTER:
317
319
  case FILTER_VALIDATOR.GREATER_THAN:
318
- return (props.values as IFSValueRange[]).map(value => value.enabled ? (
320
+ return (values as IFSValueRange[]).map(value => value.enabled ?
319
321
  { gt: value.min }
320
- ) : undefined).filter(Boolean);
322
+ : undefined).filter(Boolean);
321
323
  case FILTER_VALIDATOR.AFTER_ON:
322
324
  case FILTER_VALIDATOR.GREATER_THAN_EQUAL:
323
- return (props.values as IFSValueRange[]).map(value => value.enabled ? (
325
+ return (values as IFSValueRange[]).map(value => value.enabled ?
324
326
  { gte: value.min }
325
- ) : undefined).filter(Boolean);
327
+ : undefined).filter(Boolean);
326
328
  case FILTER_VALIDATOR.IS_NULL:
327
329
  case FILTER_VALIDATOR.IS_NOT_NULL: {
328
- const addValue = props.values.length > 0 && (props.values as IFSValue[]).every(value => value.enabled);
330
+ const addValue = values.length > 0 && (values as IFSValue[]).every(value => value.enabled);
329
331
  return addValue ? [FILTER_VALIDATOR_INFO[props.validator].label] : [];
330
332
  }
331
333
  case FILTER_VALIDATOR.IN:
332
- return (props.values as IFBExpressionRelativeDate[]).map(value => value.enabled ? value : undefined).filter(Boolean);
334
+ return (values as IFBExpressionRelativeDate[]).map(value => value.enabled ? value : undefined).filter(Boolean);
333
335
  default:
334
336
  return [];
335
337
  }
336
338
  }
337
339
 
338
340
  function getUIValuess(props: OLD_IFilterDetail, rankingGroupIndex?: number) {
341
+ const values = props.values || [];
342
+
339
343
  switch (props.validator) {
340
344
  case FILTER_VALIDATOR.AFTER:
341
345
  case FILTER_VALIDATOR.GREATER_THAN:
342
346
  case FILTER_VALIDATOR.AFTER_ON:
343
347
  case FILTER_VALIDATOR.GREATER_THAN_EQUAL:
344
- return (props.values as IFSValueRange[]).map(value => ({
348
+ return (values as IFSValueRange[]).map(value => ({
345
349
  ...value,
346
350
  value: value.min,
351
+ displayed: value.displayed != null ? value.displayed : true,
347
352
  enabled: value.enabled != null ? value.enabled : true
348
353
  }));
349
354
  case FILTER_VALIDATOR.BEFORE_ON:
350
355
  case FILTER_VALIDATOR.LESS_THAN_EQUAL:
351
356
  case FILTER_VALIDATOR.BEFORE:
352
357
  case FILTER_VALIDATOR.LESS_THAN:
353
- return (props.values as IFSValueRange[]).map(value => ({
358
+ return (values as IFSValueRange[]).map(value => ({
354
359
  ...value,
355
360
  value: value.max,
361
+ displayed: value.displayed != null ? value.displayed : true,
356
362
  enabled: value.enabled != null ? value.enabled : true
357
363
  }));
358
364
  case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
359
365
  case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
360
- return (props.values as IFSValueRange[]).map(value => ({
366
+ return (values as IFSValueRange[]).map(value => ({
361
367
  ...value,
362
368
  value: `${value.min} - ${value.max}`,
369
+ displayed: value.displayed != null ? value.displayed : true,
363
370
  enabled: value.enabled != null ? value.enabled : true
364
371
  }));
365
372
  case FILTER_VALIDATOR.IS_NULL:
366
373
  case FILTER_VALIDATOR.IS_NOT_NULL:
367
- return [{ value: FILTER_VALIDATOR_INFO[props.validator].label, enabled: (props.values as IFSValue[])[0]?.enabled ?? props.enabled }];
374
+ return [{
375
+ value: FILTER_VALIDATOR_INFO[props.validator].label,
376
+ enabled: (values as IFSValue[])[0]?.enabled ?? props.enabled }];
368
377
  case FILTER_VALIDATOR.IN:
369
- return (props.values as IFSValueRelativeDate[]).map(value => ({
378
+ return (values as IFSValueRelativeDate[]).map(value => ({
370
379
  ...value,
371
380
  value:
372
381
  `${RELATIVE_CURSOR_INFO[value.cursor].label} ${value.cursor !== RELATIVE_CURSOR.THIS && value.number > 1 ? value.number : ''} ${getValueUiUnitRelativeDate(value)} ${value.cursor !== RELATIVE_CURSOR.THIS ? `from ${value.anchor || 'current date'}`: ''}`,
382
+ displayed: value.displayed != null ? value.displayed : true,
373
383
  enabled: props.enabled
374
384
  }));
375
385
  default:
376
386
  if (props.column.type === COLUMN.RANKING && isEmpty(props.column.aggregate)) {
377
- return getRankingUIValues(props.values as IFSValueRanking[][], rankingGroupIndex);
387
+ return getRankingUIValues(values as IFSValueRanking[][], rankingGroupIndex);
378
388
  }
379
- return (props.values as IFSValue[] || []).map(val => ({ ...val, enabled: val.enabled != null ? val.enabled : true }));
389
+ return (values as IFSValue[]).map(val => ({ ...val, enabled: val.enabled != null ? val.enabled : true }));
380
390
  }
381
391
  }
382
392
 
@@ -386,16 +396,17 @@ function getValueUiUnitRelativeDate(relative: IFSValueRelativeDate) {
386
396
 
387
397
  function getRankingValues(values: IFSValueRanking[][], rankingGroupIndex?: number) {
388
398
  const flattenValues = isNull(rankingGroupIndex) ? flattenDeep(values) : values[rankingGroupIndex];
389
- return flattenValues.map(rankingValue => rankingValue.enabled ? ({
399
+ return flattenValues.map(rankingValue => rankingValue.enabled ? {
390
400
  position: rankingValue.position - 1,
391
401
  value: rankingValue.value.value
392
- }) : undefined).filter(Boolean);
402
+ } : undefined).filter(Boolean);
393
403
  }
394
404
 
395
405
  function getRankingUIValues(values: IFSValueRanking[][], rankingGroupIndex?: number) {
396
406
  const flattenValues = isNull(rankingGroupIndex) ? flattenDeep(values) : values[rankingGroupIndex];
397
407
  return flattenValues.map((rankingValue) => ({
398
408
  rankingIndex: rankingGroupIndex,
409
+ displayed: rankingValue.displayed != null ? rankingValue.displayed : true,
399
410
  value: `${rankingValue.value.value} - ${rankingValue.position}`,
400
411
  valueid: rankingValue.value.valueid,
401
412
  enabled: rankingValue.enabled
@@ -403,7 +414,7 @@ function getRankingValues(values: IFSValueRanking[][], rankingGroupIndex?: numbe
403
414
  }
404
415
 
405
416
  function getResultValues(values: IFSValue[], props: OLD_IFilterDetail) {
406
- return values.map((value: IFSValue) => {
417
+ return (values || []).map((value: IFSValue) => {
407
418
  if (value.enabled) {
408
419
  if (props.column.type === COLUMN.IMAGE) {
409
420
  return value.valueid || value.imageUrl || value.value;
@@ -138,6 +138,7 @@ function buildFilter(uFilter: IFUFlattenedFilter): IFUFilter {
138
138
  nullValues: uFilter.nullValues,
139
139
  operator: uFilter.operator,
140
140
  property,
141
+ selectAll: uFilter.selectAll,
141
142
  validator: uFilter.validator,
142
143
  values: adaptFilterValues(uFilter),
143
144
  };
@@ -1,7 +1,10 @@
1
1
  export * from './transformFilters';
2
2
 
3
+ export * from './modelAnswerToFilterValue';
4
+
3
5
  export * from './adaptDateGroupingProperty';
4
6
  export * from './adaptFilterData';
7
+ export * from './adaptFilterValues';
5
8
 
6
9
  export * from './FDToFlatUI';
7
10
  export * from './FDToLogic';
@@ -20,3 +23,4 @@ export * from './UIToFD';
20
23
  export * from './UIToFlatUI';
21
24
  // export * from './UIToLogic';
22
25
  export * from './UIToOldLogic';
26
+
@@ -74,7 +74,7 @@ function getFilterByExpression(expression: OLD_IFilterExpression, scopeItem: OLD
74
74
  qrveyid: uiExtras.column?.qrveyid,
75
75
  aggregate: (uiExtras.column?.aggregate as any)?.label || uiExtras.column?.aggregate,
76
76
  calculation: (uiExtras.column?.calculation as any)?.value || uiExtras.column?.calculation,
77
- label: _get(uiExtras.column, 'text') || uiExtras.column?.label,
77
+ label: _get(uiExtras.column, 'text') || _get(uiExtras.column, 'label'),
78
78
  property: uiExtras.column.property,
79
79
  sorting: uiExtras.column.sorting,
80
80
  outputFormat: uiExtras.column?.outputFormat,
@@ -103,7 +103,7 @@ function getFilterByExpression(expression: OLD_IFilterExpression, scopeItem: OLD
103
103
  enabled: true,
104
104
  displayed: true,
105
105
  qrveyid: uiExtras.column?.qrveyid,
106
- label: _get(uiExtras.column, 'dataset.name') || uiExtras.column?.label,
106
+ label: _get(uiExtras.column, 'dataset.name') || _get(uiExtras.column, 'label'),
107
107
  linkid: uiExtras.column?.linkid,
108
108
  },
109
109
  },
@@ -112,6 +112,7 @@ function getFilterByExpression(expression: OLD_IFilterExpression, scopeItem: OLD
112
112
  nullValues: uiExtras.nullValues,
113
113
  operator: uiExtras.operator,
114
114
  property,
115
+ selectAll: uiExtras.selectAll,
115
116
  validator: uiExtras.validator,
116
117
  values: getValues(uiExtras),
117
118
  };
@@ -161,7 +162,8 @@ function refineRankingValues(values: IFSValueRanking[][] = [], uiValues = []): I
161
162
  const rValue = uiValues.find(uiV => uiV.valueid === value.value.valueid);
162
163
  return {
163
164
  ...value,
164
- enabled: rValue && rValue.enabled != null ? rValue.enabled : true
165
+ displayed: rValue && rValue.displayed != null ? rValue.displayed : true,
166
+ enabled: rValue && rValue.enabled != null ? rValue.enabled : true,
165
167
  };
166
168
  })
167
169
  ];
@@ -0,0 +1,15 @@
1
+ import { IModelAnswer } from "../../qrvey/interfaces/IModelAnswer";
2
+ import { IFSValue } from "../interfaces/common/IFSValue";
3
+
4
+ /**
5
+ * Adapter for model answer to convert to recognizable values for Filter Builder
6
+ * @param answers Array of the qrvey model answers
7
+ * @returns Array of values
8
+ */
9
+ export function modelAnswerToFilterValue(answers: IModelAnswer[] = []): IFSValue[] {
10
+ return answers.map(answer => ({
11
+ value: answer.answer,
12
+ valueid: answer.answerid,
13
+ imageUrl: answer.answerUrl
14
+ }));
15
+ }
@@ -1,4 +1,4 @@
1
- import { FILTER_SCOPE } from "..";
1
+ import { FILTER_SCOPE } from "../common/FILTER_SCOPE";
2
2
 
3
3
  export const FILTER_BUILDER_SCOPE_LABEL = {
4
4
  [FILTER_SCOPE.GLOBAL]: 'All pages',
@@ -1,7 +1,8 @@
1
1
  import { COLUMN } from "../../../columns/constants/COLUMN";
2
+ import { IColumnType } from "../../../columns/interfaces/IColumnType";
2
3
 
3
4
  // COLUMN TYPES FOR GETTING OPTION VALUES (i.e FROM MODEL OBJECT)
4
- export const STATIC_OPTION_COLUMNS = [
5
+ export const STATIC_OPTION_COLUMNS: IColumnType[] = [
5
6
  COLUMN.DROPDOWN,
6
7
  COLUMN.EXPRESSION,
7
8
  COLUMN.IMAGE,
@@ -3,6 +3,7 @@ export * from './COLUMNS_FOR_EQUALS_LAYOUT';
3
3
  export * from './COLUMNS_FOR_EQUALS_NULL_LAYOUT';
4
4
  export * from './COLUMNS_FOR_NULL_LAYOUT';
5
5
  export * from './COLUMNS_FOR_TEXT_LAYOUT';
6
+ export * from './FILTER_BUILDER_SCOPE_LABEL';
6
7
  export * from './FILTER_FLOW';
7
8
  export * from './FILTER_VALIDATORS_FOR_SLIDEBAR';
8
9
  export * from './FILTER_VALIDATORS_FOR_WINDOW';
@@ -0,0 +1,90 @@
1
+ import { COLUMN } from "../../columns/constants/COLUMN";
2
+ import { isEmpty } from "../../general/mix/isEmpty";
3
+ import { cloneDeep } from "../../general/object/cloneDeep";
4
+ import { _get } from "../../general/object/get";
5
+ import { FILTER_OPERATOR } from "../constants/common/FILTER_OPERATOR";
6
+ import { IFBExpressionAggregate } from "../interfaces/backend/IFBExpressionAggregate";
7
+ import { IFBFilterAggregate } from "../interfaces/backend/IFBFilterAggregate";
8
+ import { IFOperator } from "../interfaces/IFOperator";
9
+ import { OLD_IFilterExpression } from "../interfaces/OLD_IFilterExpression";
10
+ import { OLD_IFilterLogic } from "../interfaces/OLD_IFilterLogic";
11
+
12
+ /**
13
+ * @deprecated soon
14
+ * @param logics
15
+ * @param summaries
16
+ * @returns the filter aggregate structure
17
+ */
18
+ export function getAggFilters(logics: OLD_IFilterLogic[] = [], summaries: any[] = []): IFBFilterAggregate {
19
+ const aggregateFilters: OLD_IFilterLogic[] = getAggregateFilters(logics) as OLD_IFilterLogic[];
20
+ const aggFilters: IFBFilterAggregate[] = aggregateFilters.map(aggFilter => {
21
+ const expressions = getExpressionsInLogic([aggFilter]);
22
+ return expressions && expressions.length && {
23
+ operator: FILTER_OPERATOR.OR,
24
+ expressions: expressions.map((expression): IFBExpressionAggregate => {
25
+ const summaryIndex = summaries.findIndex(summary =>
26
+ expression.questionid === summary.questionid &&
27
+ expression.qrveyid === summary.qrveyid &&
28
+ expression.linkid === summary.linkid &&
29
+ _get(expression.uiExtras.column, 'aggregate') === summary.aggregate
30
+ );
31
+ if (summaryIndex > -1 || expression.questionType === COLUMN.AGGREGATED_FORMULA) {
32
+ return {
33
+ enabled: expression.enabled,
34
+ summaryIndex,
35
+ validationType: expression.validationType,
36
+ value: expression.value,
37
+ };
38
+ }
39
+ return;
40
+ }).filter(Boolean)
41
+ };
42
+ }).filter(aggFilter => aggFilter && aggFilter.expressions && aggFilter.expressions.length);
43
+ return aggFilters && concatAggFilters(aggFilters);
44
+ }
45
+
46
+ /**
47
+ * Filters and gets the filters used for aggregate values.
48
+ * @param logics The filter logic structure
49
+ * @param formatToFilters Flag to change de way of returning the filter structure.
50
+ * @returns the aggregate filters in the IFilterFilters way or as logic structure.
51
+ */
52
+ function getAggregateFilters(logics: OLD_IFilterLogic[] = []): OLD_IFilterLogic[] {
53
+ logics = cloneDeep(logics);
54
+ const aggregateLogics = logics.reduce((newLogics: OLD_IFilterLogic[], logic: OLD_IFilterLogic) => {
55
+ if (!logic) return newLogics;
56
+ // if ([FILTER_SCOPE.DEFAULT, FILTER_SCOPE.CHART].includes(logic.scope)) {
57
+ logic.filters.forEach((filter, index) => {
58
+ const expressions = _get(filter, 'expressions[0].expressions');
59
+ if (!isEmpty(expressions)) {
60
+ const aggregateFilters = (filter.expressions[0].expressions as OLD_IFilterExpression[]).filter(expression => !isEmpty(expression.uiExtras.column.aggregate));
61
+ logic.filters[index].expressions[0].expressions = aggregateFilters;
62
+ if (!filter.expressions[0].expressions.length) logic.filters[index] = undefined;
63
+ }
64
+ });
65
+ logic.filters = logic.filters.filter(filter => filter);
66
+ if (logic.filters.length) newLogics.push(logic);
67
+ //}
68
+ return newLogics;
69
+ }, [] as OLD_IFilterLogic[]);
70
+ return aggregateLogics;
71
+ }
72
+
73
+ function concatAggFilters(aggFilters: IFBFilterAggregate[], operator: IFOperator = FILTER_OPERATOR.AND): IFBFilterAggregate {
74
+ const expressions = aggFilters.filter(Boolean);
75
+ if (!expressions.length) return undefined;
76
+ else if (expressions.length === 1) return expressions[0];
77
+ return {
78
+ operator,
79
+ expressions: aggFilters.filter(Boolean)
80
+ };
81
+ }
82
+
83
+ function getExpressionsInLogic(logics: OLD_IFilterLogic[] = []): OLD_IFilterExpression[] {
84
+ return logics.reduce((expressions: OLD_IFilterExpression[], logic: OLD_IFilterLogic) => {
85
+ logic.filters.forEach(filter => {
86
+ expressions = expressions.concat(filter.expressions[0].expressions);
87
+ });
88
+ return expressions;
89
+ }, [] as OLD_IFilterExpression[]);
90
+ }
@@ -9,9 +9,9 @@ import { getScopesByHierarchy } from "./getScopesByHierarchy";
9
9
  /**
10
10
  * [TODO: Make a proper description for this function]
11
11
  * @param chartSettings Chart Settings for the Filter Builder
12
- * @param scopes
13
- * @param currentScope
14
- * @returns
12
+ * @param scopes the pair id/label scopes
13
+ * @param currentScope the scope to be validated
14
+ * @returns the chart settings
15
15
  */
16
16
  export function applyHierarchyForAggFilters(chartSettings: IFUChartSettings, scopes: IFSScopeID[] = [], currentScope: IFScope = FILTER_SCOPE.GLOBAL): IFUChartSettings {
17
17
  if (isEmpty(chartSettings)) return;
@@ -17,10 +17,10 @@ export function buildExpression(filter: IFSFilter): IFBExpression {
17
17
  questionid: filter.column.id,
18
18
  questionType: filter.column.type,
19
19
  property: getBackendProperty(filter),
20
- validationType: getBackendValidator(filter.validator),
20
+ validationType: getBackendValidator(filter),
21
21
  value: getBackendValues(filter),
22
22
  };
23
- expression['enabled'] = expression.value.length > 0 ? filter.enabled : false;
23
+ expression['enabled'] = filter.selectAll || expression.value?.length > 0 ? filter.enabled : false;
24
24
 
25
25
  return expression;
26
26
  }
@@ -2,10 +2,12 @@ import { filterNestedTree } from "../../../general/array/filterNestedTree";
2
2
  import { IFBFilterAggregate } from "../../interfaces/backend/IFBFilterAggregate";
3
3
 
4
4
  /**
5
+ * @todo Make a proper description for this function
5
6
  *
6
- * @param aggFilters
7
- * @param summaryIndex
8
- * @returns
7
+ * Gets the aggFilters structure by an index
8
+ * @param aggFilters The aggFilter Structure
9
+ * @param summaryIndex an index
10
+ * @returns a new aggFilters structure
9
11
  */
10
12
  export function getAggFiltersBySummaryIndex(aggFilters: IFBFilterAggregate, summaryIndex: number): IFBFilterAggregate {
11
13
  if (!aggFilters) return undefined;
@@ -1,19 +1,19 @@
1
1
  import { FILTER_BACKEND_VALIDATOR } from "../../constants/backend/FILTER_BACKEND_VALIDATOR";
2
2
  import { FILTER_VALIDATOR } from "../../constants/common/FILTER_VALIDATOR";
3
3
  import { IFBackendValidator } from "../../interfaces/backend/IFBackendValidator";
4
- import { IFValidator } from "../../interfaces/IFValidator";
4
+ import { IFSFilter } from "../../interfaces/common/IFSFilter";
5
5
 
6
6
  /**
7
7
  * Gets the Validator that is used in requests
8
8
  * @param validator Filter Validator used in UI
9
9
  * @returns Filter Validator used in Backend
10
10
  */
11
- export function getBackendValidator(validator: IFValidator): IFBackendValidator {
12
- switch (validator) {
11
+ export function getBackendValidator(filter: IFSFilter): IFBackendValidator {
12
+ switch (filter.validator) {
13
13
  case FILTER_VALIDATOR.EQUALS:
14
- return FILTER_BACKEND_VALIDATOR.EQUALS;
14
+ return filter.selectAll ? FILTER_BACKEND_VALIDATOR.NOT_EQUAL : FILTER_BACKEND_VALIDATOR.EQUALS;
15
15
  case FILTER_VALIDATOR.NOT_EQUAL:
16
- return FILTER_BACKEND_VALIDATOR.NOT_EQUAL;
16
+ return filter.selectAll ? FILTER_BACKEND_VALIDATOR.EQUALS : FILTER_BACKEND_VALIDATOR.NOT_EQUAL;
17
17
  case FILTER_VALIDATOR.CONTAINS:
18
18
  return FILTER_BACKEND_VALIDATOR.CONTAINS;
19
19
  case FILTER_VALIDATOR.NOT_CONTAIN:
@@ -19,53 +19,55 @@ import { IFSValueRanking } from "../../interfaces/common/IFSValueRanking";
19
19
  * @returns A collection of backend expression value
20
20
  */
21
21
  export function getBackendValues(filter: IFSFilter): IFBackendExpressionValue[] {
22
+ const values = filter.values || [];
23
+
22
24
  switch (filter.validator) {
23
25
  case FILTER_VALIDATOR.EQUALS:
24
26
  case FILTER_VALIDATOR.NOT_EQUAL:
25
- if (filter.column.type === COLUMN.RANKING && isEmpty(filter.column.aggregate)) return getRankingValues(filter.values as IFSValueRanking[][]);
26
- return getResultValues(filter.values as IFSValue[], filter);
27
+ if (filter.column.type === COLUMN.RANKING && isEmpty(filter.column.aggregate)) return getRankingValues(values as IFSValueRanking[][]);
28
+ return getResultValues(values as IFSValue[], filter);
27
29
  case FILTER_VALIDATOR.CONTAINS:
28
30
  case FILTER_VALIDATOR.NOT_CONTAIN:
29
31
  case FILTER_VALIDATOR.STARTS_WITH:
30
32
  case FILTER_VALIDATOR.NOT_START_WITH:
31
33
  case FILTER_VALIDATOR.ENDS_WITH:
32
34
  case FILTER_VALIDATOR.NOT_END_WITH:
33
- return (filter.values as IFSValue[]).map(value => value.enabled ? value.value : undefined);
35
+ return (values as IFSValue[]).map(value => value.enabled ? value.value : undefined);
34
36
  case FILTER_VALIDATOR.BETWEEN_INCLUSIVE:
35
- return (filter.values as IFSValueRange[]).map(value => value.enabled ?
37
+ return (values as IFSValueRange[]).map(value => value.enabled ?
36
38
  { lte: value.max, gte: value.min }
37
39
  : undefined).filter(Boolean);
38
40
  case FILTER_VALIDATOR.BETWEEN_EXCLUSIVE:
39
- return (filter.values as IFSValueRange[]).map(value => value.enabled ?
41
+ return (values as IFSValueRange[]).map(value => value.enabled ?
40
42
  { lt: value.max, gt: value.min }
41
43
  : undefined).filter(Boolean);
42
44
  case FILTER_VALIDATOR.BEFORE:
43
45
  case FILTER_VALIDATOR.LESS_THAN:
44
- return (filter.values as IFSValueRange[]).map(value => value.enabled ?
46
+ return (values as IFSValueRange[]).map(value => value.enabled ?
45
47
  { lt: value.max }
46
48
  : undefined).filter(Boolean);
47
49
  case FILTER_VALIDATOR.BEFORE_ON:
48
50
  case FILTER_VALIDATOR.LESS_THAN_EQUAL:
49
- return (filter.values as IFSValueRange[]).map(value => value.enabled ?
51
+ return (values as IFSValueRange[]).map(value => value.enabled ?
50
52
  { lte: value.max }
51
53
  : undefined).filter(Boolean);
52
54
  case FILTER_VALIDATOR.AFTER:
53
55
  case FILTER_VALIDATOR.GREATER_THAN:
54
- return (filter.values as IFSValueRange[]).map(value => value.enabled ?
56
+ return (values as IFSValueRange[]).map(value => value.enabled ?
55
57
  { gt: value.min }
56
58
  : undefined).filter(Boolean);
57
59
  case FILTER_VALIDATOR.AFTER_ON:
58
60
  case FILTER_VALIDATOR.GREATER_THAN_EQUAL:
59
- return (filter.values as IFSValueRange[]).map(value => value.enabled ?
61
+ return (values as IFSValueRange[]).map(value => value.enabled ?
60
62
  { gte: value.min }
61
63
  : undefined).filter(Boolean);
62
64
  case FILTER_VALIDATOR.IS_NULL:
63
65
  case FILTER_VALIDATOR.IS_NOT_NULL: {
64
- const addValue = filter.values.length > 0 && (filter.values as IFSValue[]).every(value => value.enabled);
66
+ const addValue = values.length > 0 && (values as IFSValue[]).every(value => value.enabled);
65
67
  return addValue ? [FILTER_VALIDATOR_INFO[filter.validator].label] : [];
66
68
  }
67
69
  case FILTER_VALIDATOR.IN:
68
- return (filter.values as IFBExpressionRelativeDate[]).map(value => value.enabled ? value : undefined).filter(Boolean);
70
+ return (values as IFBExpressionRelativeDate[]).map(value => value.enabled ? value : undefined).filter(Boolean);
69
71
  default:
70
72
  return [];
71
73
  }
@@ -73,12 +75,13 @@ export function getBackendValues(filter: IFSFilter): IFBackendExpressionValue[]
73
75
 
74
76
  /**
75
77
  * Gets the expression values. Depending on the column type
78
+ * @private
76
79
  * @param values a collection of filter values
77
80
  * @param filter The filter structure
78
- * @returns
81
+ * @returns Expression values
79
82
  */
80
83
  function getResultValues(values: IFSValue[], filter: IFSFilter): IFBExpressionValue[] {
81
- return values.map((value: IFSValue) => {
84
+ return (values || []).map((value: IFSValue) => {
82
85
  if (value.enabled) {
83
86
  if (filter.column.type === COLUMN.IMAGE) {
84
87
  return value.valueid || value.imageUrl || value.value;
@@ -91,6 +94,7 @@ function getResultValues(values: IFSValue[], filter: IFSFilter): IFBExpressionVa
91
94
 
92
95
  /**
93
96
  * Gets the Ranking values.
97
+ * @private
94
98
  * @param values a collection of filter values in the ranking structure
95
99
  * @param rankingGroupIndex determine the value by this index to build and return it
96
100
  * @returns Expression values for ranking
@@ -0,0 +1,37 @@
1
+ import { filterNestedTree, _hasProperty } from "../../../general";
2
+ import { isEmpty } from "../../../general/mix/isEmpty";
3
+ import { IFBExpression } from "../../interfaces/backend/IFBExpression";
4
+ import { IFBLogic } from "../../interfaces/backend/IFBLogic";
5
+ import { IFFGetLogicByDatasets } from "../../interfaces/functions/IFFGetLogicByDatasets";
6
+
7
+ /**
8
+ * [TODO: Add filterEmptyArrays to the filterNestedTree filter condition. Firstly, that function should accept this argument]
9
+ * Filters the logic by a qrveyids array
10
+ * If an qrveyid is not provided in the expression the filter passes normally
11
+ * @param logic The logic of the filter
12
+ * @param datasets The collection of qrveyids
13
+ * @returns a new filtered logic
14
+ */
15
+ export function getLogicByDatasets(logic: IFBLogic[], datasets: string[] = [], settings?: IFFGetLogicByDatasets): IFBLogic[] {
16
+ if (isEmpty(logic)) return;
17
+ if (isEmpty(datasets)) return logic;
18
+
19
+ settings = getGetLogicByDatasetsSettings(settings);
20
+
21
+ return logic.map(_l => ({
22
+ ..._l,
23
+ filters: filterNestedTree(_l.filters, 'expressions', (expression: IFBExpression) => {
24
+ const dataset = datasets.find(_data => _data === expression.qrveyid);
25
+ return (settings.letPassUndefinedProperties.qrveyid && !_hasProperty(expression, 'qrveyid')) || !isEmpty(dataset);
26
+ })
27
+ }));
28
+ }
29
+
30
+ function getGetLogicByDatasetsSettings(settings?: IFFGetLogicByDatasets): IFFGetLogicByDatasets {
31
+ return {
32
+ filterEmptyArrays: settings?.filterEmptyArrays ?? true,
33
+ letPassUndefinedProperties: {
34
+ qrveyid: settings?.letPassUndefinedProperties?.qrveyid ?? true
35
+ }
36
+ };
37
+ }