@qrvey/utils 1.1.0-9 → 1.1.2-1

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 (444) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.json +37 -0
  3. package/README.md +474 -285
  4. package/bitbucket-pipelines.yml +25 -0
  5. package/dist/cjs/constants/COLUMN.js +0 -1
  6. package/dist/cjs/constants/COLUMN_PROPERTY.d.ts +6 -0
  7. package/dist/cjs/constants/COLUMN_PROPERTY.js +0 -1
  8. package/dist/cjs/constants/COLUMN_PROPERTY_VALUE.js +4 -1
  9. package/dist/cjs/date/constants/DATE_DAY_HOURS.d.ts +1 -0
  10. package/dist/cjs/date/constants/DATE_DAY_HOURS.js +29 -0
  11. package/dist/cjs/date/constants/DATE_HOUR_MINUTES.d.ts +1 -0
  12. package/dist/cjs/date/constants/DATE_HOUR_MINUTES.js +65 -0
  13. package/dist/cjs/date/constants/DATE_MINUTE_SECONDS.d.ts +1 -0
  14. package/dist/cjs/date/constants/DATE_MINUTE_SECONDS.js +5 -0
  15. package/dist/cjs/date/constants/DATE_MONTH_DAYS.d.ts +1 -0
  16. package/dist/cjs/date/constants/DATE_MONTH_DAYS.js +36 -0
  17. package/dist/cjs/date/constants/DATE_PROPERTY.js +0 -1
  18. package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.d.ts +8 -0
  19. package/dist/cjs/date/constants/DATE_PROPERTY_VALUE.js +17 -0
  20. package/dist/cjs/date/constants/DATE_P_PROPERTIES.d.ts +2 -0
  21. package/dist/cjs/date/constants/DATE_P_PROPERTIES.js +11 -0
  22. package/dist/cjs/date/constants/DATE_P_VALUES.d.ts +6 -0
  23. package/dist/cjs/date/constants/DATE_P_VALUES.js +8 -0
  24. package/dist/cjs/date/constants/DATE_TIME_P_VALUES.d.ts +6 -0
  25. package/dist/cjs/date/constants/DATE_TIME_P_VALUES.js +8 -0
  26. package/dist/cjs/date/constants/DATE_TIME_VALUES.js +1 -1
  27. package/dist/cjs/date/constants/DATE_WEEK_DAYS.d.ts +1 -0
  28. package/dist/cjs/date/constants/DATE_WEEK_DAYS.js +6 -0
  29. package/dist/cjs/date/constants/DATE_YEAR_DAYS.d.ts +1 -0
  30. package/dist/cjs/date/constants/DATE_YEAR_DAYS.js +370 -0
  31. package/dist/cjs/date/constants/DATE_YEAR_MONTHS.d.ts +1 -0
  32. package/dist/cjs/date/constants/DATE_YEAR_MONTHS.js +4 -0
  33. package/dist/cjs/date/constants/DATE_YEAR_QUARTERS.d.ts +1 -0
  34. package/dist/cjs/date/constants/DATE_YEAR_QUARTERS.js +4 -0
  35. package/dist/cjs/date/constants/index.d.ts +12 -0
  36. package/dist/cjs/date/constants/index.js +12 -0
  37. package/dist/cjs/date/range/getDateRange.js +26 -21
  38. package/dist/cjs/date/relative/Adapter.js +1 -1
  39. package/dist/cjs/date/relative/constants/DATE_FORMATS.d.ts +1 -1
  40. package/dist/cjs/date/relative/constants/DATE_FORMATS.js +3 -3
  41. package/dist/cjs/date/relative/helpers/formatStatement.js +6 -6
  42. package/dist/cjs/filters/adapters/FDToFlatUI.js +5 -12
  43. package/dist/cjs/filters/adapters/FDToUI.js +2 -3
  44. package/dist/cjs/filters/adapters/UIToFlatUI.js +5 -12
  45. package/dist/cjs/filters/adapters/UIToOldLogic.js +9 -1
  46. package/dist/cjs/filters/adapters/adaptFilterData.js +1 -1
  47. package/dist/cjs/filters/adapters/flatUIToFD.js +3 -7
  48. package/dist/cjs/filters/adapters/flatUIToOldLogic.js +41 -62
  49. package/dist/cjs/filters/adapters/flatUIToUI.js +2 -7
  50. package/dist/cjs/filters/adapters/logicToFlatUI.js +89 -74
  51. package/dist/cjs/filters/adapters/transformFilters.d.ts +1 -1
  52. package/dist/cjs/filters/adapters/transformFilters.js +18 -25
  53. package/dist/cjs/filters/constants/backend/FILTER_BACKEND_VALIDATOR.js +0 -1
  54. package/dist/cjs/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.d.ts +2 -0
  55. package/dist/cjs/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.js +4 -0
  56. package/dist/cjs/filters/constants/common/FILTER_OPERATOR.js +0 -1
  57. package/dist/cjs/filters/constants/common/FILTER_VALIDATOR.js +0 -1
  58. package/dist/cjs/filters/constants/common/index.d.ts +1 -0
  59. package/dist/cjs/filters/constants/common/index.js +1 -0
  60. package/dist/cjs/filters/helpers/backend/buildExpression.d.ts +6 -0
  61. package/dist/cjs/filters/helpers/backend/buildExpression.js +9 -2
  62. package/dist/cjs/filters/helpers/backend/getBackendGroupValue.js +2 -1
  63. package/dist/cjs/filters/helpers/backend/getBackendProperty.js +7 -2
  64. package/dist/cjs/filters/helpers/backend/getBackendValues.js +34 -18
  65. package/dist/cjs/filters/helpers/common/arePropertiesDateP.d.ts +8 -0
  66. package/dist/cjs/filters/helpers/common/arePropertiesDateP.js +16 -0
  67. package/dist/cjs/filters/helpers/common/getFilterColumnLabel.js +1 -1
  68. package/dist/cjs/filters/helpers/common/getFilterid.js +1 -1
  69. package/dist/cjs/filters/helpers/common/getFiltersByParams.js +5 -5
  70. package/dist/cjs/filters/helpers/common/getFiltersByVisibility.js +1 -1
  71. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.d.ts +7 -0
  72. package/dist/cjs/filters/helpers/common/getMergeFiltersSettings.js +16 -0
  73. package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.d.ts +5 -0
  74. package/dist/cjs/filters/helpers/common/getParamsToGetFilterSettings.js +11 -1
  75. package/dist/cjs/filters/helpers/common/index.d.ts +2 -0
  76. package/dist/cjs/filters/helpers/common/index.js +2 -0
  77. package/dist/cjs/filters/helpers/common/mergeFilters.d.ts +2 -1
  78. package/dist/cjs/filters/helpers/common/mergeFilters.js +27 -10
  79. package/dist/cjs/filters/helpers/common/resolveDatasetConditions.js +1 -1
  80. package/dist/cjs/filters/helpers/common/resolveFilterConditions.js +2 -3
  81. package/dist/cjs/filters/helpers/common/resolveScopeConditions.js +1 -1
  82. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.d.ts +1 -1
  83. package/dist/cjs/filters/helpers/getAggFiltersFromFilterData.js +18 -19
  84. package/dist/cjs/filters/helpers/getScopesByHierarchy.js +2 -2
  85. package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.d.ts +1 -1
  86. package/dist/cjs/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +1 -1
  87. package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.d.ts +1 -1
  88. package/dist/cjs/filters/helpers/ui/getUIFlatFilterByParams.js +1 -1
  89. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.d.ts +1 -1
  90. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByParams.js +1 -1
  91. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.d.ts +1 -1
  92. package/dist/cjs/filters/helpers/ui/getUIFlatFiltersByScopes.js +1 -1
  93. package/dist/cjs/filters/helpers/ui/getUIValues.js +6 -5
  94. package/dist/cjs/filters/interfaces/OLD_IFilterDetail.d.ts +3 -0
  95. package/dist/cjs/filters/interfaces/common/IFSFilterExtras.d.ts +3 -0
  96. package/dist/cjs/filters/interfaces/common/IFSFilterExtrasInfo.d.ts +4 -0
  97. package/dist/cjs/filters/interfaces/common/IFSFilterExtrasInfo.js +2 -0
  98. package/dist/cjs/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +7 -0
  99. package/dist/cjs/filters/interfaces/common/IFSMergeFiltersSettings.js +2 -0
  100. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -1
  101. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterEnableds.d.ts +9 -0
  102. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterEnableds.js +2 -0
  103. package/dist/cjs/filters/interfaces/common/IFSParamsToGetFilterSettings.d.ts +5 -0
  104. package/dist/cjs/filters/interfaces/common/index.d.ts +3 -0
  105. package/dist/cjs/filters/interfaces/common/index.js +3 -0
  106. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +1 -0
  107. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +1 -0
  108. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +4 -0
  109. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +7 -0
  110. package/dist/cjs/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.js +2 -0
  111. package/dist/cjs/filters/interfaces/panel/index.d.ts +1 -0
  112. package/dist/cjs/filters/interfaces/panel/index.js +1 -0
  113. package/dist/cjs/format/definition.d.ts +3 -2
  114. package/dist/cjs/format/format.d.ts +1 -1
  115. package/dist/cjs/format/format.js +25 -26
  116. package/dist/cjs/general/array/delete.d.ts +4 -4
  117. package/dist/cjs/general/array/delete.js +8 -6
  118. package/dist/cjs/general/array/filterNestedTree.js +1 -1
  119. package/dist/cjs/general/array/flattenDeep.d.ts +1 -1
  120. package/dist/cjs/general/array/flattenDeep.js +4 -2
  121. package/dist/cjs/general/array/getFirstIndexFromArray.d.ts +1 -1
  122. package/dist/cjs/general/array/getFirstIndexFromArray.js +7 -5
  123. package/dist/cjs/general/array/getLastIndexFromArray.d.ts +1 -1
  124. package/dist/cjs/general/array/getLastIndexFromArray.js +6 -4
  125. package/dist/cjs/general/function/debounce.d.ts +1 -1
  126. package/dist/cjs/general/function/throttled.d.ts +1 -1
  127. package/dist/cjs/general/function/throttled.js +1 -1
  128. package/dist/cjs/general/mix/importScripts.d.ts +1 -1
  129. package/dist/cjs/general/mix/isEmpty.d.ts +5 -4
  130. package/dist/cjs/general/mix/isEmpty.js +12 -6
  131. package/dist/cjs/general/mix/randomId.d.ts +1 -1
  132. package/dist/cjs/general/mix/randomId.js +1 -2
  133. package/dist/cjs/general/mix/size.d.ts +1 -1
  134. package/dist/cjs/general/object/cloneDeep.d.ts +4 -4
  135. package/dist/cjs/general/object/cloneDeep.js +14 -6
  136. package/dist/cjs/general/object/get.d.ts +47 -15
  137. package/dist/cjs/general/object/get.js +61 -37
  138. package/dist/cjs/general/object/getAttribute.d.ts +1 -1
  139. package/dist/cjs/general/object/hasProperty.d.ts +1 -1
  140. package/dist/cjs/general/object/hasProperty.js +1 -1
  141. package/dist/cjs/general/object/index.d.ts +1 -0
  142. package/dist/cjs/general/object/index.js +1 -0
  143. package/dist/cjs/general/object/isObject.d.ts +6 -0
  144. package/dist/cjs/general/object/isObject.js +12 -0
  145. package/dist/cjs/general/object/mapValues.d.ts +1 -1
  146. package/dist/cjs/general/object/mapValues.js +0 -1
  147. package/dist/cjs/general/object/omit.js +1 -1
  148. package/dist/cjs/general/object/pick.js +0 -1
  149. package/dist/cjs/index.d.ts +2 -0
  150. package/dist/cjs/index.js +2 -0
  151. package/dist/cjs/qrvey/getColumnsLabel.js +4 -4
  152. package/dist/cjs/qrvey/index.d.ts +3 -0
  153. package/dist/cjs/qrvey/index.js +15 -0
  154. package/dist/cjs/tokens/index.d.ts +1 -0
  155. package/dist/cjs/tokens/index.js +13 -0
  156. package/dist/cjs/tokens/isTokenLabel.d.ts +6 -0
  157. package/dist/cjs/tokens/isTokenLabel.js +16 -0
  158. package/dist/constants/COLUMN.js +0 -1
  159. package/dist/constants/COLUMN_PROPERTY.d.ts +6 -0
  160. package/dist/constants/COLUMN_PROPERTY.js +0 -1
  161. package/dist/constants/COLUMN_PROPERTY_VALUE.js +4 -1
  162. package/dist/date/constants/DATE_DAY_HOURS.d.ts +1 -0
  163. package/dist/date/constants/DATE_DAY_HOURS.js +26 -0
  164. package/dist/date/constants/DATE_HOUR_MINUTES.d.ts +1 -0
  165. package/dist/date/constants/DATE_HOUR_MINUTES.js +62 -0
  166. package/dist/date/constants/DATE_MINUTE_SECONDS.d.ts +1 -0
  167. package/dist/date/constants/DATE_MINUTE_SECONDS.js +2 -0
  168. package/dist/date/constants/DATE_MONTH_DAYS.d.ts +1 -0
  169. package/dist/date/constants/DATE_MONTH_DAYS.js +33 -0
  170. package/dist/date/constants/DATE_PROPERTY.js +0 -1
  171. package/dist/date/constants/DATE_PROPERTY_VALUE.d.ts +8 -0
  172. package/dist/date/constants/DATE_PROPERTY_VALUE.js +14 -0
  173. package/dist/date/constants/DATE_P_PROPERTIES.d.ts +2 -0
  174. package/dist/date/constants/DATE_P_PROPERTIES.js +8 -0
  175. package/dist/date/constants/DATE_P_VALUES.d.ts +6 -0
  176. package/dist/date/constants/DATE_P_VALUES.js +5 -0
  177. package/dist/date/constants/DATE_TIME_P_VALUES.d.ts +6 -0
  178. package/dist/date/constants/DATE_TIME_P_VALUES.js +5 -0
  179. package/dist/date/constants/DATE_TIME_VALUES.js +1 -1
  180. package/dist/date/constants/DATE_WEEK_DAYS.d.ts +1 -0
  181. package/dist/date/constants/DATE_WEEK_DAYS.js +3 -0
  182. package/dist/date/constants/DATE_YEAR_DAYS.d.ts +1 -0
  183. package/dist/date/constants/DATE_YEAR_DAYS.js +367 -0
  184. package/dist/date/constants/DATE_YEAR_MONTHS.d.ts +1 -0
  185. package/dist/date/constants/DATE_YEAR_MONTHS.js +1 -0
  186. package/dist/date/constants/DATE_YEAR_QUARTERS.d.ts +1 -0
  187. package/dist/date/constants/DATE_YEAR_QUARTERS.js +1 -0
  188. package/dist/date/constants/index.d.ts +12 -0
  189. package/dist/date/constants/index.js +12 -0
  190. package/dist/date/range/getDateRange.js +26 -21
  191. package/dist/date/relative/Adapter.js +2 -2
  192. package/dist/date/relative/constants/DATE_FORMATS.d.ts +1 -1
  193. package/dist/date/relative/constants/DATE_FORMATS.js +3 -3
  194. package/dist/date/relative/helpers/formatStatement.js +7 -7
  195. package/dist/filters/adapters/FDToFlatUI.js +5 -12
  196. package/dist/filters/adapters/FDToUI.js +2 -3
  197. package/dist/filters/adapters/UIToFlatUI.js +5 -12
  198. package/dist/filters/adapters/UIToOldLogic.js +9 -1
  199. package/dist/filters/adapters/adaptFilterData.js +1 -1
  200. package/dist/filters/adapters/flatUIToFD.js +3 -7
  201. package/dist/filters/adapters/flatUIToOldLogic.js +42 -63
  202. package/dist/filters/adapters/flatUIToUI.js +3 -8
  203. package/dist/filters/adapters/logicToFlatUI.js +91 -76
  204. package/dist/filters/adapters/transformFilters.d.ts +1 -1
  205. package/dist/filters/adapters/transformFilters.js +19 -26
  206. package/dist/filters/constants/backend/FILTER_BACKEND_VALIDATOR.js +0 -1
  207. package/dist/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.d.ts +2 -0
  208. package/dist/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.js +1 -0
  209. package/dist/filters/constants/common/FILTER_OPERATOR.js +0 -1
  210. package/dist/filters/constants/common/FILTER_VALIDATOR.js +0 -1
  211. package/dist/filters/constants/common/index.d.ts +1 -0
  212. package/dist/filters/constants/common/index.js +1 -0
  213. package/dist/filters/helpers/backend/buildExpression.d.ts +6 -0
  214. package/dist/filters/helpers/backend/buildExpression.js +9 -2
  215. package/dist/filters/helpers/backend/getBackendGroupValue.js +2 -1
  216. package/dist/filters/helpers/backend/getBackendProperty.js +8 -3
  217. package/dist/filters/helpers/backend/getBackendValues.js +34 -18
  218. package/dist/filters/helpers/common/arePropertiesDateP.d.ts +8 -0
  219. package/dist/filters/helpers/common/arePropertiesDateP.js +12 -0
  220. package/dist/filters/helpers/common/getFilterColumnLabel.js +1 -1
  221. package/dist/filters/helpers/common/getFilterid.js +1 -1
  222. package/dist/filters/helpers/common/getFiltersByParams.js +6 -6
  223. package/dist/filters/helpers/common/getFiltersByVisibility.js +1 -1
  224. package/dist/filters/helpers/common/getMergeFiltersSettings.d.ts +7 -0
  225. package/dist/filters/helpers/common/getMergeFiltersSettings.js +12 -0
  226. package/dist/filters/helpers/common/getParamsToGetFilterSettings.d.ts +5 -0
  227. package/dist/filters/helpers/common/getParamsToGetFilterSettings.js +11 -1
  228. package/dist/filters/helpers/common/index.d.ts +2 -0
  229. package/dist/filters/helpers/common/index.js +2 -0
  230. package/dist/filters/helpers/common/mergeFilters.d.ts +2 -1
  231. package/dist/filters/helpers/common/mergeFilters.js +27 -10
  232. package/dist/filters/helpers/common/resolveDatasetConditions.js +1 -1
  233. package/dist/filters/helpers/common/resolveFilterConditions.js +2 -3
  234. package/dist/filters/helpers/common/resolveScopeConditions.js +1 -1
  235. package/dist/filters/helpers/getAggFiltersFromFilterData.d.ts +1 -1
  236. package/dist/filters/helpers/getAggFiltersFromFilterData.js +18 -19
  237. package/dist/filters/helpers/getScopesByHierarchy.js +2 -2
  238. package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.d.ts +1 -1
  239. package/dist/filters/helpers/ui/excludeUIFlatFiltersByScopes.js +1 -1
  240. package/dist/filters/helpers/ui/getUIFlatFilterByParams.d.ts +1 -1
  241. package/dist/filters/helpers/ui/getUIFlatFilterByParams.js +1 -1
  242. package/dist/filters/helpers/ui/getUIFlatFiltersByParams.d.ts +1 -1
  243. package/dist/filters/helpers/ui/getUIFlatFiltersByParams.js +1 -1
  244. package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.d.ts +1 -1
  245. package/dist/filters/helpers/ui/getUIFlatFiltersByScopes.js +1 -1
  246. package/dist/filters/helpers/ui/getUIValues.js +6 -5
  247. package/dist/filters/interfaces/OLD_IFilterDetail.d.ts +3 -0
  248. package/dist/filters/interfaces/common/IFSFilterExtras.d.ts +3 -0
  249. package/dist/filters/interfaces/common/IFSFilterExtrasInfo.d.ts +4 -0
  250. package/dist/filters/interfaces/common/IFSFilterExtrasInfo.js +1 -0
  251. package/dist/filters/interfaces/common/IFSMergeFiltersSettings.d.ts +7 -0
  252. package/dist/filters/interfaces/common/IFSMergeFiltersSettings.js +1 -0
  253. package/dist/filters/interfaces/common/IFSParamsToGetFilter.d.ts +2 -1
  254. package/dist/filters/interfaces/common/IFSParamsToGetFilterEnableds.d.ts +9 -0
  255. package/dist/filters/interfaces/common/IFSParamsToGetFilterEnableds.js +1 -0
  256. package/dist/filters/interfaces/common/IFSParamsToGetFilterSettings.d.ts +5 -0
  257. package/dist/filters/interfaces/common/index.d.ts +3 -0
  258. package/dist/filters/interfaces/common/index.js +3 -0
  259. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.d.ts +1 -0
  260. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelHeader.d.ts +1 -0
  261. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettings.d.ts +4 -0
  262. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.d.ts +7 -0
  263. package/dist/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.js +1 -0
  264. package/dist/filters/interfaces/panel/index.d.ts +1 -0
  265. package/dist/filters/interfaces/panel/index.js +1 -0
  266. package/dist/format/definition.d.ts +3 -2
  267. package/dist/format/format.d.ts +1 -1
  268. package/dist/format/format.js +12 -13
  269. package/dist/general/array/delete.d.ts +4 -4
  270. package/dist/general/array/delete.js +8 -6
  271. package/dist/general/array/filterNestedTree.js +1 -1
  272. package/dist/general/array/flattenDeep.d.ts +1 -1
  273. package/dist/general/array/flattenDeep.js +4 -2
  274. package/dist/general/array/getFirstIndexFromArray.d.ts +1 -1
  275. package/dist/general/array/getFirstIndexFromArray.js +7 -5
  276. package/dist/general/array/getLastIndexFromArray.d.ts +1 -1
  277. package/dist/general/array/getLastIndexFromArray.js +6 -4
  278. package/dist/general/function/debounce.d.ts +1 -1
  279. package/dist/general/function/throttled.d.ts +1 -1
  280. package/dist/general/function/throttled.js +1 -1
  281. package/dist/general/mix/importScripts.d.ts +1 -1
  282. package/dist/general/mix/isEmpty.d.ts +5 -4
  283. package/dist/general/mix/isEmpty.js +12 -6
  284. package/dist/general/mix/randomId.d.ts +1 -1
  285. package/dist/general/mix/randomId.js +1 -2
  286. package/dist/general/mix/size.d.ts +1 -1
  287. package/dist/general/object/cloneDeep.d.ts +4 -4
  288. package/dist/general/object/cloneDeep.js +14 -6
  289. package/dist/general/object/get.d.ts +47 -15
  290. package/dist/general/object/get.js +59 -34
  291. package/dist/general/object/getAttribute.d.ts +1 -1
  292. package/dist/general/object/hasProperty.d.ts +1 -1
  293. package/dist/general/object/hasProperty.js +1 -1
  294. package/dist/general/object/index.d.ts +1 -0
  295. package/dist/general/object/index.js +1 -0
  296. package/dist/general/object/isObject.d.ts +6 -0
  297. package/dist/general/object/isObject.js +8 -0
  298. package/dist/general/object/mapValues.d.ts +1 -1
  299. package/dist/general/object/mapValues.js +0 -1
  300. package/dist/general/object/omit.js +1 -1
  301. package/dist/general/object/pick.js +0 -1
  302. package/dist/index.d.ts +2 -0
  303. package/dist/index.js +2 -0
  304. package/dist/qrvey/getColumnsLabel.js +5 -5
  305. package/dist/qrvey/index.d.ts +3 -0
  306. package/dist/qrvey/index.js +3 -0
  307. package/dist/tokens/index.d.ts +1 -0
  308. package/dist/tokens/index.js +1 -0
  309. package/dist/tokens/isTokenLabel.d.ts +6 -0
  310. package/dist/tokens/isTokenLabel.js +12 -0
  311. package/package.json +17 -10
  312. package/prepareToPublish.js +52 -0
  313. package/src/constants/COLUMN.ts +1 -1
  314. package/src/constants/COLUMN_PROPERTY.ts +13 -2
  315. package/src/constants/COLUMN_PROPERTY_VALUE.ts +6 -1
  316. package/src/date/constants/DATE_DAY_HOURS.ts +27 -0
  317. package/src/date/constants/DATE_HOUR_MINUTES.ts +63 -0
  318. package/src/date/constants/DATE_MINUTE_SECONDS.ts +3 -0
  319. package/src/date/constants/DATE_MONTH_DAYS.ts +34 -0
  320. package/src/date/constants/DATE_PROPERTY.ts +1 -1
  321. package/src/date/constants/DATE_PROPERTY_VALUE.ts +16 -0
  322. package/src/date/constants/DATE_P_PROPERTIES.ts +10 -0
  323. package/src/date/constants/DATE_P_VALUES.ts +7 -0
  324. package/src/date/constants/DATE_TIME_PROPERTIES.ts +0 -1
  325. package/src/date/constants/DATE_TIME_P_VALUES.ts +7 -0
  326. package/src/date/constants/DATE_TIME_VALUES.ts +1 -1
  327. package/src/date/constants/DATE_WEEK_DAYS.ts +4 -0
  328. package/src/date/constants/DATE_YEAR_DAYS.ts +368 -0
  329. package/src/date/constants/DATE_YEAR_MONTHS.ts +2 -0
  330. package/src/date/constants/DATE_YEAR_QUARTERS.ts +1 -0
  331. package/src/date/constants/index.ts +12 -0
  332. package/src/date/range/getDateRange.ts +46 -42
  333. package/src/date/relative/Adapter.ts +2 -2
  334. package/src/date/relative/constants/DATE_FORMATS.ts +3 -4
  335. package/src/date/relative/constants/RELATIVE_CURSOR_VALUE.ts +1 -1
  336. package/src/date/relative/helpers/formatStatement.ts +8 -8
  337. package/src/date/relative/index.ts +1 -1
  338. package/src/filters/adapters/FDToFlatUI.ts +7 -3
  339. package/src/filters/adapters/FDToUI.ts +5 -6
  340. package/src/filters/adapters/UIToFD.ts +1 -1
  341. package/src/filters/adapters/UIToFlatUI.ts +9 -5
  342. package/src/filters/adapters/UIToOldLogic.ts +11 -3
  343. package/src/filters/adapters/adaptFilterData.ts +1 -1
  344. package/src/filters/adapters/flatUIToFD.ts +5 -1
  345. package/src/filters/adapters/flatUIToOldLogic.ts +57 -71
  346. package/src/filters/adapters/flatUIToUI.ts +4 -1
  347. package/src/filters/adapters/logicToFlatUI.ts +101 -77
  348. package/src/filters/adapters/transformFilters.ts +22 -30
  349. package/src/filters/constants/backend/FILTER_BACKEND_VALIDATOR.ts +1 -1
  350. package/src/filters/constants/common/FILTER_GROUPED_COLUMN_OPERATOR.ts +3 -0
  351. package/src/filters/constants/common/FILTER_OPERATOR.ts +1 -1
  352. package/src/filters/constants/common/FILTER_VALIDATOR.ts +1 -1
  353. package/src/filters/constants/common/index.ts +1 -0
  354. package/src/filters/helpers/backend/buildExpression.ts +11 -3
  355. package/src/filters/helpers/backend/buildFilters.ts +2 -2
  356. package/src/filters/helpers/backend/getBackendGroupValue.ts +2 -1
  357. package/src/filters/helpers/backend/getBackendProperty.ts +6 -3
  358. package/src/filters/helpers/backend/getBackendValues.ts +27 -23
  359. package/src/filters/helpers/builder/getFilterBuilderGeneralConfig.ts +1 -1
  360. package/src/filters/helpers/common/areFiltersEquals.ts +1 -1
  361. package/src/filters/helpers/common/arePropertiesDateP.ts +14 -0
  362. package/src/filters/helpers/common/excludeFiltersByParams.ts +1 -1
  363. package/src/filters/helpers/common/getFilterColumnLabel.ts +1 -1
  364. package/src/filters/helpers/common/getFilterLabel.ts +1 -1
  365. package/src/filters/helpers/common/getFilterid.ts +1 -1
  366. package/src/filters/helpers/common/getFiltersByAggregateColumn.ts +1 -1
  367. package/src/filters/helpers/common/getFiltersByParams.ts +6 -7
  368. package/src/filters/helpers/common/getFiltersByVisibility.ts +1 -1
  369. package/src/filters/helpers/common/getMergeFiltersSettings.ts +13 -0
  370. package/src/filters/helpers/common/getParamsToGetFilterSettings.ts +11 -1
  371. package/src/filters/helpers/common/index.ts +2 -0
  372. package/src/filters/helpers/common/isInValidator.ts +1 -1
  373. package/src/filters/helpers/common/mergeFilters.ts +30 -17
  374. package/src/filters/helpers/common/resolveDatasetConditions.ts +1 -1
  375. package/src/filters/helpers/common/resolveFilterConditions.ts +2 -3
  376. package/src/filters/helpers/common/resolveScopeConditions.ts +1 -1
  377. package/src/filters/helpers/getAggFiltersFromFilterData.ts +20 -23
  378. package/src/filters/helpers/getAvailableScopesIDsByConfig.ts +1 -1
  379. package/src/filters/helpers/getScopesByHierarchy.ts +2 -2
  380. package/src/filters/helpers/ui/excludeUIFlatFiltersByScopes.ts +2 -2
  381. package/src/filters/helpers/ui/getUIFlatFilterByParams.ts +1 -1
  382. package/src/filters/helpers/ui/getUIFlatFiltersByParams.ts +1 -1
  383. package/src/filters/helpers/ui/getUIFlatFiltersByScopes.ts +1 -1
  384. package/src/filters/helpers/ui/getUIValues.ts +9 -9
  385. package/src/filters/helpers/ui/resolveUIFlatFiltersByParams.ts +1 -1
  386. package/src/filters/interfaces/OLD_IFilterDetail.ts +4 -0
  387. package/src/filters/interfaces/backend/IFBExpression.ts +1 -1
  388. package/src/filters/interfaces/common/IFSFilterExtras.ts +4 -0
  389. package/src/filters/interfaces/common/IFSFilterExtrasInfo.ts +5 -0
  390. package/src/filters/interfaces/common/IFSMergeFiltersSettings.ts +8 -0
  391. package/src/filters/interfaces/common/IFSParamsToGetFilter.ts +2 -1
  392. package/src/filters/interfaces/common/IFSParamsToGetFilterEnableds.ts +9 -0
  393. package/src/filters/interfaces/common/IFSParamsToGetFilterSettings.ts +5 -0
  394. package/src/filters/interfaces/common/index.ts +3 -0
  395. package/src/filters/interfaces/panel/IFPSettingsFilterPanelBodyScopeScope.ts +1 -0
  396. package/src/filters/interfaces/panel/IFPSettingsFilterPanelHeader.ts +1 -0
  397. package/src/filters/interfaces/panel/IFPSettingsFilterPanelSettings.ts +4 -0
  398. package/src/filters/interfaces/panel/IFPSettingsFilterPanelSettingsScope.ts +7 -0
  399. package/src/filters/interfaces/panel/IFilterPanelConfig.ts +0 -2
  400. package/src/filters/interfaces/panel/index.ts +1 -0
  401. package/src/filters/interfaces/ui/IFUFilterExtras.ts +1 -1
  402. package/src/format/definition.ts +7 -8
  403. package/src/format/format.ts +19 -22
  404. package/src/general/array/delete.ts +10 -6
  405. package/src/general/array/filterNestedTree.ts +1 -1
  406. package/src/general/array/flattenDeep.ts +3 -2
  407. package/src/general/array/getFirstIndexFromArray.ts +8 -6
  408. package/src/general/array/getLastIndexFromArray.ts +7 -5
  409. package/src/general/function/debounce.ts +2 -2
  410. package/src/general/function/throttled.ts +3 -3
  411. package/src/general/mix/importScripts.ts +1 -1
  412. package/src/general/mix/isEmpty.ts +12 -7
  413. package/src/general/mix/isNull.ts +2 -2
  414. package/src/general/mix/randomId.ts +2 -2
  415. package/src/general/mix/size.ts +1 -1
  416. package/src/general/object/cloneDeep.ts +15 -6
  417. package/src/general/object/get.ts +59 -31
  418. package/src/general/object/getAttribute.ts +1 -1
  419. package/src/general/object/hasProperty.ts +1 -1
  420. package/src/general/object/index.ts +3 -2
  421. package/src/general/object/isObject.ts +8 -0
  422. package/src/general/object/mapValues.ts +2 -2
  423. package/src/general/object/omit.ts +2 -2
  424. package/src/general/object/pick.ts +1 -1
  425. package/src/general/string/capitalize.ts +1 -1
  426. package/src/index.ts +3 -1
  427. package/src/qrvey/getColumnsLabel.ts +5 -5
  428. package/src/qrvey/index.ts +3 -0
  429. package/src/qrvey/isComplexColumn.ts +1 -1
  430. package/src/qrvey/isDateColumn.ts +1 -1
  431. package/src/stencil/decorators/Config.ts +2 -2
  432. package/src/tokens/index.ts +1 -0
  433. package/src/tokens/isTokenLabel.ts +13 -0
  434. package/src/typescript/decorators/Debounce.ts +2 -2
  435. package/src/typescript/decorators/Throttled.ts +2 -2
  436. package/test/format.test.js +97 -5
  437. package/test/general/array/delete.test.js +64 -0
  438. package/test/general/array/flattenDeep.test.js +44 -0
  439. package/test/general/array/getFirstIndexFromArray.test.js +56 -0
  440. package/test/general/array/getLastIndexFromArray.test.js +56 -0
  441. package/test/general/mix/isEmpty.test.js +144 -0
  442. package/test/general/object/cloneDeep.test.js +152 -0
  443. package/test/general/object/get.test.js +247 -0
  444. package/test/relative.test.js +24 -24
