@quillsql/react 2.13.7 → 2.13.9

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 (368) hide show
  1. package/dist/cjs/Chart.d.ts +5 -5
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +19 -8
  4. package/dist/cjs/ChartBuilder.d.ts +1 -1
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +58 -93
  7. package/dist/cjs/ChartEditor.js +1 -1
  8. package/dist/cjs/Context.d.ts +9 -8
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +119 -34
  11. package/dist/cjs/Dashboard.d.ts +20 -8
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +68 -58
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -2
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  16. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +1 -2
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +20 -20
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  19. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +64 -52
  20. package/dist/cjs/ReportBuilder.d.ts +2 -1
  21. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  22. package/dist/cjs/ReportBuilder.js +339 -339
  23. package/dist/cjs/SQLEditor.d.ts +1 -1
  24. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  25. package/dist/cjs/SQLEditor.js +30 -18
  26. package/dist/cjs/components/Banner/index.d.ts +0 -1
  27. package/dist/cjs/components/Banner/index.d.ts.map +1 -1
  28. package/dist/cjs/components/Banner/index.js +1 -1
  29. package/dist/cjs/components/Chart/BarChart.d.ts +0 -1
  30. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/BarChart.js +1 -1
  32. package/dist/cjs/components/Chart/BarList.js +1 -2
  33. package/dist/cjs/components/Chart/ChartError.js +2 -3
  34. package/dist/cjs/components/Chart/ChartSkeleton.js +1 -1
  35. package/dist/cjs/components/Chart/ChartTooltip.js +1 -1
  36. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts +0 -1
  37. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
  38. package/dist/cjs/components/Chart/ChartTooltipFrame.js +1 -1
  39. package/dist/cjs/components/Chart/ChartTooltipGroup.js +1 -1
  40. package/dist/cjs/components/Chart/ChartTooltipRow.js +1 -1
  41. package/dist/cjs/components/Chart/LineChart.d.ts +0 -1
  42. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  43. package/dist/cjs/components/Chart/LineChart.js +1 -1
  44. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  45. package/dist/cjs/components/Chart/PieChart.js +18 -9
  46. package/dist/cjs/components/Dashboard/ChartComponent.d.ts +0 -1
  47. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -1
  49. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +10 -2
  50. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  51. package/dist/cjs/components/Dashboard/DashboardFilter.js +9 -23
  52. package/dist/cjs/components/Dashboard/DashboardSection.d.ts +0 -1
  53. package/dist/cjs/components/Dashboard/DashboardSection.d.ts.map +1 -1
  54. package/dist/cjs/components/Dashboard/DashboardSection.js +1 -1
  55. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts +0 -1
  56. package/dist/cjs/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
  57. package/dist/cjs/components/Dashboard/DashboardSectionContainer.js +1 -1
  58. package/dist/cjs/components/Dashboard/DashboardTemplate.js +1 -1
  59. package/dist/cjs/components/Dashboard/DataLoader.d.ts +9 -7
  60. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  61. package/dist/cjs/components/Dashboard/DataLoader.js +104 -61
  62. package/dist/cjs/components/Dashboard/MetricComponent.d.ts +0 -1
  63. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  64. package/dist/cjs/components/Dashboard/MetricComponent.js +3 -3
  65. package/dist/cjs/components/Dashboard/TableComponent.d.ts +0 -1
  66. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  67. package/dist/cjs/components/Dashboard/TableComponent.js +1 -1
  68. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +0 -1
  69. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +1 -1
  70. package/dist/cjs/components/Dashboard/TemplateChartComponent.js +1 -1
  71. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +0 -1
  72. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -1
  73. package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +1 -1
  74. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +0 -1
  75. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +1 -1
  76. package/dist/cjs/components/Dashboard/TemplateTableComponent.js +1 -1
  77. package/dist/cjs/components/Dashboard/util.js +2 -3
  78. package/dist/cjs/components/QuillCard.js +1 -2
  79. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  80. package/dist/cjs/components/QuillMultiSelect.js +21 -20
  81. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  82. package/dist/cjs/components/QuillMultiSelectWithCombo.js +172 -70
  83. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  84. package/dist/cjs/components/QuillSelect.js +9 -8
  85. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  86. package/dist/cjs/components/QuillSelectWithCombo.js +26 -12
  87. package/dist/cjs/components/QuillTable.d.ts +5 -1
  88. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  89. package/dist/cjs/components/QuillTable.js +5 -3
  90. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +1 -1
  91. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -3
  92. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  93. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +5 -6
  94. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  95. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +3 -4
  96. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  97. package/dist/cjs/components/ReportBuilder/FilterModal.js +45 -39
  98. package/dist/cjs/components/ReportBuilder/FilterStack.js +1 -1
  99. package/dist/cjs/components/ReportBuilder/ast.d.ts.map +1 -1
  100. package/dist/cjs/components/ReportBuilder/ast.js +2 -2
  101. package/dist/cjs/components/ReportBuilder/convert.js +11 -12
  102. package/dist/cjs/components/ReportBuilder/postgres.js +4 -4
  103. package/dist/cjs/components/ReportBuilder/ui.d.ts +3 -3
  104. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  105. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  106. package/dist/cjs/components/ReportBuilder/util.js +21 -23
  107. package/dist/cjs/components/UiComponents.d.ts +14 -12
  108. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  109. package/dist/cjs/components/UiComponents.js +41 -17
  110. package/dist/cjs/components/selectUtils.js +3 -3
  111. package/dist/cjs/contexts/BaseColorContext.d.ts +0 -1
  112. package/dist/cjs/contexts/BaseColorContext.d.ts.map +1 -1
  113. package/dist/cjs/contexts/RootStylesContext.d.ts +0 -1
  114. package/dist/cjs/contexts/RootStylesContext.d.ts.map +1 -1
  115. package/dist/cjs/contexts/SelectedValueContext.d.ts +0 -1
  116. package/dist/cjs/contexts/SelectedValueContext.d.ts.map +1 -1
  117. package/dist/cjs/hooks/useAskQuill.d.ts +2 -2
  118. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  119. package/dist/cjs/hooks/useAskQuill.js +11 -11
  120. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  121. package/dist/cjs/hooks/useDashboard.d.ts +8 -7
  122. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  123. package/dist/cjs/hooks/useDashboard.js +47 -31
  124. package/dist/cjs/hooks/useExport.d.ts +3 -4
  125. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  126. package/dist/cjs/hooks/useExport.js +6 -2
  127. package/dist/cjs/hooks/useInternalState.d.ts +1 -2
  128. package/dist/cjs/hooks/useInternalState.d.ts.map +1 -1
  129. package/dist/cjs/hooks/useOnClickOutside.d.ts +3 -1
  130. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  131. package/dist/cjs/hooks/useQuill.d.ts +0 -14
  132. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  133. package/dist/cjs/hooks/useQuill.js +17 -55
  134. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  135. package/dist/cjs/index.d.ts +2 -1
  136. package/dist/cjs/index.d.ts.map +1 -1
  137. package/dist/cjs/index.js +7 -2
  138. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +4 -1
  139. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  140. package/dist/cjs/internals/ReportBuilder/PivotForm.js +32 -7
  141. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +17 -13
  142. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  143. package/dist/cjs/internals/ReportBuilder/PivotModal.js +368 -162
  144. package/dist/cjs/lib/utils.d.ts +0 -1
  145. package/dist/cjs/lib/utils.d.ts.map +1 -1
  146. package/dist/cjs/lib/utils.js +2 -2
  147. package/dist/cjs/models/Filter.d.ts +49 -30
  148. package/dist/cjs/models/Filter.d.ts.map +1 -1
  149. package/dist/cjs/models/Filter.js +125 -52
  150. package/dist/cjs/models/Pivot.d.ts +3 -1
  151. package/dist/cjs/models/Pivot.d.ts.map +1 -1
  152. package/dist/cjs/models/Report.d.ts +2 -2
  153. package/dist/cjs/models/Report.d.ts.map +1 -1
  154. package/dist/cjs/utils/astFilterProcessing.d.ts +4 -4
  155. package/dist/cjs/utils/astFilterProcessing.d.ts.map +1 -1
  156. package/dist/cjs/utils/astFilterProcessing.js +3839 -3427
  157. package/dist/cjs/utils/astProcessing.d.ts +12 -3
  158. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  159. package/dist/cjs/utils/astProcessing.js +76 -11
  160. package/dist/cjs/utils/client.js +2 -2
  161. package/dist/cjs/utils/color.js +5 -6
  162. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  163. package/dist/cjs/utils/columnProcessing.js +7 -7
  164. package/dist/cjs/utils/crypto.js +1 -2
  165. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  166. package/dist/cjs/utils/dashboard.js +34 -30
  167. package/dist/cjs/utils/dataFetcher.js +3 -4
  168. package/dist/cjs/utils/dataProcessing.js +2 -2
  169. package/dist/cjs/utils/dates.d.ts +4 -1
  170. package/dist/cjs/utils/dates.d.ts.map +1 -1
  171. package/dist/cjs/utils/dates.js +12 -10
  172. package/dist/cjs/utils/errorProcessing.js +1 -2
  173. package/dist/cjs/utils/filterProcessing.d.ts +3 -3
  174. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  175. package/dist/cjs/utils/filterProcessing.js +30 -27
  176. package/dist/cjs/utils/getDomain.js +1 -1
  177. package/dist/cjs/utils/logging.js +1 -2
  178. package/dist/cjs/utils/merge.d.ts +1 -1
  179. package/dist/cjs/utils/merge.d.ts.map +1 -1
  180. package/dist/cjs/utils/merge.js +15 -11
  181. package/dist/cjs/utils/monacoConfig.js +3 -3
  182. package/dist/cjs/utils/paginationProcessing.js +3 -3
  183. package/dist/cjs/utils/pivotConstructor.d.ts +4 -4
  184. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  185. package/dist/cjs/utils/pivotConstructor.js +104 -127
  186. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  187. package/dist/cjs/utils/pivotProcessing.js +14 -16
  188. package/dist/cjs/utils/queryConstructor.d.ts +2 -2
  189. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  190. package/dist/cjs/utils/queryConstructor.js +344 -78
  191. package/dist/cjs/utils/report.d.ts.map +1 -1
  192. package/dist/cjs/utils/report.js +22 -12
  193. package/dist/cjs/utils/schema.d.ts.map +1 -1
  194. package/dist/cjs/utils/styles.js +1 -2
  195. package/dist/cjs/utils/tableProcessing.d.ts +12 -12
  196. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  197. package/dist/cjs/utils/tableProcessing.js +69 -26
  198. package/dist/cjs/utils/textProcessing.js +5 -6
  199. package/dist/cjs/utils/validation.d.ts.map +1 -1
  200. package/dist/cjs/utils/validation.js +3 -1
  201. package/dist/cjs/utils/valueFormatter.d.ts +1 -0
  202. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  203. package/dist/cjs/utils/valueFormatter.js +2 -0
  204. package/dist/cjs/utils/width.d.ts.map +1 -1
  205. package/dist/esm/Chart.d.ts +5 -5
  206. package/dist/esm/Chart.d.ts.map +1 -1
  207. package/dist/esm/Chart.js +15 -4
  208. package/dist/esm/ChartBuilder.d.ts +1 -1
  209. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  210. package/dist/esm/ChartBuilder.js +52 -87
  211. package/dist/esm/Context.d.ts +9 -8
  212. package/dist/esm/Context.d.ts.map +1 -1
  213. package/dist/esm/Context.js +119 -34
  214. package/dist/esm/Dashboard.d.ts +20 -8
  215. package/dist/esm/Dashboard.d.ts.map +1 -1
  216. package/dist/esm/Dashboard.js +68 -58
  217. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -2
  218. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  219. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +20 -20
  220. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  221. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +64 -52
  222. package/dist/esm/ReportBuilder.d.ts +2 -1
  223. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  224. package/dist/esm/ReportBuilder.js +343 -343
  225. package/dist/esm/SQLEditor.d.ts +1 -1
  226. package/dist/esm/SQLEditor.d.ts.map +1 -1
  227. package/dist/esm/SQLEditor.js +29 -17
  228. package/dist/esm/components/Banner/index.d.ts +0 -1
  229. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  230. package/dist/esm/components/Chart/BarChart.d.ts +0 -1
  231. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  232. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +0 -1
  233. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -1
  234. package/dist/esm/components/Chart/LineChart.d.ts +0 -1
  235. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  236. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  237. package/dist/esm/components/Chart/PieChart.js +18 -9
  238. package/dist/esm/components/Dashboard/ChartComponent.d.ts +0 -1
  239. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  240. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +10 -2
  241. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  242. package/dist/esm/components/Dashboard/DashboardFilter.js +8 -21
  243. package/dist/esm/components/Dashboard/DashboardSection.d.ts +0 -1
  244. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -1
  245. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +0 -1
  246. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -1
  247. package/dist/esm/components/Dashboard/DataLoader.d.ts +9 -7
  248. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  249. package/dist/esm/components/Dashboard/DataLoader.js +102 -62
  250. package/dist/esm/components/Dashboard/MetricComponent.d.ts +0 -1
  251. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  252. package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
  253. package/dist/esm/components/Dashboard/TableComponent.d.ts +0 -1
  254. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  255. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +0 -1
  256. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +1 -1
  257. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +0 -1
  258. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -1
  259. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +0 -1
  260. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +1 -1
  261. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  262. package/dist/esm/components/QuillMultiSelect.js +19 -18
  263. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  264. package/dist/esm/components/QuillMultiSelectWithCombo.js +171 -69
  265. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  266. package/dist/esm/components/QuillSelect.js +8 -6
  267. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  268. package/dist/esm/components/QuillSelectWithCombo.js +25 -10
  269. package/dist/esm/components/QuillTable.d.ts +5 -1
  270. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  271. package/dist/esm/components/QuillTable.js +4 -2
  272. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -3
  273. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  274. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +5 -6
  275. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  276. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +3 -4
  277. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  278. package/dist/esm/components/ReportBuilder/FilterModal.js +46 -40
  279. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -1
  280. package/dist/esm/components/ReportBuilder/ui.d.ts +3 -3
  281. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  282. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  283. package/dist/esm/components/ReportBuilder/util.js +0 -2
  284. package/dist/esm/components/UiComponents.d.ts +14 -12
  285. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  286. package/dist/esm/components/UiComponents.js +37 -14
  287. package/dist/esm/contexts/BaseColorContext.d.ts +0 -1
  288. package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -1
  289. package/dist/esm/contexts/RootStylesContext.d.ts +0 -1
  290. package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -1
  291. package/dist/esm/contexts/SelectedValueContext.d.ts +0 -1
  292. package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -1
  293. package/dist/esm/hooks/useAskQuill.d.ts +2 -2
  294. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  295. package/dist/esm/hooks/useAskQuill.js +12 -12
  296. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  297. package/dist/esm/hooks/useDashboard.d.ts +8 -7
  298. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  299. package/dist/esm/hooks/useDashboard.js +48 -32
  300. package/dist/esm/hooks/useExport.d.ts +3 -4
  301. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  302. package/dist/esm/hooks/useExport.js +6 -2
  303. package/dist/esm/hooks/useInternalState.d.ts +1 -2
  304. package/dist/esm/hooks/useInternalState.d.ts.map +1 -1
  305. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -1
  306. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  307. package/dist/esm/hooks/useQuill.d.ts +0 -14
  308. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  309. package/dist/esm/hooks/useQuill.js +16 -53
  310. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -1
  311. package/dist/esm/index.d.ts +2 -1
  312. package/dist/esm/index.d.ts.map +1 -1
  313. package/dist/esm/index.js +2 -1
  314. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +4 -1
  315. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  316. package/dist/esm/internals/ReportBuilder/PivotForm.js +32 -7
  317. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +17 -13
  318. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  319. package/dist/esm/internals/ReportBuilder/PivotModal.js +364 -158
  320. package/dist/esm/lib/utils.d.ts +0 -1
  321. package/dist/esm/lib/utils.d.ts.map +1 -1
  322. package/dist/esm/models/Filter.d.ts +49 -30
  323. package/dist/esm/models/Filter.d.ts.map +1 -1
  324. package/dist/esm/models/Filter.js +123 -50
  325. package/dist/esm/models/Pivot.d.ts +3 -1
  326. package/dist/esm/models/Pivot.d.ts.map +1 -1
  327. package/dist/esm/models/Report.d.ts +2 -2
  328. package/dist/esm/models/Report.d.ts.map +1 -1
  329. package/dist/esm/utils/astFilterProcessing.d.ts +4 -4
  330. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -1
  331. package/dist/esm/utils/astFilterProcessing.js +3835 -3423
  332. package/dist/esm/utils/astProcessing.d.ts +12 -3
  333. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  334. package/dist/esm/utils/astProcessing.js +64 -0
  335. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  336. package/dist/esm/utils/columnProcessing.js +1 -1
  337. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  338. package/dist/esm/utils/dashboard.js +31 -26
  339. package/dist/esm/utils/dates.d.ts +4 -1
  340. package/dist/esm/utils/dates.d.ts.map +1 -1
  341. package/dist/esm/utils/dates.js +6 -3
  342. package/dist/esm/utils/filterProcessing.d.ts +3 -3
  343. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  344. package/dist/esm/utils/filterProcessing.js +22 -19
  345. package/dist/esm/utils/merge.d.ts +1 -1
  346. package/dist/esm/utils/merge.d.ts.map +1 -1
  347. package/dist/esm/utils/merge.js +14 -9
  348. package/dist/esm/utils/pivotConstructor.d.ts +4 -4
  349. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  350. package/dist/esm/utils/pivotConstructor.js +103 -125
  351. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  352. package/dist/esm/utils/pivotProcessing.js +9 -11
  353. package/dist/esm/utils/queryConstructor.d.ts +2 -2
  354. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  355. package/dist/esm/utils/queryConstructor.js +338 -71
  356. package/dist/esm/utils/report.d.ts.map +1 -1
  357. package/dist/esm/utils/report.js +18 -8
  358. package/dist/esm/utils/schema.d.ts.map +1 -1
  359. package/dist/esm/utils/tableProcessing.d.ts +12 -12
  360. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  361. package/dist/esm/utils/tableProcessing.js +69 -26
  362. package/dist/esm/utils/validation.d.ts.map +1 -1
  363. package/dist/esm/utils/validation.js +3 -1
  364. package/dist/esm/utils/valueFormatter.d.ts +1 -0
  365. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  366. package/dist/esm/utils/valueFormatter.js +2 -1
  367. package/dist/esm/utils/width.d.ts.map +1 -1
  368. package/package.json +4 -4
