@quillsql/react 2.12.29 → 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 (483) 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 +143 -183
  4. package/dist/cjs/ChartBuilder.d.ts +18 -12
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +125 -98
  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.map +1 -1
  11. package/dist/cjs/Context.js +42 -2
  12. package/dist/cjs/Dashboard.d.ts +16 -7
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +17 -22
  15. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -1
  16. package/dist/cjs/DateRangePicker/Calendar.js +3 -6
  17. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  18. package/dist/cjs/DateRangePicker/DateRangePicker.js +2 -3
  19. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  20. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  21. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +2 -4
  22. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  23. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  24. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +4 -4
  25. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  26. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  27. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -15
  28. package/dist/cjs/ReportBuilder.d.ts +17 -5
  29. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  30. package/dist/cjs/ReportBuilder.js +510 -487
  31. package/dist/cjs/SQLEditor.d.ts +2 -9
  32. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  33. package/dist/cjs/SQLEditor.js +69 -86
  34. package/dist/cjs/Table.d.ts +19 -3
  35. package/dist/cjs/Table.d.ts.map +1 -1
  36. package/dist/cjs/Table.js +105 -87
  37. package/dist/cjs/TableChart.d.ts.map +1 -1
  38. package/dist/cjs/TableChart.js +0 -1
  39. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  40. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -1
  41. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -1
  42. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  43. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  44. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -1
  45. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  46. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -1
  47. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -1
  48. package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -1
  49. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  50. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  51. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
  52. package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -1
  53. package/dist/cjs/assets/SearchIcon.d.ts.map +1 -1
  54. package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -1
  55. package/dist/cjs/components/Banner/index.d.ts +1 -1
  56. package/dist/cjs/components/Banner/index.d.ts.map +1 -1
  57. package/dist/cjs/components/Banner/index.js +1 -1
  58. package/dist/cjs/components/BigModal/BigModal.d.ts.map +1 -1
  59. package/dist/cjs/components/BigModal/BigModal.js +6 -12
  60. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
  61. package/dist/cjs/components/Chart/BarList.js +21 -14
  62. package/dist/cjs/components/Chart/ChartError.d.ts +8 -1
  63. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  64. package/dist/cjs/components/Chart/ChartError.js +40 -5
  65. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  66. package/dist/cjs/components/Chart/ChartTooltip.js +8 -2
  67. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  68. package/dist/cjs/components/Chart/LineChart.js +2 -2
  69. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  70. package/dist/cjs/components/Chart/PieChart.js +1 -3
  71. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +1 -1
  72. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  73. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  74. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +5 -1
  75. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  76. package/dist/cjs/components/Dashboard/DashboardFilter.js +10 -5
  77. package/dist/cjs/components/Dashboard/DataLoader.d.ts +2 -6
  78. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  79. package/dist/cjs/components/Dashboard/DataLoader.js +88 -181
  80. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  81. package/dist/cjs/components/Dashboard/MetricComponent.js +1 -1
  82. package/dist/cjs/components/Dashboard/TableComponent.d.ts +1 -4
  83. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  84. package/dist/cjs/components/Dashboard/TableComponent.js +3 -3
  85. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -1
  86. package/dist/cjs/components/Dropdown/Dropdown.js +1 -3
  87. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -1
  88. package/dist/cjs/components/Dropdown/DropdownItem.js +3 -8
  89. package/dist/cjs/components/Dropdown/index.d.ts +2 -2
  90. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -1
  91. package/dist/cjs/components/Modal/Modal.js +2 -3
  92. package/dist/cjs/components/Modal/index.d.ts +1 -1
  93. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  94. package/dist/cjs/components/QuillMultiSelect.js +18 -3
  95. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  96. package/dist/cjs/components/QuillMultiSelectWithCombo.js +2 -2
  97. package/dist/cjs/components/QuillSelect.js +1 -1
  98. package/dist/cjs/components/QuillSelectWithCombo.js +2 -2
  99. package/dist/cjs/components/QuillTable.d.ts +1 -4
  100. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  101. package/dist/cjs/components/QuillTable.js +5 -11
  102. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  103. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  104. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +5 -8
  105. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  106. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +1 -3
  107. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  108. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +12 -1
  109. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +22 -0
  110. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  111. package/dist/cjs/components/ReportBuilder/FilterModal.js +555 -0
  112. package/dist/cjs/components/ReportBuilder/ast.d.ts +2 -1
  113. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  114. package/dist/cjs/components/ReportBuilder/ast.js +33 -6
  115. package/dist/cjs/components/ReportBuilder/constants.d.ts +18 -3
  116. package/dist/cjs/components/ReportBuilder/constants.d.ts.map +1 -1
  117. package/dist/cjs/components/ReportBuilder/constants.js +24 -3
  118. package/dist/cjs/components/ReportBuilder/convert.d.ts +12 -15
  119. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  120. package/dist/cjs/components/ReportBuilder/convert.js +326 -494
  121. package/dist/cjs/components/ReportBuilder/operators.d.ts +24 -4
  122. package/dist/cjs/components/ReportBuilder/operators.d.ts.map +1 -1
  123. package/dist/cjs/components/ReportBuilder/operators.js +32 -4
  124. package/dist/cjs/components/ReportBuilder/ui.d.ts +20 -0
  125. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  126. package/dist/cjs/components/ReportBuilder/ui.js +30 -4
  127. package/dist/cjs/components/ReportBuilder/util.d.ts +3 -11
  128. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  129. package/dist/cjs/components/ReportBuilder/util.js +15 -18
  130. package/dist/cjs/components/UiComponents.d.ts +10 -7
  131. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  132. package/dist/cjs/components/UiComponents.js +9 -8
  133. package/dist/cjs/components/selectUtils.d.ts +0 -1
  134. package/dist/cjs/components/selectUtils.d.ts.map +1 -1
  135. package/dist/cjs/components/selectUtils.js +1 -22
  136. package/dist/cjs/hooks/index.d.ts +4 -4
  137. package/dist/cjs/hooks/useAstToFilterTree.d.ts +11 -0
  138. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -0
  139. package/dist/cjs/hooks/useAstToFilterTree.js +26 -0
  140. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  141. package/dist/cjs/hooks/useDashboard.js +5 -1
  142. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  143. package/dist/cjs/hooks/useExport.js +3 -1
  144. package/dist/cjs/hooks/useOnClickOutside.js +4 -4
  145. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -1
  146. package/dist/cjs/hooks/useOnWindowResize.js +2 -2
  147. package/dist/cjs/hooks/useQuill.d.ts +10 -27
  148. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  149. package/dist/cjs/hooks/useQuill.js +114 -82
  150. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  151. package/dist/cjs/hooks/useSelectOnKeyDown.js +4 -4
  152. package/dist/cjs/hooks/useTheme.js +1 -1
  153. package/dist/cjs/index.d.ts +1 -0
  154. package/dist/cjs/index.d.ts.map +1 -1
  155. package/dist/cjs/index.js +3 -1
  156. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  157. package/dist/cjs/internals/ReportBuilder/PivotForm.js +8 -1
  158. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts +2 -2
  159. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  160. package/dist/cjs/internals/ReportBuilder/PivotList.js +2 -2
  161. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -1
  162. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  163. package/dist/cjs/internals/ReportBuilder/PivotModal.js +8 -21
  164. package/dist/cjs/lib/utils.js +2 -2
  165. package/dist/cjs/models/Filter.d.ts +104 -4
  166. package/dist/cjs/models/Filter.d.ts.map +1 -1
  167. package/dist/cjs/models/Filter.js +91 -0
  168. package/dist/cjs/models/Pagination.d.ts +10 -0
  169. package/dist/cjs/models/Pagination.d.ts.map +1 -0
  170. package/dist/cjs/models/Pagination.js +2 -0
  171. package/dist/cjs/models/Report.d.ts +116 -0
  172. package/dist/cjs/models/Report.d.ts.map +1 -0
  173. package/dist/cjs/models/Report.js +2 -0
  174. package/dist/cjs/utils/aggregate.js +1 -1
  175. package/dist/cjs/utils/astFilterProcessing.d.ts +36 -0
  176. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -0
  177. package/dist/cjs/utils/astFilterProcessing.js +8056 -0
  178. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  179. package/dist/cjs/utils/astProcessing.js +4 -3
  180. package/dist/cjs/utils/axisFormatter.js +0 -71
  181. package/dist/cjs/utils/color.js +9 -87
  182. package/dist/cjs/utils/csv.d.ts.map +1 -1
  183. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  184. package/dist/cjs/utils/dashboard.js +3 -3
  185. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  186. package/dist/cjs/utils/dataFetcher.js +63 -1
  187. package/dist/cjs/utils/dataProcessing.d.ts +8 -0
  188. package/dist/cjs/utils/dataProcessing.d.ts.map +1 -0
  189. package/dist/cjs/utils/dataProcessing.js +127 -0
  190. package/dist/cjs/utils/dates.d.ts +1 -1
  191. package/dist/cjs/utils/error.d.ts +5 -0
  192. package/dist/cjs/utils/error.d.ts.map +1 -0
  193. package/dist/cjs/utils/error.js +12 -0
  194. package/dist/cjs/utils/filterConstants.d.ts +34 -0
  195. package/dist/cjs/utils/filterConstants.d.ts.map +1 -0
  196. package/dist/cjs/utils/filterConstants.js +36 -0
  197. package/dist/cjs/utils/filterProcessing.js +4 -4
  198. package/dist/cjs/utils/logging.d.ts.map +1 -1
  199. package/dist/cjs/utils/logging.js +1 -0
  200. package/dist/cjs/utils/merge.js +0 -21
  201. package/dist/cjs/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
  202. package/dist/cjs/utils/monacoConfig.d.ts.map +1 -0
  203. package/dist/cjs/utils/monacoConfig.js +324 -0
  204. package/dist/cjs/utils/paginationProcessing.d.ts +5 -0
  205. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -0
  206. package/dist/cjs/utils/paginationProcessing.js +30 -0
  207. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  208. package/dist/cjs/utils/pivotConstructor.js +9 -0
  209. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  210. package/dist/cjs/utils/pivotProcessing.js +12 -6
  211. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  212. package/dist/cjs/utils/queryConstructor.js +4 -3
  213. package/dist/cjs/utils/report.d.ts +7 -0
  214. package/dist/cjs/utils/report.d.ts.map +1 -0
  215. package/dist/cjs/utils/report.js +93 -0
  216. package/dist/cjs/utils/schema.d.ts.map +1 -1
  217. package/dist/cjs/utils/schema.js +35 -6
  218. package/dist/cjs/utils/styles.d.ts +1 -1
  219. package/dist/cjs/utils/styles.d.ts.map +1 -1
  220. package/dist/cjs/utils/tableProcessing.d.ts +22 -8
  221. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  222. package/dist/cjs/utils/tableProcessing.js +116 -35
  223. package/dist/cjs/utils/textProcessing.js +3 -3
  224. package/dist/cjs/utils/validation.d.ts +9 -0
  225. package/dist/cjs/utils/validation.d.ts.map +1 -0
  226. package/dist/cjs/utils/validation.js +24 -0
  227. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  228. package/dist/cjs/utils/valueFormatter.js +8 -4
  229. package/dist/esm/Chart.d.ts +24 -10
  230. package/dist/esm/Chart.d.ts.map +1 -1
  231. package/dist/esm/Chart.js +146 -186
  232. package/dist/esm/ChartBuilder.d.ts +18 -12
  233. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  234. package/dist/esm/ChartBuilder.js +126 -99
  235. package/dist/esm/ChartEditor.d.ts +13 -1
  236. package/dist/esm/ChartEditor.d.ts.map +1 -1
  237. package/dist/esm/ChartEditor.js +63 -122
  238. package/dist/esm/Context.d.ts.map +1 -1
  239. package/dist/esm/Context.js +42 -2
  240. package/dist/esm/Dashboard.d.ts +16 -7
  241. package/dist/esm/Dashboard.d.ts.map +1 -1
  242. package/dist/esm/Dashboard.js +17 -22
  243. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -1
  244. package/dist/esm/DateRangePicker/Calendar.js +5 -8
  245. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  246. package/dist/esm/DateRangePicker/DateRangePicker.js +2 -3
  247. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +1 -2
  248. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -1
  249. package/dist/esm/DateRangePicker/DateRangePickerButton.js +2 -4
  250. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  251. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  252. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +4 -4
  253. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  254. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  255. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -15
  256. package/dist/esm/ReportBuilder.d.ts +17 -5
  257. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  258. package/dist/esm/ReportBuilder.js +516 -493
  259. package/dist/esm/SQLEditor.d.ts +2 -9
  260. package/dist/esm/SQLEditor.d.ts.map +1 -1
  261. package/dist/esm/SQLEditor.js +68 -85
  262. package/dist/esm/Table.d.ts +19 -3
  263. package/dist/esm/Table.d.ts.map +1 -1
  264. package/dist/esm/Table.js +107 -89
  265. package/dist/esm/TableChart.d.ts.map +1 -1
  266. package/dist/esm/TableChart.js +0 -1
  267. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  268. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -1
  269. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -1
  270. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -1
  271. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -1
  272. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -1
  273. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -1
  274. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -1
  275. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -1
  276. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -1
  277. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -1
  278. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -1
  279. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  280. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -1
  281. package/dist/esm/assets/SearchIcon.d.ts.map +1 -1
  282. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -1
  283. package/dist/esm/components/Banner/index.d.ts +1 -1
  284. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  285. package/dist/esm/components/Banner/index.js +1 -1
  286. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -1
  287. package/dist/esm/components/BigModal/BigModal.js +7 -13
  288. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  289. package/dist/esm/components/Chart/BarList.js +21 -14
  290. package/dist/esm/components/Chart/ChartError.d.ts +8 -1
  291. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  292. package/dist/esm/components/Chart/ChartError.js +39 -6
  293. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  294. package/dist/esm/components/Chart/ChartTooltip.js +8 -2
  295. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  296. package/dist/esm/components/Chart/LineChart.js +2 -2
  297. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  298. package/dist/esm/components/Chart/PieChart.js +1 -3
  299. package/dist/esm/components/Dashboard/ChartComponent.d.ts +1 -1
  300. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  301. package/dist/esm/components/Dashboard/ChartComponent.js +1 -1
  302. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +5 -1
  303. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  304. package/dist/esm/components/Dashboard/DashboardFilter.js +10 -5
  305. package/dist/esm/components/Dashboard/DataLoader.d.ts +2 -6
  306. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  307. package/dist/esm/components/Dashboard/DataLoader.js +88 -181
  308. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  309. package/dist/esm/components/Dashboard/MetricComponent.js +1 -1
  310. package/dist/esm/components/Dashboard/TableComponent.d.ts +1 -4
  311. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  312. package/dist/esm/components/Dashboard/TableComponent.js +3 -3
  313. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -1
  314. package/dist/esm/components/Dropdown/Dropdown.js +2 -4
  315. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -1
  316. package/dist/esm/components/Dropdown/DropdownItem.js +4 -9
  317. package/dist/esm/components/Dropdown/index.d.ts +2 -2
  318. package/dist/esm/components/Dropdown/index.js +2 -2
  319. package/dist/esm/components/Modal/Modal.d.ts.map +1 -1
  320. package/dist/esm/components/Modal/Modal.js +2 -3
  321. package/dist/esm/components/Modal/index.d.ts +1 -1
  322. package/dist/esm/components/Modal/index.js +1 -1
  323. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  324. package/dist/esm/components/QuillMultiSelect.js +18 -3
  325. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  326. package/dist/esm/components/QuillMultiSelectWithCombo.js +2 -2
  327. package/dist/esm/components/QuillSelect.js +1 -1
  328. package/dist/esm/components/QuillSelectWithCombo.js +2 -2
  329. package/dist/esm/components/QuillTable.d.ts +1 -4
  330. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  331. package/dist/esm/components/QuillTable.js +5 -11
  332. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +3 -1
  333. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  334. package/dist/esm/components/ReportBuilder/AddColumnModal.js +8 -11
  335. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  336. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -4
  337. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  338. package/dist/esm/components/ReportBuilder/AddSortPopover.js +12 -1
  339. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +22 -0
  340. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  341. package/dist/esm/components/ReportBuilder/FilterModal.js +552 -0
  342. package/dist/esm/components/ReportBuilder/ast.d.ts +2 -1
  343. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  344. package/dist/esm/components/ReportBuilder/ast.js +31 -5
  345. package/dist/esm/components/ReportBuilder/constants.d.ts +18 -3
  346. package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -1
  347. package/dist/esm/components/ReportBuilder/constants.js +24 -3
  348. package/dist/esm/components/ReportBuilder/convert.d.ts +12 -15
  349. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  350. package/dist/esm/components/ReportBuilder/convert.js +324 -493
  351. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts +2 -0
  352. package/dist/esm/components/ReportBuilder/convert.uspec.d.ts.map +1 -0
  353. package/dist/esm/components/ReportBuilder/convert.uspec.js +1152 -0
  354. package/dist/esm/components/ReportBuilder/operators.d.ts +24 -4
  355. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -1
  356. package/dist/esm/components/ReportBuilder/operators.js +32 -4
  357. package/dist/esm/components/ReportBuilder/ui.d.ts +20 -0
  358. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  359. package/dist/esm/components/ReportBuilder/ui.js +28 -3
  360. package/dist/esm/components/ReportBuilder/util.d.ts +3 -11
  361. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  362. package/dist/esm/components/ReportBuilder/util.js +16 -19
  363. package/dist/esm/components/UiComponents.d.ts +10 -7
  364. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  365. package/dist/esm/components/UiComponents.js +9 -8
  366. package/dist/esm/components/selectUtils.d.ts +0 -1
  367. package/dist/esm/components/selectUtils.d.ts.map +1 -1
  368. package/dist/esm/components/selectUtils.js +0 -20
  369. package/dist/esm/hooks/index.d.ts +4 -4
  370. package/dist/esm/hooks/index.js +4 -4
  371. package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
  372. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
  373. package/dist/esm/hooks/useAstToFilterTree.js +24 -0
  374. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  375. package/dist/esm/hooks/useDashboard.js +5 -1
  376. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  377. package/dist/esm/hooks/useExport.js +4 -2
  378. package/dist/esm/hooks/useOnClickOutside.js +5 -5
  379. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -1
  380. package/dist/esm/hooks/useOnWindowResize.js +3 -3
  381. package/dist/esm/hooks/useQuill.d.ts +10 -27
  382. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  383. package/dist/esm/hooks/useQuill.js +114 -82
  384. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  385. package/dist/esm/hooks/useSelectOnKeyDown.js +5 -5
  386. package/dist/esm/hooks/useTheme.js +1 -1
  387. package/dist/esm/index.d.ts +1 -0
  388. package/dist/esm/index.d.ts.map +1 -1
  389. package/dist/esm/index.js +1 -0
  390. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  391. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -2
  392. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +2 -2
  393. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  394. package/dist/esm/internals/ReportBuilder/PivotList.js +3 -3
  395. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -1
  396. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  397. package/dist/esm/internals/ReportBuilder/PivotModal.js +11 -24
  398. package/dist/esm/lib/utils.js +2 -2
  399. package/dist/esm/models/Filter.d.ts +104 -4
  400. package/dist/esm/models/Filter.d.ts.map +1 -1
  401. package/dist/esm/models/Filter.js +90 -1
  402. package/dist/esm/models/Pagination.d.ts +10 -0
  403. package/dist/esm/models/Pagination.d.ts.map +1 -0
  404. package/dist/esm/models/Pagination.js +1 -0
  405. package/dist/esm/models/Report.d.ts +116 -0
  406. package/dist/esm/models/Report.d.ts.map +1 -0
  407. package/dist/esm/models/Report.js +1 -0
  408. package/dist/esm/utils/aggregate.js +1 -1
  409. package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
  410. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
  411. package/dist/esm/utils/astFilterProcessing.js +8049 -0
  412. package/dist/esm/utils/astFilterProcessing.uspec.d.ts +2 -0
  413. package/dist/esm/utils/astFilterProcessing.uspec.d.ts.map +1 -0
  414. package/dist/esm/utils/astFilterProcessing.uspec.js +2729 -0
  415. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  416. package/dist/esm/utils/astProcessing.js +4 -3
  417. package/dist/esm/utils/axisFormatter.js +0 -71
  418. package/dist/esm/utils/color.js +9 -87
  419. package/dist/esm/utils/csv.d.ts.map +1 -1
  420. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  421. package/dist/esm/utils/dashboard.js +3 -3
  422. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  423. package/dist/esm/utils/dataFetcher.js +63 -1
  424. package/dist/esm/utils/dataProcessing.d.ts +8 -0
  425. package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
  426. package/dist/esm/utils/dataProcessing.js +122 -0
  427. package/dist/esm/utils/dataProcessing.uspec.d.ts +2 -0
  428. package/dist/esm/utils/dataProcessing.uspec.d.ts.map +1 -0
  429. package/dist/esm/utils/dataProcessing.uspec.js +204 -0
  430. package/dist/esm/utils/dates.d.ts +1 -1
  431. package/dist/esm/utils/error.d.ts +5 -0
  432. package/dist/esm/utils/error.d.ts.map +1 -0
  433. package/dist/esm/utils/error.js +8 -0
  434. package/dist/esm/utils/filterConstants.d.ts +34 -0
  435. package/dist/esm/utils/filterConstants.d.ts.map +1 -0
  436. package/dist/esm/utils/filterConstants.js +33 -0
  437. package/dist/esm/utils/filterProcessing.js +4 -4
  438. package/dist/esm/utils/logging.d.ts.map +1 -1
  439. package/dist/esm/utils/logging.js +1 -0
  440. package/dist/esm/utils/merge.js +0 -21
  441. package/dist/esm/utils/{monacoAutocomplete.d.ts → monacoConfig.d.ts} +3 -2
  442. package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
  443. package/dist/esm/utils/monacoConfig.js +319 -0
  444. package/dist/esm/utils/paginationProcessing.d.ts +5 -0
  445. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
  446. package/dist/esm/utils/paginationProcessing.js +25 -0
  447. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  448. package/dist/esm/utils/pivotConstructor.js +9 -0
  449. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  450. package/dist/esm/utils/pivotProcessing.js +12 -6
  451. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  452. package/dist/esm/utils/queryConstructor.js +4 -3
  453. package/dist/esm/utils/queryConstructor.uspec.js +21 -21
  454. package/dist/esm/utils/report.d.ts +7 -0
  455. package/dist/esm/utils/report.d.ts.map +1 -0
  456. package/dist/esm/utils/report.ispec.d.ts +2 -0
  457. package/dist/esm/utils/report.ispec.d.ts.map +1 -0
  458. package/dist/esm/utils/report.ispec.js +46 -0
  459. package/dist/esm/utils/report.js +88 -0
  460. package/dist/esm/utils/schema.d.ts.map +1 -1
  461. package/dist/esm/utils/schema.js +35 -6
  462. package/dist/esm/utils/styles.d.ts +1 -1
  463. package/dist/esm/utils/styles.d.ts.map +1 -1
  464. package/dist/esm/utils/tableProcessing.d.ts +22 -8
  465. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  466. package/dist/esm/utils/tableProcessing.ispec.d.ts +2 -0
  467. package/dist/esm/utils/tableProcessing.ispec.d.ts.map +1 -0
  468. package/dist/esm/utils/tableProcessing.ispec.js +61 -0
  469. package/dist/esm/utils/tableProcessing.js +112 -33
  470. package/dist/esm/utils/textProcessing.js +3 -3
  471. package/dist/esm/utils/validation.d.ts +9 -0
  472. package/dist/esm/utils/validation.d.ts.map +1 -0
  473. package/dist/esm/utils/validation.js +20 -0
  474. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  475. package/dist/esm/utils/valueFormatter.js +8 -4
  476. package/package.json +1 -1
  477. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +0 -1
  478. package/dist/cjs/utils/monacoAutocomplete.js +0 -145
  479. package/dist/cjs/utils/queryConstructor.uspec.d.ts +0 -2
  480. package/dist/cjs/utils/queryConstructor.uspec.d.ts.map +0 -1
  481. package/dist/cjs/utils/queryConstructor.uspec.js +0 -225
  482. package/dist/esm/utils/monacoAutocomplete.d.ts.map +0 -1
  483. package/dist/esm/utils/monacoAutocomplete.js +0 -140
