@quillsql/react 2.12.28 → 2.12.30

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 (502) hide show
  1. package/dist/cjs/Chart.d.ts +24 -10
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +151 -189
  4. package/dist/cjs/ChartBuilder.d.ts +51 -11
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +162 -101
  7. package/dist/cjs/ChartEditor.d.ts +13 -1
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +62 -121
  10. package/dist/cjs/Context.d.ts +1 -19
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +74 -85
  13. package/dist/cjs/Dashboard.d.ts +16 -7
  14. package/dist/cjs/Dashboard.d.ts.map +1 -1
  15. package/dist/cjs/Dashboard.js +90 -68
  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 -3
  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 +22 -1
  30. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  31. package/dist/cjs/ReportBuilder.js +758 -505
  32. package/dist/cjs/SQLEditor.d.ts +2 -9
  33. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  34. package/dist/cjs/SQLEditor.js +142 -90
  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 +110 -92
  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/BarList.d.ts.map +1 -1
  62. package/dist/cjs/components/Chart/BarList.js +21 -14
  63. package/dist/cjs/components/Chart/ChartError.d.ts +8 -1
  64. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  65. package/dist/cjs/components/Chart/ChartError.js +40 -5
  66. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  67. package/dist/cjs/components/Chart/ChartTooltip.js +8 -2
  68. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  69. package/dist/cjs/components/Chart/LineChart.js +2 -2
  70. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  71. package/dist/cjs/components/Chart/PieChart.js +1 -3
  72. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  73. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  74. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  75. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +5 -1
  76. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  77. package/dist/cjs/components/Dashboard/DashboardFilter.js +10 -5
  78. package/dist/cjs/components/Dashboard/DataLoader.d.ts +2 -6
  79. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  80. package/dist/cjs/components/Dashboard/DataLoader.js +98 -187
  81. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  82. package/dist/cjs/components/Dashboard/MetricComponent.js +1 -1
  83. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -4
  84. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  85. package/dist/cjs/components/Dashboard/TableComponent.js +3 -3
  86. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -1
  87. package/dist/cjs/components/Dropdown/Dropdown.js +1 -3
  88. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -1
  89. package/dist/cjs/components/Dropdown/DropdownItem.js +3 -8
  90. package/dist/cjs/components/Dropdown/index.d.ts +2 -2
  91. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -1
  92. package/dist/cjs/components/Modal/Modal.js +2 -3
  93. package/dist/cjs/components/Modal/index.d.ts +1 -1
  94. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  95. package/dist/cjs/components/QuillMultiSelect.js +18 -3
  96. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  97. package/dist/cjs/components/QuillMultiSelectWithCombo.js +2 -2
  98. package/dist/cjs/components/QuillSelect.js +1 -1
  99. package/dist/cjs/components/QuillSelectWithCombo.js +2 -2
  100. package/dist/cjs/components/QuillTable.d.ts +1 -4
  101. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  102. package/dist/cjs/components/QuillTable.js +5 -11
  103. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  104. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  105. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +5 -8
  106. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  107. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +1 -3
  108. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  109. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +12 -1
  110. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +22 -0
  111. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  112. package/dist/cjs/components/ReportBuilder/FilterModal.js +555 -0
  113. package/dist/cjs/components/ReportBuilder/ast.d.ts +2 -1
  114. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  115. package/dist/cjs/components/ReportBuilder/ast.js +33 -6
  116. package/dist/cjs/components/ReportBuilder/constants.d.ts +18 -3
  117. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -1
  118. package/dist/cjs/components/ReportBuilder/constants.js +24 -3
  119. package/dist/cjs/components/ReportBuilder/convert.d.ts +12 -15
  120. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  121. package/dist/cjs/components/ReportBuilder/convert.js +326 -494
  122. package/dist/cjs/components/ReportBuilder/operators.d.ts +24 -4
  123. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
  124. package/dist/cjs/components/ReportBuilder/operators.js +32 -4
  125. package/dist/cjs/components/ReportBuilder/ui.d.ts +20 -0
  126. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  127. package/dist/cjs/components/ReportBuilder/ui.js +30 -4
  128. package/dist/cjs/components/ReportBuilder/util.d.ts +3 -11
  129. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  130. package/dist/cjs/components/ReportBuilder/util.js +15 -18
  131. package/dist/cjs/components/UiComponents.d.ts +10 -7
  132. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  133. package/dist/cjs/components/UiComponents.js +9 -8
  134. package/dist/cjs/components/selectUtils.d.ts +0 -1
  135. package/dist/cjs/components/selectUtils.d.ts.map +1 -1
  136. package/dist/cjs/components/selectUtils.js +1 -22
  137. package/dist/cjs/hooks/index.d.ts +4 -4
  138. package/dist/cjs/hooks/useAstToFilterTree.d.ts +11 -0
  139. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -0
  140. package/dist/cjs/hooks/useAstToFilterTree.js +26 -0
  141. package/dist/cjs/hooks/useDashboard.d.ts +1 -1
  142. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  143. package/dist/cjs/hooks/useDashboard.js +22 -4
  144. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  145. package/dist/cjs/hooks/useExport.js +3 -1
  146. package/dist/cjs/hooks/useOnClickOutside.js +4 -4
  147. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -1
  148. package/dist/cjs/hooks/useOnWindowResize.js +2 -2
  149. package/dist/cjs/hooks/useQuill.d.ts +10 -27
  150. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  151. package/dist/cjs/hooks/useQuill.js +114 -82
  152. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  153. package/dist/cjs/hooks/useSelectOnKeyDown.js +4 -4
  154. package/dist/cjs/hooks/useTheme.js +1 -1
  155. package/dist/cjs/index.d.ts +1 -0
  156. package/dist/cjs/index.d.ts.map +1 -1
  157. package/dist/cjs/index.js +3 -1
  158. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  159. package/dist/cjs/internals/ReportBuilder/PivotForm.js +8 -1
  160. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +2 -2
  161. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  162. package/dist/cjs/internals/ReportBuilder/PivotList.js +2 -2
  163. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
  164. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  165. package/dist/cjs/internals/ReportBuilder/PivotModal.js +64 -78
  166. package/dist/cjs/lib/utils.js +2 -2
  167. package/dist/cjs/models/Filter.d.ts +104 -4
  168. package/dist/cjs/models/Filter.d.ts.map +1 -1
  169. package/dist/cjs/models/Filter.js +91 -0
  170. package/dist/cjs/models/Pagination.d.ts +10 -0
  171. package/dist/cjs/models/Pagination.d.ts.map +1 -0
  172. package/dist/cjs/models/Pagination.js +2 -0
  173. package/dist/cjs/models/Report.d.ts +116 -0
  174. package/dist/cjs/models/Report.d.ts.map +1 -0
  175. package/dist/cjs/models/Report.js +2 -0
  176. package/dist/cjs/utils/aggregate.js +1 -1
  177. package/dist/cjs/utils/astFilterProcessing.d.ts +36 -0
  178. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -0
  179. package/dist/cjs/utils/astFilterProcessing.js +8056 -0
  180. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  181. package/dist/cjs/utils/astProcessing.js +4 -3
  182. package/dist/cjs/utils/axisFormatter.js +0 -71
  183. package/dist/cjs/utils/color.js +9 -87
  184. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  185. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  186. package/dist/cjs/utils/columnProcessing.js +8 -1
  187. package/dist/cjs/utils/csv.d.ts.map +1 -1
  188. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  189. package/dist/cjs/utils/dashboard.js +4 -4
  190. package/dist/cjs/utils/dataFetcher.d.ts +1 -1
  191. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  192. package/dist/cjs/utils/dataFetcher.js +72 -5
  193. package/dist/cjs/utils/dataProcessing.d.ts +8 -0
  194. package/dist/cjs/utils/dataProcessing.d.ts.map +1 -0
  195. package/dist/cjs/utils/dataProcessing.js +127 -0
  196. package/dist/cjs/utils/dates.d.ts +2 -1
  197. package/dist/cjs/utils/dates.d.ts.map +1 -1
  198. package/dist/cjs/utils/dates.js +12 -3
  199. package/dist/cjs/utils/error.d.ts +5 -0
  200. package/dist/cjs/utils/error.d.ts.map +1 -0
  201. package/dist/cjs/utils/error.js +12 -0
  202. package/dist/cjs/utils/filterConstants.d.ts +34 -0
  203. package/dist/cjs/utils/filterConstants.d.ts.map +1 -0
  204. package/dist/cjs/utils/filterConstants.js +36 -0
  205. package/dist/cjs/utils/filterProcessing.js +4 -4
  206. package/dist/cjs/utils/logging.d.ts.map +1 -1
  207. package/dist/cjs/utils/logging.js +1 -0
  208. package/dist/cjs/utils/merge.js +0 -21
  209. package/dist/cjs/utils/monacoConfig.d.ts +21 -0
  210. package/dist/cjs/utils/monacoConfig.d.ts.map +1 -0
  211. package/dist/cjs/utils/monacoConfig.js +324 -0
  212. package/dist/cjs/utils/paginationProcessing.d.ts +5 -0
  213. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -0
  214. package/dist/cjs/utils/paginationProcessing.js +30 -0
  215. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  216. package/dist/cjs/utils/pivotConstructor.js +67 -5
  217. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  218. package/dist/cjs/utils/pivotProcessing.js +12 -6
  219. package/dist/cjs/utils/queryConstructor.d.ts +4 -2
  220. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  221. package/dist/cjs/utils/queryConstructor.js +121 -59
  222. package/dist/cjs/utils/report.d.ts +7 -0
  223. package/dist/cjs/utils/report.d.ts.map +1 -0
  224. package/dist/cjs/utils/report.js +93 -0
  225. package/dist/cjs/utils/schema.d.ts.map +1 -1
  226. package/dist/cjs/utils/schema.js +35 -6
  227. package/dist/cjs/utils/styles.d.ts +1 -1
  228. package/dist/cjs/utils/styles.d.ts.map +1 -1
  229. package/dist/cjs/utils/tableProcessing.d.ts +23 -8
  230. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  231. package/dist/cjs/utils/tableProcessing.js +156 -38
  232. package/dist/cjs/utils/textProcessing.js +3 -3
  233. package/dist/cjs/utils/validation.d.ts +9 -0
  234. package/dist/cjs/utils/validation.d.ts.map +1 -0
  235. package/dist/cjs/utils/validation.js +24 -0
  236. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  237. package/dist/cjs/utils/valueFormatter.js +8 -4
  238. package/dist/esm/Chart.d.ts +24 -10
  239. package/dist/esm/Chart.d.ts.map +1 -1
  240. package/dist/esm/Chart.js +154 -192
  241. package/dist/esm/ChartBuilder.d.ts +51 -11
  242. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  243. package/dist/esm/ChartBuilder.js +161 -101
  244. package/dist/esm/ChartEditor.d.ts +13 -1
  245. package/dist/esm/ChartEditor.d.ts.map +1 -1
  246. package/dist/esm/ChartEditor.js +63 -122
  247. package/dist/esm/Context.d.ts +1 -19
  248. package/dist/esm/Context.d.ts.map +1 -1
  249. package/dist/esm/Context.js +74 -84
  250. package/dist/esm/Dashboard.d.ts +16 -7
  251. package/dist/esm/Dashboard.d.ts.map +1 -1
  252. package/dist/esm/Dashboard.js +91 -69
  253. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -1
  254. package/dist/esm/DateRangePicker/Calendar.js +5 -8
  255. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  256. package/dist/esm/DateRangePicker/DateRangePicker.js +2 -3
  257. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  258. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  259. package/dist/esm/DateRangePicker/DateRangePickerButton.js +2 -4
  260. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  261. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  262. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +4 -4
  263. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  264. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  265. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -15
  266. package/dist/esm/ReportBuilder.d.ts +22 -1
  267. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  268. package/dist/esm/ReportBuilder.js +766 -513
  269. package/dist/esm/SQLEditor.d.ts +2 -9
  270. package/dist/esm/SQLEditor.d.ts.map +1 -1
  271. package/dist/esm/SQLEditor.js +144 -92
  272. package/dist/esm/Table.d.ts +19 -3
  273. package/dist/esm/Table.d.ts.map +1 -1
  274. package/dist/esm/Table.js +112 -94
  275. package/dist/esm/TableChart.d.ts.map +1 -1
  276. package/dist/esm/TableChart.js +0 -1
  277. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  278. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -1
  279. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -1
  280. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  281. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  282. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -1
  283. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  284. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -1
  285. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -1
  286. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -1
  287. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  288. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  289. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  290. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -1
  291. package/dist/esm/assets/SearchIcon.d.ts.map +1 -1
  292. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -1
  293. package/dist/esm/components/Banner/index.d.ts +1 -1
  294. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  295. package/dist/esm/components/Banner/index.js +1 -1
  296. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -1
  297. package/dist/esm/components/BigModal/BigModal.js +7 -13
  298. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  299. package/dist/esm/components/Chart/BarList.js +21 -14
  300. package/dist/esm/components/Chart/ChartError.d.ts +8 -1
  301. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  302. package/dist/esm/components/Chart/ChartError.js +39 -6
  303. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  304. package/dist/esm/components/Chart/ChartTooltip.js +8 -2
  305. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  306. package/dist/esm/components/Chart/LineChart.js +2 -2
  307. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  308. package/dist/esm/components/Chart/PieChart.js +1 -3
  309. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  310. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  311. package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
  312. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +5 -1
  313. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  314. package/dist/esm/components/Dashboard/DashboardFilter.js +10 -5
  315. package/dist/esm/components/Dashboard/DataLoader.d.ts +2 -6
  316. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  317. package/dist/esm/components/Dashboard/DataLoader.js +98 -187
  318. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  319. package/dist/esm/components/Dashboard/MetricComponent.js +1 -1
  320. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -4
  321. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  322. package/dist/esm/components/Dashboard/TableComponent.js +3 -3
  323. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  324. package/dist/esm/components/Dropdown/Dropdown.js +2 -4
  325. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  326. package/dist/esm/components/Dropdown/DropdownItem.js +4 -9
  327. package/dist/esm/components/Dropdown/index.d.ts +2 -2
  328. package/dist/esm/components/Dropdown/index.js +2 -2
  329. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  330. package/dist/esm/components/Modal/Modal.js +2 -3
  331. package/dist/esm/components/Modal/index.d.ts +1 -1
  332. package/dist/esm/components/Modal/index.js +1 -1
  333. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  334. package/dist/esm/components/QuillMultiSelect.js +18 -3
  335. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  336. package/dist/esm/components/QuillMultiSelectWithCombo.js +2 -2
  337. package/dist/esm/components/QuillSelect.js +1 -1
  338. package/dist/esm/components/QuillSelectWithCombo.js +2 -2
  339. package/dist/esm/components/QuillTable.d.ts +1 -4
  340. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  341. package/dist/esm/components/QuillTable.js +5 -11
  342. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  343. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  344. package/dist/esm/components/ReportBuilder/AddColumnModal.js +8 -11
  345. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  346. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -4
  347. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  348. package/dist/esm/components/ReportBuilder/AddSortPopover.js +12 -1
  349. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +22 -0
  350. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  351. package/dist/esm/components/ReportBuilder/FilterModal.js +552 -0
  352. package/dist/esm/components/ReportBuilder/ast.d.ts +2 -1
  353. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  354. package/dist/esm/components/ReportBuilder/ast.js +31 -5
  355. package/dist/esm/components/ReportBuilder/constants.d.ts +18 -3
  356. package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -1
  357. package/dist/esm/components/ReportBuilder/constants.js +24 -3
  358. package/dist/esm/components/ReportBuilder/convert.d.ts +12 -15
  359. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  360. package/dist/esm/components/ReportBuilder/convert.js +324 -493
  361. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +2 -0
  362. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +1 -0
  363. package/dist/esm/components/ReportBuilder/convert.uspec.js +1152 -0
  364. package/dist/esm/components/ReportBuilder/operators.d.ts +24 -4
  365. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
  366. package/dist/esm/components/ReportBuilder/operators.js +32 -4
  367. package/dist/esm/components/ReportBuilder/ui.d.ts +20 -0
  368. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  369. package/dist/esm/components/ReportBuilder/ui.js +28 -3
  370. package/dist/esm/components/ReportBuilder/util.d.ts +3 -11
  371. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  372. package/dist/esm/components/ReportBuilder/util.js +16 -19
  373. package/dist/esm/components/UiComponents.d.ts +10 -7
  374. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  375. package/dist/esm/components/UiComponents.js +9 -8
  376. package/dist/esm/components/selectUtils.d.ts +0 -1
  377. package/dist/esm/components/selectUtils.d.ts.map +1 -1
  378. package/dist/esm/components/selectUtils.js +0 -20
  379. package/dist/esm/hooks/index.d.ts +4 -4
  380. package/dist/esm/hooks/index.js +4 -4
  381. package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
  382. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
  383. package/dist/esm/hooks/useAstToFilterTree.js +24 -0
  384. package/dist/esm/hooks/useDashboard.d.ts +1 -1
  385. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  386. package/dist/esm/hooks/useDashboard.js +23 -5
  387. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  388. package/dist/esm/hooks/useExport.js +4 -2
  389. package/dist/esm/hooks/useOnClickOutside.js +5 -5
  390. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -1
  391. package/dist/esm/hooks/useOnWindowResize.js +3 -3
  392. package/dist/esm/hooks/useQuill.d.ts +10 -27
  393. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  394. package/dist/esm/hooks/useQuill.js +114 -82
  395. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  396. package/dist/esm/hooks/useSelectOnKeyDown.js +5 -5
  397. package/dist/esm/hooks/useTheme.js +1 -1
  398. package/dist/esm/index.d.ts +1 -0
  399. package/dist/esm/index.d.ts.map +1 -1
  400. package/dist/esm/index.js +1 -0
  401. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  402. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -2
  403. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +2 -2
  404. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  405. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  406. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
  407. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  408. package/dist/esm/internals/ReportBuilder/PivotModal.js +68 -82
  409. package/dist/esm/lib/utils.js +2 -2
  410. package/dist/esm/models/Filter.d.ts +104 -4
  411. package/dist/esm/models/Filter.d.ts.map +1 -1
  412. package/dist/esm/models/Filter.js +90 -1
  413. package/dist/esm/models/Pagination.d.ts +10 -0
  414. package/dist/esm/models/Pagination.d.ts.map +1 -0
  415. package/dist/esm/models/Pagination.js +1 -0
  416. package/dist/esm/models/Report.d.ts +116 -0
  417. package/dist/esm/models/Report.d.ts.map +1 -0
  418. package/dist/esm/models/Report.js +1 -0
  419. package/dist/esm/utils/aggregate.js +1 -1
  420. package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
  421. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
  422. package/dist/esm/utils/astFilterProcessing.js +8049 -0
  423. package/dist/esm/utils/astFilterProcessing.uspec.d.ts +2 -0
  424. package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +1 -0
  425. package/dist/esm/utils/astFilterProcessing.uspec.js +2729 -0
  426. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  427. package/dist/esm/utils/astProcessing.js +4 -3
  428. package/dist/esm/utils/axisFormatter.js +0 -71
  429. package/dist/esm/utils/color.js +9 -87
  430. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  431. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  432. package/dist/esm/utils/columnProcessing.js +6 -0
  433. package/dist/esm/utils/csv.d.ts.map +1 -1
  434. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  435. package/dist/esm/utils/dashboard.js +4 -4
  436. package/dist/esm/utils/dataFetcher.d.ts +1 -1
  437. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  438. package/dist/esm/utils/dataFetcher.js +72 -5
  439. package/dist/esm/utils/dataProcessing.d.ts +8 -0
  440. package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
  441. package/dist/esm/utils/dataProcessing.js +122 -0
  442. package/dist/esm/utils/dataProcessing.uspec.d.ts +2 -0
  443. package/dist/esm/utils/dataProcessing.uspec.d.ts.map +1 -0
  444. package/dist/esm/utils/dataProcessing.uspec.js +204 -0
  445. package/dist/esm/utils/dates.d.ts +2 -1
  446. package/dist/esm/utils/dates.d.ts.map +1 -1
  447. package/dist/esm/utils/dates.js +10 -2
  448. package/dist/esm/utils/error.d.ts +5 -0
  449. package/dist/esm/utils/error.d.ts.map +1 -0
  450. package/dist/esm/utils/error.js +8 -0
  451. package/dist/esm/utils/filterConstants.d.ts +34 -0
  452. package/dist/esm/utils/filterConstants.d.ts.map +1 -0
  453. package/dist/esm/utils/filterConstants.js +33 -0
  454. package/dist/esm/utils/filterProcessing.js +4 -4
  455. package/dist/esm/utils/logging.d.ts.map +1 -1
  456. package/dist/esm/utils/logging.js +1 -0
  457. package/dist/esm/utils/merge.js +0 -21
  458. package/dist/esm/utils/monacoConfig.d.ts +21 -0
  459. package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
  460. package/dist/esm/utils/monacoConfig.js +319 -0
  461. package/dist/esm/utils/paginationProcessing.d.ts +5 -0
  462. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
  463. package/dist/esm/utils/paginationProcessing.js +25 -0
  464. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  465. package/dist/esm/utils/pivotConstructor.js +67 -5
  466. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  467. package/dist/esm/utils/pivotProcessing.js +12 -6
  468. package/dist/esm/utils/queryConstructor.d.ts +4 -2
  469. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  470. package/dist/esm/utils/queryConstructor.js +118 -58
  471. package/dist/esm/utils/queryConstructor.uspec.d.ts +2 -0
  472. package/dist/esm/utils/queryConstructor.uspec.d.ts.map +1 -0
  473. package/dist/esm/utils/queryConstructor.uspec.js +223 -0
  474. package/dist/esm/utils/report.d.ts +7 -0
  475. package/dist/esm/utils/report.d.ts.map +1 -0
  476. package/dist/esm/utils/report.ispec.d.ts +2 -0
  477. package/dist/esm/utils/report.ispec.d.ts.map +1 -0
  478. package/dist/esm/utils/report.ispec.js +46 -0
  479. package/dist/esm/utils/report.js +88 -0
  480. package/dist/esm/utils/schema.d.ts.map +1 -1
  481. package/dist/esm/utils/schema.js +35 -6
  482. package/dist/esm/utils/styles.d.ts +1 -1
  483. package/dist/esm/utils/styles.d.ts.map +1 -1
  484. package/dist/esm/utils/tableProcessing.d.ts +23 -8
  485. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  486. package/dist/esm/utils/tableProcessing.ispec.d.ts +2 -0
  487. package/dist/esm/utils/tableProcessing.ispec.d.ts.map +1 -0
  488. package/dist/esm/utils/tableProcessing.ispec.js +61 -0
  489. package/dist/esm/utils/tableProcessing.js +152 -37
  490. package/dist/esm/utils/textProcessing.js +3 -3
  491. package/dist/esm/utils/validation.d.ts +9 -0
  492. package/dist/esm/utils/validation.d.ts.map +1 -0
  493. package/dist/esm/utils/validation.js +20 -0
  494. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  495. package/dist/esm/utils/valueFormatter.js +8 -4
  496. package/package.json +1 -1
  497. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  498. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  499. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.js +0 -213
  500. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts +0 -2
  501. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  502. package/dist/esm/internals/ReportBuilder/PivotModal.spec.js +0 -211