@@ -1,6 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uniqueValuesToStringMap = exports.buildQueryFromFilters = exports.filterStackToFilterTree = exports.generateFilterStack = exports.filterSentence = exports.getType = exports.updateFilter = exports.processFilterFromBackend = exports.findAndProcessDateFilter = void 0;
3
+ exports.getType = void 0;
4
+ exports.findAndProcessDateFilter = findAndProcessDateFilter;
5
+ exports.processFilterFromBackend = processFilterFromBackend;
6
+ exports.updateFilter = updateFilter;
7
+ exports.filterSentence = filterSentence;
8
+ exports.generateFilterStack = generateFilterStack;
9
+ exports.filterStackToFilterTree = filterStackToFilterTree;
10
+ exports.buildQueryFromFilters = buildQueryFromFilters;
11
+ exports.uniqueValuesToStringMap = uniqueValuesToStringMap;
4
12
  const dateRangePickerUtils_1 = require("../DateRangePicker/dateRangePickerUtils");
5
13
  const Filter_1 = require("../models/Filter");
6
14
  const astFilterProcessing_1 = require("./astFilterProcessing");
@@ -23,7 +31,6 @@ function findAndProcessDateFilter(filters) {
23
31
  endDate: new Date(dateFilter.values[1]),
24
32
  };