@@ -1,4 +1,4 @@
1
- import { get } from '../../general/object/index';
1
+ import { _get } from '../../general/object/index';
2
2
  import { parseDate, formatStatement, getStatementCase } from './helpers/index';
3
3
  import { DATETIME_FORMAT } from './constants/index';
4
4
  export default class RelativeStatementAdapter {
@@ -49,7 +49,7 @@ export default class RelativeStatementAdapter {
49
49
  const path = this.cursor === "the_last" /* LAST */ ? 'gte'
50
50
  : this.cursor === "the_next" /* NEXT */ ? 'lte'
51
51
  : '';
52
- return get(value, path, new Date());
52
+ return _get(value, path, new Date());
53
53
  }
54
54
  /**
55
55
  * Convert verbal statement to range value
@@ -1,2 +1,2 @@
1
- export declare const DATETIME_FORMAT = "MM-DD-YYYY HH:mm:ss";
1
+ export declare const DATETIME_FORMAT = "MM/DD/YYYY HH:mm:ss";
2
2
  export declare const INPUT_FORMATS: string[];
@@ -1,9 +1,9 @@
1
- export const DATETIME_FORMAT = 'MM-DD-YYYY HH:mm:ss';
1
+ export const DATETIME_FORMAT = 'MM/DD/YYYY HH:mm:ss';
2
2
  export const INPUT_FORMATS = [
3
+ DATETIME_FORMAT,
3
4
  'MM/DD/YYYY',
4
5
  'MM-DD-YYYY',
5
6
  'YYYY-MM-DD',
6
- 'MM/DD/YYYY HH:mm:ss',
7
+ 'MM-DD-YYYY HH:mm:ss',
7
8
  'YYYY-MM-DD HH:mm:ss',
8
- DATETIME_FORMAT
9
9
  ];
@@ -1,4 +1,4 @@
1
- import { get, mapValues } from '../../../general/object/index';
1
+ import { _get, mapValues } from '../../../general/object/index';
2
2
  /**
3
3
  * Build a proper relative date statement type
4
4
  * @param {RelativeStatement} statement
@@ -7,11 +7,11 @@ import { get, mapValues } from '../../../general/object/index';
7
7
  export function formatStatement(statement) {
8
8
  const loweredStatement = mapValues(statement, s => typeof s === 'string' ? s.toLowerCase() : s);
9
9
  return {
10
- cursor: get(loweredStatement, 'cursor', "this" /* THIS */),
11
- unit: get(loweredStatement, 'unit', "day" /* DAY */),
12
- number: get(loweredStatement, 'number', 0),
13
- anchor: get(loweredStatement, 'anchor', "@now" /* NOW_TOKEN */),
14
- isCalendarDate: get(loweredStatement, 'isCalendarDate', true),
15
- includeCurrent: get(loweredStatement, 'includeCurrent', true)
10
+ cursor: _get(loweredStatement, 'cursor', "this" /* THIS */),
11
+ unit: _get(loweredStatement, 'unit', "day" /* DAY */),
12
+ number: _get(loweredStatement, 'number', 0),
13
+ anchor: _get(loweredStatement, 'anchor', "@now" /* NOW_TOKEN */),
14
+ isCalendarDate: _get(loweredStatement, 'isCalendarDate', true),
15
+ includeCurrent: _get(loweredStatement, 'includeCurrent', true)
16
16
  };
