@quillsql/react 2.12.40 → 2.12.42

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 (431) hide show
  1. package/dist/cjs/Chart.d.ts +1 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +26 -12
  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 +31 -25
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +7 -3
  9. package/dist/cjs/Context.d.ts +20 -5
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +55 -93
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +29 -18
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +11 -0
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  16. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +6 -6
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  19. package/dist/cjs/QuillProvider.d.ts +5 -6
  20. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  21. package/dist/cjs/QuillProvider.js +2 -2
  22. package/dist/cjs/ReportBuilder.d.ts +1 -1
  23. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  24. package/dist/cjs/ReportBuilder.js +132 -1612
  25. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  26. package/dist/cjs/SQLEditor.js +22 -9
  27. package/dist/cjs/Table.d.ts +1 -1
  28. package/dist/cjs/Table.d.ts.map +1 -1
  29. package/dist/cjs/Table.js +4 -2
  30. package/dist/cjs/components/Chart/BarChart.d.ts +3 -2
  31. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  32. package/dist/cjs/components/Chart/BarChart.js +32 -27
  33. package/dist/cjs/components/Chart/BarList.d.ts +1 -5
  34. package/dist/cjs/components/Chart/BarList.d.ts.map +1 -1
  35. package/dist/cjs/components/Chart/ChartError.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/ChartError.js +6 -5
  37. package/dist/cjs/components/Chart/ChartTooltip.d.ts +4 -7
  38. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/ChartTooltip.js +14 -48
  40. package/dist/cjs/components/Chart/LineChart.d.ts +1 -1
  41. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  42. package/dist/cjs/components/Chart/LineChart.js +30 -26
  43. package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
  44. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  45. package/dist/cjs/components/Chart/PieChart.js +0 -2
  46. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  47. package/dist/cjs/components/Dashboard/ChartComponent.js +7 -6
  48. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +4 -2
  49. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  50. package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -4
  51. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +2 -1
  52. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  53. package/dist/cjs/components/Dashboard/DashboardTemplate.js +3 -4
  54. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  55. package/dist/cjs/components/Dashboard/DataLoader.js +12 -7
  56. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  57. package/dist/cjs/components/Dashboard/MetricComponent.js +8 -7
  58. package/dist/cjs/components/Dashboard/TableComponent.js +6 -6
  59. package/dist/cjs/components/Dashboard/util.d.ts +2 -1
  60. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  61. package/dist/cjs/components/QuillCard.d.ts.map +1 -1
  62. package/dist/cjs/components/QuillCard.js +6 -5
  63. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  64. package/dist/cjs/components/QuillMultiSelect.js +11 -11
  65. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  66. package/dist/cjs/components/QuillMultiSelectWithCombo.js +11 -11
  67. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  68. package/dist/cjs/components/QuillSelect.js +12 -12
  69. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  70. package/dist/cjs/components/QuillSelectWithCombo.js +12 -12
  71. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +4 -1
  72. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  73. package/dist/cjs/components/ReportBuilder/FilterModal.js +33 -33
  74. package/dist/cjs/components/ReportBuilder/convert.d.ts +7 -33
  75. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  76. package/dist/cjs/components/ReportBuilder/convert.js +3 -7
  77. package/dist/cjs/components/ReportBuilder/ui.d.ts +4 -1
  78. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  79. package/dist/cjs/components/ReportBuilder/ui.js +1 -2
  80. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  81. package/dist/cjs/components/UiComponents.js +9 -10
  82. package/dist/cjs/hooks/index.d.ts +0 -1
  83. package/dist/cjs/hooks/index.d.ts.map +1 -1
  84. package/dist/cjs/hooks/index.js +1 -3
  85. package/dist/cjs/hooks/useAskQuill.d.ts +27 -0
  86. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -0
  87. package/dist/cjs/hooks/useAskQuill.js +185 -0
  88. package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -1
  89. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  90. package/dist/cjs/hooks/useAstToFilterTree.js +1 -1
  91. package/dist/cjs/hooks/useDashboard.d.ts +1 -1
  92. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  93. package/dist/cjs/hooks/useDashboard.js +10 -6
  94. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  95. package/dist/cjs/hooks/useExport.js +8 -3
  96. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  97. package/dist/cjs/hooks/useQuill.js +7 -1
  98. package/dist/cjs/index.d.ts +2 -1
  99. package/dist/cjs/index.d.ts.map +1 -1
  100. package/dist/cjs/index.js +3 -1
  101. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -3
  102. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  103. package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -2
  104. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -16
  105. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  106. package/dist/cjs/internals/ReportBuilder/PivotModal.js +36 -24
  107. package/dist/cjs/models/Client.d.ts +11 -0
  108. package/dist/cjs/models/Client.d.ts.map +1 -0
  109. package/dist/cjs/models/Columns.d.ts +1 -0
  110. package/dist/cjs/models/Columns.d.ts.map +1 -1
  111. package/dist/cjs/models/Dashboard.d.ts +14 -0
  112. package/dist/cjs/models/Dashboard.d.ts.map +1 -0
  113. package/dist/cjs/models/Filter.d.ts +87 -19
  114. package/dist/cjs/models/Filter.d.ts.map +1 -1
  115. package/dist/cjs/models/Filter.js +15 -4
  116. package/dist/{esm/components/ReportBuilder/pivot.d.ts → cjs/models/Pivot.d.ts} +13 -4
  117. package/dist/cjs/models/Pivot.d.ts.map +1 -0
  118. package/dist/cjs/models/Pivot.js +2 -0
  119. package/dist/cjs/models/Report.d.ts +4 -2
  120. package/dist/cjs/models/Report.d.ts.map +1 -1
  121. package/dist/cjs/models/Tables.d.ts +29 -2
  122. package/dist/cjs/models/Tables.d.ts.map +1 -1
  123. package/dist/cjs/utils/astFilterProcessing.js +27 -27
  124. package/dist/cjs/utils/astProcessing.d.ts +46 -3
  125. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  126. package/dist/cjs/utils/astProcessing.js +210 -7
  127. package/dist/cjs/utils/axisFormatter.d.ts +3 -4
  128. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  129. package/dist/cjs/utils/axisFormatter.js +42 -34
  130. package/dist/cjs/utils/client.d.ts +4 -0
  131. package/dist/cjs/utils/client.d.ts.map +1 -0
  132. package/dist/cjs/utils/client.js +40 -0
  133. package/dist/cjs/utils/constants.d.ts +1 -0
  134. package/dist/cjs/utils/constants.d.ts.map +1 -1
  135. package/dist/cjs/utils/constants.js +2 -1
  136. package/dist/cjs/utils/csv.d.ts +2 -1
  137. package/dist/cjs/utils/csv.d.ts.map +1 -1
  138. package/dist/cjs/utils/dashboard.d.ts +3 -2
  139. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  140. package/dist/cjs/utils/dashboard.js +11 -2
  141. package/dist/cjs/utils/dataFetcher.d.ts +7 -2
  142. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  143. package/dist/cjs/utils/dataFetcher.js +24 -4
  144. package/dist/cjs/utils/dataProcessing.d.ts +6 -5
  145. package/dist/cjs/utils/dataProcessing.d.ts.map +1 -1
  146. package/dist/cjs/utils/dataProcessing.js +15 -23
  147. package/dist/cjs/utils/dates.d.ts +1 -1
  148. package/dist/cjs/utils/filterProcessing.d.ts +2 -2
  149. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  150. package/dist/cjs/utils/filterProcessing.js +6 -6
  151. package/dist/cjs/utils/monacoConfig.d.ts +2 -1
  152. package/dist/cjs/utils/monacoConfig.d.ts.map +1 -1
  153. package/dist/cjs/utils/monacoConfig.js +2 -2
  154. package/dist/cjs/utils/pivotConstructor.d.ts +3 -2
  155. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  156. package/dist/cjs/utils/pivotConstructor.js +10 -6
  157. package/dist/cjs/utils/pivotProcessing.d.ts +4 -4
  158. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  159. package/dist/cjs/utils/pivotProcessing.js +21 -2
  160. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  161. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  162. package/dist/cjs/utils/queryConstructor.js +3 -3
  163. package/dist/cjs/utils/report.d.ts +27 -1
  164. package/dist/cjs/utils/report.d.ts.map +1 -1
  165. package/dist/cjs/utils/report.js +143 -4
  166. package/dist/cjs/utils/schema.d.ts +6 -4
  167. package/dist/cjs/utils/schema.d.ts.map +1 -1
  168. package/dist/cjs/utils/schema.js +27 -4
  169. package/dist/cjs/utils/tableProcessing.d.ts +24 -6
  170. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  171. package/dist/cjs/utils/tableProcessing.js +94 -5
  172. package/dist/cjs/utils/valueFormatter.d.ts +0 -2
  173. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  174. package/dist/cjs/utils/valueFormatter.js +83 -67
  175. package/dist/esm/Chart.d.ts +1 -1
  176. package/dist/esm/Chart.d.ts.map +1 -1
  177. package/dist/esm/Chart.js +27 -13
  178. package/dist/esm/ChartBuilder.d.ts +1 -1
  179. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  180. package/dist/esm/ChartBuilder.js +33 -27
  181. package/dist/esm/ChartEditor.d.ts.map +1 -1
  182. package/dist/esm/ChartEditor.js +7 -3
  183. package/dist/esm/Context.d.ts +20 -5
  184. package/dist/esm/Context.d.ts.map +1 -1
  185. package/dist/esm/Context.js +54 -92
  186. package/dist/esm/Dashboard.d.ts.map +1 -1
  187. package/dist/esm/Dashboard.js +29 -18
  188. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +11 -0
  189. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  190. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +6 -6
  191. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -1
  192. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  193. package/dist/esm/QuillProvider.d.ts +5 -6
  194. package/dist/esm/QuillProvider.d.ts.map +1 -1
  195. package/dist/esm/QuillProvider.js +2 -2
  196. package/dist/esm/ReportBuilder.d.ts +1 -1
  197. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  198. package/dist/esm/ReportBuilder.js +141 -1621
  199. package/dist/esm/SQLEditor.d.ts.map +1 -1
  200. package/dist/esm/SQLEditor.js +23 -10
  201. package/dist/esm/Table.d.ts +1 -1
  202. package/dist/esm/Table.d.ts.map +1 -1
  203. package/dist/esm/Table.js +5 -3
  204. package/dist/esm/components/Chart/BarChart.d.ts +3 -2
  205. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  206. package/dist/esm/components/Chart/BarChart.js +32 -27
  207. package/dist/esm/components/Chart/BarList.d.ts +1 -5
  208. package/dist/esm/components/Chart/BarList.d.ts.map +1 -1
  209. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -1
  210. package/dist/esm/components/Chart/ChartError.js +6 -5
  211. package/dist/esm/components/Chart/ChartTooltip.d.ts +4 -7
  212. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -1
  213. package/dist/esm/components/Chart/ChartTooltip.js +15 -49
  214. package/dist/esm/components/Chart/LineChart.d.ts +1 -1
  215. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  216. package/dist/esm/components/Chart/LineChart.js +30 -26
  217. package/dist/esm/components/Chart/PieChart.d.ts +3 -1
  218. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  219. package/dist/esm/components/Chart/PieChart.js +0 -2
  220. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  221. package/dist/esm/components/Dashboard/ChartComponent.js +7 -6
  222. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +4 -2
  223. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  224. package/dist/esm/components/Dashboard/DashboardFilter.js +4 -4
  225. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +2 -1
  226. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  227. package/dist/esm/components/Dashboard/DashboardTemplate.js +4 -5
  228. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  229. package/dist/esm/components/Dashboard/DataLoader.js +13 -8
  230. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  231. package/dist/esm/components/Dashboard/MetricComponent.js +8 -7
  232. package/dist/esm/components/Dashboard/TableComponent.js +7 -7
  233. package/dist/esm/components/Dashboard/util.d.ts +2 -1
  234. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  235. package/dist/esm/components/QuillCard.d.ts.map +1 -1
  236. package/dist/esm/components/QuillCard.js +6 -5
  237. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  238. package/dist/esm/components/QuillMultiSelect.js +11 -11
  239. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  240. package/dist/esm/components/QuillMultiSelectWithCombo.js +11 -11
  241. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  242. package/dist/esm/components/QuillSelect.js +12 -12
  243. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  244. package/dist/esm/components/QuillSelectWithCombo.js +12 -12
  245. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +4 -1
  246. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  247. package/dist/esm/components/ReportBuilder/FilterModal.js +33 -33
  248. package/dist/esm/components/ReportBuilder/convert.d.ts +7 -33
  249. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  250. package/dist/esm/components/ReportBuilder/convert.js +3 -7
  251. package/dist/esm/components/ReportBuilder/ui.d.ts +4 -1
  252. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  253. package/dist/esm/components/ReportBuilder/ui.js +1 -2
  254. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  255. package/dist/esm/components/UiComponents.js +9 -10
  256. package/dist/esm/hooks/index.d.ts +0 -1
  257. package/dist/esm/hooks/index.d.ts.map +1 -1
  258. package/dist/esm/hooks/index.js +0 -1
  259. package/dist/esm/hooks/useAskQuill.d.ts +27 -0
  260. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -0
  261. package/dist/esm/hooks/useAskQuill.js +181 -0
  262. package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -1
  263. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  264. package/dist/esm/hooks/useAstToFilterTree.js +1 -1
  265. package/dist/esm/hooks/useDashboard.d.ts +1 -1
  266. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  267. package/dist/esm/hooks/useDashboard.js +11 -7
  268. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  269. package/dist/esm/hooks/useExport.js +9 -4
  270. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  271. package/dist/esm/hooks/useQuill.js +8 -2
  272. package/dist/esm/index.d.ts +2 -1
  273. package/dist/esm/index.d.ts.map +1 -1
  274. package/dist/esm/index.js +1 -0
  275. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -3
  276. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  277. package/dist/esm/internals/ReportBuilder/PivotForm.js +4 -2
  278. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -16
  279. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  280. package/dist/esm/internals/ReportBuilder/PivotModal.js +36 -24
  281. package/dist/esm/models/Client.d.ts +11 -0
  282. package/dist/esm/models/Client.d.ts.map +1 -0
  283. package/dist/esm/models/Columns.d.ts +1 -0
  284. package/dist/esm/models/Columns.d.ts.map +1 -1
  285. package/dist/esm/models/Dashboard.d.ts +14 -0
  286. package/dist/esm/models/Dashboard.d.ts.map +1 -0
  287. package/dist/esm/models/Filter.d.ts +87 -19
  288. package/dist/esm/models/Filter.d.ts.map +1 -1
  289. package/dist/esm/models/Filter.js +13 -2
  290. package/dist/{cjs/components/ReportBuilder/pivot.d.ts → esm/models/Pivot.d.ts} +13 -4
  291. package/dist/esm/models/Pivot.d.ts.map +1 -0
  292. package/dist/esm/models/Pivot.js +1 -0
  293. package/dist/esm/models/Report.d.ts +4 -2
  294. package/dist/esm/models/Report.d.ts.map +1 -1
  295. package/dist/esm/models/Tables.d.ts +29 -2
  296. package/dist/esm/models/Tables.d.ts.map +1 -1
  297. package/dist/esm/utils/astFilterProcessing.js +27 -27
  298. package/dist/esm/utils/astProcessing.d.ts +46 -3
  299. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  300. package/dist/esm/utils/astProcessing.js +204 -6
  301. package/dist/esm/utils/axisFormatter.d.ts +3 -4
  302. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  303. package/dist/esm/utils/axisFormatter.js +42 -34
  304. package/dist/esm/utils/client.d.ts +4 -0
  305. package/dist/esm/utils/client.d.ts.map +1 -0
  306. package/dist/esm/utils/client.js +36 -0
  307. package/dist/esm/utils/constants.d.ts +1 -0
  308. package/dist/esm/utils/constants.d.ts.map +1 -1
  309. package/dist/esm/utils/constants.js +1 -0
  310. package/dist/esm/utils/csv.d.ts +2 -1
  311. package/dist/esm/utils/csv.d.ts.map +1 -1
  312. package/dist/esm/utils/dashboard.d.ts +3 -2
  313. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  314. package/dist/esm/utils/dashboard.js +11 -2
  315. package/dist/esm/utils/dataFetcher.d.ts +7 -2
  316. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  317. package/dist/esm/utils/dataFetcher.js +22 -3
  318. package/dist/esm/utils/dataProcessing.d.ts +6 -5
  319. package/dist/esm/utils/dataProcessing.d.ts.map +1 -1
  320. package/dist/esm/utils/dataProcessing.js +15 -23
  321. package/dist/esm/utils/dates.d.ts +1 -1
  322. package/dist/esm/utils/filterProcessing.d.ts +2 -2
  323. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  324. package/dist/esm/utils/filterProcessing.js +7 -7
  325. package/dist/esm/utils/monacoConfig.d.ts +2 -1
  326. package/dist/esm/utils/monacoConfig.d.ts.map +1 -1
  327. package/dist/esm/utils/monacoConfig.js +2 -2
  328. package/dist/esm/utils/pivotConstructor.d.ts +3 -2
  329. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  330. package/dist/esm/utils/pivotConstructor.js +10 -6
  331. package/dist/esm/utils/pivotProcessing.d.ts +4 -4
  332. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  333. package/dist/esm/utils/pivotProcessing.js +19 -1
  334. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  335. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  336. package/dist/esm/utils/queryConstructor.js +3 -3
  337. package/dist/esm/utils/report.d.ts +27 -1
  338. package/dist/esm/utils/report.d.ts.map +1 -1
  339. package/dist/esm/utils/report.js +143 -5
  340. package/dist/esm/utils/schema.d.ts +6 -4
  341. package/dist/esm/utils/schema.d.ts.map +1 -1
  342. package/dist/esm/utils/schema.js +27 -4
  343. package/dist/esm/utils/tableProcessing.d.ts +24 -6
  344. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  345. package/dist/esm/utils/tableProcessing.js +90 -4
  346. package/dist/esm/utils/valueFormatter.d.ts +0 -2
  347. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  348. package/dist/esm/utils/valueFormatter.js +83 -67
  349. package/package.json +1 -1
  350. package/dist/cjs/DateRangePicker/Calendar.d.ts +0 -17
  351. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +0 -1
  352. package/dist/cjs/DateRangePicker/Calendar.js +0 -168
  353. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts +0 -39
  354. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +0 -1
  355. package/dist/cjs/DateRangePicker/DateRangePicker.js +0 -123
  356. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts +0 -22
  357. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +0 -1
  358. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +0 -136
  359. package/dist/cjs/DateRangePicker/index.d.ts +0 -3
  360. package/dist/cjs/DateRangePicker/index.d.ts.map +0 -1
  361. package/dist/cjs/DateRangePicker/index.js +0 -9
  362. package/dist/cjs/TableChart.d.ts +0 -15
  363. package/dist/cjs/TableChart.d.ts.map +0 -1
  364. package/dist/cjs/TableChart.js +0 -122
  365. package/dist/cjs/components/Dropdown/Dropdown.d.ts +0 -14
  366. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +0 -1
  367. package/dist/cjs/components/Dropdown/Dropdown.js +0 -97
  368. package/dist/cjs/components/Dropdown/DropdownItem.d.ts +0 -11
  369. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +0 -1
  370. package/dist/cjs/components/Dropdown/DropdownItem.js +0 -62
  371. package/dist/cjs/components/Dropdown/index.d.ts +0 -3
  372. package/dist/cjs/components/Dropdown/index.d.ts.map +0 -1
  373. package/dist/cjs/components/Dropdown/index.js +0 -10
  374. package/dist/cjs/components/Modal/Modal.d.ts +0 -15
  375. package/dist/cjs/components/Modal/Modal.d.ts.map +0 -1
  376. package/dist/cjs/components/Modal/Modal.js +0 -89
  377. package/dist/cjs/components/Modal/index.d.ts +0 -2
  378. package/dist/cjs/components/Modal/index.d.ts.map +0 -1
  379. package/dist/cjs/components/Modal/index.js +0 -8
  380. package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +0 -1
  381. package/dist/cjs/hooks/useTheme.d.ts +0 -7
  382. package/dist/cjs/hooks/useTheme.d.ts.map +0 -1
  383. package/dist/cjs/hooks/useTheme.js +0 -12
  384. package/dist/cjs/models/Pivots.d.ts +0 -2
  385. package/dist/cjs/models/Pivots.d.ts.map +0 -1
  386. package/dist/cjs/utils/aggregate.d.ts +0 -4
  387. package/dist/cjs/utils/aggregate.d.ts.map +0 -1
  388. package/dist/cjs/utils/aggregate.js +0 -428
  389. package/dist/esm/DateRangePicker/Calendar.d.ts +0 -17
  390. package/dist/esm/DateRangePicker/Calendar.d.ts.map +0 -1
  391. package/dist/esm/DateRangePicker/Calendar.js +0 -164
  392. package/dist/esm/DateRangePicker/DateRangePicker.d.ts +0 -39
  393. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +0 -1
  394. package/dist/esm/DateRangePicker/DateRangePicker.js +0 -95
  395. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +0 -22
  396. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +0 -1
  397. package/dist/esm/DateRangePicker/DateRangePickerButton.js +0 -134
  398. package/dist/esm/DateRangePicker/index.d.ts +0 -3
  399. package/dist/esm/DateRangePicker/index.d.ts.map +0 -1
  400. package/dist/esm/DateRangePicker/index.js +0 -2
  401. package/dist/esm/TableChart.d.ts +0 -15
  402. package/dist/esm/TableChart.d.ts.map +0 -1
  403. package/dist/esm/TableChart.js +0 -95
  404. package/dist/esm/components/Dropdown/Dropdown.d.ts +0 -14
  405. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +0 -1
  406. package/dist/esm/components/Dropdown/Dropdown.js +0 -69
  407. package/dist/esm/components/Dropdown/DropdownItem.d.ts +0 -11
  408. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +0 -1
  409. package/dist/esm/components/Dropdown/DropdownItem.js +0 -37
  410. package/dist/esm/components/Dropdown/index.d.ts +0 -3
  411. package/dist/esm/components/Dropdown/index.d.ts.map +0 -1
  412. package/dist/esm/components/Dropdown/index.js +0 -2
  413. package/dist/esm/components/Modal/Modal.d.ts +0 -15
  414. package/dist/esm/components/Modal/Modal.d.ts.map +0 -1
  415. package/dist/esm/components/Modal/Modal.js +0 -64
  416. package/dist/esm/components/Modal/index.d.ts +0 -2
  417. package/dist/esm/components/Modal/index.d.ts.map +0 -1
  418. package/dist/esm/components/Modal/index.js +0 -1
  419. package/dist/esm/components/ReportBuilder/pivot.d.ts.map +0 -1
  420. package/dist/esm/hooks/useTheme.d.ts +0 -7
  421. package/dist/esm/hooks/useTheme.d.ts.map +0 -1
  422. package/dist/esm/hooks/useTheme.js +0 -10
  423. package/dist/esm/models/Pivots.d.ts +0 -2
  424. package/dist/esm/models/Pivots.d.ts.map +0 -1
  425. package/dist/esm/utils/aggregate.d.ts +0 -4
  426. package/dist/esm/utils/aggregate.d.ts.map +0 -1
  427. package/dist/esm/utils/aggregate.js +0 -422
  428. /package/dist/cjs/{components/ReportBuilder/pivot.js → models/Client.js} +0 -0
  429. /package/dist/cjs/models/{Pivots.js → Dashboard.js} +0 -0
  430. /package/dist/esm/{components/ReportBuilder/pivot.js → models/Client.js} +0 -0
  431. /package/dist/esm/models/{Pivots.js → Dashboard.js} +0 -0
