@quillsql/react 2.12.29 → 2.12.31

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 (530) hide show
  1. package/dist/cjs/Chart.d.ts +29 -46
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +187 -468
  4. package/dist/cjs/ChartBuilder.d.ts +30 -61
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +190 -131
  7. package/dist/cjs/ChartEditor.d.ts +14 -2
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +70 -125
  10. package/dist/cjs/Context.d.ts +4 -1
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +52 -6
  13. package/dist/cjs/Dashboard.d.ts +74 -118
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +273 -47
  16. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -1
  17. package/dist/cjs/DateRangePicker/Calendar.js +3 -6
  18. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  19. package/dist/cjs/DateRangePicker/DateRangePicker.js +2 -29
  20. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  21. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  22. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +2 -4
  23. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  24. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  25. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +4 -4
  26. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  27. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  28. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -15
  29. package/dist/cjs/ReportBuilder.d.ts +18 -6
  30. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  31. package/dist/cjs/ReportBuilder.js +477 -489
  32. package/dist/cjs/SQLEditor.d.ts +4 -11
  33. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  34. package/dist/cjs/SQLEditor.js +76 -88
  35. package/dist/cjs/Table.d.ts +19 -3
  36. package/dist/cjs/Table.d.ts.map +1 -1
  37. package/dist/cjs/Table.js +130 -114
  38. package/dist/cjs/TableChart.d.ts.map +1 -1
  39. package/dist/cjs/TableChart.js +0 -1
  40. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  41. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -1
  42. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -1
  43. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  44. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  45. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -1
  46. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  47. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -1
  48. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -1
  49. package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -1
  50. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  51. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  52. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
  53. package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -1
  54. package/dist/cjs/assets/SearchIcon.d.ts.map +1 -1
  55. package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -1
  56. package/dist/cjs/components/Banner/index.d.ts +1 -1
  57. package/dist/cjs/components/Banner/index.d.ts.map +1 -1
  58. package/dist/cjs/components/Banner/index.js +1 -1
  59. package/dist/cjs/components/BigModal/BigModal.d.ts.map +1 -1
  60. package/dist/cjs/components/BigModal/BigModal.js +6 -12
  61. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  62. package/dist/cjs/components/Chart/BarChart.js +12 -1
  63. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
  64. package/dist/cjs/components/Chart/BarList.js +21 -14
  65. package/dist/cjs/components/Chart/ChartError.d.ts +8 -1
  66. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  67. package/dist/cjs/components/Chart/ChartError.js +40 -5
  68. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  69. package/dist/cjs/components/Chart/ChartTooltip.js +8 -2
  70. package/dist/cjs/components/Chart/LineChart.d.ts +2 -1
  71. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  72. package/dist/cjs/components/Chart/LineChart.js +27 -3
  73. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  74. package/dist/cjs/components/Chart/PieChart.js +1 -3
  75. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  76. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  77. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  78. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +5 -1
  79. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  80. package/dist/cjs/components/Dashboard/DashboardFilter.js +10 -5
  81. package/dist/cjs/components/Dashboard/DataLoader.d.ts +8 -12
  82. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  83. package/dist/cjs/components/Dashboard/DataLoader.js +137 -194
  84. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  85. package/dist/cjs/components/Dashboard/MetricComponent.js +11 -45
  86. package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -5
  87. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  88. package/dist/cjs/components/Dashboard/TableComponent.js +3 -32
  89. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -1
  90. package/dist/cjs/components/Dropdown/Dropdown.js +1 -3
  91. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -1
  92. package/dist/cjs/components/Dropdown/DropdownItem.js +3 -8
  93. package/dist/cjs/components/Dropdown/index.d.ts +2 -2
  94. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -1
  95. package/dist/cjs/components/Modal/Modal.js +2 -3
  96. package/dist/cjs/components/Modal/index.d.ts +1 -1
  97. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  98. package/dist/cjs/components/QuillMultiSelect.js +18 -3
  99. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  100. package/dist/cjs/components/QuillMultiSelectWithCombo.js +18 -3
  101. package/dist/cjs/components/QuillSelect.js +1 -1
  102. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  103. package/dist/cjs/components/QuillSelectWithCombo.js +6 -3
  104. package/dist/cjs/components/QuillTable.d.ts +1 -4
  105. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  106. package/dist/cjs/components/QuillTable.js +5 -11
  107. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  108. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  109. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +5 -8
  110. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  111. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +1 -3
  112. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  113. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +12 -1
  114. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +30 -0
  115. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  116. package/dist/cjs/components/ReportBuilder/FilterModal.js +579 -0
  117. package/dist/cjs/components/ReportBuilder/ast.d.ts +2 -1
  118. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  119. package/dist/cjs/components/ReportBuilder/ast.js +33 -6
  120. package/dist/cjs/components/ReportBuilder/constants.d.ts +18 -3
  121. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -1
  122. package/dist/cjs/components/ReportBuilder/constants.js +24 -3
  123. package/dist/cjs/components/ReportBuilder/convert.d.ts +18 -16
  124. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  125. package/dist/cjs/components/ReportBuilder/convert.js +378 -494
  126. package/dist/cjs/components/ReportBuilder/operators.d.ts +24 -4
  127. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
  128. package/dist/cjs/components/ReportBuilder/operators.js +32 -4
  129. package/dist/cjs/components/ReportBuilder/ui.d.ts +20 -0
  130. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  131. package/dist/cjs/components/ReportBuilder/ui.js +15 -5
  132. package/dist/cjs/components/ReportBuilder/util.d.ts +3 -11
  133. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  134. package/dist/cjs/components/ReportBuilder/util.js +15 -18
  135. package/dist/cjs/components/UiComponents.d.ts +36 -8
  136. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  137. package/dist/cjs/components/UiComponents.js +106 -12
  138. package/dist/cjs/components/selectUtils.d.ts +0 -1
  139. package/dist/cjs/components/selectUtils.d.ts.map +1 -1
  140. package/dist/cjs/components/selectUtils.js +1 -22
  141. package/dist/cjs/hooks/index.d.ts +4 -4
  142. package/dist/cjs/hooks/useAstToFilterTree.d.ts +11 -0
  143. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -0
  144. package/dist/cjs/hooks/useAstToFilterTree.js +26 -0
  145. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  146. package/dist/cjs/hooks/useDashboard.js +5 -1
  147. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  148. package/dist/cjs/hooks/useExport.js +3 -1
  149. package/dist/cjs/hooks/useOnClickOutside.js +4 -4
  150. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -1
  151. package/dist/cjs/hooks/useOnWindowResize.js +2 -2
  152. package/dist/cjs/hooks/useQuill.d.ts +10 -27
  153. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  154. package/dist/cjs/hooks/useQuill.js +133 -85
  155. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  156. package/dist/cjs/hooks/useSelectOnKeyDown.js +4 -4
  157. package/dist/cjs/hooks/useTheme.js +1 -1
  158. package/dist/cjs/index.d.ts +3 -1
  159. package/dist/cjs/index.d.ts.map +1 -1
  160. package/dist/cjs/index.js +3 -1
  161. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  162. package/dist/cjs/internals/ReportBuilder/PivotForm.js +8 -1
  163. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +2 -2
  164. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  165. package/dist/cjs/internals/ReportBuilder/PivotList.js +2 -2
  166. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
  167. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  168. package/dist/cjs/internals/ReportBuilder/PivotModal.js +8 -21
  169. package/dist/cjs/lib/utils.js +2 -2
  170. package/dist/cjs/models/Columns.d.ts +2 -1
  171. package/dist/cjs/models/Columns.d.ts.map +1 -1
  172. package/dist/cjs/models/Filter.d.ts +115 -4
  173. package/dist/cjs/models/Filter.d.ts.map +1 -1
  174. package/dist/cjs/models/Filter.js +99 -0
  175. package/dist/cjs/models/Pagination.d.ts +10 -0
  176. package/dist/cjs/models/Pagination.d.ts.map +1 -0
  177. package/dist/cjs/models/Pagination.js +2 -0
  178. package/dist/cjs/models/Report.d.ts +103 -0
  179. package/dist/cjs/models/Report.d.ts.map +1 -0
  180. package/dist/cjs/models/Report.js +2 -0
  181. package/dist/cjs/utils/aggregate.js +1 -1
  182. package/dist/cjs/utils/astFilterProcessing.d.ts +36 -0
  183. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -0
  184. package/dist/cjs/utils/astFilterProcessing.js +8091 -0
  185. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  186. package/dist/cjs/utils/astProcessing.js +4 -3
  187. package/dist/cjs/utils/axisFormatter.js +0 -71
  188. package/dist/cjs/utils/color.js +9 -87
  189. package/dist/cjs/utils/columnProcessing.d.ts +2 -0
  190. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  191. package/dist/cjs/utils/columnProcessing.js +54 -1
  192. package/dist/cjs/utils/csv.d.ts.map +1 -1
  193. package/dist/cjs/utils/dashboard.d.ts +1 -1
  194. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  195. package/dist/cjs/utils/dashboard.js +6 -59
  196. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  197. package/dist/cjs/utils/dataFetcher.js +63 -1
  198. package/dist/cjs/utils/dataProcessing.d.ts +10 -0
  199. package/dist/cjs/utils/dataProcessing.d.ts.map +1 -0
  200. package/dist/cjs/utils/dataProcessing.js +144 -0
  201. package/dist/cjs/utils/dates.d.ts +2 -1
  202. package/dist/cjs/utils/dates.d.ts.map +1 -1
  203. package/dist/cjs/utils/dates.js +23 -1
  204. package/dist/cjs/utils/error.d.ts +5 -0
  205. package/dist/cjs/utils/error.d.ts.map +1 -0
  206. package/dist/cjs/utils/error.js +12 -0
  207. package/dist/cjs/utils/filterConstants.d.ts +34 -0
  208. package/dist/cjs/utils/filterConstants.d.ts.map +1 -0
  209. package/dist/cjs/utils/filterConstants.js +36 -0
  210. package/dist/cjs/utils/filterProcessing.d.ts +7 -1
  211. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  212. package/dist/cjs/utils/filterProcessing.js +104 -17
  213. package/dist/cjs/utils/logging.d.ts.map +1 -1
  214. package/dist/cjs/utils/logging.js +1 -0
  215. package/dist/cjs/utils/merge.js +0 -21
  216. package/dist/cjs/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
  217. package/dist/cjs/utils/monacoConfig.d.ts.map +1 -0
  218. package/dist/cjs/utils/monacoConfig.js +324 -0
  219. package/dist/cjs/utils/paginationProcessing.d.ts +5 -0
  220. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -0
  221. package/dist/cjs/utils/paginationProcessing.js +30 -0
  222. package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
  223. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  224. package/dist/cjs/utils/pivotConstructor.js +16 -1
  225. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  226. package/dist/cjs/utils/pivotProcessing.js +12 -6
  227. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  228. package/dist/cjs/utils/queryConstructor.js +4 -3
  229. package/dist/cjs/utils/report.d.ts +10 -0
  230. package/dist/cjs/utils/report.d.ts.map +1 -0
  231. package/dist/cjs/utils/report.js +180 -0
  232. package/dist/cjs/utils/schema.d.ts.map +1 -1
  233. package/dist/cjs/utils/schema.js +35 -6
  234. package/dist/cjs/utils/styles.d.ts +1 -1
  235. package/dist/cjs/utils/styles.d.ts.map +1 -1
  236. package/dist/cjs/utils/tableProcessing.d.ts +22 -8
  237. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  238. package/dist/cjs/utils/tableProcessing.js +116 -35
  239. package/dist/cjs/utils/textProcessing.js +3 -3
  240. package/dist/cjs/utils/validation.d.ts +9 -0
  241. package/dist/cjs/utils/validation.d.ts.map +1 -0
  242. package/dist/cjs/utils/validation.js +24 -0
  243. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  244. package/dist/cjs/utils/valueFormatter.js +8 -4
  245. package/dist/esm/Chart.d.ts +29 -46
  246. package/dist/esm/Chart.d.ts.map +1 -1
  247. package/dist/esm/Chart.js +189 -471
  248. package/dist/esm/ChartBuilder.d.ts +30 -61
  249. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  250. package/dist/esm/ChartBuilder.js +191 -129
  251. package/dist/esm/ChartEditor.d.ts +14 -2
  252. package/dist/esm/ChartEditor.d.ts.map +1 -1
  253. package/dist/esm/ChartEditor.js +71 -126
  254. package/dist/esm/Context.d.ts +4 -1
  255. package/dist/esm/Context.d.ts.map +1 -1
  256. package/dist/esm/Context.js +51 -5
  257. package/dist/esm/Dashboard.d.ts +74 -118
  258. package/dist/esm/Dashboard.d.ts.map +1 -1
  259. package/dist/esm/Dashboard.js +275 -49
  260. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -1
  261. package/dist/esm/DateRangePicker/Calendar.js +5 -8
  262. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  263. package/dist/esm/DateRangePicker/DateRangePicker.js +2 -29
  264. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  265. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  266. package/dist/esm/DateRangePicker/DateRangePickerButton.js +2 -4
  267. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  268. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  269. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +4 -4
  270. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  271. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  272. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -15
  273. package/dist/esm/ReportBuilder.d.ts +18 -6
  274. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  275. package/dist/esm/ReportBuilder.js +484 -496
  276. package/dist/esm/SQLEditor.d.ts +4 -11
  277. package/dist/esm/SQLEditor.d.ts.map +1 -1
  278. package/dist/esm/SQLEditor.js +75 -87
  279. package/dist/esm/Table.d.ts +19 -3
  280. package/dist/esm/Table.d.ts.map +1 -1
  281. package/dist/esm/Table.js +132 -116
  282. package/dist/esm/TableChart.d.ts.map +1 -1
  283. package/dist/esm/TableChart.js +0 -1
  284. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  285. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -1
  286. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -1
  287. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  288. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  289. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -1
  290. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  291. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -1
  292. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -1
  293. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -1
  294. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  295. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  296. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  297. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -1
  298. package/dist/esm/assets/SearchIcon.d.ts.map +1 -1
  299. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -1
  300. package/dist/esm/components/Banner/index.d.ts +1 -1
  301. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  302. package/dist/esm/components/Banner/index.js +1 -1
  303. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -1
  304. package/dist/esm/components/BigModal/BigModal.js +7 -13
  305. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  306. package/dist/esm/components/Chart/BarChart.js +13 -2
  307. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  308. package/dist/esm/components/Chart/BarList.js +21 -14
  309. package/dist/esm/components/Chart/ChartError.d.ts +8 -1
  310. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  311. package/dist/esm/components/Chart/ChartError.js +39 -6
  312. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  313. package/dist/esm/components/Chart/ChartTooltip.js +8 -2
  314. package/dist/esm/components/Chart/LineChart.d.ts +2 -1
  315. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  316. package/dist/esm/components/Chart/LineChart.js +28 -4
  317. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  318. package/dist/esm/components/Chart/PieChart.js +1 -3
  319. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  320. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  321. package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
  322. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +5 -1
  323. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  324. package/dist/esm/components/Dashboard/DashboardFilter.js +10 -5
  325. package/dist/esm/components/Dashboard/DataLoader.d.ts +8 -12
  326. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  327. package/dist/esm/components/Dashboard/DataLoader.js +137 -194
  328. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  329. package/dist/esm/components/Dashboard/MetricComponent.js +11 -45
  330. package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -5
  331. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  332. package/dist/esm/components/Dashboard/TableComponent.js +3 -32
  333. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  334. package/dist/esm/components/Dropdown/Dropdown.js +2 -4
  335. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  336. package/dist/esm/components/Dropdown/DropdownItem.js +4 -9
  337. package/dist/esm/components/Dropdown/index.d.ts +2 -2
  338. package/dist/esm/components/Dropdown/index.js +2 -2
  339. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  340. package/dist/esm/components/Modal/Modal.js +2 -3
  341. package/dist/esm/components/Modal/index.d.ts +1 -1
  342. package/dist/esm/components/Modal/index.js +1 -1
  343. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  344. package/dist/esm/components/QuillMultiSelect.js +18 -3
  345. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  346. package/dist/esm/components/QuillMultiSelectWithCombo.js +18 -3
  347. package/dist/esm/components/QuillSelect.js +1 -1
  348. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  349. package/dist/esm/components/QuillSelectWithCombo.js +7 -4
  350. package/dist/esm/components/QuillTable.d.ts +1 -4
  351. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  352. package/dist/esm/components/QuillTable.js +5 -11
  353. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  354. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  355. package/dist/esm/components/ReportBuilder/AddColumnModal.js +8 -11
  356. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  357. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -4
  358. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  359. package/dist/esm/components/ReportBuilder/AddSortPopover.js +12 -1
  360. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +30 -0
  361. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  362. package/dist/esm/components/ReportBuilder/FilterModal.js +576 -0
  363. package/dist/esm/components/ReportBuilder/ast.d.ts +2 -1
  364. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  365. package/dist/esm/components/ReportBuilder/ast.js +31 -5
  366. package/dist/esm/components/ReportBuilder/constants.d.ts +18 -3
  367. package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -1
  368. package/dist/esm/components/ReportBuilder/constants.js +24 -3
  369. package/dist/esm/components/ReportBuilder/convert.d.ts +18 -16
  370. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  371. package/dist/esm/components/ReportBuilder/convert.js +375 -493
  372. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +2 -0
  373. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +1 -0
  374. package/dist/esm/components/ReportBuilder/convert.uspec.js +1419 -0
  375. package/dist/esm/components/ReportBuilder/operators.d.ts +24 -4
  376. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
  377. package/dist/esm/components/ReportBuilder/operators.js +32 -4
  378. package/dist/esm/components/ReportBuilder/ui.d.ts +20 -0
  379. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  380. package/dist/esm/components/ReportBuilder/ui.js +13 -4
  381. package/dist/esm/components/ReportBuilder/util.d.ts +3 -11
  382. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  383. package/dist/esm/components/ReportBuilder/util.js +16 -19
  384. package/dist/esm/components/UiComponents.d.ts +36 -8
  385. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  386. package/dist/esm/components/UiComponents.js +104 -11
  387. package/dist/esm/components/selectUtils.d.ts +0 -1
  388. package/dist/esm/components/selectUtils.d.ts.map +1 -1
  389. package/dist/esm/components/selectUtils.js +0 -20
  390. package/dist/esm/hooks/index.d.ts +4 -4
  391. package/dist/esm/hooks/index.js +4 -4
  392. package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
  393. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
  394. package/dist/esm/hooks/useAstToFilterTree.js +24 -0
  395. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  396. package/dist/esm/hooks/useDashboard.js +5 -1
  397. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  398. package/dist/esm/hooks/useExport.js +4 -2
  399. package/dist/esm/hooks/useOnClickOutside.js +5 -5
  400. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -1
  401. package/dist/esm/hooks/useOnWindowResize.js +3 -3
  402. package/dist/esm/hooks/useQuill.d.ts +10 -27
  403. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  404. package/dist/esm/hooks/useQuill.js +133 -85
  405. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  406. package/dist/esm/hooks/useSelectOnKeyDown.js +5 -5
  407. package/dist/esm/hooks/useTheme.js +1 -1
  408. package/dist/esm/index.d.ts +3 -1
  409. package/dist/esm/index.d.ts.map +1 -1
  410. package/dist/esm/index.js +1 -0
  411. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  412. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -2
  413. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +2 -2
  414. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  415. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  416. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
  417. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  418. package/dist/esm/internals/ReportBuilder/PivotModal.js +11 -24
  419. package/dist/esm/lib/utils.js +2 -2
  420. package/dist/esm/models/Columns.d.ts +2 -1
  421. package/dist/esm/models/Columns.d.ts.map +1 -1
  422. package/dist/esm/models/Filter.d.ts +115 -4
  423. package/dist/esm/models/Filter.d.ts.map +1 -1
  424. package/dist/esm/models/Filter.js +98 -1
  425. package/dist/esm/models/Pagination.d.ts +10 -0
  426. package/dist/esm/models/Pagination.d.ts.map +1 -0
  427. package/dist/esm/models/Pagination.js +1 -0
  428. package/dist/esm/models/Report.d.ts +103 -0
  429. package/dist/esm/models/Report.d.ts.map +1 -0
  430. package/dist/esm/models/Report.js +1 -0
  431. package/dist/esm/test-utils/constants.d.ts +56 -0
  432. package/dist/esm/test-utils/constants.d.ts.map +1 -0
  433. package/dist/esm/test-utils/constants.js +271 -0
  434. package/dist/esm/test-utils/generators.d.ts +4 -0
  435. package/dist/esm/test-utils/generators.d.ts.map +1 -0
  436. package/dist/esm/test-utils/generators.js +37 -0
  437. package/dist/esm/utils/aggregate.js +1 -1
  438. package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
  439. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
  440. package/dist/esm/utils/astFilterProcessing.js +8084 -0
  441. package/dist/esm/utils/astFilterProcessing.uspec.d.ts +2 -0
  442. package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +1 -0
  443. package/dist/esm/utils/astFilterProcessing.uspec.js +2877 -0
  444. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  445. package/dist/esm/utils/astProcessing.js +4 -3
  446. package/dist/esm/utils/axisFormatter.js +0 -71
  447. package/dist/esm/utils/color.js +9 -87
  448. package/dist/esm/utils/columnProcessing.d.ts +2 -0
  449. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  450. package/dist/esm/utils/columnProcessing.js +52 -0
  451. package/dist/esm/utils/columnProcessing.uspec.d.ts +2 -0
  452. package/dist/esm/utils/columnProcessing.uspec.d.ts.map +1 -0
  453. package/dist/esm/utils/columnProcessing.uspec.js +65 -0
  454. package/dist/esm/utils/csv.d.ts.map +1 -1
  455. package/dist/esm/utils/dashboard.d.ts +1 -1
  456. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  457. package/dist/esm/utils/dashboard.js +6 -59
  458. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  459. package/dist/esm/utils/dataFetcher.js +63 -1
  460. package/dist/esm/utils/dataProcessing.d.ts +10 -0
  461. package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
  462. package/dist/esm/utils/dataProcessing.js +138 -0
  463. package/dist/esm/utils/dataProcessing.uspec.d.ts +2 -0
  464. package/dist/esm/utils/dataProcessing.uspec.d.ts.map +1 -0
  465. package/dist/esm/utils/dataProcessing.uspec.js +205 -0
  466. package/dist/esm/utils/dates.d.ts +2 -1
  467. package/dist/esm/utils/dates.d.ts.map +1 -1
  468. package/dist/esm/utils/dates.js +21 -0
  469. package/dist/esm/utils/error.d.ts +5 -0
  470. package/dist/esm/utils/error.d.ts.map +1 -0
  471. package/dist/esm/utils/error.js +8 -0
  472. package/dist/esm/utils/filterConstants.d.ts +34 -0
  473. package/dist/esm/utils/filterConstants.d.ts.map +1 -0
  474. package/dist/esm/utils/filterConstants.js +33 -0
  475. package/dist/esm/utils/filterProcessing.d.ts +7 -1
  476. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  477. package/dist/esm/utils/filterProcessing.js +101 -16
  478. package/dist/esm/utils/filterProcessing.uspec.d.ts +2 -0
  479. package/dist/esm/utils/filterProcessing.uspec.d.ts.map +1 -0
  480. package/dist/esm/utils/filterProcessing.uspec.js +245 -0
  481. package/dist/esm/utils/logging.d.ts.map +1 -1
  482. package/dist/esm/utils/logging.js +1 -0
  483. package/dist/esm/utils/merge.js +0 -21
  484. package/dist/esm/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
  485. package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
  486. package/dist/esm/utils/monacoConfig.js +319 -0
  487. package/dist/esm/utils/paginationProcessing.d.ts +5 -0
  488. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
  489. package/dist/esm/utils/paginationProcessing.js +25 -0
  490. package/dist/esm/utils/pivotConstructor.d.ts +2 -1
  491. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  492. package/dist/esm/utils/pivotConstructor.js +16 -1
  493. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  494. package/dist/esm/utils/pivotProcessing.js +12 -6
  495. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  496. package/dist/esm/utils/queryConstructor.js +4 -3
  497. package/dist/esm/utils/queryConstructor.uspec.js +21 -21
  498. package/dist/esm/utils/report.d.ts +10 -0
  499. package/dist/esm/utils/report.d.ts.map +1 -0
  500. package/dist/esm/utils/report.ispec.d.ts +2 -0
  501. package/dist/esm/utils/report.ispec.d.ts.map +1 -0
  502. package/dist/esm/utils/report.ispec.js +46 -0
  503. package/dist/esm/utils/report.js +174 -0
  504. package/dist/esm/utils/report.uspec.d.ts +2 -0
  505. package/dist/esm/utils/report.uspec.d.ts.map +1 -0
  506. package/dist/esm/utils/report.uspec.js +66 -0
  507. package/dist/esm/utils/schema.d.ts.map +1 -1
  508. package/dist/esm/utils/schema.js +35 -6
  509. package/dist/esm/utils/styles.d.ts +1 -1
  510. package/dist/esm/utils/styles.d.ts.map +1 -1
  511. package/dist/esm/utils/tableProcessing.d.ts +22 -8
  512. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  513. package/dist/esm/utils/tableProcessing.ispec.d.ts +2 -0
  514. package/dist/esm/utils/tableProcessing.ispec.d.ts.map +1 -0
  515. package/dist/esm/utils/tableProcessing.ispec.js +61 -0
  516. package/dist/esm/utils/tableProcessing.js +112 -33
  517. package/dist/esm/utils/textProcessing.js +3 -3
  518. package/dist/esm/utils/validation.d.ts +9 -0
  519. package/dist/esm/utils/validation.d.ts.map +1 -0
  520. package/dist/esm/utils/validation.js +20 -0
  521. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  522. package/dist/esm/utils/valueFormatter.js +8 -4
  523. package/package.json +1 -1
  524. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +0 -1
  525. package/dist/cjs/utils/monacoAutocomplete.js +0 -145
  526. package/dist/cjs/utils/queryConstructor.uspec.d.ts +0 -2
  527. package/dist/cjs/utils/queryConstructor.uspec.d.ts.map +0 -1
  528. package/dist/cjs/utils/queryConstructor.uspec.js +0 -225
  529. package/dist/esm/utils/monacoAutocomplete.d.ts.map +0 -1
  530. package/dist/esm/utils/monacoAutocomplete.js +0 -140