@@ -60,7 +60,8 @@ export const valueFormatter = ({ value, field, fields }) => {
60
60
  };
61
61
  export const quillFormat = ({ value, format, }) => {
62
62
  // Handle special case, if value is null and format is numeric display '-'
63
- if (value === null && NUMBER_FORMAT_TYPES.includes(format)) {
63
+ if (value === null &&
64
+ (NUMBER_FORMAT_TYPES.includes(format) || DATE_FORMAT_TYPES.includes(format))) {
64
65
  return '-';
65
66
  }
66
67
  const HANDLERS = {
@@ -195,9 +196,13 @@ const formatPercent = (value) => {
195
196
  // Converts the value to a UTC date with the given format string. If the
196
197
  // resulting date is invalid, it returns "Invalid date".
197
198
  const _getUTCDateHelper = (value, fmt) => {
198
- const utcDate = utcToZonedTime(new Date(value), 'UTC');
199
+ const parsedDate = parse(value, fmt, new Date());
200
+ const utcDate = isValid(parsedDate)
201
+ ? utcToZonedTime(parsedDate, 'UTC')
202
+ : utcToZonedTime(new Date(value), 'UTC');
203
+ // const utcDate: Date = utcToZonedTime(new Date(value), 'UTC');
199
204
  if (!isValid(utcDate))
200
- return 'Invalid date';
205
+ return value; //'Invalid date';
201
206
  return format(utcDate, fmt);
202
207
  };
203
208
  const format_YYYY = (value) => _getUTCDateHelper(value, 'yyyy');
@@ -239,7 +244,6 @@ const format_MMM_ww_yyyy = (value) => {
239
244
  const utcDate = utcToZonedTime(new Date(value), 'UTC');
240
245
  if (!isValid(utcDate))
241
246
  return 'Invalid date';
242
- const currentDate = new Date();
243
247
  const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
244
248
  const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
245
249
  const month = format(utcDate, 'MMM');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.12.28",
3
+ "version": "2.12.30",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PivotModal.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PivotModal.spec.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.spec.ts"],"names":[],"mappings":""}
@@ -1,213 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // @ts-nocheck
4
- const chai_1 = require("chai");
5
- const PivotModal_1 = require("./PivotModal");
6
- const date_fns_1 = require("date-fns");
7
- describe('PivotModal', function () {
8
- describe('generatePivotTable', function () {
9
- context('non date pivots', function () {
10
- const rowPivot = {
11
- rowField: 'merchant',
12
- rowFieldType: 'varchar',
13
- valueField: 'amount',
14
- aggregationType: 'sum',
15
- };
16
- const rowColumnPivot = {
17
- ...rowPivot,
18
- columnField: 'user_name',
19
- columnFieldType: 'varchar',
20
- };
21
- const rows = [
22
- { merchant: 'm1', amount: 3, user_name: 'u1' },
23
- { merchant: 'm1', amount: 4, user_name: 'u2' },
24
- { merchant: 'm1', amount: 5, user_name: 'u1' },
25
- { merchant: 'm2', amount: 6, user_name: 'u1' },
26
- { merchant: 'm2', amount: 7, user_name: 'u2' },
27
- { merchant: 'm2', amount: 8, user_name: 'u2' },
28
- ];
29
- it('should return empty table with no data', function () {
30
- const table = (0, PivotModal_1.generatePivotTable)(rowPivot, [], [new Date(), (0, date_fns_1.subMonths)(new Date(), 3)]);
31
- (0, chai_1.expect)(table.columns.length).to.equal(2);
32
- (0, chai_1.expect)(table.rows.length).to.equal(0);
33
- });
34
- it('should combine values based on row pivot', function () {
35
- const table = (0, PivotModal_1.generatePivotTable)(rowPivot, rows, [
36
- new Date(),
37
- (0, date_fns_1.subMonths)(new Date(), 3),
38
- ]);
39
- (0, chai_1.expect)(table.columns.length).to.equal(2);
40
- (0, chai_1.expect)(table.columns[0].field).to.equal('merchant');
41
- (0, chai_1.expect)(table.columns[1].field).to.equal('amount');
42
- (0, chai_1.expect)(table.rows.length).to.equal(2);
43
- (0, chai_1.expect)(table.rows[0].amount).to.equal(12);
44
- (0, chai_1.expect)(table.rows[1].amount).to.equal(21);
45
- });
46
- it('should combine values based on row and column pivots', function () {
47
- const table = (0, PivotModal_1.generatePivotTable)(rowColumnPivot, rows, [
48
- new Date(),
49
- (0, date_fns_1.subMonths)(new Date(), 3),
50
- ]);
51
- (0, chai_1.expect)(table.columns.length).to.equal(3);
52
- (0, chai_1.expect)(table.columns[0].field).to.equal('merchant');
53
- (0, chai_1.expect)(table.columns[1].field).to.equal('u1');
54
- (0, chai_1.expect)(table.columns[2].field).to.equal('u2');
55
- (0, chai_1.expect)(table.rows.length).to.equal(2);
56
- (0, chai_1.expect)(table.rows[0].u1).to.equal(8);
57
- (0, chai_1.expect)(table.rows[0].u2).to.equal(4);
58
- (0, chai_1.expect)(table.rows[1].u1).to.equal(6);
59
- (0, chai_1.expect)(table.rows[1].u2).to.equal(15);
60
- });
61
- });
62
- context('date pivots', function () {
63
- const rows = [
64
- {
65
- merchant: 'm1',
66
- amount: 3,
67
- user_name: 'u1',
68
- date: new Date('October 13, 2023 11:13:00'),
69
- created_at: new Date('October 13, 2023 11:13:00'),
70
- },
71
- {
72
- merchant: 'm1',
73
- amount: 5,
74
- user_name: 'u1',
75
- date: new Date('October 14, 2023 11:13:00'),
76
- created_at: new Date('October 14, 2023 11:13:00'),
77
- },
78
- {
79
- merchant: 'm2',
80
- amount: 6,
81
- user_name: 'u1',
82
- date: new Date('October 13, 2023 00:00:00'),
83
- created_at: new Date('October 14, 2023 11:13:00'),
84
- },
85
- {
86
- merchant: 'm2',
87
- amount: 6,
88
- user_name: 'u1',
89
- date: new Date('October 14, 2023 23:13:00'),
90
- created_at: new Date('October 13, 2023 11:13:00'),
91
- },
92
- {
93
- merchant: 'm1',
94
- amount: 6,
95
- user_name: 'u2',
96
- date: new Date('October 14, 2023 23:13:00'),
97
- created_at: new Date('October 13, 2023 11:13:00'),
98
- },
99
- ];
100
- it('should handle a row date pivot', function () {
101
- const pivot = {
102
- rowField: 'date',
103
- rowFieldType: 'date',
104
- valueField: 'amount',
105
- aggregationType: 'sum',
106
- };
107
- const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
108
- new Date('October 10, 2023 00:00:00'),
109
- new Date('October 15, 2023 00:00:00'),
110
- ]);
111
- (0, chai_1.expect)(table.columns.length).to.equal(2);
112
- (0, chai_1.expect)(table.columns[0].field).to.equal('date');
113
- (0, chai_1.expect)(table.columns[1].field).to.equal('amount');
114
- (0, chai_1.expect)(table.rows.length).to.equal(6);
115
- (0, chai_1.expect)(table.rows[3].amount).to.equal(9);
116
- (0, chai_1.expect)(table.rows[4].amount).to.equal(17);
117
- (0, chai_1.expect)(table.rows[5].amount).to.equal(0);
118
- });
119
- it('should handle a row timestamp pivot', function () {
120
- const pivot = {
121
- rowField: 'date',
122
- rowFieldType: 'timestamp',
123
- valueField: 'amount',
124
- aggregationType: 'sum',
125
- };
126
- const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
127
- new Date('October 10, 2023 00:00:00').getTime(),
128
- new Date('October 15, 2023 00:00:00').getTime(),
129
- ]);
130
- (0, chai_1.expect)(table.columns.length).to.equal(2);
131
- (0, chai_1.expect)(table.columns[0].field).to.equal('date');
132
- (0, chai_1.expect)(table.columns[1].field).to.equal('amount');
133
- (0, chai_1.expect)(table.rows.length).to.equal(6);
134
- (0, chai_1.expect)(table.rows[3].amount).to.equal(9);
135
- (0, chai_1.expect)(table.rows[4].amount).to.equal(17);
136
- (0, chai_1.expect)(table.rows[5].amount).to.equal(0);
137
- });
138
- it('should handle a string row pivot with a date column pivot', function () {
139
- const pivot = {
140
- columnField: 'date',
141
- columnFieldType: 'date',
142
- valueField: 'amount',
143
- aggregationType: 'sum',
144
- rowField: 'user_name',
145
- rowFieldType: 'varchar',
146
- };
147
- const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
148
- new Date('October 10, 2023 00:00:00'),
149
- new Date('October 15, 2023 00:00:00'),
150
- ]);
151
- (0, chai_1.expect)(table.columns.length).to.equal(7);
152
- (0, chai_1.expect)(table.columns[0].field).to.equal('user_name');
153
- (0, chai_1.expect)(table.rows.length).to.equal(2);
154
- // u1
155
- (0, chai_1.expect)(table.rows[0].user_name).to.equal('u1');
156
- (0, chai_1.expect)(Object.values(table.rows[0])[4]).to.equal(9);
157
- (0, chai_1.expect)(Object.values(table.rows[0])[5]).to.equal(11);
158
- // u2
159
- (0, chai_1.expect)(table.rows[1].user_name).to.equal('u2');
160
- (0, chai_1.expect)(Object.values(table.rows[1])[5]).to.equal(6);
161
- });
162
- it('should handle a date row pivot with a string column pivot', function () {
163
- const pivot = {
164
- rowField: 'date',
165
- rowFieldType: 'date',
166
- valueField: 'amount',
167
- aggregationType: 'sum',
168
- columnField: 'user_name',
169
- columnFieldType: 'varchar',
170
- };
171
- const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
172
- new Date('October 10, 2023 00:00:00'),
173
- new Date('October 15, 2023 00:00:00'),
174
- ]);
175
- (0, chai_1.expect)(table.columns.length).to.equal(3);
176
- (0, chai_1.expect)(table.columns[0].field).to.equal('date');
177
- (0, chai_1.expect)(table.columns[1].field).to.equal('u1');
178
- (0, chai_1.expect)(table.columns[2].field).to.equal('u2');
179
- (0, chai_1.expect)(table.rows.length).to.equal(6);
180
- // day without transactions
181
- (0, chai_1.expect)(table.rows[2].u1).to.equal(0);
182
- (0, chai_1.expect)(table.rows[2].u2).to.equal(0);
183
- // days with transactions
184
- (0, chai_1.expect)(table.rows[3].u1).to.equal(9);
185
- (0, chai_1.expect)(table.rows[3].u2).to.equal(0);
186
- (0, chai_1.expect)(table.rows[4].u1).to.equal(11);
187
- (0, chai_1.expect)(table.rows[4].u2).to.equal(6);
188
- });
189
- it('should handle a date row pivot with a date column pivot', function () {
190
- const pivot = {
191
- columnField: 'date',
192
- columnFieldType: 'date',
193
- valueField: 'amount',
194
- aggregationType: 'count',
195
- rowField: 'created_at',
196
- rowFieldType: 'date',
197
- };
198
- const table = (0, PivotModal_1.generatePivotTable)(pivot, rows, [
199
- new Date('October 10, 2023 00:00:00'),
200
- new Date('October 15, 2023 00:00:00'),
201
- ]);
202
- console.log(table);
203
- (0, chai_1.expect)(table.columns.length).to.equal(7);
204
- (0, chai_1.expect)(table.columns[0].field).to.equal('created_at');
205
- (0, chai_1.expect)(table.rows.length).to.equal(6);
206
- (0, chai_1.expect)(Object.values(table.rows[3])[4]).to.equal(1);
207
- (0, chai_1.expect)(Object.values(table.rows[3])[5]).to.equal(2);
208
- (0, chai_1.expect)(Object.values(table.rows[4])[4]).to.equal(1);
209
- (0, chai_1.expect)(Object.values(table.rows[4])[5]).to.equal(1);
210
- });
211
- });
212
- });
213
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=PivotModal.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PivotModal.spec.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.spec.ts"],"names":[],"mappings":""}
@@ -1,211 +0,0 @@
1
- // @ts-nocheck
2
- import { expect } from 'chai';
3
- import { generatePivotTable } from './PivotModal';
4
- import { subMonths } from 'date-fns';
5
- describe('PivotModal', function () {
6
- describe('generatePivotTable', function () {
7
- context('non date pivots', function () {
8
- const rowPivot = {
9
- rowField: 'merchant',
10
- rowFieldType: 'varchar',
11
- valueField: 'amount',
12
- aggregationType: 'sum',
13
- };
14
- const rowColumnPivot = {
15
- ...rowPivot,
16
- columnField: 'user_name',
17
- columnFieldType: 'varchar',
18
- };
19
- const rows = [
20
- { merchant: 'm1', amount: 3, user_name: 'u1' },
21
- { merchant: 'm1', amount: 4, user_name: 'u2' },
22
- { merchant: 'm1', amount: 5, user_name: 'u1' },
23
- { merchant: 'm2', amount: 6, user_name: 'u1' },
24
- { merchant: 'm2', amount: 7, user_name: 'u2' },
25
- { merchant: 'm2', amount: 8, user_name: 'u2' },
26
- ];
27
- it('should return empty table with no data', function () {
28
- const table = generatePivotTable(rowPivot, [], [new Date(), subMonths(new Date(), 3)]);
29
- expect(table.columns.length).to.equal(2);
30
- expect(table.rows.length).to.equal(0);
31
- });
32
- it('should combine values based on row pivot', function () {
33
- const table = generatePivotTable(rowPivot, rows, [
34
- new Date(),
35
- subMonths(new Date(), 3),
36
- ]);
37
- expect(table.columns.length).to.equal(2);
38
- expect(table.columns[0].field).to.equal('merchant');
39
- expect(table.columns[1].field).to.equal('amount');
40
- expect(table.rows.length).to.equal(2);
41
- expect(table.rows[0].amount).to.equal(12);
42
- expect(table.rows[1].amount).to.equal(21);
43
- });
44
- it('should combine values based on row and column pivots', function () {
45
- const table = generatePivotTable(rowColumnPivot, rows, [
46
- new Date(),
47
- subMonths(new Date(), 3),
48
- ]);
49
- expect(table.columns.length).to.equal(3);
50
- expect(table.columns[0].field).to.equal('merchant');
51
- expect(table.columns[1].field).to.equal('u1');
52
- expect(table.columns[2].field).to.equal('u2');
53
- expect(table.rows.length).to.equal(2);
54
- expect(table.rows[0].u1).to.equal(8);
55
- expect(table.rows[0].u2).to.equal(4);
56
- expect(table.rows[1].u1).to.equal(6);
57
- expect(table.rows[1].u2).to.equal(15);
58
- });
59
- });
60
- context('date pivots', function () {
61
- const rows = [
62
- {
63
- merchant: 'm1',
64
- amount: 3,
65
- user_name: 'u1',
66
- date: new Date('October 13, 2023 11:13:00'),
67
- created_at: new Date('October 13, 2023 11:13:00'),
68
- },
69
- {
70
- merchant: 'm1',
71
- amount: 5,
72
- user_name: 'u1',
73
- date: new Date('October 14, 2023 11:13:00'),
74
- created_at: new Date('October 14, 2023 11:13:00'),
75
- },
76
- {
77
- merchant: 'm2',
78
- amount: 6,
79
- user_name: 'u1',
80
- date: new Date('October 13, 2023 00:00:00'),
81
- created_at: new Date('October 14, 2023 11:13:00'),
82
- },
83
- {
84
- merchant: 'm2',
85
- amount: 6,
86
- user_name: 'u1',
87
- date: new Date('October 14, 2023 23:13:00'),
88
- created_at: new Date('October 13, 2023 11:13:00'),
89
- },
90
- {
91
- merchant: 'm1',
92
- amount: 6,
93
- user_name: 'u2',
94
- date: new Date('October 14, 2023 23:13:00'),
95
- created_at: new Date('October 13, 2023 11:13:00'),
96
- },
97
- ];
98
- it('should handle a row date pivot', function () {
99
- const pivot = {
100
- rowField: 'date',
101
- rowFieldType: 'date',
102
- valueField: 'amount',
103
- aggregationType: 'sum',
104
- };
105
- const table = generatePivotTable(pivot, rows, [
106
- new Date('October 10, 2023 00:00:00'),
107
- new Date('October 15, 2023 00:00:00'),
108
- ]);
109
- expect(table.columns.length).to.equal(2);
110
- expect(table.columns[0].field).to.equal('date');
111
- expect(table.columns[1].field).to.equal('amount');
112
- expect(table.rows.length).to.equal(6);
113
- expect(table.rows[3].amount).to.equal(9);
114
- expect(table.rows[4].amount).to.equal(17);
115
- expect(table.rows[5].amount).to.equal(0);
116
- });
117
- it('should handle a row timestamp pivot', function () {
118
- const pivot = {
119
- rowField: 'date',
120
- rowFieldType: 'timestamp',
121
- valueField: 'amount',
122
- aggregationType: 'sum',
123
- };
124
- const table = generatePivotTable(pivot, rows, [
125
- new Date('October 10, 2023 00:00:00').getTime(),
126
- new Date('October 15, 2023 00:00:00').getTime(),
127
- ]);
128
- expect(table.columns.length).to.equal(2);
129
- expect(table.columns[0].field).to.equal('date');
130
- expect(table.columns[1].field).to.equal('amount');
131
- expect(table.rows.length).to.equal(6);
132
- expect(table.rows[3].amount).to.equal(9);
133
- expect(table.rows[4].amount).to.equal(17);
134
- expect(table.rows[5].amount).to.equal(0);
135
- });
136
- it('should handle a string row pivot with a date column pivot', function () {
137
- const pivot = {
138
- columnField: 'date',
139
- columnFieldType: 'date',
140
- valueField: 'amount',
141
- aggregationType: 'sum',
142
- rowField: 'user_name',
143
- rowFieldType: 'varchar',
144
- };
145
- const table = generatePivotTable(pivot, rows, [
146
- new Date('October 10, 2023 00:00:00'),
147
- new Date('October 15, 2023 00:00:00'),
148
- ]);
149
- expect(table.columns.length).to.equal(7);
150
- expect(table.columns[0].field).to.equal('user_name');
151
- expect(table.rows.length).to.equal(2);
152
- // u1
153
- expect(table.rows[0].user_name).to.equal('u1');
154
- expect(Object.values(table.rows[0])[4]).to.equal(9);
155
- expect(Object.values(table.rows[0])[5]).to.equal(11);
156
- // u2
157
- expect(table.rows[1].user_name).to.equal('u2');
158
- expect(Object.values(table.rows[1])[5]).to.equal(6);
159
- });
160
- it('should handle a date row pivot with a string column pivot', function () {
161
- const pivot = {
162
- rowField: 'date',
163
- rowFieldType: 'date',
164
- valueField: 'amount',
165
- aggregationType: 'sum',
166
- columnField: 'user_name',
167
- columnFieldType: 'varchar',
168
- };
169
- const table = generatePivotTable(pivot, rows, [
170
- new Date('October 10, 2023 00:00:00'),
171
- new Date('October 15, 2023 00:00:00'),
172
- ]);
173
- expect(table.columns.length).to.equal(3);
174
- expect(table.columns[0].field).to.equal('date');
175
- expect(table.columns[1].field).to.equal('u1');
176
- expect(table.columns[2].field).to.equal('u2');
177
- expect(table.rows.length).to.equal(6);
178
- // day without transactions
179
- expect(table.rows[2].u1).to.equal(0);
180
- expect(table.rows[2].u2).to.equal(0);
181
- // days with transactions
182
- expect(table.rows[3].u1).to.equal(9);
183
- expect(table.rows[3].u2).to.equal(0);
184
- expect(table.rows[4].u1).to.equal(11);
185
- expect(table.rows[4].u2).to.equal(6);
186
- });
187
- it('should handle a date row pivot with a date column pivot', function () {
188
- const pivot = {
189
- columnField: 'date',
190
- columnFieldType: 'date',
191
- valueField: 'amount',
192
- aggregationType: 'count',
193
- rowField: 'created_at',
194
- rowFieldType: 'date',
195
- };
196
- const table = generatePivotTable(pivot, rows, [
197
- new Date('October 10, 2023 00:00:00'),
198
- new Date('October 15, 2023 00:00:00'),
199
- ]);
200
- console.log(table);
201
- expect(table.columns.length).to.equal(7);
202
- expect(table.columns[0].field).to.equal('created_at');
203
- expect(table.rows.length).to.equal(6);
204
- expect(Object.values(table.rows[3])[4]).to.equal(1);
205
- expect(Object.values(table.rows[3])[5]).to.equal(2);
206
- expect(Object.values(table.rows[4])[4]).to.equal(1);
207
- expect(Object.values(table.rows[4])[5]).to.equal(1);
208
- });
209
- });
210
- });
211
- });