@@ -60,7 +60,7 @@ const reverseOperatorMap = (operator, fieldType) => {
60
60
  return (Object.keys(stringOperatorMap).find((key) => stringOperatorMap[key].includes(operator)) ?? null);
61
61
  case FieldTypes.Date:
62
62
  return (Object.keys(dateOperatorMap).find((key) => dateOperatorMap[key].includes(operator)) ?? null);
63
- case FieldTypes.Numeric:
63
+ case FieldTypes.Number:
64
64
  return (Object.keys(numberOperatorMap).find((key) => numberOperatorMap[key].includes(operator)) ?? null);
65
65
  case FieldTypes.Null:
66
66
  return (Object.keys(nullOperatorMap).find((key) => nullOperatorMap[key].includes(operator)) ?? null);
@@ -116,7 +116,7 @@ function mapOperatorToFilterName(operator, fieldType) {
116
116
  default:
117
117
  return FilterNames.StringFilter;
118
118
  }
119
- case FieldTypes.Numeric:
119
+ case FieldTypes.Number:
120
120
  return FilterNames.NumericFilter;
121
121
  case FieldTypes.Null:
122
122
  return FilterNames.NullFilter;
@@ -4292,7 +4292,7 @@ export const astToFilter = (ast, db) => {
4292
4292
  fieldType = FieldTypes.Null;
4293
4293
  break;
4294
4294
  case 'number':
4295
- fieldType = FieldTypes.Numeric;
4295
+ fieldType = FieldTypes.Number;
4296
4296
  break;
4297
4297
  case 'single_quote_string':
4298
4298
  case 'double_quote_string':
@@ -4410,32 +4410,32 @@ export const astToFilter = (ast, db) => {
4410
4410
  case FilterNames.StringFilter:
4411
4411
  return {
4412
4412
  field: lowerFunctionToField(field, db).replaceAll('%', ''),
4413
- name: filterName,
4414
- type: FieldTypes.String,
4413
+ filterType: filterName,
4414
+ fieldType: FieldTypes.String,
4415
4415
  operator: mappedOperator,
4416
4416
  value: lowerFunctionToField(right, db).replaceAll('%', ''),
4417
4417
  };
4418
4418
  case FilterNames.StringInFilter:
4419
4419
  return {
4420
4420
  field: lowerFunctionToField(field, db).replaceAll('%', ''),
4421
- name: filterName,
4422
- type: FieldTypes.String,
4421
+ filterType: filterName,
4422
+ fieldType: FieldTypes.String,
4423
4423
  operator: mappedOperator,
4424
4424
  value: right.value.map((v) => lowerFunctionToField(v, db).replaceAll('%', '')),
4425
4425
  };
4426
4426
  case FilterNames.NumericFilter:
4427
4427
  return {
4428
4428
  field: field,
4429
- name: filterName,
4430
- type: FieldTypes.Numeric,
4429
+ filterType: filterName,
4430
+ fieldType: FieldTypes.Number,
4431
4431
  operator: mappedOperator,
4432
4432
  value: Number(right.value),
4433
4433
  };
4434
4434
  case FilterNames.NullFilter:
4435
4435
  return {
4436
4436
  field: field,
4437
- name: filterName,
4438
- type: FieldTypes.Null,
4437
+ filterType: filterName,
4438
+ fieldType: FieldTypes.Null,
4439
4439
  operator: mappedOperator,
4440
4440
  value: null,
4441
4441
  };
@@ -4448,13 +4448,13 @@ export const astToFilter = (ast, db) => {
4448
4448
  }
4449
4449
  return {
4450
4450
  field: field,
4451
- name: filterName,
4452
- type: FieldTypes.Date,
4451
+ filterType: filterName,
4452
+ fieldType: FieldTypes.Date,
4453
4453
  operator: DateOperator.Custom,
4454
4454
  value: values,
4455
4455
  };
4456
4456
  case FilterNames.DateComparisonFilter:
4457
- const numericDateComparison = reverseOperatorMap(operator, FieldTypes.Numeric);
4457
+ const numericDateComparison = reverseOperatorMap(operator, FieldTypes.Number);
4458
4458
  if (numericDateComparison) {
4459
4459
  if (!right.value ||
4460
4460
  (typeof right.value !== 'number' && typeof right.value !== 'string')) {
@@ -4465,16 +4465,16 @@ export const astToFilter = (ast, db) => {
4465
4465
  if (numericDateComparison === NumberOperator.EqualTo) {
4466
4466
  return {
4467
4467
  field: field,
4468
- name: FilterNames.DateCustomFilter,
4469
- type: FieldTypes.Date,
4468
+ filterType: FilterNames.DateCustomFilter,
4469
+ fieldType: FieldTypes.Date,
4470
4470
  operator: DateOperator.Custom,
4471
4471
  value: { startDate: right.value, endDate: right.value },
4472
4472
  };
4473
4473
  }
4474
4474
  return {
4475
4475
  field: field,
4476
- name: FilterNames.DateComparisonFilter,
4477
- type: FieldTypes.Date,
4476
+ filterType: FilterNames.DateComparisonFilter,
4477
+ fieldType: FieldTypes.Date,
4478
4478
  operator: numericDateComparison,
4479
4479
  value: right.value,
4480
4480
  };
@@ -4488,8 +4488,8 @@ export const astToFilter = (ast, db) => {
4488
4488
  if (!isNaN(value.value)) {
4489
4489
  return {
4490
4490
  field: field,
4491
- name: filterName,
4492
- type: FieldTypes.Date,
4491
+ filterType: filterName,
4492
+ fieldType: FieldTypes.Date,
4493
4493
  operator: dateOperator,
4494
4494
  value,
4495
4495
  };
@@ -4497,8 +4497,8 @@ export const astToFilter = (ast, db) => {
4497
4497
  else {
4498
4498
  return {
4499
4499
  field: field,
4500
- name: FilterNames.DateCustomFilter,
4501
- type: FieldTypes.Date,
4500
+ filterType: FilterNames.DateCustomFilter,
4501
+ fieldType: FieldTypes.Date,
4502
4502
  operator: DateOperator.Custom,
4503
4503
  value: value.value,
4504
4504
  };
@@ -4506,8 +4506,8 @@ export const astToFilter = (ast, db) => {
4506
4506
  case FilterNames.BooleanFilter:
4507
4507
  return {
4508
4508
  field: field,
4509
- name: filterName,
4510
- type: FieldTypes.Boolean,
4509
+ filterType: filterName,
4510
+ fieldType: FieldTypes.Boolean,
4511
4511
  operator: mappedOperator,
4512
4512
  value: Boolean(right.value),
4513
4513
  };
@@ -4553,7 +4553,7 @@ export const filterToAst = (filter, db) => {
4553
4553
  const { field, operator, value } = filter;
4554
4554
  const mappedOperator = operatorMap[operator][0];
4555
4555
  // Generate SQL AST based on the filter type
4556
- switch (filter.type) {
4556
+ switch (filter.fieldType) {
4557
4557
  case FieldTypes.String:
4558
4558
  if (!value) {
4559
4559
  return null;
@@ -4604,7 +4604,7 @@ export const filterToAst = (filter, db) => {
4604
4604
  right: fieldColumnToLowerCaseAst(value, db, false),
4605
4605
  };
4606
4606
  }
4607
- case FieldTypes.Numeric:
4607
+ case FieldTypes.Number:
4608
4608
  switch (mappedOperator) {
4609
4609
  default:
4610
4610
  return {
@@ -4615,7 +4615,7 @@ export const filterToAst = (filter, db) => {
4615
4615
  };
4616
4616
  }
4617
4617
  case FieldTypes.Date:
4618
- switch (filter.name) {
4618
+ switch (filter.filterType) {
4619
4619
  case FilterNames.DateCustomFilter:
4620
4620
  return {
4621
4621
  type: 'binary_expr',
@@ -1,4 +1,8 @@
1
- import { Column } from '../models/Columns';
1
+ import { Client } from '../models/Client';
2
+ import { Column, ColumnInternal } from '../models/Columns';
3
+ import { Pivot } from '../models/Pivot';
4
+ import { QuillReportInternal } from '../models/Report';
5
+ import { Table } from '../models/Tables';
2
6
  export declare function getSelectFromAST(ast: any): any;
3
7
  export declare function processStarColumn(ast: any, columns: Column[]): any;
4
8
  export declare function recursiveSearchByKey(node: any, searchKey: string): any;
@@ -16,11 +20,50 @@ export declare function processApostrophe(node: any, searchKeys: string[]): any;
16
20
  export declare function recursiveSearchByKeysFindAllOccurances(node: any, searchKeys: string[], results: any[]): any;
17
21
  export declare function getColumnAndTableInfo(tableAliasMap: {
18
22
  [alias: string]: string;
19
- }, column: any, schemaInfo: any): {
23
+ }, column: any, schemaInfo: Table[]): {
20
24
  tableName: string;
21
25
  columnName: string;
22
26
  } | undefined;
23
- export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: any, tableAliasMap: any): {
27
+ export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: Table[], tableAliasMap: any): {
24
28
  [table: string]: string[];
25
29
  };
30
+ export declare const isSubquery: (node: any) => boolean;
31
+ export declare const getAllPossibleColumns: (baseAst: any, schema: Table[]) => (ColumnInternal & {
32
+ table: string;
33
+ })[];
34
+ export declare const createBasicSelectASTFromColumns: (columns: ColumnInternal[], tableName: string) => {
35
+ type: string;
36
+ options: null;
37
+ distinct: null;
38
+ columns: {
39
+ expr: {
40
+ type: string;
41
+ table: string;
42
+ column: string;
43
+ };
44
+ as: null;
45
+ }[];
46
+ from: {
47
+ db: null;
48
+ table: string;
49
+ as: null;
50
+ }[];
51
+ where: null;
52
+ groupby: null;
53
+ having: null;
54
+ orderby: null;
55
+ limit: null;
56
+ };
57
+ export declare const fetchAndProcessASTFromPrompt: (aiPrompt: string, schema: Table[], client: Client, prevPivot?: Pivot, currentQuery?: string) => Promise<{
58
+ ast: any;
59
+ pivot: Pivot | null | undefined;
60
+ whereAST: any;
61
+ error?: string | undefined;
62
+ }>;
63
+ export declare const fetchASTFromQuillReport: (report: QuillReportInternal, client: Client, schema: Table[]) => Promise<{
64
+ ast: any;
65
+ pivot: Pivot | undefined | null;
66
+ schema?: Table[] | undefined;
67
+ error?: string | undefined;
68
+ }>;
26
69
  //# sourceMappingURL=astProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAIzC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,KAAK,EAAE,GAClB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAmCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,KAAK,EAAE,EACf,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B;AAED,eAAO,MAAM,UAAU,SAAU,GAAG,YAWnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,GAAG,UACJ,KAAK,EAAE,KACd,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAmCtC,CAAC;AAEF,eAAO,MAAM,+BAA+B,YACjC,cAAc,EAAE,aACd,MAAM;;;;;;;;;;;;;;;;;;;;;;CAqBlB,CAAC;AAEF,eAAO,MAAM,4BAA4B,aAC7B,MAAM,UACR,KAAK,EAAE,UACP,MAAM,cACF,KAAK,iBACF,MAAM;SAEhB,GAAG;WACD,KAAK,GAAG,IAAI,GAAG,SAAS;cACrB,GAAG;;EA+Fd,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,UACnB,MAAM,UACN,KAAK,EAAE;SAEV,GAAG;WACD,KAAK,GAAG,SAAS,GAAG,IAAI;;;EAmDhC,CAAC"}
@@ -1,3 +1,8 @@
1
+ import { getTableNames } from '../components/ReportBuilder/ast';
2
+ import { convertBigQuery, convertGroupBy, convertRemoveSimpleParentheses, convertStringComparison, convertUnaryToBinary, convertWildcardColumns, } from '../components/ReportBuilder/convert';
3
+ import { deepCopy, removeNonSelectedTableReferences, } from '../components/ReportBuilder/util';
4
+ import { QUILL_SERVER } from './constants';
5
+ import { getSchemaInfoWithCustomFields } from './schema';
1
6
  export function getSelectFromAST(ast) {
2
7
  if (Array.isArray(ast)) {
3
8
  return ast[0];
@@ -155,17 +160,13 @@ export function getColumnAndTableInfo(tableAliasMap, column, schemaInfo) {
155
160
  const tableInfo = schemaInfo.find((tableInfo) => tableInfo.name === table);
156
161
  if (!tableInfo)
157
162
  continue;
158
- const columnNames = tableInfo.columns.map((column) => column.name);
163
+ const columnNames = tableInfo.columns.map((column) => column.field);
159
164
  if (columnNames.includes(columnName)) {
160
165
  tableName = table;
161
166
  break;
162
167
  }
163
168
  }
164
169
  }
165
- // const tableName = columnsInfo.table
166
- // ? tableAliasMap[columnsInfo.table]
167
- // : //@ts-ignore
168
- // tableAliasMap[Object.keys(tableAliasMap)[0]];
169
170
  return { tableName, columnName };
170
171
  }
171
172
  export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
@@ -179,7 +180,7 @@ export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
179
180
  if (!referencedColumns[table]) {
180
181
  referencedColumns[table] = [];
181
182
  }
182
- referencedColumns[table] = tableInfo.columns.map((column) => column.name || '');
183
+ referencedColumns[table] = tableInfo.columns.map((column) => column.field);
183
184
  }
184
185
  });
185
186
  }
@@ -252,3 +253,200 @@ export function getColumnsByTableFromASTAndSchema(ast, tables, tableAliasMap) {
252
253
  }
253
254
  return referencedColumns;
254
255
  }
256
+ export const isSubquery = (node) => {
257
+ if (!node)
258
+ return false;
259
+ if (node.ast)
260
+ return true;
261
+ if (node.left && isSubquery(node.left))
262
+ return true;
263
+ if (node.right && isSubquery(node.right))
264
+ return true;
265
+ if (node.value && Array.isArray(node.value)) {
266
+ for (const value of node.value) {
267
+ if (isSubquery(value))
268
+ return true;
269
+ }
270
+ }
271
+ return false;
272
+ };
273
+ export const getAllPossibleColumns = (baseAst, schema) => {
274
+ if (!baseAst || !baseAst.from) {
275
+ return schema.flatMap((table) => table.columns.map((c) => ({
276
+ ...c,
277
+ table: table.displayName,
278
+ })));
279
+ }
280
+ // TODO: support infinitely nested FROM table lookups.
281
+ // This currently only supports top-level table names in the FROM section
282
+ // of queries (eg. FROM "table_name", not "FROM (SELECT * FROM other) AS table_name")
283
+ const tableNamesInQuery = baseAst.from.map((tbl) => tbl.table);
284
+ return schema
285
+ .filter((t) => tableNamesInQuery.includes(t.displayName))
286
+ .flatMap((table) => table.columns
287
+ .map((c) => ({
288
+ ...c,
289
+ table: table.displayName,
290
+ }))
291
+ .sort((a, b) => {
292
+ const aIsId = a.field.toLowerCase() === 'id' ||
293
+ a.field.toLowerCase().endsWith('_id') ||
294
+ a.field.endsWith('Id');
295
+ const bIsId = b.field.toLowerCase() === 'id' ||
296
+ b.field.toLowerCase().endsWith('_id') ||
297
+ b.field.endsWith('Id');
298
+ if (aIsId && !bIsId)
299
+ return 1;
300
+ if (bIsId && !aIsId)
301
+ return -1;
302
+ return 0;
303
+ }));
304
+ };
305
+ export const createBasicSelectASTFromColumns = (columns, tableName) => {
306
+ return {
307
+ type: 'select',
308
+ options: null,
309
+ distinct: null,
310
+ columns: columns.map((column) => ({
311
+ expr: {
312
+ type: 'column_ref',
313
+ table: tableName,
314
+ column: column.field,
315
+ },
316
+ as: null,
317
+ })),
318
+ from: [{ db: null, table: tableName, as: null }],
319
+ where: null,
320
+ groupby: null,
321
+ having: null,
322
+ orderby: null,
323
+ limit: null,
324
+ };
325
+ };
326
+ export const fetchAndProcessASTFromPrompt = async (aiPrompt, schema, client, prevPivot, currentQuery) => {
327
+ let res, data, ast, newAst, pivot;
328
+ let numRetries = 0;
329
+ let whereAST;
330
+ const MAX_RETRIES = 3;
331
+ try {
332
+ let isTableJoin = !ast || !ast.from || ast.from.length !== 1;
333
+ while (isTableJoin || isSubquery(ast?.where)) {
334
+ if (numRetries === MAX_RETRIES)
335
+ break;
336
+ if (!currentQuery || (ast && (isTableJoin || isSubquery(ast?.where)))) {
337
+ res = await fetch(`${QUILL_SERVER}/magic`, {
338
+ method: 'POST',
339
+ headers: { 'Content-Type': 'application/json' },
340
+ body: JSON.stringify({
341
+ initialQuestion: aiPrompt,
342
+ publicKey: client.publicKey,
343
+ useNewNodeSql: true, // new flag
344
+ }),
345
+ });
346
+ }
347
+ else {
348
+ res = await fetch(`${QUILL_SERVER}/magic/edit`, {
349
+ method: 'POST',
350
+ headers: { 'Content-Type': 'application/json' },
351
+ body: JSON.stringify({
352
+ sqlQuery: currentQuery,
353
+ initialQuestion: aiPrompt,
354
+ publicKey: client.publicKey,
355
+ useNewNodeSql: true, // new flag
356
+ }),
357
+ });
358
+ }
359
+ data = await res.json();
360
+ ast = data?.ast?.length ? data?.ast[0] : data?.ast;
361
+ // TODO: Debug invalid table joins in handleAsk
362
+ isTableJoin =
363
+ ast?.type !== 'bigquery' &&
364
+ (!ast || !ast.from || ast.from.length !== 1);
365
+ numRetries += 1;
366
+ }
367
+ if (numRetries === MAX_RETRIES) {
368
+ console.error('[Error]: Max retries exceeded.');
369
+ console.info(`%c[Prompt]: ${aiPrompt}`, 'color: dimgray');
370
+ throw new Error("Error: Couldn't process your request, please re-word your prompt.");
371
+ }
372
+ ast = ast.length ? ast[0] : ast;
373
+ newAst = convertBigQuery(ast);
374
+ newAst = convertWildcardColumns(newAst, schema); // must go before groupby
375
+ ({ ast: newAst, pivot } = convertGroupBy(newAst, schema, prevPivot));
376
+ newAst = convertStringComparison(newAst, client.databaseType || 'postgresql');
377
+ newAst = convertRemoveSimpleParentheses(newAst);
378
+ const table = getTableNames(newAst)[0];
379
+ if (!table) {
380
+ throw new Error('Table or table alias not found');
381
+ }
382
+ const processedName = table || '';
383
+ const tableInfo = schema.find((t) => t.name === processedName);
384
+ if (!tableInfo) {
385
+ throw new Error('Table info not found');
386
+ }
387
+ newAst = convertUnaryToBinary(newAst);
388
+ newAst = removeNonSelectedTableReferences(newAst, processedName, tableInfo.columns.map((col) => col.field));
389
+ if (pivot) {
390
+ newAst = deepCopy({ ...newAst, orderby: null, limit: null });
391
+ }
392
+ whereAST = deepCopy(newAst.where);
393
+ }
394
+ catch (e) {
395
+ console.log(e);
396
+ if (e instanceof Error) {
397
+ return {
398
+ ast: null,
399
+ pivot: null,
400
+ whereAST: null,
401
+ error: "Error: Couldn't process your request, please re-word your prompt.",
402
+ };
403
+ }
404
+ }
405
+ return { ast: newAst, pivot, whereAST };
406
+ };
407
+ export const fetchASTFromQuillReport = async (report, client, schema) => {
408
+ let newAst;
409
+ let groupByPivot = null;
410
+ let schemaInfo = [];
411
+ try {
412
+ if (!report || report.referencedTables?.length !== 1) {
413
+ throw new Error('Report not found');
414
+ }
415
+ const url = `${QUILL_SERVER}/astify`;
416
+ const result = await fetch(url, {
417
+ method: 'POST',
418
+ headers: {
419
+ 'Content-Type': 'application/json',
420
+ },
421
+ body: JSON.stringify({ query: report.queryString, useNewNodeSql: true }),
422
+ });
423
+ const resp = await result.json();
424
+ if (resp.success === false) {
425
+ throw new Error("Couldn't process report query.");
426
+ }
427
+ const ast = getSelectFromAST(resp.ast);
428
+ let convertedAst = processStarColumn(ast, report.columns);
429
+ convertedAst = convertWildcardColumns(convertedAst, schema); // must go before groupby
430
+ convertedAst = convertBigQuery(convertedAst);
431
+ schemaInfo = schema;
432
+ if (!schemaInfo) {
433
+ const { schemaData } = await getSchemaInfoWithCustomFields(client, 'rb');
434
+ schemaInfo = schemaData;
435
+ }
436
+ processApostrophe(convertedAst, ['type', 'value']);
437
+ convertedAst = convertBigQuery(convertedAst);
438
+ ({ ast: newAst, pivot: groupByPivot } = convertGroupBy(convertedAst, schemaInfo, report.pivot ? report.pivot : undefined));
439
+ newAst = groupByPivot ? newAst : convertedAst;
440
+ }
441
+ catch (e) {
442
+ console.log(e);
443
+ if (e instanceof Error) {
444
+ return {
445
+ error: e.message,
446
+ ast: null,
447
+ pivot: null,
448
+ };
449
+ }
450
+ }
451
+ return { ast: newAst, pivot: groupByPivot, schema: schemaInfo };
452
+ };
@@ -1,8 +1,7 @@
1
+ import { AxisFormat } from '../Dashboard';
1
2
  type Field = {
2
- _id: string;
3
- label: string;
4
3
  field: string;
5
- format: 'percent';
4
+ format: AxisFormat;
6
5
  };
7
6
  type Props = {
8
7
  value: string | number | boolean | undefined | null;
@@ -15,6 +14,6 @@ type Props = {
15
14
  * The axis formatter will print a shorter version of the valueFormatter, which
16
15
  * fits nicely along the X or Y axes.
17
16
  */
18
- export declare const axisFormatter: ({ value, field, fields, }: Props) => string | number | boolean;
17
+ export declare const axisFormatter: ({ value, field, fields }: Props) => string;
19
18
  export {};
20
19
  //# sourceMappingURL=axisFormatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.ts"],"names":[],"mappings":"AAGA,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,8BAIvB,KAAK,KAAG,MAAM,GAAG,MAAM,GAAG,OAgC5B,CAAC"}
1
+ {"version":3,"file":"axisFormatter.d.ts","sourceRoot":"","sources":["../../../src/utils/axisFormatter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC;IACpD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,6BAA8B,KAAK,KAAG,MAwC/D,CAAC"}
@@ -6,7 +6,7 @@ import { utcToZonedTime } from 'date-fns-tz';
6
6
  * The axis formatter will print a shorter version of the valueFormatter, which
7
7
  * fits nicely along the X or Y axes.
8
8
  */
9
- export const axisFormatter = ({ value, field, fields, }) => {
9
+ export const axisFormatter = ({ value, field, fields }) => {
10
10
  if (field === undefined || field === null)
11
11
  return '';
12
12
  if (value === undefined || value === null)
@@ -14,30 +14,39 @@ export const axisFormatter = ({ value, field, fields, }) => {
14
14
  const fieldInfo = fields.find((f) => f.field === field);
15
15
  if (!fieldInfo)
16
16
  return '';
17
- const HANDLERS = {
18
- percent: formatPercent,
19
- dollar_amount: formatDollarAmount,
20
- dollar_cents: formatDollarAmount, // no cents for axis format
21
- whole_number: formatWholeNumber,
22
- one_decimal_place: formatWholeNumber, // no decimals for axis format
23
- two_decimal_places: formatWholeNumber, // no decimals for axis format
24
- string: formatString,
25
- yyyy: format_YYYY,
26
- MMM_yyyy: format_MMM_yyyy,
27
- MMM_dd: format_MMM_dd,
28
- MMM_dd_yyyy: format_MMM_dd_yyyy,
29
- MMM_ww_yyyy: format_MMM_ww_yyyy,
30
- hh_ap_pm: format_hh_ap_pm,
31
- 'MMM_dd-MMM_dd': format_MMM_dd_MMM_dd,
32
- 'MMM_dd_hh:mm_ap_pm': format_MMM_dd_hh_mm_ap_pm,
33
- 'wo, yyyy': format_wo_yyyy,
34
- };
35
17
  // try to handle this value using the associated formatType handler
36
18
  const formatType = fieldInfo.format;
37
- if (Object.keys(HANDLERS).includes(formatType)) {
38
- return HANDLERS[formatType](value);
19
+ switch (formatType) {
20
+ case 'percent':
21
+ return formatPercent(value);
22
+ case 'dollar_amount':
23
+ return formatDollarAmount(value);
24
+ case 'whole_number':
25
+ return formatWholeNumber(value);
26
+ case 'string':
27
+ return formatString(value);
28
+ case 'yyyy':
29
+ return format_YYYY(value);
30
+ case 'MMM_dd':
31
+ return format_MMM_dd(value);
32
+ case 'MMM_yyyy':
33
+ return format_MMM_yyyy(value);
34
+ case 'MMM_dd_yyyy':
35
+ return format_MMM_dd_yyyy(value);
36
+ // not sure what this is
37
+ // case 'MMM_ww_yyyy':
38
+ // return format_MMM_ww_yyyy(value);
39
+ case 'hh_ap_pm':
40
+ return format_hh_ap_pm(value);
41
+ case 'MMM_dd-MMM_dd':
42
+ return format_MMM_dd_MMM_dd(value);
43
+ case 'MMM_dd_hh:mm_ap_pm':
44
+ return format_MMM_dd_hh_mm_ap_pm(value);
45
+ case 'wo, yyyy':
46
+ return format_wo_yyyy(value);
47
+ default:
48
+ return formatString(value);
39
49
  }
40
- return formatString(value); // by default make this value a string
41
50
  };
42
51
  /**
43
52
  * HELPER FUNCTION DEFINITIONS
@@ -151,18 +160,17 @@ const format_MMM_dd_MMM_dd = (value) => {
151
160
  return `${format(monday, 'MMM dd')} - ${format(sunday, 'MMM dd')}`;
152
161
  }
153
162
  };
154
- const format_MMM_ww_yyyy = (value) => {
155
- const utcDate = utcToZonedTime(new Date(value), 'UTC');
156
- if (!isValid(utcDate))
157
- return 'Invalid date';
158
- const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
159
- const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
160
- const month = format(utcDate, 'MMM');
161
- const startDay = format(startOfWeekDate, 'd');
162
- const endDay = format(endOfWeekDate, 'd');
163
- const year = format(utcDate, 'yyyy');
164
- return `${month}, ${startDay}-${endDay}, ${year}`;
165
- };
163
+ // const format_MMM_ww_yyyy = (value: any) => {
164
+ // const utcDate: Date = utcToZonedTime(new Date(value), 'UTC');
165
+ // if (!isValid(utcDate)) return 'Invalid date';
166
+ // const startOfWeekDate = startOfWeek(utcDate, { weekStartsOn: 1 });
167
+ // const endOfWeekDate = endOfWeek(utcDate, { weekStartsOn: 1 });
168
+ // const month = format(utcDate, 'MMM');
169
+ // const startDay = format(startOfWeekDate, 'd');
170
+ // const endDay = format(endOfWeekDate, 'd');
171
+ // const year = format(utcDate, 'yyyy');
172
+ // return `${month}, ${startDay}-${endDay}, ${year}`;
173
+ // };
166
174
  const format_MMM_dd_hh_mm_ap_pm = (value) => {
167
175
  const utcDate = utcToZonedTime(new Date(value), 'UTC');
168
176
  if (!isValid(utcDate))
@@ -0,0 +1,4 @@
1
+ import { Client } from '../models/Client';
2
+ export declare const EMPTY_CLIENT: Client;
3
+ export declare function fetchClient(publicKey: string, queryEndpoint: string, withCredentials?: boolean, queryHeaders?: HeadersInit): Promise<Client>;
4
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,eAAO,MAAM,YAAY,EAAE,MAS1B,CAAC;AAEF,wBAAsB,WAAW,CAC/B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,EACrB,eAAe,UAAQ,EACvB,YAAY,CAAC,EAAE,WAAW,GACzB,OAAO,CAAC,MAAM,CAAC,CAwBjB"}
@@ -0,0 +1,36 @@
1
+ export const EMPTY_CLIENT = {
2
+ customerId: '',
3
+ clientId: '',
4
+ userId: '',
5
+ publicKey: '',
6
+ queryEndpoint: '',
7
+ queryHeaders: {},
8
+ withCredentials: false,
9
+ databaseType: '',
10
+ };
11
+ export async function fetchClient(publicKey, queryEndpoint, withCredentials = false, queryHeaders) {
12
+ let result = EMPTY_CLIENT;
13
+ try {
14
+ const response = await fetch(`${queryEndpoint}`, {
15
+ method: 'POST',
16
+ headers: {
17
+ ...queryHeaders,
18
+ 'Content-Type': 'application/json',
19
+ },
20
+ body: JSON.stringify({
21
+ metadata: {
22
+ clientId: publicKey,
23
+ publicKey,
24
+ task: 'client',
25
+ },
26
+ }),
27
+ credentials: withCredentials ? 'include' : 'omit',
28
+ });
29
+ const json = await response.json();
30
+ result = json.data?.data?.client || json.data?.client;
31
+ }
32
+ catch (error) {
33
+ console.error('ERROR:', error);
34
+ }
35
+ return result;
36
+ }
@@ -1,3 +1,4 @@
1
1
  export declare const MAX_COLUMN_ROWS_LIMIT = 500;
2
+ export declare const QUILL_SERVER = "https://quill-344421.uc.r.appspot.com";
2
3
  export declare const MAX_PIVOT_UNIQUE_VALUES = 250;
3
4
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,uBAAuB,MAAM,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,YAAY,0CAA0C,CAAC;AACpE,eAAO,MAAM,uBAAuB,MAAM,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export const MAX_COLUMN_ROWS_LIMIT = 500;
2
+ export const QUILL_SERVER = 'https://quill-344421.uc.r.appspot.com';
2
3
  export const MAX_PIVOT_UNIQUE_VALUES = 250;