@@ -0,0 +1,138 @@
1
+ import { getDateString } from '../internals/ReportBuilder/PivotModal';
2
+ import { getDateBucketFromRange } from './dates';
3
+ export var Calculation;
4
+ (function (Calculation) {
5
+ Calculation["PointToPointPercentageChange"] = "POINT_TO_POINT_PERCENTAGE_CHANGE";
6
+ Calculation["SimplePercentageChange"] = "SIMPLE_PERCENTAGE_CHANGE";
7
+ Calculation["Sum"] = "SUM";
8
+ })(Calculation || (Calculation = {}));
9
+ const getSumOfField = (rows, field) => {
10
+ if (rows[0] && rows[0][field]) {
11
+ const reduced = rows.reduce((acc, row) => {
12
+ if (isNaN(Number(row[field]))) {
13
+ return acc;
14
+ }
15
+ return acc + Number(row[field]);
16
+ }, 0);
17
+ return reduced;
18
+ }
19
+ return 0;
20
+ };
21
+ const getSumOfFieldsAndRows = (rows, fields) => {
22
+ const reduced = fields.reduce((acc, field) => {
23
+ return acc + getSumOfField(rows, field);
24
+ }, 0);
25
+ return reduced;
26
+ };
27
+ export const getSimplePercentageChange = (data) => {
28
+ if (data.compareRows && data.compareRows.length > 0) {
29
+ if (data.pivot && data.pivotRows && data.pivotColumns) {
30
+ const pivotRows = data.pivotRows;
31
+ const comparisonFields = data.pivotColumns
32
+ .filter((field) => {
33
+ return field.field.includes(`comparison_`);
34
+ })
35
+ .map((field) => {
36
+ return field.field;
37
+ });
38
+ const nonComparisonFields = data.pivotColumns
39
+ .filter((field) => {
40
+ return !field.field.includes(`comparison_`);
41
+ })
42
+ .map((field) => {
43
+ return field.field;
44
+ });
45
+ const nonComparisonSum = getSumOfFieldsAndRows(pivotRows, nonComparisonFields);
46
+ const comparisonSum = getSumOfFieldsAndRows(pivotRows, comparisonFields);
47
+ return (nonComparisonSum - comparisonSum) / comparisonSum;
48
+ }
49
+ else {
50
+ const yAxisFields = data.yAxisFields.map((field) => {
51
+ return field.field;
52
+ });
53
+ const nonComparisonSum = getSumOfFieldsAndRows(data.rows, yAxisFields);
54
+ const comparisonSum = getSumOfFieldsAndRows(data.compareRows, yAxisFields);
55
+ return (nonComparisonSum - comparisonSum) / comparisonSum;
56
+ }
57
+ }
58
+ else {
59
+ return getPointToPointPercentageChange(data);
60
+ }
61
+ };
62
+ export const getPointToPointPercentageChange = (data) => {
63
+ if (data.pivot &&
64
+ data.pivotRows &&
65
+ data.pivotRows.length > 0 &&
66
+ data.pivotColumns &&
67
+ data.pivot.rowFieldType === 'date') {
68
+ const lastRow = data.pivotRows[data.pivotRows.length - 1];
69
+ const sumLastRow = getSumOfFieldsAndRows(
70
+ // @ts-ignore
71
+ [lastRow], data.pivotColumns.map((field) => field.field));
72
+ const firstRow = data.pivotRows[0];
73
+ const sumFirstRow = getSumOfFieldsAndRows(
74
+ // @ts-ignore
75
+ [firstRow], data.pivotColumns.map((field) => field.field));
76
+ return (sumLastRow - sumFirstRow) / sumFirstRow;
77
+ }
78
+ else {
79
+ if (data.dateField && data.dateField.field) {
80
+ const dateField = data.dateField.field.replaceAll('"', '');
81
+ const maxDate = new Date(data.rows.reduce((acc, row) => {
82
+ const rowValue = row[dateField];
83
+ if (rowValue) {
84
+ return Math.max(acc, new Date(rowValue).getTime());
85
+ }
86
+ return Math.max(acc, 0);
87
+ }, 0));
88
+ const minDate = new Date(data.rows.reduce((acc, row) => {
89
+ const rowValue = row[dateField];
90
+ if (rowValue) {
91
+ return Math.min(acc, new Date(rowValue).getTime());
92
+ }
93
+ return Math.min(acc, 0);
94
+ }, new Date('3022-01-01').getTime()));
95
+ const dateBucket = getDateBucketFromRange({
96
+ start: minDate,
97
+ end: maxDate,
98
+ });
99
+ const minDateBucket = getDateString(minDate.toDateString(), undefined, dateBucket);
100
+ const maxDateBucket = getDateString(maxDate.toDateString(), undefined, dateBucket);
101
+ const minDateRows = data.rows.filter((row) => {
102
+ const rowValue = row[dateField];
103
+ if (rowValue) {
104
+ return (getDateString(rowValue, undefined, dateBucket) === minDateBucket);
105
+ }
106
+ return false;
107
+ });
108
+ const maxDateRows = data.rows.filter((row) => {
109
+ const rowValue = row[dateField];
110
+ if (rowValue) {
111
+ return (getDateString(rowValue, undefined, dateBucket) === maxDateBucket);
112
+ }
113
+ return false;
114
+ });
115
+ const yAxisFields = data.yAxisFields.map((field) => {
116
+ return field.field;
117
+ });
118
+ const sumMaxDateRows = getSumOfFieldsAndRows(maxDateRows, yAxisFields);
119
+ const sumMinDateRows = getSumOfFieldsAndRows(minDateRows, yAxisFields);
120
+ return (sumMaxDateRows - sumMinDateRows) / sumMaxDateRows;
121
+ }
122
+ }
123
+ };
124
+ export const getSumOfFields = (data) => {
125
+ if (data.pivot && data.pivotRows && data.pivotColumns) {
126
+ const pivotRows = data.pivotRows;
127
+ const fields = data.pivotColumns.map((field) => {
128
+ return field.field;
129
+ });
130
+ return getSumOfFieldsAndRows(pivotRows, fields);
131
+ }
132
+ else {
133
+ const yAxisFields = data.yAxisFields.map((field) => {
134
+ return field.field;
135
+ });
136
+ return getSumOfFieldsAndRows(data.rows, yAxisFields);
137
+ }
138
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dataProcessing.uspec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataProcessing.uspec.d.ts","sourceRoot":"","sources":["../../../src/utils/dataProcessing.uspec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,205 @@
1
+ import { getPointToPointPercentageChange, getSimplePercentageChange, } from './dataProcessing';
2
+ const defaultReport = {
3
+ id: 'dummy',
4
+ name: 'dummy',
5
+ dashboardName: 'dummy',
6
+ chartType: 'dummy',
7
+ dateField: null,
8
+ columns: [],
9
+ filtersApplied: [],
10
+ order: 0,
11
+ queryString: 'dummy',
12
+ compareRows: [{ amount: '20' }, { amount: '20' }],
13
+ rowCount: 0,
14
+ pivot: null,
15
+ rows: [
16
+ { amount: '40', created_at: '2024-06-01' },
17
+ { amount: '20', created_at: '2024-07-02' },
18
+ ],
19
+ xAxisField: 'date',
20
+ xAxisFormat: 'string',
21
+ xAxisLabel: 'Date',
22
+ yAxisFields: [{ field: 'amount', label: 'Amount', format: 'string' }],
23
+ };
24
+ describe('getSimplePercentageChange', () => {
25
+ it('should get the simple percentage without a pivot', () => {
26
+ const result = getSimplePercentageChange(defaultReport);
27
+ expect(result).toEqual(0.5);
28
+ });
29
+ it('should get the simple percentage with 1D pivot', () => {
30
+ const report = {
31
+ ...defaultReport,
32
+ pivot: {
33
+ title: 'dummy',
34
+ aggregationType: 'sum',
35
+ rowField: 'merchant',
36
+ rowFieldType: 'dummy',
37
+ columnField: 'dummy',
38
+ columnFieldType: 'dummy',
39
+ valueField: 'amount',
40
+ valueFieldType: 'number',
41
+ },
42
+ pivotRows: [
43
+ { merchant: 'dummy-merchant', amount: 15, comparison_amount: 10 },
44
+ ],
45
+ pivotColumns: [
46
+ { field: 'comparison_amount', label: 'Amount', format: 'string' },
47
+ { field: 'amount', label: 'Amount', format: 'string' },
48
+ { field: 'merchant', label: 'Merchant', format: 'string' },
49
+ ],
50
+ };
51
+ // @ts-ignore
52
+ const result = getSimplePercentageChange(report);
53
+ expect(result).toEqual(0.5);
54
+ });
55
+ it('should get the simple percentage with 1D pivot', () => {
56
+ const report = {
57
+ ...defaultReport,
58
+ pivot: {
59
+ title: 'dummy',
60
+ aggregationType: 'sum',
61
+ rowField: 'merchant',
62
+ rowFieldType: 'string',
63
+ columnField: 'user_name',
64
+ columnFieldType: 'string',
65
+ valueField: 'amount',
66
+ valueFieldType: 'number',
67
+ },
68
+ pivotRows: [{ dummy: 'subway', subway: 15, comparison_subway: 10 }],
69
+ pivotColumns: [
70
+ { label: 'dummy', field: 'user_name' },
71
+ { label: 'subway', field: 'subway' },
72
+ { label: 'comparison_subway', field: 'comparison_subway' },
73
+ ],
74
+ };
75
+ // @ts-ignore
76
+ const result = getSimplePercentageChange(report);
77
+ expect(result).toEqual(0.5);
78
+ });
79
+ it('should fallback to point to point', () => {
80
+ const report = {
81
+ ...defaultReport,
82
+ compareRows: null,
83
+ pivot: {
84
+ title: 'dummy',
85
+ aggregationType: 'sum',
86
+ rowField: 'merchant',
87
+ rowFieldType: 'string',
88
+ columnField: 'user_name',
89
+ columnFieldType: 'string',
90
+ valueField: 'amount',
91
+ valueFieldType: 'number',
92
+ },
93
+ dateField: { table: 'table', field: 'created_at' },
94
+ pivotRows: [{ dummy: 'subway', subway: 15, comparison_subway: 10 }],
95
+ pivotColumns: [
96
+ { label: 'dummy', field: 'user_name' },
97
+ { label: 'subway', field: 'subway' },
98
+ { label: 'comparison_subway', field: 'comparison_subway' },
99
+ ],
100
+ };
101
+ //@ts-ignore
102
+ const result = getSimplePercentageChange(report);
103
+ expect(result).toEqual(-1);
104
+ });
105
+ });
106
+ describe('getPointToPointPercentageChange', () => {
107
+ it('should get the point to point percentage change', () => {
108
+ const report = {
109
+ ...defaultReport,
110
+ compareRows: [],
111
+ dateField: { table: 'table', field: 'created_at' },
112
+ };
113
+ const result = getPointToPointPercentageChange(report);
114
+ expect(result).toEqual(-1);
115
+ });
116
+ it('should work with 1d date pivots', () => {
117
+ const report = {
118
+ ...defaultReport,
119
+ compareRows: [],
120
+ dateField: { table: 'table', field: 'created_at' },
121
+ pivot: {
122
+ title: 'dummy',
123
+ aggregationType: 'sum',
124
+ rowField: 'created_at',
125
+ rowFieldType: 'date',
126
+ columnField: 'user_name',
127
+ columnFieldType: 'string',
128
+ valueField: 'amount',
129
+ valueFieldType: 'number',
130
+ },
131
+ pivotRows: [
132
+ { created_at: '2024-01-01', amount: '20' },
133
+ { created_at: '2024-02-01', amount: '30' },
134
+ ],
135
+ pivotColumns: [
136
+ { label: 'created_at', field: 'created_at' },
137
+ { label: 'amount', field: 'amount' },
138
+ ],
139
+ };
140
+ // @ts-ignore
141
+ const result = getPointToPointPercentageChange(report);
142
+ expect(result).toEqual(0.5);
143
+ });
144
+ it('should only use the first and last buckets', () => {
145
+ const report = {
146
+ ...defaultReport,
147
+ compareRows: [],
148
+ dateField: { table: 'table', field: 'created_at' },
149
+ pivot: {
150
+ title: 'dummy',
151
+ aggregationType: 'sum',
152
+ rowField: 'created_at',
153
+ rowFieldType: 'date',
154
+ columnField: 'user_name',
155
+ columnFieldType: 'string',
156
+ valueField: 'amount',
157
+ valueFieldType: 'number',
158
+ },
159
+ pivotRows: [
160
+ { created_at: '2024-01-01', amount: '20' },
161
+ { created_at: '2024-02-01', amount: '20' },
162
+ { created_at: '2024-03-01', amount: '30' },
163
+ { created_at: '2024-05-01', amount: '40' },
164
+ ],
165
+ pivotColumns: [
166
+ { label: 'created_at', field: 'created_at' },
167
+ { label: 'amount', field: 'amount' },
168
+ ],
169
+ };
170
+ // @ts-ignore
171
+ const result = getPointToPointPercentageChange(report);
172
+ expect(result).toEqual(1);
173
+ });
174
+ it('should work with 2d pivots', () => {
175
+ const report = {
176
+ ...defaultReport,
177
+ compareRows: [],
178
+ dateField: { table: 'table', field: 'created_at' },
179
+ pivot: {
180
+ title: 'dummy',
181
+ aggregationType: 'sum',
182
+ rowField: 'created_at',
183
+ rowFieldType: 'date',
184
+ columnField: 'user_name',
185
+ columnFieldType: 'string',
186
+ valueField: 'amount',
187
+ valueFieldType: 'number',
188
+ },
189
+ pivotRows: [
190
+ { created_at: '2024-01-01', subway: '20', mcdonalds: '30' },
191
+ { created_at: '2024-02-01', subway: '20', mcdonalds: '30' },
192
+ { created_at: '2024-03-01', subway: '30', mcdonalds: '30' },
193
+ { created_at: '2024-04-01', subway: '50', mcdonalds: '100' },
194
+ ],
195
+ pivotColumns: [
196
+ { label: 'created_at', field: 'created_at' },
197
+ { label: 'subway', field: 'subway' },
198
+ { label: 'mcdonalds', field: 'mcdonalds' },
199
+ ],
200
+ };
201
+ // @ts-ignore
202
+ const result = getPointToPointPercentageChange(report);
203
+ expect(result).toEqual(2);
204
+ });
205
+ });
@@ -14,6 +14,7 @@ export declare function getComparisonInterval(comparisonRange: {
14
14
  export declare function getDateBucketFromRange(dateRange: {
15
15
  start: Date;
16
16
  end: Date;
17
- }): "month" | "week" | "day" | "year";
17
+ }): "year" | "month" | "week" | "day";
18
18
  export declare function parseDateByDatabaseType(date: any, databaseType: string): Date;
19
+ export declare function getDateFormatFromBucket(dateBucket: string): string;
19
20
  //# sourceMappingURL=dates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../src/utils/dates.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,UAYxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,WAa/C;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,EACD,UAAU,CAAC,EAAE,MAAM,sBAepB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,qCAW3E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,QAMtE"}
1
+ {"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../src/utils/dates.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,UAYxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,WAa/C;AAED,wBAAgB,qBAAqB,CACnC,eAAe,EAAE;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;CACf,EACD,UAAU,CAAC,EAAE,MAAM,sBAepB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,qCAW3E;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,QAMtE;AAED,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,UAoBzD"}
@@ -72,3 +72,24 @@ export function parseDateByDatabaseType(date, databaseType) {
72
72
  return new Date(date);
73
73
  }
74
74
  }