25
33
  }
26
- exports.findAndProcessDateFilter = findAndProcessDateFilter;
27
34
  function isValidDate(date) {
28
35
  return !isNaN(Date.parse(date));
29
36
  }
@@ -45,7 +52,6 @@ function processFilterFromBackend(filter) {
45
52
  }
46
53
  return filter;
47
54
  }
48
- exports.processFilterFromBackend = processFilterFromBackend;
49
55
  function updateFilter(filter, value = null, comparison = null, dashboardName) {
50
56
  //for dateObjects only, since values are arrays for dateObjects
51
57
  const { ...filterWithoutSelectedValue } = filter;
@@ -79,8 +85,10 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
79
85
  return {
80
86
  label: elem.label,
81
87
  value: elem.value,
82
- startDate: dateRangePickerUtils_1.PRIMARY_RANGE[elem.value].start,
83
- endDate: dateRangePickerUtils_1.PRIMARY_RANGE[elem.value].end,
88
+ startDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
89
+ dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).startDate,
90
+ endDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
91
+ dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).endDate,
84
92
  };
85
93
  }
86
94
  return {
@@ -95,15 +103,15 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
95
103
  (filter.comparison && filter.comparisonRange.value !== 'NO_COMPARISON')) {
96
104
  const key = comparison?.value || filter.comparisonRange.value;
97
105
  let primaryRange = {
98
- start: value ? value.startDate : filter.startDate,
99
- end: value ? value.endDate : filter.endDate,
106
+ startDate: value ? value.startDate : filter.startDate,
107
+ endDate: value ? value.endDate : filter.endDate,
100
108
  };
101
109
  if (value && value.preset) {
102
110
  primaryRange = (0, dateRangePickerUtils_1.getRangeFromPresetOptions)(value.preset, presetsOptions);
103
111
  }
104
112
  return {
105
- startDate: primaryRange.start,
106
- endDate: primaryRange.end,
113
+ startDate: primaryRange.startDate,
114
+ endDate: primaryRange.endDate,
107
115
  filterType: 'date_range',
108
116
  label: 'Date',
109
117
  field: 'date_range',
@@ -111,8 +119,9 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
111
119
  options: filter.options,
112
120
  comparison: true,
113
121
  comparisonRange: {
114
- startDate: dateRangePickerUtils_1.COMPARISON_RANGE[key](primaryRange)?.start,
115
- endDate: dateRangePickerUtils_1.COMPARISON_RANGE[key](primaryRange)?.end,
122
+ startDate: dateRangePickerUtils_1.COMPARISON_RANGE[key](primaryRange)
123
+ ?.startDate,
124
+ endDate: dateRangePickerUtils_1.COMPARISON_RANGE[key](primaryRange)?.endDate,
116
125
  value: key,
117
126
  },
118
127
  dashboardName: name,
@@ -122,14 +131,14 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
122
131
  const primaryRange = value && value.preset
123
132
  ? (0, dateRangePickerUtils_1.getRangeFromPresetOptions)(value.preset, presetsOptions)
124
133
  : {
125
- start: value?.startDate || filter.startDate,
126
- end: value?.endDate || filter.endDate,
134
+ startDate: value?.startDate || filter.startDate,
135
+ endDate: value?.endDate || filter.endDate,
127
136
  };
128
137
  return {
129
138
  ...filter,
130
139
  preset: filter.preset,
131
- startDate: primaryRange.start,
132
- endDate: primaryRange.end,
140
+ startDate: primaryRange.startDate,
141
+ endDate: primaryRange.endDate,
133
142
  filterType: 'date_range',
134
143
  field: 'date_range',
135
144
  options: filter.options,
@@ -139,7 +148,6 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
139
148
  }
140
149
  }
141
150
  }