@@ -1,9 +1,8 @@
1
- import { ReactNode } from 'react';
1
+ import { ReactNode, ChangeEvent } from 'react';
2
2
  import { QuillTheme } from './QuillProvider';
3
3
  import { type QuillReport } from './Dashboard';
4
4
  import { Filter } from './models/Filter';
5
5
  import { MultiSelectComponentProps, SelectComponentProps } from './components/UiComponents';
6
- import { DateRangePickerComponentProps } from './DateRangePicker/QuillDateRangePicker';
7
6
  interface BaseChartProps {
8
7
  colors?: string[];
9
8
  containerStyle?: React.CSSProperties;
@@ -152,7 +151,24 @@ export interface ChartProps {
152
151
  /** A multi select component prop for the table filters */
153
152
  MultiSelectComponent?: (props: MultiSelectComponentProps) => JSX.Element;
154
153
  /** A date range picker component prop for the table filters */
155
- DateRangePickerComponent?: (props: DateRangePickerComponentProps) => JSX.Element;
154
+ DateRangePickerComponent?: ({ dateRange, label, presetOptions, preset, selectWidth, onChangeDateRange, onChangePreset, }: {
155
+ preset: string;
156
+ label?: string;
157
+ selectWidth?: number;
158
+ dateRange: {
159
+ startDate: Date;
160
+ endDate: Date;
161
+ };
162
+ presetOptions: {
163
+ label: string;
164
+ value: string;
165
+ }[];
166
+ onChangeDateRange: ({ startDate, endDate, }: {
167
+ startDate: Date;
168
+ endDate: Date;
169
+ }) => void;
170
+ onChangePreset: (event: ChangeEvent<HTMLSelectElement>) => void;
171
+ }) => JSX.Element;
156
172
  /** A filter container component component prop for the table filters */
157
173
  FilterContainerComponent?: ({ children, }: {
158
174
  children: ReactNode;
@@ -198,14 +214,12 @@ declare const Chart: (props: ChartProps) => import("react/jsx-runtime").JSX.Elem
198
214
  interface ChartDisplayProps extends WithConfig {
199
215
  loading: boolean;
200
216
  paginating?: boolean;
201
- error?: string;
202
- isComparison?: boolean;
217
+ ErrorComponent?: ({ errorMessage }: {
218
+ errorMessage: string;
219
+ }) => JSX.Element;
203
220
  colorMap?: ColorMapType;
204
221
  reportId?: string;
205
- onPageChange?: (page: {
206
- currentPage: number;
207
- rowsPerPage: number;
208
- }) => void;
222
+ onPageChange?: (page: number) => void;
209
223
  onSortChange?: (sort: {
210
224
  field: string;
211
225
  direction: string;
@@ -215,6 +229,6 @@ interface ChartDisplayProps extends WithConfig {
215
229
  overrideTheme?: QuillTheme;
216
230
  initialDateFilter?: any;
217
231
  }
218
- export declare const ChartDisplay: ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, isAnimationActive, loading, paginating, error, isComparison, colorMap, LoadingComponent, onPageChange, onSortChange, onClickChartElement, dateBucket, overrideTheme, initialDateFilter, }: ChartDisplayProps) => import("react/jsx-runtime").JSX.Element;
232
+ export declare const ChartDisplay: ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, isAnimationActive, loading, paginating, ErrorComponent, colorMap, LoadingComponent, onPageChange, onSortChange, onClickChartElement, dateBucket, overrideTheme, initialDateFilter, }: ChartDisplayProps) => import("react/jsx-runtime").JSX.Element;
219
233
  export default Chart;
220
234
  //# sourceMappingURL=Chart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAC;AAaf,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAS7C,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAMzC,OAAO,EACL,yBAAyB,EAEzB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAenC,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5C,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,mBAAmB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzC,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAC3C;AAqCD,UAAU,UAAW,SAAQ,cAAc;IACzC,MAAM,EAAE,WAAW,GAAG,GAAG,CAAC;CAC3B;AA0BD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WA+F5D;AAED,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,WAKlE;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAYF;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,GAAG,GAAG,CAAC;IAE3B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;OAEG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAEzC;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAE5C;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,KAAK,YAAY,CAAC;IAE7E;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAErC,oDAAoD;IACpD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IAE/D,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;IAEzE,+DAA+D;IAC/D,wBAAwB,CAAC,EAAE,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,MAAM,EACN,WAAW,EACX,iBAAiB,EACjB,cAAc,GACf,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE;YAAE,SAAS,EAAE,IAAI,CAAC;YAAC,OAAO,EAAE,IAAI,CAAA;SAAE,CAAC;QAC9C,aAAa,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;QAClD,iBAAiB,EAAE,CAAC,EAClB,SAAS,EACT,OAAO,GACR,EAAE;YACD,SAAS,EAAE,IAAI,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC;SACf,KAAK,IAAI,CAAC;QACX,cAAc,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;KACjE,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB,wEAAwE;IACxE,wBAAwB,CAAC,EAAE,CAAC,EAC1B,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,SAAS,CAAC;KACrB,KAAK,GAAG,CAAC,OAAO,CAAC;IAElB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAErC,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAE1C,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,KAAK,UAAW,UAAU,4CAmD/B,CAAC;AAmVF,UAAU,iBAAkB,SAAQ,UAAU;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAC7E,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACpE,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC;CACzB;AAED,eAAO,MAAM,YAAY,qcA4BtB,iBAAiB,4CAgenB,CAAC;AAWF,eAAe,KAAK,CAAC"}
package/dist/cjs/Chart.js CHANGED
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ChartDisplay = exports.didFiltersChange = exports.isEquivalent = void 0;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
- /* eslint-disable no-unused-vars */
9
8
  const react_1 = require("react");
10
9
  const useExport_1 = require("./hooks/useExport");
11
10
  const date_fns_1 = require("date-fns");
@@ -13,25 +12,23 @@ const BarList_1 = __importDefault(require("./components/Chart/BarList"));
13
12
  const PieChart_1 = __importDefault(require("./components/Chart/PieChart"));
14
13
  const Context_1 = require("./Context");
15
14
  const QuillTable_1 = __importDefault(require("./components/QuillTable"));
16
- const dataFetcher_1 = require("./utils/dataFetcher");
17
15
  const valueFormatter_1 = require("./utils/valueFormatter");
18
16
  const LineChart_1 = __importDefault(require("./components/Chart/LineChart"));
19
17
  const BarChart_1 = __importDefault(require("./components/Chart/BarChart"));
20
- const merge_1 = require("./utils/merge");
21
18
  const ChartSkeleton_1 = require("./components/Chart/ChartSkeleton");
22
19
  const ChartError_1 = __importDefault(require("./components/Chart/ChartError"));
23
20
  const dateRangePickerUtils_1 = require("./DateRangePicker/dateRangePickerUtils");
24
21
  const valueFormatter_2 = require("./utils/valueFormatter");
25
22
  const useTheme_1 = __importDefault(require("./hooks/useTheme"));
26
- const errorProcessing_1 = require("./utils/errorProcessing");
27
23
  const filterProcessing_1 = require("./utils/filterProcessing");
28
- const dashboard_1 = require("./utils/dashboard");
29
24
  const UiComponents_1 = require("./components/UiComponents");
30
25
  const DashboardFilter_1 = require("./components/Dashboard/DashboardFilter");
31
26
  const QuillSelect_1 = require("./components/QuillSelect");
32
27
  const QuillMultiSelect_1 = require("./components/QuillMultiSelect");
33
28
  const QuillDateRangePicker_1 = require("./DateRangePicker/QuillDateRangePicker");
34
- const constants_1 = require("./utils/constants");
29
+ const report_1 = require("./utils/report");
30
+ const paginationProcessing_1 = require("./utils/paginationProcessing");
31
+ const tableProcessing_1 = require("./utils/tableProcessing");
35
32
  const MAX_ROWS_FOR_GENERIC_TABLE = 500;
36
33
  // @ts-ignore
37
34
  function sumByKey(arr, key) {
@@ -126,7 +123,7 @@ function didFiltersChange(dashboardItem, filters) {
126
123
  return !isEquivalent(dashboardItem.filtersApplied, filters);
127
124
  }
128
125
  exports.didFiltersChange = didFiltersChange;
129
- function fallbackMapColorsToFields(_report, _theme) {
126
+ function fallbackMapColorsToFields() {
130
127
  // By default, if the key is not in the map we use the colors array.
131
128
  return {};
132
129
  }
@@ -152,10 +149,10 @@ function fallbackMapColorsToFields(_report, _theme) {
152
149
  */
153
150
  const Chart = (props) => {
154
151
  // Cast the props to the internal version so we can use the inherited types.
155
- let data = props;
152
+ const data = props;
156
153
  if ('config' in data) {
157
154
  const isLoading = Boolean(!data.config);
158
- return ((0, jsx_runtime_1.jsx)(exports.ChartDisplay, { ...data, error: isLoading || data.config?.rows ? undefined : 'No rows found', loading: isLoading, isComparison: Boolean(data?.config?.compareRows?.length), onClickChartElement: props.onClickChartElement }));
155
+ return ((0, jsx_runtime_1.jsx)(exports.ChartDisplay, { ...data, loading: isLoading, onClickChartElement: props.onClickChartElement }));
159
156
  }
160
157
  const theme = (0, useTheme_1.default)();
161
158
  const chartColors = (0, react_1.useMemo)(() => {
@@ -168,15 +165,14 @@ const Chart = (props) => {
168
165
  return ((0, jsx_runtime_1.jsx)(ChartUpdater, { reportId: data.reportId, className: data.className, containerStyle: data.containerStyle, colors: chartColors, isAnimationActive: data.isAnimationActive, hideXAxis: data.hideXAxis, hideYAxis: data.hideYAxis, hideCartesianGrid: data.hideCartesianGrid, hideHorizontalCartesianGrid: data.hideHorizontalCartesianGrid, hideVerticalCartesianGrid: data.hideVerticalCartesianGrid, hideSubsequentXAxisTicks: data.hideSubsequentXAxisTicks, hideDateRangeFilter: data.hideDateRangeFilter, cartesianGridLineStyle: data.cartesianGridLineStyle, cartesianGridLineColor: data.cartesianGridLineColor, comparisonLineStyle: data.comparisonLineStyle, mapColorsToFields: data.mapColorsToFields ?? fallbackMapColorsToFields, LoadingComponent: data.LoadingComponent, filters: data.filters, onClickChartElement: props.onClickChartElement, SelectComponent: data.SelectComponent, MultiSelectComponent: data.MultiSelectComponent, DateRangePickerComponent: data.DateRangePickerComponent, FilterContainerComponent: data.FilterContainerComponent, hideFilters: data.hideFilters }));
169
166
  };
170
167
  const ChartUpdater = ({ colors, reportId, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter = false, hideFilters = false, mapColorsToFields, LoadingComponent = ChartSkeleton_1.QuillLoadingSkeleton, SelectComponent = QuillSelect_1.QuillSelectComponent, MultiSelectComponent = QuillMultiSelect_1.QuillMultiSelectComponent, DateRangePickerComponent = QuillDateRangePicker_1.QuillDateRangePicker, FilterContainerComponent = UiComponents_1.QuillFilterContainerComponent, filters, onClickChartElement, }) => {
171
- const { dispatch, dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
168
+ const { dashboard } = (0, react_1.useContext)(Context_1.DashboardContext);
172
169
  const { reportFiltersDispatch, reportFilters } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
173
170
  const [initialLoad, setInitialLoad] = (0, react_1.useState)(true);
174
171
  const [loading, setLoading] = (0, react_1.useState)(true);
175
172
  const [paginating, setPaginating] = (0, react_1.useState)(false);
176
173
  const [error, setError] = (0, react_1.useState)(undefined);
177
- const [isComparison, setIsComparison] = (0, react_1.useState)(false);
178
174
  const [colorMap, setColorMap] = (0, react_1.useState)({});
179
- const [client, _] = (0, react_1.useContext)(Context_1.ClientContext);
175
+ const [client] = (0, react_1.useContext)(Context_1.ClientContext);
180
176
  const [customFields] = (0, react_1.useContext)(Context_1.CustomFieldContext);
181
177
  const [additionalProcessing, setAdditionProcessing] = (0, react_1.useState)({
182
178
  page: 0,
@@ -186,173 +182,121 @@ const ChartUpdater = ({ colors, reportId, className, containerStyle, isAnimation
186
182
  const [chartFilters, setChartFilters] = (0, react_1.useState)([]);
187
183
  const [previousPage, setPreviousPage] = (0, react_1.useState)(0);
188
184
  const [filterUpdateIndex, setFilterUpdateIndex] = (0, react_1.useState)(-1);
189
- const [useReport, setUseReport] = (0, react_1.useState)(true);
190
185
  const theme = (0, useTheme_1.default)();
191
186
  const onPageChange = (page) => {
192
- if ((previousPage < page.currentPage &&
193
- (page.currentPage * page.rowsPerPage) % constants_1.MAX_COLUMN_ROWS_LIMIT === 0) ||
194
- (previousPage > page.currentPage &&
195
- (previousPage * page.rowsPerPage) % constants_1.MAX_COLUMN_ROWS_LIMIT === 0)) {
196
- getChartDataPaginate({ page });
187
+ if (additionalProcessing.page &&
188
+ (0, paginationProcessing_1.shouldFetchMore)(paginationProcessing_1.DEFAULT_PAGINATION, page, previousPage)) {
189
+ const newPagination = { ...additionalProcessing.page, page };
190
+ const updatedProcessing = {
191
+ ...additionalProcessing,
192
+ page: newPagination,
193
+ };
194
+ setAdditionProcessing(updatedProcessing);
195
+ updateTableRows(updatedProcessing);
196
+ }
197
+ if (page > previousPage) {
198
+ setPreviousPage(page);
197
199
  }
198
- setPreviousPage(page.currentPage);
199
200
  };
200
201
  const onSortChange = (sort) => {
201
- getChartDataPaginate({ sort });
202
+ if (report &&
203
+ (0, paginationProcessing_1.shouldSortInMemory)(paginationProcessing_1.DEFAULT_PAGINATION, report.rowCount, !!report.pivot)) {
204
+ return;
205
+ }
206
+ const updatedProcessing = { page: paginationProcessing_1.DEFAULT_PAGINATION, sort };
207
+ fetchReportHelper(true, additionalProcessing);
208
+ updateTableRows(updatedProcessing, true);
202
209
  setPreviousPage(0);
203
210
  };
204
- const getChartDataPaginate = async (processing) => {
205
- setPaginating(true);
206
- try {
207
- let updatedProcessing = { ...additionalProcessing, ...processing };
208
- if (processing && processing.sort) {
209
- if (!updatedProcessing.page) {
210
- updatedProcessing.page = {};
211
+ const updateTableRows = async (processing, resetRows = false) => {
212
+ if (!loading && report) {
213
+ setPaginating(true);
214
+ try {
215
+ const updatedProcessing = { ...additionalProcessing, ...processing };
216
+ const paginatedRows = await (0, tableProcessing_1.fetchTableByReport)(reportId, client, updatedProcessing, filters, customFields);
217
+ if (paginatedRows.error) {
218
+ throw new Error('Error fetching chart');
211
219
  }
212
- updatedProcessing.page.currentPage = 0;
213
- }
214
- // Remove extra fields on each filter so we don't confuse the backend.
215
- const allowDateRange = !hideDateRangeFilter;
216
- const minimalFilters = Object.values(dashboard.filters).length
217
- ? Object.values(chartFilters)
218
- .filter((f) => allowDateRange || f.filterType !== 'date_range')
219
- .map((filter) => {
220
- const newFilter = { ...filter };
221
- if (newFilter.filterType === 'date_range') {
222
- delete newFilter['field'];
223
- delete newFilter['options'];
224
- delete newFilter['selectedValue'];
225
- }
226
- return newFilter;
227
- })
228
- : [];
229
- if (filters) {
230
- minimalFilters.push(...filters);
231
- }
232
- const hostedBody = {
233
- metadata: {
234
- dashboardItemId: reportId,
235
- orgId: client.customerId || '*',
236
- clientId: client.publicKey,
237
- task: 'item',
238
- databaseType: client.databaseType,
239
- filters: minimalFilters.filter((f) => f.dashboardName === dashboard[reportId].dashboardName),
240
- customFields,
241
- additionalProcessing: updatedProcessing,
242
- paginateTable: true,
243
- },
244
- };
245
- const cloudBody = {
246
- id: reportId,
247
- filters: minimalFilters.filter((f) => f.dashboardName === dashboard[reportId].dashboardName),
248
- };
249
- setError(undefined);
250
- const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'omit', hostedBody, cloudBody);
251
- (0, errorProcessing_1.processFilterErrorList)(resp);
252
- if (resp && resp.name !== 'error' && !resp.errorMessage) {
253
- setIsComparison(!!resp.compareRows?.length);
254
- if (resp.compareRows) {
255
- (0, merge_1.mergeComparisonRange)(resp);
256
- }
257
- const dashboardItem = {
258
- ...resp,
259
- filtersApplied: minimalFilters.filter((f) => f.dashboardName === dashboard[reportId].dashboardName),
260
- };
261
- const cleanedReport = await (0, dashboard_1.cleanDashboardItem)(dashboardItem, filters, client);
262
- setReport(cleanedReport);
263
- if (mapColorsToFields) {
264
- setColorMap(mapColorsToFields(cleanedReport, theme));
220
+ let tempRows = [...report.rows, ...paginatedRows.rows];
221
+ if (resetRows) {
222
+ tempRows = paginatedRows.rows;
265
223
  }
224
+ setReport({ ...report, rows: tempRows });
225
+ setTimeout(() => {
226
+ setPaginating(false);
227
+ }, 200);
266
228
  }
267
- else {
268
- setError(resp?.errorMessage);
269
- }
270
- setAdditionProcessing(updatedProcessing);
271
- setTimeout(() => {
229
+ catch (e) {
230
+ console.log(e);
272
231
  setPaginating(false);
273
- }, 200);
274
- }
275
- catch (e) {
276
- console.log('Error fetching chart: ', e);
277
- setPaginating(false);
232
+ }
278
233
  }
279
234
  };
280
- const getChartData = async (useReportTask = true, reportFilterInfo) => {
281
- try {
282
- if (filterUpdateIndex === reportFilterInfo.updateIndex) {
283
- return;
284
- }
285
- const filters = reportFilterInfo.filters;
286
- setLoading(true);
287
- const hostedBody = {
288
- metadata: {
289
- reportId,
290
- dashboardItemId: reportId,
291
- orgId: client.customerId || '*',
292
- clientId: client.publicKey,
293
- task: useReportTask ? 'report' : 'item',
294
- getDefaultDashboardFilters: filters ? false : true,
295
- databaseType: client?.databaseType,
296
- customFields,
297
- filters,
298
- },
299
- };
300
- const cloudBody = {
301
- id: reportId,
302
- };
303
- const resp = await (0, dataFetcher_1.getData)(client, 'itempost', 'same-origin', hostedBody, cloudBody);
304
- (0, errorProcessing_1.processFilterErrorList)(resp);
305
- if (resp && resp.name !== 'error' && !resp.errorMessage) {
306
- setIsComparison(!!resp.compareRows?.length);
307
- if (resp.compareRows) {
308
- (0, merge_1.mergeComparisonRange)(resp);
309
- }
310
- const cleanedReport = await (0, dashboard_1.cleanDashboardItem)(resp, filters ? filters : resp.filters, client);
311
- if (cleanedReport.chartType === 'table' && cleanedReport.pivot) {
312
- cleanedReport.columns = cleanedReport.yAxisFields;
313
- }
314
- setReport(cleanedReport);
315
- let filterArray = filters;
316
- // THIS SHOULD ONLY BE UNDEFINED ON INITIAL LOAD
317
- if (!filterArray) {
318
- filterArray = resp.filters
319
- ? resp.filters.map((filter) => {
320
- return (0, filterProcessing_1.processFilterFromBackend)(filter, resp.rows);
321
- })
322
- : [];
323
- reportFiltersDispatch({
324
- type: 'UPDATE_REPORT_FILTER',
325
- id: reportId,
326
- data: {
327
- filters: filterArray,
328
- updateIndex: reportFilterInfo.updateIndex,
329
- },
330
- });
331
- }
332
- const dateFilter = filterArray.find((filter) => {
333
- return filter.filterType === 'date_range';
334
- });
335
- setFilterUpdateIndex(reportFilterInfo.updateIndex);
336
- setDateFilter(dateFilter);
337
- setChartFilters(filterArray);
338
- if (mapColorsToFields) {
339
- setColorMap(mapColorsToFields(resp, theme));
235
+ const fetchReportHelper = async (useReportTask = true, reportFilterInfo, processing) => {
236
+ const allowDateRange = !hideDateRangeFilter;
237
+ const minimalFilters = Object.values(reportFilterInfo.filters).length
238
+ ? Object.values(reportFilterInfo.filters)
239
+ .filter((f) => allowDateRange || f.filterType !== 'date_range')
240
+ .map((filter) => {
241
+ const newFilter = { ...filter };
242
+ if (newFilter.filterType === 'date_range') {
243
+ delete newFilter['field'];
244
+ delete newFilter['options'];
245
+ delete newFilter['selectedValue'];
340
246
  }
341
- }
342
- else {
343
- setError(resp?.errorMessage);
344
- }
247
+ return newFilter;
248
+ })
249
+ : [];
250
+ if (!didFiltersChange(dashboard[reportId], minimalFilters) &&
251
+ !loading &&
252
+ !dashboard[reportId].triggerReload &&
253
+ !processing) {
345
254
  setLoading(false);
255
+ setReport(dashboard[reportId]);
256
+ return;
346
257
  }
347
- catch (e) {
348
- if (useReportTask) {
349
- getChartData(false, reportFilterInfo);
350
- }
351
- else {
352
- console.log('Error fetching chart: ', e);
353
- setLoading(false);
354
- }
258
+ setLoading(true);
259
+ const { report, error } = await (0, report_1.fetchReport)(reportId, client, useReportTask, minimalFilters, processing, undefined, customFields);
260
+ if (error) {
261
+ setError(error);
262
+ setLoading(false);
263
+ return;
264
+ }
265
+ setReport(report);
266
+ if (mapColorsToFields && report) {
267
+ setColorMap(mapColorsToFields(report, theme));
268
+ }
269
+ let filterArray = filters;
270
+ // THIS SHOULD ONLY BE UNDEFINED ON INITIAL LOAD
271
+ if (!filterArray) {
272
+ filterArray = report.filtersApplied
273
+ ? report.filtersApplied.map((filter) => {
274
+ return (0, filterProcessing_1.processFilterFromBackend)(filter, report.rows);
275
+ })
276
+ : [];
277
+ reportFiltersDispatch({
278
+ type: 'UPDATE_REPORT_FILTER',
279
+ id: reportId,
280
+ data: {
281
+ filters: filterArray,
282
+ updateIndex: reportFilterInfo.updateIndex,
283
+ },
284
+ });
285
+ }
286
+ const dateFilter = filterArray &&
287
+ filterArray.find((filter) => {
288
+ return filter.filterType === 'date_range';
289
+ });
290
+ setFilterUpdateIndex(reportFilterInfo.updateIndex);
291
+ setDateFilter(dateFilter);
292
+ setChartFilters(filterArray || []);
293
+ if (mapColorsToFields) {
294
+ setColorMap(mapColorsToFields(report, theme));
355
295
  }
296
+ setFilterUpdateIndex(reportFilterInfo.updateIndex);
297
+ setAdditionProcessing(processing);
298
+ setError(error);
299
+ setLoading(false);
356
300
  };
357
301
  (0, react_1.useEffect)(() => {
358
302
  if (!client) {
@@ -364,10 +308,13 @@ const ChartUpdater = ({ colors, reportId, className, containerStyle, isAnimation
364
308
  return;
365
309
  }
366
310
  setInitialLoad(false);
367
- let parsedReportFilters = reportFilters[reportId]
311
+ const parsedReportFilters = reportFilters[reportId]
368
312
  ? reportFilters[reportId]
369
- : { updateIndex: 0 };
370
- getChartData(true, parsedReportFilters);
313
+ : { updateIndex: 0, filters: [] };
314
+ if (filterUpdateIndex === parsedReportFilters.updateIndex) {
315
+ return;
316
+ }
317
+ fetchReportHelper(true, reportFilters[reportId] || { filters: [] }, additionalProcessing);
371
318
  }, [client, reportId, reportFilters[reportId]?.updateIndex]);
372
319
  (0, react_1.useEffect)(() => {
373
320
  if (!dashboard || !dashboard[reportId]) {
@@ -376,12 +323,24 @@ const ChartUpdater = ({ colors, reportId, className, containerStyle, isAnimation
376
323
  setInitialLoad(false);
377
324
  setLoading(false);
378
325
  setReport(dashboard[reportId]);
379
- setChartFilters(dashboard[reportId].filtersApplied);
380
- const dateFilter = dashboard[reportId].filtersApplied.find((filter) => {
381
- return filter.filterType === 'date_range';
382
- });
326
+ let dateFilter = undefined;
327
+ let filtersApplied = [];
328
+ if (dashboard[reportId].filtersApplied &&
329
+ dashboard[reportId].filtersApplied.length > 0) {
330
+ filtersApplied = dashboard[reportId].filtersApplied;
331
+ dateFilter = dashboard[reportId].filtersApplied.find((filter) => {
332
+ return filter.filterType === 'date_range';
333
+ });
334
+ }
335
+ setChartFilters(filtersApplied);
383
336
  setDateFilter(dateFilter);
337
+ if (dashboard[reportId].error) {
338
+ setError(dashboard[reportId].error);
339
+ }
384
340
  }, []);
341
+ if (error) {
342
+ return ((0, jsx_runtime_1.jsx)("div", { style: containerStyle, className: className, children: (0, jsx_runtime_1.jsx)(ChartError_1.default, { errorMessage: error }) }));
343
+ }
385
344
  return ((0, jsx_runtime_1.jsxs)("div", { children: [!hideFilters && ((0, jsx_runtime_1.jsx)("div", { style: {
386
345
  display: 'flex',
387
346
  boxSizing: 'content-box',
@@ -397,10 +356,10 @@ const ChartUpdater = ({ colors, reportId, className, containerStyle, isAnimation
397
356
  return f;
398
357
  });
399
358
  setChartFilters(updatedFilters);
400
- getChartData(true, {
359
+ fetchReportHelper(true, {
401
360
  filters: updatedFilters,
402
361
  updateIndex: filterUpdateIndex + 1,
403
- });
362
+ }, additionalProcessing);
404
363
  reportFiltersDispatch({
405
364
  type: 'UPDATE_REPORT_FILTER',
406
365
  id: reportId,
@@ -409,9 +368,9 @@ const ChartUpdater = ({ colors, reportId, className, containerStyle, isAnimation
409
368
  updateIndex: filterUpdateIndex + 1,
410
369
  },
411
370
  });
412
- }, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) }) })), (0, jsx_runtime_1.jsx)(exports.ChartDisplay, { config: report, reportId: reportId, colors: colors, className: className, containerStyle: containerStyle, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, isComparison: isComparison, loading: loading || initialLoad, paginating: paginating, error: error, colorMap: colorMap, LoadingComponent: LoadingComponent, onPageChange: onPageChange, onSortChange: onSortChange, onClickChartElement: onClickChartElement, initialDateFilter: dateFilter })] }));
371
+ }, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) }) })), (0, jsx_runtime_1.jsx)(exports.ChartDisplay, { config: report, reportId: reportId, colors: colors, className: className, containerStyle: containerStyle, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: loading || initialLoad, paginating: paginating, colorMap: colorMap, LoadingComponent: LoadingComponent, onPageChange: onPageChange, onSortChange: onSortChange, onClickChartElement: onClickChartElement, initialDateFilter: dateFilter })] }));
413
372
  };
414
- const ChartDisplay = ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter = false, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, isAnimationActive, loading = false, paginating = false, error = undefined, isComparison = false, colorMap, LoadingComponent = ChartSkeleton_1.QuillLoadingSkeleton, onPageChange, onSortChange, onClickChartElement, dateBucket, overrideTheme, initialDateFilter, }) => {
373
+ const ChartDisplay = ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter = false, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, isAnimationActive, loading = false, paginating = false, ErrorComponent = ChartError_1.default, colorMap, LoadingComponent = ChartSkeleton_1.QuillLoadingSkeleton, onPageChange, onSortChange, onClickChartElement, dateBucket, overrideTheme, initialDateFilter, }) => {
415
374
  const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
416
375
  const specificDashboardFilter = (0, react_1.useMemo)(() => {
417
376
  if (!dashboardFilters) {
@@ -468,11 +427,15 @@ const ChartDisplay = ({ reportId, config, colors, className, containerStyle, hid
468
427
  label: `comparison ${field.label ?? field.field}`,
469
428
  };
470
429
  });
471
- return (config?.pivotColumns ?? [
472
- ...config?.yAxisFields,
473
- ...comparisonYAxisFields,
474
- ] ??
475
- []);
430
+ if (config?.pivotColumns) {
431
+ return config.pivotColumns;
432
+ }
433
+ else if (comparisonYAxisFields || config.yAxisFields) {
434
+ const yAxisFields = config.yAxisFields ?? [];
435
+ const compYAxisFields = comparisonYAxisFields ?? [];
436
+ return [...yAxisFields, ...compYAxisFields];
437
+ }
438
+ return [];
476
439
  }
477
440
  return config?.pivotColumns ?? config?.yAxisFields ?? [];
478
441
  }
@@ -482,16 +445,13 @@ const ChartDisplay = ({ reportId, config, colors, className, containerStyle, hid
482
445
  setYAxisFields(getYAxisFields(initialDateFilter ?? getDateFilter()));
483
446
  setDateFilter(initialDateFilter ?? getDateFilter());
484
447
  }, [config, specificDashboardFilter, initialDateFilter]);
485
- if (error) {
486
- return (0, jsx_runtime_1.jsx)(ChartError_1.default, { className: className, containerStyle: containerStyle });
487
- }
488
- else if (config &&
448
+ if (config &&
489
449
  !config.pivot &&
490
450
  config?.chartType !== 'metric' &&
491
451
  config?.chartType !== 'table' &&
492
452
  (config.rowCount > MAX_ROWS_FOR_GENERIC_TABLE ||
493
453
  (rows && rows.length > MAX_ROWS_FOR_GENERIC_TABLE))) {
494
- return ((0, jsx_runtime_1.jsx)(ChartError_1.default, { className: className, containerStyle: containerStyle, label: `Charts can only display ${MAX_ROWS_FOR_GENERIC_TABLE} rows. Please add a pivot or modify the query.` }));
454
+ return ((0, jsx_runtime_1.jsx)("div", { style: containerStyle, className: className, children: (0, jsx_runtime_1.jsx)(ErrorComponent, { errorMessage: `Charts can only display ${MAX_ROWS_FOR_GENERIC_TABLE} rows. Please add a pivot or modify the query.` }) }));
495
455
  }
496
456
  else if (!config || loading) {
497
457
  return ((0, jsx_runtime_1.jsx)("div", { className: className, style: containerStyle, children: (0, jsx_runtime_1.jsx)(LoadingComponent, {}) }));
@@ -1,7 +1,7 @@
1
- import React, { ReactNode } from 'react';
1
+ import React, { ReactNode, CSSProperties } from 'react';
2
2
  import { Column, ColumnInternal } from './models/Columns';
3
3
  import { QuillReport } from './Dashboard';
4
- interface ChartBuilderData {
4
+ export interface ChartBuilderData {
5
5
  name: string;
6
6
  dashboardName?: string;
7
7
  columns: Column[];
@@ -135,10 +135,7 @@ export interface ChartBuilderProps {
135
135
  label: string;
136
136
  }[];
137
137
  isLoading?: boolean;
138
- onPageChange?: (page: {
139
- currentPage: number;
140
- rowsPerPage: number;
141
- }) => void;
138
+ onPageChange?: (page: number) => void;
142
139
  onSortChange?: (sort: {
143
140
  field: string;
144
141
  direction: string;
@@ -150,6 +147,7 @@ export interface ChartBuilderProps {
150
147
  */
151
148
  ErrorMessageComponent?: (props: {
152
149
  errorMessage: string;
150
+ containerStyle?: CSSProperties;
153
151
  }) => JSX.Element;
154
152
  /**
155
153
  * A loading component to show in the pivot modal while suggestions load.
@@ -185,6 +183,16 @@ export interface ChartBuilderProps {
185
183
  FormContainer?: (props: {
186
184
  children: ReactNode;
187
185
  }) => JSX.Element;
186
+ /**
187
+ * A component that displays when the chart errors.
188
+ */
189
+ ErrorComponent?: (props: {
190
+ className?: string;
191
+ containerStyle?: React.CSSProperties;
192
+ label?: string;
193
+ onClick?: (element: any) => void;
194
+ ButtonComponent?: React.ComponentType<any>;
195
+ }) => JSX.Element;
188
196
  /** The rows of the query response for this query. */
189
197
  rows: {
190
198
  [key: string]: any;
@@ -280,10 +288,7 @@ export interface ChartBuilderProps {
280
288
  /** Whether the PivotModal's AI features are enabled. */
281
289
  pivotRecommendationsEnabled?: boolean;
282
290
  /** A callback function used or when the table page is changed */
283
- onPageChange?: (page: {
284
- currentPage: number;
285
- rowsPerPage: number;
286
- }) => void;
291
+ onPageChange?: (page: number) => void;
287
292
  /** A callback function used or when the table sort is changed */
288
293
  onSortChange?: (sort: {
289
294
  field: string;
@@ -295,6 +300,8 @@ export interface ChartBuilderProps {
295
300
  isLoading?: boolean;
296
301
  /** A callback function triggered when a chart element is clicked */
297
302
  onClickChartElement?: (data: any) => void;
303
+ /** A callback when clicking the chart error component */
304
+ onClickChartError?: ((element: any) => void) | undefined;
298
305
  /** Used to generate a comparison pivot or not */
299
306
  isComparison?: boolean;
300
307
  }
@@ -346,7 +353,7 @@ export declare function ChartBuilderWithModal(props: ChartBuilderProps): import(
346
353
  * ### Chart Builder API
347
354
  * @see https://docs.quillsql.com/components/chart-builder
348
355
  */
349
- export default function ChartBuilder({ TextInputComponent, SelectComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, DeleteButtonComponent, TextComponent, PopoverComponent, CardComponent, TableComponent, ModalComponent, LoadingComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, FormContainer, isOpen, isHorizontalView, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange: dr, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, showDashboardDropdown, onAddToDashboardComplete, onDelete, report, recommendedPivots: rp, createdPivots: cp, destinationDashboard, dateColumn, buttonLabel, organizationName, pivotData, hideDeleteButton, hideSubmitButton, hideDateRangeFilter, initialUniqueValues, pivotRecommendationsEnabled, onSortChange, onPageChange, rowCount, isLoading, isComparison, onClickChartElement, }: ChartBuilderProps): import("react/jsx-runtime").JSX.Element | null;
356
+ export default function ChartBuilder({ TextInputComponent, SelectComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, DeleteButtonComponent, TextComponent, PopoverComponent, CardComponent, TableComponent, ModalComponent, LoadingComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, FormContainer, ErrorComponent, onClickChartError, isOpen, isHorizontalView, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange: dr, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, showDashboardDropdown, onAddToDashboardComplete, onDelete, report, recommendedPivots: rp, createdPivots: cp, destinationDashboard, dateColumn, buttonLabel, organizationName, pivotData, hideDeleteButton, hideSubmitButton, hideDateRangeFilter, initialUniqueValues, pivotRecommendationsEnabled, onSortChange, onPageChange, rowCount, isLoading, isComparison, onClickChartElement, }: ChartBuilderProps): import("react/jsx-runtime").JSX.Element | null;
350
357
  export declare function DashboardFilterModal({ isOpen, setIsOpen, issues, ModalComponent, ButtonComponent, }: {
351
358
  isOpen: boolean;
352
359
  setIsOpen: (e: boolean) => void;
@@ -366,5 +373,4 @@ export declare function DashboardFilterModal({ isOpen, setIsOpen, issues, ModalC
366
373
  height?: number;
367
374
  }) => JSX.Element;
368
375
  }): import("react/jsx-runtime").JSX.Element | null;
369
- export {};
370
376
  //# sourceMappingURL=ChartBuilder.d.ts.map