@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
@@ -5,4 +5,4 @@ import { IFScope, IFUFlattenedFilter } from "../../interfaces";
5
5
  * @param scopes collection of scopes types
6
6
  * @returns The new array of UI Flattened filters
7
7
  */
8
- export declare function getUIFlatFiltersByScopes(uFilters: IFUFlattenedFilter[], scopes: IFScope[]): IFUFlattenedFilter[];
8
+ export declare function getUIFlatFiltersByScopes(uFilters?: IFUFlattenedFilter[], scopes?: IFScope[]): IFUFlattenedFilter[];
@@ -5,7 +5,7 @@ import { cloneDeep, isEmpty } from "../../../general";
5
5
  * @param scopes collection of scopes types
6
6
  * @returns The new array of UI Flattened filters
7
7
  */
8
- export function getUIFlatFiltersByScopes(uFilters = [], scopes) {
8
+ export function getUIFlatFiltersByScopes(uFilters = [], scopes = []) {
9
9
  if (isEmpty(uFilters))
10
10
  return [];
11
11
  uFilters = cloneDeep(uFilters);
@@ -3,6 +3,7 @@ import { RELATIVE_CURSOR_VALUE } from "../../../date";
3
3
  import { COLUMN } from "../../../constants";
4
4
  import { flattenDeep, isEmpty } from "../../../general";
5
5
  export function getUIValues(filter, addEnableds = false, rankingGroupIndex) {
6
+ var _a;
6
7
  switch (filter.validator) {
7
8
  case "AFTER" /* AFTER */:
8
9
  case "GREATER_THAN" /* GREATER_THAN */:
@@ -10,7 +11,7 @@ export function getUIValues(filter, addEnableds = false, rankingGroupIndex) {
10
11
  case "GREATER_THAN_EQUAL" /* GREATER_THAN_EQUAL */:
11
12
  return filter.values.map(value => ({
12
13
  value: value.min,
13
- enabled: addEnableds ? (value.enabled != null ? value.enabled : true) : undefined,
14
+ enabled: addEnableds ? value.enabled != null ? value.enabled : true : undefined,
14
15
  }));
15
16
  case "BEFORE_ON" /* BEFORE_ON */:
16
17
  case "LESS_THAN_EQUAL" /* LESS_THAN_EQUAL */:
@@ -18,19 +19,19 @@ export function getUIValues(filter, addEnableds = false, rankingGroupIndex) {
18
19
  case "LESS_THAN" /* LESS_THAN */:
19
20
  return filter.values.map(value => ({
20
21
  value: value.max,
21
- enabled: addEnableds ? (value.enabled != null ? value.enabled : true) : undefined,
22
+ enabled: addEnableds ? value.enabled != null ? value.enabled : true : undefined,
22
23
  }));
23
24
  case "BETWEEN_INCLUSIVE" /* BETWEEN_INCLUSIVE */:
24
25
  case "BETWEEN_EXCLUSIVE" /* BETWEEN_EXCLUSIVE */:
25
26
  return filter.values.map(value => ({
26
27
  value: `${value.min} - ${value.max}`,
27
- enabled: addEnableds ? (value.enabled != null ? value.enabled : true) : undefined,
28
+ enabled: addEnableds ? value.enabled != null ? value.enabled : true : undefined,
28
29
  }));
29
30
  case "IS_NULL" /* IS_NULL */:
30
31
  case "IS_NOT_NULL" /* IS_NOT_NULL */:
31
32
  return [{
32
33
  value: FILTER_VALIDATOR_VALUE[filter.validator].label,
33
- enabled: addEnableds ? filter.enabled : undefined,
34
+ enabled: addEnableds ? (_a = filter.values[0]) === null || _a === void 0 ? void 0 : _a.enabled : undefined,
34
35
  }];
35
36
  case "IN" /* IN */:
36
37
  return filter.values.map(value => ({
@@ -44,7 +45,7 @@ export function getUIValues(filter, addEnableds = false, rankingGroupIndex) {
44
45
  return (filter.values || []).map(val => ({
45
46
  imageUrl: val.imageUrl,
46
47
  value: val.value,
47
- enabled: addEnableds ? (val.enabled != null ? val.enabled : true) : undefined,
48
+ enabled: addEnableds ? val.enabled != null ? val.enabled : true : undefined,
48
49
  valueid: val.valueid,
49
50
  }));
50
51
  }
@@ -1,4 +1,5 @@
1
1
  import { IQrveyColumn } from "../../interfaces/Qrvey.Interface";
2
+ import { IFSFilterExtrasInfo } from "./common";
2
3
  import { IFDateSection } from "./IFDateSection";
3
4
  import { IFOperator } from "./IFOperator";
4
5
  import { IFProperty } from "./IFProperty";
@@ -22,6 +23,7 @@ export interface OLD_IFilterDetail {
22
23
  panelid?: string;
23
24
  panelName?: string;
24
25
  expressionid?: string;
26
+ info?: IFSFilterExtrasInfo;
25
27
  scope?: IFScope;
26
28
  scopeid?: string;
27
29
  scopeEnabled?: boolean;
@@ -34,4 +36,5 @@ export interface OLD_IFilterDetail {
34
36
  }[] | IFUValue[];
35
37
  section?: IFSection;
36
38
  groupValue?: IFProperty;
39
+ extras?: any;
37
40
  }
@@ -1,5 +1,6 @@
1
1
  import { IFScope } from "../IFScope";
2
2
  import { IFSection } from "../IFSection";
3
+ import { IFSFilterExtrasInfo } from "./IFSFilterExtrasInfo";
3
4
  /**
4
5
  * Structure for extra properties of the Filter.
5
6
  */
@@ -9,4 +10,6 @@ export interface IFSFilterExtras {
9
10
  scope: IFScope;
10
11
  scopeid?: string;
11
12
  section?: IFSection;
13
+ info?: IFSFilterExtrasInfo;
14
+ [x: string]: any;
12
15
  }
@@ -0,0 +1,4 @@
1
+ export interface IFSFilterExtrasInfo {
2
+ icon: string;
3
+ label: string;
4
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Structure for MergeFilters property settings
3
+ */
4
+ export interface IFSMergeFiltersSettings {
5
+ overwriteValues?: boolean;
6
+ setGroupedColumnOperator?: boolean;
7
+ }
@@ -3,13 +3,14 @@ import { IFProperty } from "../IFProperty";
3
3
  import { IFScope } from "../IFScope";
4
4
  import { IFValidator } from "../IFValidator";
5
5
  import { IFSColumn } from "./IFSColumn";
6
+ import { IFSParamsToGetFilterEnableds } from "./IFSParamsToGetFilterEnableds";
6
7
  /**
7
8
  * Structure for filter properties
8
9
  */
9
10
  export interface IFSParamsToGetFilter {
10
11
  column?: IFSColumn;
11
12
  dateSection?: IFDateSection;
12
- enableds?: boolean;
13
+ enableds?: IFSParamsToGetFilterEnableds;
13
14
  linkid?: string;
14
15
  panelid?: string;
15
16
  property?: IFProperty;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Structure for filter structure enabled flags
3
+ */
4
+ export interface IFSParamsToGetFilterEnableds {
5
+ scopes?: boolean;
6
+ datasets?: boolean;
7
+ filters?: boolean;
8
+ values?: boolean;
9
+ }
@@ -12,4 +12,9 @@ export interface IFSParamsToGetFilterSettings {
12
12
  dataset?: boolean;
13
13
  filter?: boolean;
14
14
  };
15
+ filterEmptyArrays?: {
16
+ scope?: boolean;
17
+ dataset?: boolean;
18
+ filter?: boolean;
19
+ };
15
20
  }
@@ -19,7 +19,10 @@ export * from './IFSDataset';
19
19
  export * from './IFSDataStore';
20
20
  export * from './IFSFilter';
21
21
  export * from './IFSFilterExtras';
22
+ export * from './IFSFilterExtrasInfo';
23
+ export * from './IFSMergeFiltersSettings';
22
24
  export * from './IFSParamsToGetFilter';
25
+ export * from './IFSParamsToGetFilterEnableds';
23
26
  export * from './IFSParamsToGetFilterSettings';
24
27
  export * from './IFSScope';
25
28
  export * from './IFSScopeID';
@@ -19,7 +19,10 @@ export * from './IFSDataset';
19
19
  export * from './IFSDataStore';
20
20
  export * from './IFSFilter';
21
21
  export * from './IFSFilterExtras';
22
+ export * from './IFSFilterExtrasInfo';
23
+ export * from './IFSMergeFiltersSettings';
22
24
  export * from './IFSParamsToGetFilter';
25
+ export * from './IFSParamsToGetFilterEnableds';
23
26
  export * from './IFSParamsToGetFilterSettings';
24
27
  export * from './IFSScope';
25
28
  export * from './IFSScopeID';
@@ -13,4 +13,5 @@ export interface IFPSettingsFilterPanelBodyScopeScope {
13
13
  readonly?: boolean;
14
14
  header?: IFPSettingsFilterPanelBodyScopeScopeHeader;
15
15
  body?: IFPSettingsFilterPanelBodyScopeScopeBody;
16
+ settingDisplayed?: boolean;
16
17
  }
@@ -7,5 +7,6 @@ export interface IFPSettingsFilterPanelHeader {
7
7
  readonly?: boolean;
8
8
  filterButtonDisplayed?: boolean;
9
9
  settingsButtonDisplayed?: boolean;
10
+ settingsReadonly?: boolean;
10
11
  menu?: IFPSettingsFilterPanelHeaderMenu;
11
12
  }
@@ -1,8 +1,12 @@
1
+ import { IFPSettingsFilterPanelSettingsScope } from "./IFPSettingsFilterPanelSettingsScope";
1
2
  import { IFPSettingsPanelView } from "./IFPSettingsPanelView";
2
3
  /**
3
4
  * Structure for the additional Filter Panel settings
4
5
  */
5
6
  export interface IFPSettingsFilterPanelSettings {
7
+ panelInPageViewShow?: boolean;
6
8
  panelInPageViewDisplayed?: boolean;
7
9
  panelDefaultView?: IFPSettingsPanelView;
10
+ panelDefaultViewShow?: boolean;
11
+ scopeSettings?: IFPSettingsFilterPanelSettingsScope;
8
12
  }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Scope Settings Structure
3
+ */
4
+ export interface IFPSettingsFilterPanelSettingsScope {
5
+ displayIconDisplayed: boolean;
6
+ displayColorModeDisplayed: boolean;
7
+ }
@@ -32,4 +32,5 @@ export * from './IFPSettingsFilterPanelBodyDatasetHeader';
32
32
  export * from './IFPSettingsFilterPanelBodyFilter';
33
33
  export * from './IFPSettingsFilterPanelBodyFilterMenu';
34
34
  export * from './IFPSettingsFilterPanelBodyOperator';
35
+ export * from './IFPSettingsFilterPanelSettingsScope';
35
36
  export * from './IFPSettingsPanelView';
@@ -32,4 +32,5 @@ export * from './IFPSettingsFilterPanelBodyDatasetHeader';
32
32
  export * from './IFPSettingsFilterPanelBodyFilter';
33
33
  export * from './IFPSettingsFilterPanelBodyFilterMenu';
34
34
  export * from './IFPSettingsFilterPanelBodyOperator';
35
+ export * from './IFPSettingsFilterPanelSettingsScope';
35
36
  export * from './IFPSettingsPanelView';
@@ -1,12 +1,13 @@
1
1
  import { COLUMN } from '../constants';
2
+ import { ChartType } from '../interfaces';
2
3
  export declare const textFields: string[];
3
4
  export declare const complexFields: string[];
4
5
  export declare const numericalFields: string[];
5
6
  export declare const QUESTION_FORMAT_SUPPORT: COLUMN[];
6
7
  export declare const DATEGROUP_FORMATTING_UNSUPPORT: string[];
7
8
  export declare const appliesFormatting: (columnType: any) => boolean;
8
- export declare const hasfileSizeProperty: (column?: any) => any;
9
+ export declare const hasfileSizeProperty: (column?: any) => boolean;
9
10
  export declare const isComplexColumn: (column?: any) => boolean;
10
11
  export declare const isNumericalColumn: (column?: any) => boolean;
11
- export declare function supportNumericFormatting(chartType: any): boolean;
12
+ export declare function supportNumericFormatting(chartType: ChartType): boolean;
12
13
  export declare const isTextColumn: (column: any) => boolean;
@@ -1,5 +1,5 @@
1
- export declare const isEmptyValue: (variable: any) => boolean;
2
1
  export declare function formatDate(dateString: any, format: any): any;
2
+ export declare function formatAbbreviated(num: any, decimals: any): any;
3
3
  /**
4
4
  * Set convert Bytes into MB
5
5
  * @param bytes type number
@@ -1,38 +1,35 @@
1
1
  import { format as d3Format } from 'd3';
2
2
  import dayjs from 'dayjs';
3
3
  import { COLUMN, FORMULA_TYPES } from '../constants';
4
- import { _get } from '../general/object/get';
5
4
  import { DATEGROUP_FORMATTING_UNSUPPORT, appliesFormatting, hasfileSizeProperty, isTextColumn } from './definition';
6
5
  import advancedFormat from 'dayjs/plugin/advancedFormat';
6
+ import { isEmpty, _get } from '../general';
7
7
  dayjs.extend(advancedFormat); // Add support to advanced formats https://day.js.org/docs/en/plugin/advanced-format
8
- export const isEmptyValue = (variable) => {
9
- return variable === undefined || variable === null || variable === '';
10
- };
11
8
  /**
12
9
  * Apply to the given date format to a date value
13
10
  * @param bytes type number
14
11
  */
15
12
  function isValidDateString(dateString = '') {
16
13
  return /^\d{2}\/\d{2}\/\d{4}/.test(dateString) // MM/DD/YYY OR DD/MM/YYYY
17
- || /^\d{4}\-\d{2}\-\d{2}/.test(dateString); // YYYY-MM-DD
14
+ || /^\d{4}-\d{2}-\d{2}/.test(dateString); // YYYY-MM-DD
18
15
  }
19
16
  export function formatDate(dateString, format) {
20
- if (isEmptyValue(dateString) || !isNaN(dateString) || format === 'Default')
17
+ if (isEmpty(dateString) || !isNaN(dateString) || format === 'Default')
21
18
  return dateString;
22
19
  if (!isValidDateString(dateString))
23
20
  return dateString;
24
21
  return dayjs(dateString.split('.')[0]).format(format.replace('HH24:', 'HH:').replace('MI:SS', 'mm:ss').replace('MM:SS', 'mm:ss'));
25
22
  }
26
- function formatAbbreviated(num, decimals) {
23
+ export function formatAbbreviated(num, decimals) {
27
24
  if (num == 0)
28
25
  return 0;
29
26
  const absValue = Math.abs(num);
30
27
  const exp = Math.floor(Math.log10(absValue));
31
28
  if (exp < 0 && exp >= -3)
32
29
  return decimals ? num.toFixed(decimals) : num;
33
- return d3Format((num > -100 && num < 100) ? '.s' : '.3s')(num);
30
+ return d3Format(num > -100 && num < 100 ? '' : '.3s')(num);
34
31
  }
35
- function formatNumber(num, outputFormat, config) {
32
+ function formatNumber(num, outputFormat, _config) {
36
33
  try {
37
34
  num = +(num || 0);
38
35
  }
@@ -41,7 +38,7 @@ function formatNumber(num, outputFormat, config) {
41
38
  }
42
39
  if (isNaN(num))
43
40
  num = 0;
44
- const num_decimals = !isEmptyValue(outputFormat.decimals) && outputFormat.format !== 'Abbreviated' ? outputFormat.decimals : 0;
41
+ const num_decimals = !isEmpty(outputFormat.decimals) && outputFormat.format !== 'Abbreviated' ? outputFormat.decimals : 0;
45
42
  switch (outputFormat.format) {
46
43
  case 'Abbreviated':
47
44
  return formatAbbreviated(num, num_decimals);
@@ -76,15 +73,16 @@ export function formatFileSize(bytes) {
76
73
  return megaBytes < 10 ? `${fixDecimals(megaBytes)} MB` : `${Math.round(megaBytes)} MB`;
77
74
  }
78
75
  export const formatValue = (value, outputFormat = 'None', config) => {
79
- if (isEmptyValue(value) || typeof value === 'object' && isEmptyValue(value[0]))
76
+ if (isEmpty(value) || typeof value === 'object' && isEmpty(value[0]))
80
77
  return value;
81
78
  switch (outputFormat.type) {
82
79
  case 'DATE':
83
80
  case 'DATETIME':
84
81
  return formatDate(value, outputFormat.format);
85
- case 'NUMERIC':
82
+ case 'NUMERIC': {
86
83
  const parse = parseFloat(value);
87
84
  return isNaN(parse) ? value : formatNumber(parse, outputFormat, config);
85
+ }
88
86
  case 'IMAGEUPLOAD':
89
87
  case 'FILEUPLOAD':
90
88
  return formatFileSize(parseFloat(value));
@@ -149,6 +147,7 @@ export const defineFormat = (column = {}, isSimpleTable = false, isCategoryDimen
149
147
  return defaultAbbreviated;
150
148
  return column.selectedFormat;
151
149
  }
150
+ break;
152
151
  case COLUMN.DATE:
153
152
  if ((!isTable && column.isSummary) || column.isXY) {
154
153
  if (isCategoryDimension && outputFormat !== 'Default')
@@ -163,7 +162,7 @@ export const defineFormat = (column = {}, isSimpleTable = false, isCategoryDimen
163
162
  return column.outputFormat;
164
163
  if ((isCategoryDimension || isTable) && selectType == 'NUMERIC' && dateGroupLabel && outputType === 'NUMERIC')
165
164
  return _get(column, 'defaultFormat');
166
- if (selectedFormat) {
165
+ if (selectedFormat && selectedFormat != 'Default') {
167
166
  if (isNumericDefaultSelected)
168
167
  return defaultAbbreviated;
169
168
  return column.selectedFormat;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Inmutable Array Item deletion
3
- * @param {Array} array List to loo for item to delte
4
- * @param {Number} index position of item to delete
5
- * @return new Array
3
+ * @param {Array} array a collection of items to delete
4
+ * @param {Number} index the position of the item to delete
5
+ * @returns a new Array or the given parameter when is empty or not an array
6
6
  */
7
- export declare function ArrayDelete(array: Array<any>, index: number): any[];
7
+ export declare function ArrayDelete<T = Array<any>>(arr: T[], index: number): T[];
@@ -1,10 +1,12 @@
1
+ import { isEmpty } from "../mix";
1
2
  /**
2
3
  * Inmutable Array Item deletion
3
- * @param {Array} array List to loo for item to delte
4
- * @param {Number} index position of item to delete
5
- * @return new Array
4
+ * @param {Array} array a collection of items to delete
5
+ * @param {Number} index the position of the item to delete
6
+ * @returns a new Array or the given parameter when is empty or not an array
6
7
  */
7
- export function ArrayDelete(array, index) {
8
- return array.slice(0, index).concat(array.slice(index + 1));
8
+ export function ArrayDelete(arr, index) {
9
+ if (isEmpty(index) || isEmpty(arr) || !Array.isArray(arr))
10
+ return arr;
11
+ return arr.slice(0, index).concat(arr.slice(index + 1));
9
12
  }
10
- ;
@@ -7,7 +7,7 @@ import { cloneDeep } from "../object/cloneDeep";
7
7
  * @param condition function callback that determines if the filter is applied on the last child node of the nested tree
8
8
  * @returns array filtered
9
9
  */
10
- export function filterNestedTree(arr = [], childArrKey, condition) {
10
+ export function filterNestedTree(arr, childArrKey, condition) {
11
11
  if (isEmpty(arr))
12
12
  return [];
13
13
  return cloneDeep(arr).filter(obj => {
@@ -3,4 +3,4 @@
3
3
  * @param arr Array to flat deeply
4
4
  * @returns flatten array
5
5
  */
6
- export declare function flattenDeep(arr: any): any;
6
+ export declare function flattenDeep(arr?: any[]): any[];
@@ -3,6 +3,8 @@
3
3
  * @param arr Array to flat deeply
4
4
  * @returns flatten array
5
5
  */
6
- export function flattenDeep(arr) {
7
- return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
6
+ export function flattenDeep(arr = []) {
7
+ if (Array.isArray(arr))
8
+ return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
9
+ return undefined;
8
10
  }
@@ -4,4 +4,4 @@
4
4
  * @param callback function callback
5
5
  * @returns the first index of the array. -1 when the condition is not satisfied
6
6
  */
7
- export declare function getFirstIndexFromArray(array: any[], callback: any): number;
7
+ export declare function getFirstIndexFromArray(array?: any[], callback?: (item: any) => boolean): number;
@@ -6,11 +6,13 @@
6
6
  */
7
7
  export function getFirstIndexFromArray(array = [], callback) {
8
8
  let firstArrayIndex = -1;
9
- for (let i = 0; i < array.length; i++) {
10
- const condition = callback(array[i]);
11
- if (condition) {
12
- firstArrayIndex = i;
13
- break;
9
+ if (Array.isArray(array) && callback instanceof Function) {
10
+ for (let i = 0; i < array.length; i++) {
11
+ const condition = callback(array[i]);
12
+ if (condition) {
13
+ firstArrayIndex = i;
14
+ break;
15
+ }
14
16
  }
15
17
  }
16
18
  return firstArrayIndex;