142
- exports.updateFilter = updateFilter;
143
151
  // Function to translate field type to "string", "numeric", or "date"
144
152
  const getType = (t) => {
145
153
  // strip any size numbers at the end
@@ -162,7 +170,7 @@ const getType = (t) => {
162
170
  case 'longtext':
163
171
  case 'longblob':
164
172
  case 'text':
165
- return Filter_1.FieldTypes.String;
173
+ return Filter_1.FieldType.String;
166
174
  case 'numeric':
167
175
  case 'bit':
168
176
  case 'tinybit':
@@ -180,7 +188,7 @@ const getType = (t) => {
180
188
  case 'smallmoney':
181
189
  case 'money':
182
190
  case 'real':
183
- return Filter_1.FieldTypes.Number;
191
+ return Filter_1.FieldType.Number;
184
192
  case 'date':
185
193
  case 'datetime':
186
194
  case 'datetime2':
@@ -190,12 +198,12 @@ const getType = (t) => {
190
198
  case 'timestamptz':
191
199
  case 'time':
192
200
  case 'year':
193
- return Filter_1.FieldTypes.Date;
201
+ return Filter_1.FieldType.Date;
194
202
  case 'bool':
195
203
  case 'boolean':
196
- return Filter_1.FieldTypes.Boolean;
204
+ return Filter_1.FieldType.Boolean;
197
205
  default:
198
- return Filter_1.FieldTypes.String;
206
+ return Filter_1.FieldType.String;
199
207
  }
200
208
  };
201
209
  exports.getType = getType;
@@ -204,7 +212,7 @@ exports.getType = getType;
204
212
  */
205
213
  function filterSentence(filter) {
206
214
  let value = '';
207
- if (filter.filterType == Filter_1.FilterNames.NullFilter) {
215
+ if (filter.filterType == Filter_1.FilterType.NullFilter) {
208
216
  return `${(0, textProcessing_1.snakeAndCamelCaseToTitleCase)(filter.field)} ${filter.operator}`;
209
217
  }
210
218
  else if (filter.value === null || filter.value === undefined) {
@@ -232,7 +240,6 @@ function filterSentence(filter) {
232
240
  }
233
241
  return `${(0, textProcessing_1.snakeAndCamelCaseToTitleCase)(filter.field)} ${filter.operator}${filter.operator === 'is' || filter.operator === 'is not' ? ' one of' : ''} ${value}`;
234
242
  }
235
- exports.filterSentence = filterSentence;
236
243
  /**
237
244
  * Function that flattens a tree of filters into an array
238
245
  */
@@ -268,7 +275,6 @@ function generateFilterStack(filterTree) {
268
275
  });
269
276
  return filterStack;
270
277
  }
271
- exports.generateFilterStack = generateFilterStack;
272
278
  /**
273
279
  * Given an array of Filters (presumed to be in in-order state), generate
274
280
  * the corresponding Filter tree. Essentially the reverse of what traverseTree does
@@ -306,7 +312,6 @@ function filterStackToFilterTree(stack) {
306
312
  }
307
313
  return buildTree(0);
308
314
  }
309
- exports.filterStackToFilterTree = filterStackToFilterTree;
310
315
  /**
311
316
  * This function uses the baseAst and forms a SQL query using the a filters array
312
317
  */
@@ -337,7 +342,6 @@ async function buildQueryFromFilters(baseAst, filters, endpoint, client) {
337
342
  return { success: false, error: `error: ${error.message}` };
338
343
  }
339
344
  }
340
- exports.buildQueryFromFilters = buildQueryFromFilters;
341
345
  /**
342
346
  * Helper function that converts a UniqueValuesByColumn interface to a string map
343
347
  */
@@ -351,4 +355,3 @@ function uniqueValuesToStringMap(uniqueValues) {
351
355
  }
352
356
  return fieldValues;
353
357
  }