75
+ export function getDateFormatFromBucket(dateBucket) {
76
+ let format = 'MMM_yyyy';
77
+ switch (dateBucket) {
78
+ case 'day':
79
+ format = 'MMM_dd';
80
+ break;
81
+ case 'week':
82
+ format = 'MMM_dd-MMM_dd';
83
+ break;
84
+ case 'month':
85
+ format = 'MMM_yyyy';
86
+ break;
87
+ case 'year':
88
+ format = 'yyyy';
89
+ break;
90
+ default:
91
+ format = 'MMM_yyyy';
92
+ break;
93
+ }
94
+ return format;
95
+ }
@@ -0,0 +1,5 @@
1
+ export declare class DataLoadError extends Error {
2
+ data: any;
3
+ constructor(message: string, data: any);
4
+ }
5
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../src/utils/error.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,IAAI,EAAE,GAAG,CAAC;gBAEE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG;CAKvC"}
@@ -0,0 +1,8 @@
1
+ export class DataLoadError extends Error {
2
+ data;
3
+ constructor(message, data) {
4
+ super(message);
5
+ this.name = 'DataLoadError';
6
+ this.data = data;
7
+ }
8
+ }
@@ -0,0 +1,34 @@
1
+ export declare const IS_EXACTLY = "is exactly";
2
+ export declare const IS_NOT_EXACTLY = "is not exactly";
3
+ export declare const CONTAINS = "contains";
4
+ export declare const IS = "is";
5
+ export declare const IS_NOT = "is not";
6
+ export declare const IS_NOT_NULL = "is not null";
7
+ export declare const IS_NULL = "is null";
8
+ export declare const IN_THE_LAST = "in the last";
9
+ export declare const IN_THE_PREVIOUS = "in the previous";
10
+ export declare const IN_THE_CURRENT = "in the current";
11
+ export declare const EQUALS = "equals";
12
+ export declare const EQUAL_TO = "equal to";
13
+ export declare const NOT_EQUAL_TO = "not equal to";
14
+ export declare const GREATER_THAN = "greater than";
15
+ export declare const LESS_THAN = "less than";
16
+ export declare const GREATER_THAN_OR_EQUAL_TO = "greater than or equal to";
17
+ export declare const LESS_THAN_OR_EQUAL_TO = "less than or equal to";
18
+ export declare const YEAR = "year";
19
+ export declare const QUARTER = "quarter";
20
+ export declare const MONTH = "month";
21
+ export declare const WEEK = "week";
22
+ export declare const DAY = "day";
23
+ export declare const HOUR = "hour";
24
+ export declare const NUMERIC = "numeric";
25
+ export declare const STRING = "string";
26
+ export declare const DATE = "date";
27
+ export declare const NULL = "null";
28
+ export declare const LAST_90_DAYS = "last 90 days";
29
+ export declare const LAST_60_DAYS = "last 60 days";
30
+ export declare const LAST_30_DAYS = "last 30 days";
31
+ export declare const PREVIOUS_90_DAYS = "previous 90 days";
32
+ export declare const CURRENT_MONTH = "current month";
33
+ export declare const CUSTOM = "custom";
34
+ //# sourceMappingURL=filterConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterConstants.d.ts","sourceRoot":"","sources":["../../../src/utils/filterConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,EAAE,OAAO,CAAC;AACvB,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,SAAS,cAAc,CAAC;AACrC,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAE7D,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,KAAK,UAAU,CAAC;AAC7B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,GAAG,QAAQ,CAAC;AACzB,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,eAAO,MAAM,IAAI,SAAS,CAAC;AAC3B,eAAO,MAAM,IAAI,SAAS,CAAC;AAE3B,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,MAAM,WAAW,CAAC"}
@@ -0,0 +1,33 @@
1
+ export const IS_EXACTLY = 'is exactly';
2
+ export const IS_NOT_EXACTLY = 'is not exactly';
3
+ export const CONTAINS = 'contains';
4
+ export const IS = 'is';
5
+ export const IS_NOT = 'is not';
6
+ export const IS_NOT_NULL = 'is not null';
7
+ export const IS_NULL = 'is null';
8
+ export const IN_THE_LAST = 'in the last';
9
+ export const IN_THE_PREVIOUS = 'in the previous';
10
+ export const IN_THE_CURRENT = 'in the current';
11
+ export const EQUALS = 'equals';
12
+ export const EQUAL_TO = 'equal to';
13
+ export const NOT_EQUAL_TO = 'not equal to';
14
+ export const GREATER_THAN = 'greater than';
15
+ export const LESS_THAN = 'less than';
16
+ export const GREATER_THAN_OR_EQUAL_TO = 'greater than or equal to';
17
+ export const LESS_THAN_OR_EQUAL_TO = 'less than or equal to';
18
+ export const YEAR = 'year';
19
+ export const QUARTER = 'quarter';
20
+ export const MONTH = 'month';
21
+ export const WEEK = 'week';
22
+ export const DAY = 'day';
23
+ export const HOUR = 'hour';
24
+ export const NUMERIC = 'numeric';
25
+ export const STRING = 'string';
26
+ export const DATE = 'date';
27
+ export const NULL = 'null';
28
+ export const LAST_90_DAYS = 'last 90 days';
29
+ export const LAST_60_DAYS = 'last 60 days';
30
+ export const LAST_30_DAYS = 'last 30 days';
31
+ export const PREVIOUS_90_DAYS = 'previous 90 days';
32
+ export const CURRENT_MONTH = 'current month';
33
+ export const CUSTOM = 'custom';
@@ -1,4 +1,10 @@
1
+ import { Filter } from '../models/Filter';
1
2
  export declare function findAndProcessDateFilter(filters: any[]): any;