17
17
  }
@@ -26,7 +26,7 @@ export function FDToFlatUI(filterData, datasetsInfo = []) {
26
26
  * @returns a flattened UI filters array
27
27
  */
28
28
  function FD21ToFlatUI(scopes = [], datasetsInfo = []) {
29
- let uFilters = [];
29
+ const uFilters = [];
30
30
  if (scopes.length === 0)
31
31
  return uFilters;
32
32
  scopes.forEach(scope => {
@@ -38,6 +38,7 @@ function FD21ToFlatUI(scopes = [], datasetsInfo = []) {
38
38
  let columnInfo;
39
39
  if (!isEmpty(datasetInfo))
40
40
  columnInfo = datasetInfo.options.find(cInfo => cInfo.id === filter.column.id && cInfo.qrveyid === filter.column.qrveyid && cInfo.linkid === filter.column.linkid);
41
+ const info = !isEmpty(filter.extras.info) ? { icon: filter.extras.info.icon, label: filter.extras.info.label } : undefined;
41
42
  const uFilter = {
42
43
  collapsed: filter.collapsed,
43
44
  column: {
@@ -55,29 +56,21 @@ function FD21ToFlatUI(scopes = [], datasetsInfo = []) {
55
56
  dateSection: filter.dateSection,
56
57
  displayed: filter.displayed,
57
58
  enabled: filter.enabled,
58
- extras: {
59
- panelid: filter.extras.panelid,
60
- filterLabel: filter.extras.filterLabel,
61
- scope: filter.extras.scope,
62
- scopeid: filter.extras.scopeid,
63
- section: filter.extras.section,
64
- scopeInfo: {
59
+ extras: Object.assign(Object.assign({}, filter.extras), { panelid: filter.extras.panelid, filterLabel: filter.extras.filterLabel, info, scope: filter.extras.scope, scopeid: filter.extras.scopeid, section: filter.extras.section, scopeInfo: {
65
60
  collapsed: scope.collapsed,
66
61
  enabled: scope.enabled,
67
62
  displayed: scope.displayed,
68
63
  label: scope.label,
69
64
  scope: scope.scope,
70
65
  scopeid: scope.scopeid,
71
- },
72
- dataset: {
66
+ }, dataset: {
73
67
  qrveyid: dataset.qrveyid,
74
68
  collapsed: dataset.collapsed,
75
69
  enabled: dataset.enabled,
76
70
  displayed: dataset.enabled,
77
71
  label: datasetInfo === null || datasetInfo === void 0 ? void 0 : datasetInfo.name,
78
72
  linkid: dataset.linkid,
79
- },
80
- },
73
+ } }),
81
74
  filterid: filter.filterid,
82
75
  lookupDisplayIndex: filter.lookupDisplayIndex,
83
76
  nullValues: filter.nullValues,
@@ -29,10 +29,9 @@ export function FDToUI(filterData, datasetsInfo = []) {
29
29
  * @returns a UI filter Structure
30
30
  */
31
31
  function FD21ToUI(scopes = [], section = "ANYWHERE" /* ANYWHERE */, enabled = true, datasetsInfo = [], version = FILTER_STRUCTURE_VERSION) {
32
- let ufData;
33
32
  if (scopes.length === 0)
34
- return ufData;
35
- ufData = {
33
+ return;
34
+ const ufData = {
36
35
  enabled,
37
36
  section,
38
37
  version,
@@ -25,7 +25,7 @@ export function UIToFlatUI(filterData, datasetsInfo = []) {
25
25
  * @returns a flattened UI filters array
26
26
  */
27
27
  function UI21ToFlatUI(scopes = [], datasetsInfo = []) {
28
- let uFilters = [];
28
+ const uFilters = [];
29
29
  if (scopes.length === 0)
30
30
  return uFilters;
31
31
  scopes.forEach(scope => {
@@ -37,6 +37,7 @@ function UI21ToFlatUI(scopes = [], datasetsInfo = []) {
37
37
  let columnInfo;
38
38
  if (!isEmpty(datasetInfo))
39
39
  columnInfo = datasetInfo.options.find(cInfo => cInfo.id === filter.column.id && cInfo.qrveyid === filter.column.qrveyid && cInfo.linkid === filter.column.linkid);
40
+ const info = !isEmpty(filter.extras.info) ? { icon: filter.extras.info.icon, label: filter.extras.info.label } : undefined;
40
41
  const uFilter = {
41
42
  collapsed: filter.collapsed,
42
43
  column: {
@@ -54,29 +55,21 @@ function UI21ToFlatUI(scopes = [], datasetsInfo = []) {
54
55
  dateSection: filter.dateSection,
55
56
  displayed: filter.displayed,
56
57
  enabled: filter.enabled,
57
- extras: {
58
- panelid: filter.extras.panelid,
59
- filterLabel: filter.extras.filterLabel,
60
- scope: filter.extras.scope,
61
- scopeid: filter.extras.scopeid,
62
- section: filter.extras.section,
63
- scopeInfo: {
58
+ extras: Object.assign(Object.assign({}, filter.extras), { panelid: filter.extras.panelid, filterLabel: filter.extras.filterLabel, info, scope: filter.extras.scope, scopeid: filter.extras.scopeid, section: filter.extras.section, scopeInfo: {
64
59
  collapsed: scope.collapsed,
65
60
  enabled: scope.enabled,
66
61
  displayed: scope.displayed,
67
62
  label: scope.label,
68
63
  scope: scope.scope,
69
64
  scopeid: scope.scopeid,
70
- },
71
- dataset: {
65
+ }, dataset: {
72
66
  qrveyid: dataset.qrveyid,
73
67
  collapsed: dataset.collapsed,
74
68
  enabled: dataset.enabled,
75
69
  displayed: dataset.enabled,
76
70
  label: (datasetInfo === null || datasetInfo === void 0 ? void 0 : datasetInfo.name) || dataset.label,
77
71
  linkid: dataset.linkid,
78
- },
79
- },
72
+ } }),
80
73
  filterid: filter.filterid,
81
74
  lookupDisplayIndex: filter.lookupDisplayIndex,
82
75
  nullValues: filter.nullValues,
@@ -75,7 +75,7 @@ function buildExpressions(filterSection, scope, dataset) {
75
75
  }, []);
76
76
  }
77
77
  const getFilterDetail = (filter, scope, dataset) => {
78
- let aggregate, calculation;
78
+ let aggregate, calculation, info;
79
79
  if (filter.column.aggregate != null) {
80
80
  aggregate = {
81
81
  abbreviation: undefined,
@@ -93,6 +93,12 @@ const getFilterDetail = (filter, scope, dataset) => {
93
93
  value: filter.column.calculation,
94
94
  };
95
95
  }
96
+ if (!isEmpty(filter.extras.info)) {
97
+ info = {
98
+ icon: filter.extras.info.icon,
99
+ label: filter.extras.info.label,
100
+ };
101
+ }
96
102
  return {
97
103
  collapsed: filter.collapsed,
98
104
  column: {
@@ -115,6 +121,8 @@ const getFilterDetail = (filter, scope, dataset) => {
115
121
  },
116
122
  dateSection: filter.dateSection,
117
123
  enabled: filter.enabled,
124
+ extras: filter.extras,
125
+ info,
118
126
  lookupDisplayIndex: filter.lookupDisplayIndex,
119
127
  nullValues: filter.nullValues,
120
128
  operator: filter.operator,
@@ -10,7 +10,7 @@ import { UIToFD } from "./UIToFD";
10
10
  * @param datasetsInfo Collection of datasets information. If getUIFilterData is true, the datasetsInfo should be mandatory
11
11
  * @returns A new filter data structure v2.1
12
12
  */
13
- export function adaptFilterData(filterData, getUIFilterData = false, datasetsInfo = []) {
13
+ export function adaptFilterData(filterData, getUIFilterData = true, datasetsInfo = []) {
14
14
  if (isEmpty(filterData))
15
15
  return;
16
16
  filterData = cloneDeep(filterData);
@@ -1,3 +1,4 @@
1
+ import { isEmpty } from "../../general";
1
2
  import { FILTER_STRUCTURE_VERSION } from "../constants";
2
3
  /**
3
4
  * Generates a filter data structure from the flatttened UI filters.
@@ -74,6 +75,7 @@ function buildDataset(uFilter) {
74
75
  * @returns an filter structure
75
76
  */
76
77
  function buildFilter(uFilter) {
78
+ const info = !isEmpty(uFilter.extras.info) ? { icon: uFilter.extras.info.icon, label: uFilter.extras.info.label } : undefined;
77
79
  return {
78
80
  collapsed: uFilter.collapsed,
79
81
  column: {
@@ -88,13 +90,7 @@ function buildFilter(uFilter) {
88
90
  displayed: uFilter.displayed,
89
91
  filterid: uFilter.filterid,
90
92
  enabled: uFilter.enabled,
91
- extras: {
92
- panelid: uFilter.extras.panelid,
93
- filterLabel: uFilter.extras.filterLabel,
94
- scope: uFilter.extras.scope,
95
- scopeid: uFilter.extras.scopeid,
96
- section: uFilter.extras.section,
97
- },
93
+ extras: Object.assign(Object.assign({}, uFilter.extras), { panelid: uFilter.extras.panelid, filterLabel: uFilter.extras.filterLabel, info, scope: uFilter.extras.scope, scopeid: uFilter.extras.scopeid, section: uFilter.extras.section }),
98
94
  lookupDisplayIndex: uFilter.lookupDisplayIndex,
99
95
  nullValues: uFilter.nullValues,
100
96
  operator: uFilter.operator,
@@ -1,7 +1,7 @@
1
1
  import { FILTER_VALIDATOR_VALUE } from "../constants";
2
2
  import { cloneDeep, flattenDeep, isEmpty, isNull, _get } from "../../general";
3
3
  import { COLUMN } from "../../constants";
4
- import { getBackendValidator, isNullValidator } from "../helpers";
4
+ import { arePropertiesDateP, getBackendValidator, getUIValues, isNullValidator } from "../helpers";
5
5
  import { RELATIVE_CURSOR_VALUE } from "../../date";
6
6
  import { isDateColumn } from "../../qrvey/isDateColumn";
7
7
  /**
@@ -64,7 +64,9 @@ const flatUIToOldFilterDetail = (uFilters = []) => {
64
64
  },
65
65
  dateSection: filter.dateSection,
66
66
  enabled: filter.enabled,
67
+ extras: filter.extras,
67
68
  lookupDisplayIndex: filter.lookupDisplayIndex,
69
+ info: filter.extras.info,
68
70
  nullValues: filter.nullValues,
69
71
  operator: filter.operator,
70
72
  property: filter.property,
@@ -74,9 +76,10 @@ const flatUIToOldFilterDetail = (uFilters = []) => {
74
76
  panelid: filter.extras.panelid,
75
77
  panelName: filter.extras.filterLabel,
76
78
  section: filter.extras.section,
77
- // uiValue: getUIValues(filter, true),
79
+ uiValue: getUIValues(filter, true),
78
80
  validator: filter.validator,
79
- values: filter.values
81
+ values: filter.values,
82
+ _newFilters: Object.assign({}, filter)
80
83
  };
81
84
  });
82
85
  };
@@ -101,7 +104,7 @@ export function getLogicBody(uFilters) {
101
104
  filters: [filterItem],
102
105
  uiExtras: {
103
106
  scopeid: props.scopeid,
104
- collapsed: props.collapsed,
107
+ collapsed: _get(props, '_newFilters.extras.scopeInfo.collapsed', false),
105
108
  }
106
109
  });
107
110
  }
@@ -137,11 +140,11 @@ function getRankingExpressions(props) {
137
140
  const values = props.values;
138
141
  return values.map((_value, index) => {
139
142
  const expression = Object.assign(Object.assign({}, getRegularExpression(Object.assign(Object.assign({}, props), { values: [props.values[index]] }))), { validationType: getBackendValidator(props.validator) });
140
- return Object.assign(Object.assign({}, expression), { value: getValues(props, index), uiExtras: Object.assign(Object.assign({}, expression.uiExtras), { uiValue: getUIValues(props, index) }) });
143
+ return Object.assign(Object.assign({}, expression), { value: getValues(props, index), uiExtras: Object.assign(Object.assign({}, expression.uiExtras), { uiValue: getUIValuess(props, index) }) });
141
144
  });
142
145
  }
143
146
  function getRegularExpression(props) {
144
- const uiValue = getUIValues(props);
147
+ const uiValue = getUIValuess(props);
145
148
  return {
146
149
  enabled: props.enabled,
147
150
  groupValue: getGroupValue(props),
@@ -157,16 +160,20 @@ function getRegularExpression(props) {
157
160
  };
158
161
  }
159
162
  function getGroupValue(props) {
160
- if (isEmpty(props.column.aggregate) && isDateColumn(props.column) && props.property) {
163
+ if (!arePropertiesDateP(props.column, props.property) && isEmpty(props.column.aggregate) && isDateColumn(props.column) && props.property) {
161
164
  return props.property;
162
165
  }
163
166
  }
164
167
  function getProperty(props) {
168
+ var _a;
165
169
  if (isEmpty(props.column.aggregate)) {
166
- if ((isDateColumn(props.column) && props.property) || isNullValidator(props.validator))
170
+ if (isNullValidator(props.validator)) {
167
171
  return undefined;
168
- if ((props.column.type === COLUMN.EXPRESSION && props.property != null)
169
- /*|| (props.column.type === QUESTIONS_TYPES.DATE && props.property === PROPERTY_TYPE.DATE_DAY)*/ ) {
172
+ }
173
+ else if (isDateColumn(props.column)) {
174
+ return arePropertiesDateP(props.column, props.property) ? (_a = props.property) === null || _a === void 0 ? void 0 : _a.split('p&')[1] : undefined;
175
+ }
176
+ else if (props.column.type === COLUMN.EXPRESSION && props.property != null) {
170
177
  return undefined;
171
178
  }
172
179
  else if (props.column.type === COLUMN.LOOKUP && props.property === "display" /* LOOKUP_DISPLAY */ && props.lookupDisplayIndex != null) {
@@ -247,66 +254,36 @@ function getValues(props, rankingGroupIndex) {
247
254
  case "NOT_START_WITH" /* NOT_START_WITH */:
248
255
  case "ENDS_WITH" /* ENDS_WITH */:
249
256
  case "NOT_END_WITH" /* NOT_END_WITH */:
250
- return props.values.map(value => value.value);
257
+ return props.values.map(value => value.enabled ? value.value : undefined);
251
258
  case "BETWEEN_INCLUSIVE" /* BETWEEN_INCLUSIVE */:
252
- // return rangeValues.map(value => ({
253
- // lte: isDateProperty ? getDateRange(value.max, props.property).to : value.max,
254
- // gte: isDateProperty ? getDateRange(value.min, props.property).from : value.min
255
- // }));
256
- return props.values.map(value => ({
257
- lte: value.max,
258
- gte: value.min
259
- }));
259
+ return props.values.map(value => value.enabled ? ({ lte: value.max, gte: value.min }) : undefined).filter(Boolean);
260
260
  case "BETWEEN_EXCLUSIVE" /* BETWEEN_EXCLUSIVE */:
261
- return props.values.map(value => {
262
- // const { min, max } = getExclusiveRangeValuesByProperty(value, props);
263
- // return {
264
- // [isDateProperty && !includeDateTokens(max, dateFormat) ? 'lte' : 'lt'] : isDateProperty ? getDateRange(max, props.property).to : max,
265
- // [isDateProperty && !includeDateTokens(min, dateFormat) ? 'gte' : 'gt'] : isDateProperty ? getDateRange(min, props.property).from : min
266
- // };
267
- return {
268
- lt: value.max,
269
- gt: value.min
270
- };
271
- });
261
+ return props.values.map(value => value.enabled ? ({ lt: value.max, gt: value.min }) : undefined).filter(Boolean);
272
262
  case "BEFORE" /* BEFORE */:
273
263
  case "LESS_THAN" /* LESS_THAN */:
274
- return props.values.map(value => {
275
- // const { max } = getExclusiveRangeValuesByProperty(value, props);
276
- // return { [isDateProperty && !includeDateTokens(max, dateFormat) ? 'lte' : 'lt'] : isDateProperty ? getDateRange(max, props.property).to : max };
277
- return { lt: value.max };
278
- });
264
+ return props.values.map(value => value.enabled ? ({ lt: value.max }) : undefined).filter(Boolean);
279
265
  case "BEFORE_ON" /* BEFORE_ON */:
280
266
  case "LESS_THAN_EQUAL" /* LESS_THAN_EQUAL */:
281
- return props.values.map(value => (
282
- // {
283
- // lte: isDateProperty ? getDateRange(value.max, props.property).to : value.max
284
- // }
285
- { lte: value.max }));
267
+ return props.values.map(value => value.enabled ? ({ lte: value.max }) : undefined).filter(Boolean);
286
268
  case "AFTER" /* AFTER */:
287
269
  case "GREATER_THAN" /* GREATER_THAN */:
288
- return props.values.map(value => {
289
- // const { min } = getExclusiveRangeValuesByProperty(value, props);
290
- // return { [isDateProperty && !includeDateTokens(min, dateFormat) ? 'gte' : 'gt'] : isDateProperty ? getDateRange(min, props.property).from : min };
291
- return { gt: value.min };
292
- });
270
+ return props.values.map(value => value.enabled ? ({ gt: value.min }) : undefined).filter(Boolean);
293
271
  case "AFTER_ON" /* AFTER_ON */:
294
272
  case "GREATER_THAN_EQUAL" /* GREATER_THAN_EQUAL */:
295
- return props.values.map(value => (
296
- // {
297
- // gte: isDateProperty ? getDateRange(value.min, props.property).from : value.min
298
- // }
299
- { gte: value.min }));
273
+ return props.values.map(value => value.enabled ? ({ gte: value.min }) : undefined).filter(Boolean);
300
274
  case "IS_NULL" /* IS_NULL */:
301
- case "IS_NOT_NULL" /* IS_NOT_NULL */:
302
- return [FILTER_VALIDATOR_VALUE[props.validator].label];
275
+ case "IS_NOT_NULL" /* IS_NOT_NULL */: {
276
+ const addValue = props.values.length > 0 && props.values.every(value => value.enabled);
277
+ return addValue ? [FILTER_VALIDATOR_VALUE[props.validator].label] : [];
278
+ }
303
279
  case "IN" /* IN */:
304
- return _get(props, 'values', []);
280
+ return props.values.map(value => value.enabled ? value : undefined).filter(Boolean);
305
281
  default:
306
282
  return [];
307
283
  }
308
284
  }
309
- function getUIValues(props, rankingGroupIndex) {
285
+ function getUIValuess(props, rankingGroupIndex) {
286
+ var _a, _b;
310
287
  switch (props.validator) {
311
288
  case "AFTER" /* AFTER */:
312
289
  case "GREATER_THAN" /* GREATER_THAN */:
@@ -323,7 +300,7 @@ function getUIValues(props, rankingGroupIndex) {
323
300
  return props.values.map(value => (Object.assign(Object.assign({}, value), { value: `${value.min} - ${value.max}`, enabled: value.enabled != null ? value.enabled : true })));
324
301
  case "IS_NULL" /* IS_NULL */:
325
302
  case "IS_NOT_NULL" /* IS_NOT_NULL */:
326
- return [{ value: FILTER_VALIDATOR_VALUE[props.validator].label, enabled: props.enabled }];
303
+ return [{ value: FILTER_VALIDATOR_VALUE[props.validator].label, enabled: (_b = (_a = props.values[0]) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : props.enabled }];
327
304
  case "IN" /* IN */:
328
305
  return props.values.map(value => (Object.assign(Object.assign({}, value), { value: `${RELATIVE_CURSOR_VALUE[value.cursor].label} ${value.cursor !== "this" /* THIS */ && value.number > 1 ? value.number : ''} ${getValueUiUnitRelativeDate(value)} ${value.cursor !== "this" /* THIS */ ? `from ${value.anchor || 'current date'}` : ''}`, enabled: props.enabled })));
329
306
  default:
@@ -338,10 +315,10 @@ function getValueUiUnitRelativeDate(relative) {
338
315
  }
339
316
  function getRankingValues(values, rankingGroupIndex) {
340
317
  const flattenValues = isNull(rankingGroupIndex) ? flattenDeep(values) : values[rankingGroupIndex];
341
- return flattenValues.map(rankingValue => ({
318
+ return flattenValues.map(rankingValue => rankingValue.enabled ? ({
342
319
  position: rankingValue.position - 1,
343
320
  value: rankingValue.value.value
344
- }));
321
+ }) : undefined).filter(Boolean);
345
322
  }
346
323
  function getRankingUIValues(values, rankingGroupIndex) {
347
324
  const flattenValues = isNull(rankingGroupIndex) ? flattenDeep(values) : values[rankingGroupIndex];
@@ -354,13 +331,15 @@ function getRankingUIValues(values, rankingGroupIndex) {
354
331
  }
355
332
  function getResultValues(values, props) {
356
333
  return values.map((value) => {
357
- if (props.column.type === COLUMN.IMAGE) {
358
- return value.valueid;
359
- }
360
- else {
361
- return value.value;
334
+ if (value.enabled) {
335
+ if (props.column.type === COLUMN.IMAGE) {
336
+ return value.valueid;
337
+ }
338
+ else {
339
+ return value.value;
340
+ }
362
341
  }
363
- }).filter(value => value);
342
+ }).filter(Boolean);
364
343
  // return values.map((value: IFBResultValue) => {
365
344
  // if (!isEmpty(props.column.aggregate)) {
366
345
  // return value.value || '';
@@ -1,4 +1,4 @@
1
- import { getLastIndexFromArray } from "../../general";
1
+ import { isEmpty, getLastIndexFromArray } from "../../general";
2
2
  import { FILTER_STRUCTURE_VERSION } from "../constants";
3
3
  import { getUIValues } from "../helpers";
4
4
  /**
@@ -82,6 +82,7 @@ function buildDataset(uFilter) {
82
82
  * @returns an filter structure
83
83
  */
84
84
  function buildFilter(uFilter) {
85
+ const info = !isEmpty(uFilter.extras.info) ? { icon: uFilter.extras.info.icon, label: uFilter.extras.info.label } : undefined;
85
86
  return {
86
87
  collapsed: uFilter.collapsed,
87
88
  column: {
@@ -103,13 +104,7 @@ function buildFilter(uFilter) {
103
104
  displayed: uFilter.displayed,
104
105
  filterid: uFilter.filterid,
105
106
  enabled: uFilter.enabled,
106
- extras: {
107
- panelid: uFilter.extras.panelid,
108
- filterLabel: uFilter.extras.filterLabel,
109
- scope: uFilter.extras.scope,
110
- scopeid: uFilter.extras.scopeid,
111
- section: uFilter.extras.section,
112
- },
107
+ extras: Object.assign(Object.assign({}, uFilter.extras), { panelid: uFilter.extras.panelid, filterLabel: uFilter.extras.filterLabel, info, scope: uFilter.extras.scope, scopeid: uFilter.extras.scopeid, section: uFilter.extras.section }),
113
108
  lookupDisplayIndex: uFilter.lookupDisplayIndex,
114
109
  nullValues: uFilter.nullValues,
115
110
  operator: uFilter.operator,