354
- exports.uniqueValuesToStringMap = uniqueValuesToStringMap;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = getDomain;
3
4
  /**
4
5
  * Calculates the adjusted domain for numeric values in the specified fields of the given data.
5
6
  * @param data - The data containing numeric fields.
@@ -31,7 +32,6 @@ function getDomain(data, fields) {
31
32
  }
32
33
  return fuzzyRound(Math.min(minValue, 0), maxValue);
33
34
  }
34
- exports.default = getDomain;
35
35
  // Rounds the range to 4 equally-spaced increments of nice,round numbers.
36
36
  function fuzzyRound(min, max) {
37
37
  const range = parseFloat((max - min).toPrecision(1));
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.internalLog = void 0;
3
+ exports.internalLog = internalLog;
4
4
  /* eslint-disable no-undef */
5
5
  function internalLog(message, ...optionalParams) {
6
6
  if (process.env.QUILL_ENV === 'development') {
@@ -8,4 +8,3 @@ function internalLog(message, ...optionalParams) {
8
8
  console.log(completeMessage);
9
9
  }
10
10
  }
11
- exports.internalLog = internalLog;
@@ -1,2 +1,2 @@
1
- export declare function mergeComparisonRange(resp: any): void;
1
+ export declare function mergeComparisonRange(resp: any): any;
2
2
  //# sourceMappingURL=merge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/utils/merge.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,QAI7C"}
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/utils/merge.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAInD"}
@@ -1,22 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mergeComparisonRange = void 0;
3
+ exports.mergeComparisonRange = mergeComparisonRange;
4
4
  function mergeComparisonRange(resp) {
5
5
  if (resp.chartType === 'table')
6
- return;
7
- mergeForwards(resp);
6
+ return resp;
7
+ return mergeForwards(resp);
8
8
  // mergeBackwards(resp); // uncomment to switch back and forth
9
9
  }
10
- exports.mergeComparisonRange = mergeComparisonRange;
11
10
  function mergeForwards(resp) {
12
11
  const compRows = resp.compareRows;
13
- let j = 0;
14
- for (let i = 0; i < resp.rows.length; i++) {
15
- if (j < compRows.length) {
16
- for (const [key, value] of Object.entries(compRows[j])) {
17
- resp.rows[i][`comparison_${key}`] = value;
12
+ if (!compRows)
13
+ return resp;
14
+ const newRows = resp.rows.map((row, i) => {
15
+ if (i < compRows.length) {
16
+ const compRow = compRows[i];
17
+ const newRow = { ...row };
18
+ for (const [key, value] of Object.entries(compRow)) {
19
+ newRow[`comparison_${key}`] = value;
18
20
  }
21
+ return newRow;
19
22
  }
20
- j++;
21
- }
23
+ return row;
24
+ });
25
+ return { ...resp, rows: newRows };
22
26
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateSuggestionsByDatasource = exports.generateSuggestionsBySchema = exports.QUILL_LANGUAGE = void 0;
3
+ exports.QUILL_LANGUAGE = void 0;
4
+ exports.generateSuggestionsBySchema = generateSuggestionsBySchema;
5
+ exports.generateSuggestionsByDatasource = generateSuggestionsByDatasource;
4
6
  const queryConstructor_1 = require("./queryConstructor");
5
7
  exports.QUILL_LANGUAGE = {
6
8
  monarchTokensProvider: {
@@ -300,7 +302,6 @@ function generateSuggestionsBySchema(schema, monaco, range, databaseType) {
300
302
  }, []);
301
303
  return suggestions;
302
304
  }
303
- exports.generateSuggestionsBySchema = generateSuggestionsBySchema;
304
305
  function generateSuggestionsByDatasource(monaco, range, databaseType) {
305
306
  if (!databaseType) {
306
307
  return GENERIC_DATASOURCE_SUGGESTIONS(monaco, range);
@@ -321,4 +322,3 @@ function generateSuggestionsByDatasource(monaco, range, databaseType) {
321
322
  return GENERIC_DATASOURCE_SUGGESTIONS(monaco, range);
322
323
  }
323
324
  }
324
- exports.generateSuggestionsByDatasource = generateSuggestionsByDatasource;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shouldSortInMemory = exports.shouldFetchMore = exports.DEFAULT_PAGINATION = void 0;
3
+ exports.DEFAULT_PAGINATION = void 0;
4
+ exports.shouldFetchMore = shouldFetchMore;
5
+ exports.shouldSortInMemory = shouldSortInMemory;
4
6
  exports.DEFAULT_PAGINATION = {
5
7
  page: 0,
6
8
  rowsPerPage: 10,
@@ -17,7 +19,6 @@ function shouldFetchMore(pagination, page, maxPage) {
17
19
  pagination.rowsPerRequest);
18
20
  return pageInterval > previousPageInterval;
19
21
  }
20
- exports.shouldFetchMore = shouldFetchMore;
21
22
  function shouldSortInMemory(pagination, rowCount, isPivot) {
22
23
  if (isPivot) {
23
24
  return true;
@@ -27,4 +28,3 @@ function shouldSortInMemory(pagination, rowCount, isPivot) {
27
28
  }
28
29
  return false;
29
30
  }
30
- exports.shouldSortInMemory = shouldSortInMemory;
@@ -1,8 +1,8 @@
1
1
  import { QuillProviderClient } from '../models/Client';
2
2
  import { Pivot } from '../models/Pivot';
3
3
  import { QuillReportInternal } from '../models/Report';
4
- export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client: QuillProviderClient, dateBucket?: string, dateFilter?: any, distinctStrings?: any): Promise<{
5
- rows: any;
6
- columns: any;
7
- } | undefined>;
4
+ export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client: QuillProviderClient, dateBucket?: string, dateFilter?: any, distinctStrings?: any, rowLimit?: number): Promise<{
5
+ rows: any[];
6
+ columns: any[];
7
+ }>;
8
8
  //# sourceMappingURL=pivotConstructor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAOvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,GAAG;;;eAuMtB"}
1
+ {"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQvD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,mBAAmB,EAC3B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,CAAC,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,GAAG,EAChB,eAAe,CAAC,EAAE,GAAG,EACrB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;IAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,OAAO,EAAE,GAAG,EAAE,CAAA;CAAE,CAAC,CAoL1C"}
@@ -1,28 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generatePivotWithSQL = void 0;
4
- const ChartBuilder_1 = require("../ChartBuilder");
5
- const ast_1 = require("../components/ReportBuilder/ast");
3
+ exports.generatePivotWithSQL = generatePivotWithSQL;
6
4
  const PivotModal_1 = require("../internals/ReportBuilder/PivotModal");
7
5
  const columnProcessing_1 = require("./columnProcessing");
8
6
  const dataFetcher_1 = require("./dataFetcher");
9
7
  const dates_1 = require("./dates");
10
8
  const queryConstructor_1 = require("./queryConstructor");
11
9
  const textProcessing_1 = require("./textProcessing");
12
- async function generatePivotWithSQL(pivot, report, client, dateBucket, dateFilter, distinctStrings) {
13
- if (dateFilter && dateFilter.startDate) {
14
- dateFilter.start = dateFilter.startDate;
15
- dateFilter.end = dateFilter.endDate;
16
- if (dateFilter.comparisonRange && dateFilter.comparisonRange.startDate) {
17
- dateFilter.comparisonRange.start = dateFilter.comparisonRange.startDate;
18
- dateFilter.comparisonRange.end = dateFilter.comparisonRange.endDate;
19
- }
20
- }
10
+ const valueFormatter_1 = require("./valueFormatter");
11
+ async function generatePivotWithSQL(pivot, report, client, dateBucket, dateFilter, distinctStrings, rowLimit) {
21
12
  let comparisonInterval = undefined;
22
13
  if (dateFilter && dateFilter.comparisonRange) {
23
14
  comparisonInterval = (0, dates_1.getComparisonInterval)({
24
- startDate: dateFilter.comparisonRange.start,
25
- endDate: dateFilter.comparisonRange.end,
15
+ startDate: dateFilter.comparisonRange.startDate,
16
+ endDate: dateFilter.comparisonRange.endDate,
26
17
  }, dateBucket);
27
18
  }
28
19
  if (pivot.rowField && !pivot.rowFieldType) {
@@ -35,129 +26,115 @@ async function generatePivotWithSQL(pivot, report, client, dateBucket, dateFilte
35
26
  distinctStringValues = distinctValues.map((value) => value.toString());
36
27
  }
37
28
  if (!report.itemQuery) {
38
- return undefined;
29
+ throw Error('No item query found in report');
39
30
  }
40
- const sqlQuery = (0, queryConstructor_1.generatePivotQuery)(pivot, report.itemQuery, client.databaseType || 'postgresql', comparisonInterval, distinctStrings ? distinctStrings : distinctStringValues, dateBucket);
41
- if (sqlQuery && report.rows.length > 0) {
42
- const hostedBody = {
43
- metadata: {
44
- preQueries: [sqlQuery],
45
- task: 'query',
46
- orgId: client.organizationId || '*',
47
- clientId: client.publicKey,
48
- databaseType: client?.databaseType,
49
- getCustomFields: false,
50
- runQueryConfig: {
51
- overridePost: true,
52
- convertDatatypes: true,
53
- },
54
- useNewNodeSql: true,
31
+ const sqlQuery = (0, queryConstructor_1.generatePivotQuery)(pivot, report.itemQuery, client.databaseType || 'postgresql', comparisonInterval, distinctStrings ? distinctStrings : distinctStringValues, dateBucket, rowLimit);
32
+ if (!sqlQuery || report.rows.length == 0) {
33
+ throw 'No rows found in report';
34
+ }
35
+ const hostedBody = {
36
+ metadata: {
37
+ preQueries: [sqlQuery],
38
+ task: 'query',
39
+ orgId: client.organizationId || '*',
40
+ clientId: client.publicKey,
41
+ databaseType: client?.databaseType,
42
+ getCustomFields: false,
43
+ runQueryConfig: {
44
+ overridePost: true,
45
+ convertDatatypes: true,
55
46
  },
56
- };
57
- const cloudBody = { ...hostedBody };
58
- const resp = await (0, dataFetcher_1.getData)(client, 'query', 'same-origin', hostedBody, cloudBody, 'POST', 'fetch-pivot');
59
- if (resp.success === false) {
60
- console.error('Error:', resp.errorMessage); // surface to devs
61
- }
62
- // With our current design we have to remove the second row field but leave the first for comparison purposes.
63
- const rows = resp?.queryResults?.[0]?.rows || [];
64
- if (pivot.columnField &&
65
- client.databaseType?.toLowerCase() === 'bigquery') {
66
- rows.forEach((row) => {
67
- Object.keys(row).forEach((key) => {
68
- const processedKey = (0, columnProcessing_1.processColumnName)(key);
69
- if (processedKey !== key) {
70
- row[processedKey] = row[key];
71
- delete row[key];
72
- }
73
- });
47
+ useNewNodeSql: true,
48
+ },
49
+ };
50
+ const cloudBody = { ...hostedBody };
51
+ const resp = await (0, dataFetcher_1.getData)(client, 'query', 'same-origin', hostedBody, cloudBody, 'POST', 'fetch-pivot');
52
+ if (resp.success === false) {
53
+ throw resp.errorMessage;
54
+ }
55
+ // With our current design we have to remove the second row field but leave the first for comparison purposes.
56
+ const rows = pivot.rowField
57
+ ? (resp?.queryResults?.[0]?.rows || []).map((row) => !row[pivot.rowField] ? { ...row, [pivot.rowField]: '-' } : row)
58
+ : resp?.queryResults?.[0]?.rows || [];
59
+ if (pivot.columnField && client.databaseType?.toLowerCase() === 'bigquery') {
60
+ rows.forEach((row) => {
61
+ Object.keys(row).forEach((key) => {
62
+ const processedKey = (0, columnProcessing_1.processColumnName)(key);
63
+ if (processedKey !== key) {
64
+ row[processedKey] = row[key];
65
+ delete row[key];
66
+ }
74
67
  });
68
+ });
69
+ }
70
+ const columns = resp?.queryResults?.[0]?.fields
71
+ ?.map((field) => ({
72
+ field: (0, columnProcessing_1.processColumnName)(field.name),
73
+ label: (0, textProcessing_1.snakeCaseToTitleCase)((0, columnProcessing_1.processColumnName)(field.name.replace('comparison_', 'comparison '))),
74
+ format: field.name === pivot.rowField
75
+ ? 'string'
76
+ : (pivot.valueFieldType ?? 'whole_number'),
77
+ }))
78
+ .filter((field, index) => field.field !== 'comparison_' + pivot.rowField || index === 0)
79
+ .sort((a, b) => {
80
+ if (a.field === pivot.rowField) {
81
+ return -1;
75
82
  }
76
- const columns = resp?.queryResults?.[0]?.fields
77
- ?.map((field) => ({
78
- field: (0, columnProcessing_1.processColumnName)(field.name),
79
- label: (0, textProcessing_1.snakeCaseToTitleCase)((0, columnProcessing_1.processColumnName)(field.name.replace('comparison_', 'comparison '))),
80
- format: field.name === pivot.rowField
81
- ? 'string'
82
- : (pivot.valueFieldType ?? 'whole_number'),
83
- }))
84
- .filter((field, index) => field.field !== 'comparison_' + pivot.rowField || index === 0)
85
- .sort((a, b) => {
86
- if (a.field === pivot.rowField) {
87
- return -1;
88
- }
89
- if (b.field === pivot.rowField) {
90
- return 1;
91
- }
92
- return 0;
83
+ if (b.field === pivot.rowField) {
84
+ return 1;
85
+ }
86
+ return 0;
87
+ });
88
+ if (pivot.rowField &&
89
+ !['string', 'varchar'].includes(pivot.rowFieldType || '')) {
90
+ rows.forEach((row) => {
91
+ row[pivot.rowField || ''] = (0, PivotModal_1.getDateString)(typeof row[pivot.rowField || ''] === 'object' // BigQuery
92
+ ? row[pivot.rowField || ''].value
93
+ : row[pivot.rowField || ''], undefined, dateBucket);
93
94
  });
95
+ // add a row for each date in the range that doesn't have a value
94
96
  if (pivot.rowField &&
95
- !['string', 'varchar'].includes(pivot.rowFieldType || '')) {
96
- rows.forEach((row) => {
97
- row[pivot.rowField || ''] = (0, PivotModal_1.getDateString)(row[pivot.rowField || ''], undefined, dateBucket);
98
- });
99
- // add a row for each date in the range that doesn't have a value
100
- if (pivot.rowField &&
101
- pivot.rowFieldType &&
102
- !['string', 'varchar'].includes(pivot.rowFieldType) &&
103
- dateFilter) {
104
- const dateSet = new Set(rows.map((row) => row[pivot.rowField || '']));
105
- // create a loop that will go through each formatted date and add a row if it doesn't exist going to the current date
106
- for (let date = dateFilter.start ?? dateFilter.startDate; date <= dateFilter.end; date = new Date(date.getTime() + 24 * 60 * 60 * 1000)) {
107
- const formattedDate = (0, PivotModal_1.getDateString)(date.toDateString(), undefined, dateBucket);
108
- if (!dateSet.has(formattedDate)) {
109
- const newRow = {};
110
- newRow[pivot.rowField] = formattedDate;
111
- rows.push(newRow);
112
- dateSet.add(formattedDate);
113
- }
114
- // order the rows by the date field
115
- rows.sort((a, b) => {
116
- return new Date(a[pivot.rowField || '']) <
117
- new Date(b[pivot.rowField || ''])
118
- ? -1
119
- : 1;
120
- });
97
+ pivot.rowFieldType &&
98
+ !['string', 'varchar'].includes(pivot.rowFieldType) &&
99
+ dateFilter) {
100
+ const dateSet = new Set(rows.map((row) => row[pivot.rowField || '']));
101
+ // create a loop that will go through each formatted date and add a row if it doesn't exist going to the current date
102
+ for (let date = dateFilter.startDate; date <= dateFilter.endDate; date = new Date(date.getTime() + 24 * 60 * 60 * 1000)) {
103
+ const formattedDate = (0, PivotModal_1.getDateString)(date.toDateString(), undefined, dateBucket);
104
+ if (!dateSet.has(formattedDate)) {
105
+ const newRow = {};
106
+ newRow[pivot.rowField] = formattedDate;
107
+ rows.push(newRow);
108
+ dateSet.add(formattedDate);
121
109
  }
110
+ // order the rows by the date field
111
+ rows.sort((a, b) => {
112
+ return (0, valueFormatter_1.compareValues)(a, b, pivot.rowField ?? '');
113
+ });
122
114
  }
123
115
  }
124
- if (pivot.sort) {
125
- rows.sort((a, b) => {
126
- if (pivot.sortDirection === 'ASC') {
127
- if (ChartBuilder_1.dateFormatOptions.includes(pivot.sortFieldType ?? '')) {
128
- // @ts-ignore
129
- return new Date(a[pivot.sortField]) - new Date(b[pivot.sortField]);
130
- }
131
- else if ((0, ast_1.isNumericColumnType)(pivot.sortFieldType)) {
132
- return a[pivot.sortField] - b[pivot.sortField];
133
- }
134
- return a[pivot.sortField].localeCompare(b[pivot.sortField]);
135
- }
136
- else {
137
- if (ChartBuilder_1.dateFormatOptions.includes(pivot.sortFieldType ?? '')) {
138
- // @ts-ignore
139
- return new Date(b[pivot.sortField]) - new Date(a[pivot.sortField]);
140
- }
141
- else if ((0, ast_1.isNumericColumnType)(pivot.sortFieldType)) {
142
- return b[pivot.sortField] - a[pivot.sortField];
143
- }
144
- return b[pivot.sortField].localeCompare(a[pivot.sortField]);
145
- }
146
- });
147
- }
148
- // for the case of count agg on no value field
149
- columns?.forEach((column) => {
150
- if (column.label &&
151
- ['null', 'undefined'].includes(column.label.toLowerCase()) &&
152
- !pivot.valueField &&
153
- pivot.aggregationType === 'count') {
154
- column.label = 'Count';
116
+ }
117
+ if (pivot.sort) {
118
+ rows.sort((a, b) => {
119
+ if (pivot.sortDirection === 'ASC') {
120
+ return (0, valueFormatter_1.compareValues)(a, b, pivot.sortField ?? '');
121
+ }
122
+ else {
123
+ return (0, valueFormatter_1.compareValues)(b, a, pivot.sortField ?? '');
155
124
  }
156
125
  });
157
- return {
158
- rows: rows,
159
- columns: columns ?? [],
160
- };
161
126
  }
127
+ // for the case of count agg on no value field
128
+ columns?.forEach((column) => {
129
+ if (column.label &&
130
+ ['null', 'undefined'].includes(column.label.toLowerCase()) &&
131
+ !pivot.valueField &&
132
+ pivot.aggregationType === 'count') {
133
+ column.label = 'Count';
134
+ }
135
+ });
136
+ return {
137
+ rows: rows,
138
+ columns: columns ?? [],
139
+ };
162
140
  }
163
- exports.generatePivotWithSQL = generatePivotWithSQL;
@@ -1 +1 @@
1
- {"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EAAE,GACxB,MAAM,CAuCR;AAkBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,WA0BxC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,oBAAoB;;;;EAqDnC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CAqCP;AAED,eAAO,MAAM,eAAe,WAAY,GAAG,SAAS,KAAK,YA8BxD,CAAC"}
1
+ {"version":3,"file":"pivotProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotProcessing.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAIxD,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,cAAc,EAAE,GACxB,MAAM,CAuCR;AAkBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,WA0BxC;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,cAAc,EAAE,EACzB,YAAY,EAAE,oBAAoB;;;;EAsDnC;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE;IACf,SAAS,EAAE,GAAG,CAAC;IACf,YAAY,EAAE,GAAG,CAAC;IAClB,WAAW,EAAE,GAAG,CAAC;CAClB,GACA,KAAK,CA8BP;AAED,eAAO,MAAM,eAAe,WAAY,GAAG,SAAS,KAAK,YA8BxD,CAAC"}