2
- export declare function processFilterFromBackend(filter: any, rows: any[]): any;
3
+ export declare function processFilterFromBackend(filter: any): any;
3
4
  export declare function updateFilter(filter: any, value?: any, comparison?: any): any;
5
+ export declare const getType: (t: string) => "string" | "boolean" | "numeric" | "date";
6
+ /**
7
+ * Returns a sentence to describe a Filter
8
+ */
9
+ export declare function filterSentence(filter: Filter): string;
4
10
  //# sourceMappingURL=filterProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,OA4BhE;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,GAAE,GAAU,EACjB,UAAU,GAAE,GAAU,OAuGvB"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,MAAM,EAAe,MAAM,kBAAkB,CAAC;AAGrE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,GAAE,GAAU,EACjB,UAAU,GAAE,GAAU,OAuGvB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,8CAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrD"}
@@ -1,4 +1,6 @@
1
1
  import { COMPARISON_RANGE, PRIMARY_RANGE, defaultOptionsV2, getRangeFromPresetOptions, } from '../DateRangePicker/dateRangePickerUtils';
2
+ import { DateOperator, FilterNames } from '../models/Filter';
3
+ import { snakeAndCamelCaseToTitleCase } from './textProcessing';
2
4
  export function findAndProcessDateFilter(filters) {
3
5
  let dateFilter = filters.find((filter) => filter.filterType === 'date_range');
4
6
  if (dateFilter) {
@@ -20,40 +22,32 @@ export function findAndProcessDateFilter(filters) {
20
22
  function isValidDate(date) {
21
23
  return !isNaN(Date.parse(date));
22
24
  }
23
- export function processFilterFromBackend(filter, rows) {
25
+ export function processFilterFromBackend(filter) {
24
26
  if (filter.filterType === 'date_range') {
25
27
  return {
26
28
  ...filter,
27
- startDate: new Date(filter.startDate),
28
- endDate: new Date(filter.endDate),
29
+ startDate: filter.startDate ? new Date(filter.startDate) : undefined,
30
+ endDate: filter.endDate ? new Date(filter.endDate) : undefined,
29
31
  options: defaultOptionsV2,
30
32
  comparisonRange: {
31
33
  ...filter.comparisonRange,
32
- value: filter.defaultComparisonRange,
34
+ value: 'PREV_PERIOD',
33
35
  },
34
36
  };
35
37
  }
36
38
  if (filter.filterType === 'string') {
37
- const options = rows.map((row) => row[filter.field]);
38
- const distinctOptions = Array.from(new Set(options)).filter((value) => value !== undefined && value !== null);
39
- return {
40
- ...filter,
41
- options: distinctOptions.map((option) => ({
42
- label: option,
43
- value: option,
44
- })),
45
- };
39
+ return filter;
46
40
  }
47
41
  return filter;
48
42
  }
49
43
  export function updateFilter(filter, value = null, comparison = null) {
50
44
  //for dateObjects only, since values are arrays for dateObjects
51
- const { selectedValue: _, operator, ...filterWithoutSelectedValue } = filter; // _ is a throwaway variable
45
+ const { ...filterWithoutSelectedValue } = filter;
52
46
  if (filter.filterType === 'string') {
53
47
  let selectedValue = {};
54
- if (value) {
48
+ if (value || value === '') {
55
49
  if (filter.stringFilterType === 'multiselect') {
56
- const parsedValue = JSON.parse(value);
50
+ const parsedValue = value;
57
51
  if (parsedValue.length === 0) {
58
52
  selectedValue = { values: [] };
59
53
  }
@@ -145,3 +139,94 @@ export function updateFilter(filter, value = null, comparison = null) {
145
139
  }
146
140
  }
147
141
  }
142
+ // Function to translate field type to "string", "numeric", or "date"
143
+ export const getType = (t) => {
144
+ // strip any size numbers at the end
145
+ // TODO: 'max' data types, e.g. varchar(max)
146
+ t = t.replace(/\d+$/, '');
147
+ switch (t) {
148
+ case 'string':
149
+ case 'char':
150
+ case 'varchar':
151
+ case 'nchar':
152
+ case 'nvarchar':
153
+ case 'ntext':
154
+ case 'binary':
155
+ case 'varbinary':
156
+ case 'tinyblob':
157
+ case 'tinytext':
158
+ case 'blob':
159
+ case 'mediumtext':
160
+ case 'mediumblob':
161
+ case 'longtext':
162
+ case 'longblob':
163
+ case 'text':
164
+ return 'string';
165
+ case 'numeric':
166
+ case 'bit':
167
+ case 'tinybit':
168
+ case 'smallint':
169
+ case 'mediumint':
170
+ case 'int':
171
+ case 'tinyint':
172
+ case 'integer':
173
+ case 'bigint':
174
+ case 'float':
175
+ case 'double':
176
+ case 'double precision':
177
+ case 'decimal':
178
+ case 'dec':
179
+ case 'smallmoney':
180
+ case 'money':
181
+ case 'real':
182
+ return 'numeric';
183
+ case 'date':
184
+ case 'datetime':
185
+ case 'datetime2':
186
+ case 'smalldatetime':
187
+ case 'datetimeoffset':
188
+ case 'timestamp':
189
+ case 'timestamptz':
190
+ case 'time':
191
+ case 'year':
192
+ return 'date';
193
+ case 'bool':
194
+ case 'boolean':
195
+ return 'boolean';
196
+ default:
197
+ return 'string';
198
+ }
199
+ };
200
+ /**
201
+ * Returns a sentence to describe a Filter
202
+ */
203
+ export function filterSentence(filter) {
204
+ let value = '';
205
+ if (filter.name == FilterNames.NullFilter) {
206
+ return `${snakeAndCamelCaseToTitleCase(filter.field)} ${filter.operator}`;
207
+ }
208
+ else if (filter.value === null || filter.value === undefined) {
209
+ return 'Error: filter missing value';
210
+ }
211
+ if (typeof filter.value === 'string' || typeof filter.value === 'number') {
212
+ value = filter.value.toString();
213
+ }
214
+ else if (filter.value === false || filter.value === true) {
215
+ value = filter.value.toString();
216
+ }
217
+ else if ('unit' in filter.value) {
218
+ if (filter.operator === DateOperator.InTheCurrent) {
219
+ value = `${filter.value.unit}`;
220
+ }
221
+ else {
222
+ value = `${filter.value.value} ${filter.value.unit}${filter.value.value === 1 ? '' : 's'}`;
223
+ }
224
+ }
225
+ else if ('startDate' in filter.value) {
226
+ value = `from ${filter.value.startDate}`;
227
+ }
228
+ else if (filter.value.length > 0) {
229
+ value = filter.value.join(', ');
230
+ }
231
+ return `${snakeAndCamelCaseToTitleCase(filter.field)} ${filter.operator}${filter.operator === 'is' || filter.operator === 'is not' ? ' one of' : ''} ${value}`;
232
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=filterProcessing.uspec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterProcessing.uspec.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.uspec.ts"],"names":[],"mappings":""}