@quillsql/react 2.12.52 → 2.13.0

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 (263) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +5 -3
  3. package/dist/cjs/ChartBuilder.d.ts +10 -3
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +62 -26
  6. package/dist/cjs/ChartEditor.d.ts +3 -1
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +74 -16
  9. package/dist/cjs/Context.d.ts +17 -6
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +138 -73
  12. package/dist/cjs/Dashboard.d.ts +8 -4
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +146 -367
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  16. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +20 -14
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  19. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +1 -1
  20. package/dist/cjs/QuillProvider.js +1 -1
  21. package/dist/cjs/ReportBuilder.d.ts +8 -12
  22. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  23. package/dist/cjs/ReportBuilder.js +163 -83
  24. package/dist/cjs/SQLEditor.d.ts +8 -1
  25. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  26. package/dist/cjs/SQLEditor.js +81 -28
  27. package/dist/cjs/Table.d.ts.map +1 -1
  28. package/dist/cjs/Table.js +6 -3
  29. package/dist/cjs/assets/AdjustmentsIcon.d.ts +5 -0
  30. package/dist/cjs/assets/AdjustmentsIcon.d.ts.map +1 -0
  31. package/dist/cjs/assets/AdjustmentsIcon.js +5 -0
  32. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  33. package/dist/cjs/components/Chart/ChartError.js +2 -2
  34. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +4 -3
  35. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  36. package/dist/cjs/components/Dashboard/DashboardFilter.js +12 -12
  37. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +2 -2
  38. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  39. package/dist/cjs/components/Dashboard/DataLoader.d.ts +11 -5
  40. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  41. package/dist/cjs/components/Dashboard/DataLoader.js +91 -32
  42. package/dist/cjs/components/Dashboard/TableComponent.d.ts +2 -1
  43. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  44. package/dist/cjs/components/Dashboard/TableComponent.js +10 -3
  45. package/dist/cjs/components/Dashboard/util.d.ts +2 -2
  46. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  47. package/dist/cjs/components/Dashboard/util.js +2 -2
  48. package/dist/cjs/components/QuillMultiSelect.d.ts.map +1 -1
  49. package/dist/cjs/components/QuillMultiSelect.js +18 -13
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +67 -45
  52. package/dist/cjs/components/QuillSelect.d.ts +1 -1
  53. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  54. package/dist/cjs/components/QuillSelect.js +29 -7
  55. package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
  56. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  57. package/dist/cjs/components/QuillSelectWithCombo.js +47 -26
  58. package/dist/cjs/components/QuillTable.d.ts +3 -2
  59. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  60. package/dist/cjs/components/QuillTable.js +32 -19
  61. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
  62. package/dist/cjs/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  63. package/dist/cjs/components/ReportBuilder/AddLimitPopover.js +2 -2
  64. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts +2 -1
  65. package/dist/cjs/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  66. package/dist/cjs/components/ReportBuilder/AddSortPopover.js +2 -2
  67. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts +2 -1
  68. package/dist/cjs/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  69. package/dist/cjs/components/ReportBuilder/FilterModal.js +17 -4
  70. package/dist/cjs/components/ReportBuilder/ui.d.ts +13 -8
  71. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  72. package/dist/cjs/components/ReportBuilder/ui.js +15 -24
  73. package/dist/cjs/components/UiComponents.d.ts +17 -9
  74. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  75. package/dist/cjs/components/UiComponents.js +30 -24
  76. package/dist/cjs/hooks/useAstToFilterTree.d.ts +2 -2
  77. package/dist/cjs/hooks/useAstToFilterTree.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useDashboard.d.ts +13 -5
  79. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  80. package/dist/cjs/hooks/useDashboard.js +158 -70
  81. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  82. package/dist/cjs/hooks/useExport.js +9 -3
  83. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  84. package/dist/cjs/hooks/useQuill.js +15 -15
  85. package/dist/cjs/hooks/useVirtualTables.d.ts +12 -3
  86. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  87. package/dist/cjs/hooks/useVirtualTables.js +105 -1
  88. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -1
  89. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  90. package/dist/cjs/internals/ReportBuilder/PivotForm.js +9 -9
  91. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  92. package/dist/cjs/internals/ReportBuilder/PivotList.js +21 -15
  93. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -2
  94. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  95. package/dist/cjs/internals/ReportBuilder/PivotModal.js +9 -9
  96. package/dist/cjs/models/Client.d.ts +16 -2
  97. package/dist/cjs/models/Client.d.ts.map +1 -1
  98. package/dist/cjs/models/Dashboard.d.ts +1 -1
  99. package/dist/cjs/models/Dashboard.d.ts.map +1 -1
  100. package/dist/cjs/models/Filter.d.ts +4 -3
  101. package/dist/cjs/models/Filter.d.ts.map +1 -1
  102. package/dist/cjs/models/Filter.js +38 -1
  103. package/dist/cjs/utils/astProcessing.d.ts +3 -3
  104. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  105. package/dist/cjs/utils/client.d.ts.map +1 -1
  106. package/dist/cjs/utils/client.js +2 -7
  107. package/dist/cjs/utils/dashboard.d.ts +5 -5
  108. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  109. package/dist/cjs/utils/dashboard.js +90 -9
  110. package/dist/cjs/utils/dataFetcher.d.ts +4 -4
  111. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  112. package/dist/cjs/utils/dataFetcher.js +1 -1
  113. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  114. package/dist/cjs/utils/filterProcessing.js +2 -8
  115. package/dist/cjs/utils/paginationProcessing.js +1 -1
  116. package/dist/cjs/utils/pivotConstructor.d.ts +2 -2
  117. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  118. package/dist/cjs/utils/pivotConstructor.js +1 -1
  119. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  120. package/dist/cjs/utils/pivotProcessing.js +6 -2
  121. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  122. package/dist/cjs/utils/queryConstructor.js +12 -9
  123. package/dist/cjs/utils/report.d.ts +6 -5
  124. package/dist/cjs/utils/report.d.ts.map +1 -1
  125. package/dist/cjs/utils/report.js +71 -25
  126. package/dist/cjs/utils/schema.d.ts +3 -3
  127. package/dist/cjs/utils/schema.d.ts.map +1 -1
  128. package/dist/cjs/utils/schema.js +39 -35
  129. package/dist/cjs/utils/tableProcessing.d.ts +18 -11
  130. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  131. package/dist/cjs/utils/tableProcessing.js +44 -23
  132. package/dist/esm/Chart.d.ts.map +1 -1
  133. package/dist/esm/Chart.js +6 -4
  134. package/dist/esm/ChartBuilder.d.ts +10 -3
  135. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  136. package/dist/esm/ChartBuilder.js +59 -26
  137. package/dist/esm/ChartEditor.d.ts +3 -1
  138. package/dist/esm/ChartEditor.d.ts.map +1 -1
  139. package/dist/esm/ChartEditor.js +76 -18
  140. package/dist/esm/Context.d.ts +17 -6
  141. package/dist/esm/Context.d.ts.map +1 -1
  142. package/dist/esm/Context.js +139 -74
  143. package/dist/esm/Dashboard.d.ts +8 -4
  144. package/dist/esm/Dashboard.d.ts.map +1 -1
  145. package/dist/esm/Dashboard.js +146 -367
  146. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  147. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +21 -15
  148. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +1 -0
  149. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  150. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +1 -1
  151. package/dist/esm/QuillProvider.js +1 -1
  152. package/dist/esm/ReportBuilder.d.ts +8 -12
  153. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  154. package/dist/esm/ReportBuilder.js +167 -87
  155. package/dist/esm/SQLEditor.d.ts +8 -1
  156. package/dist/esm/SQLEditor.d.ts.map +1 -1
  157. package/dist/esm/SQLEditor.js +84 -31
  158. package/dist/esm/Table.d.ts.map +1 -1
  159. package/dist/esm/Table.js +7 -4
  160. package/dist/esm/assets/AdjustmentsIcon.d.ts +5 -0
  161. package/dist/esm/assets/AdjustmentsIcon.d.ts.map +1 -0
  162. package/dist/esm/assets/AdjustmentsIcon.js +3 -0
  163. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  164. package/dist/esm/components/Chart/ChartError.js +2 -2
  165. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +4 -3
  166. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  167. package/dist/esm/components/Dashboard/DashboardFilter.js +12 -12
  168. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +2 -2
  169. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  170. package/dist/esm/components/Dashboard/DataLoader.d.ts +11 -5
  171. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  172. package/dist/esm/components/Dashboard/DataLoader.js +94 -35
  173. package/dist/esm/components/Dashboard/TableComponent.d.ts +2 -1
  174. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  175. package/dist/esm/components/Dashboard/TableComponent.js +10 -3
  176. package/dist/esm/components/Dashboard/util.d.ts +2 -2
  177. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  178. package/dist/esm/components/Dashboard/util.js +2 -2
  179. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -1
  180. package/dist/esm/components/QuillMultiSelect.js +19 -14
  181. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  182. package/dist/esm/components/QuillMultiSelectWithCombo.js +68 -46
  183. package/dist/esm/components/QuillSelect.d.ts +1 -1
  184. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  185. package/dist/esm/components/QuillSelect.js +30 -8
  186. package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
  187. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  188. package/dist/esm/components/QuillSelectWithCombo.js +48 -27
  189. package/dist/esm/components/QuillTable.d.ts +3 -2
  190. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  191. package/dist/esm/components/QuillTable.js +32 -19
  192. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +2 -1
  193. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -1
  194. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +2 -2
  195. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +2 -1
  196. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -1
  197. package/dist/esm/components/ReportBuilder/AddSortPopover.js +2 -2
  198. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +2 -1
  199. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -1
  200. package/dist/esm/components/ReportBuilder/FilterModal.js +17 -4
  201. package/dist/esm/components/ReportBuilder/ui.d.ts +13 -8
  202. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  203. package/dist/esm/components/ReportBuilder/ui.js +14 -19
  204. package/dist/esm/components/UiComponents.d.ts +17 -9
  205. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  206. package/dist/esm/components/UiComponents.js +30 -24
  207. package/dist/esm/hooks/useAstToFilterTree.d.ts +2 -2
  208. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -1
  209. package/dist/esm/hooks/useDashboard.d.ts +13 -5
  210. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  211. package/dist/esm/hooks/useDashboard.js +158 -73
  212. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  213. package/dist/esm/hooks/useExport.js +10 -4
  214. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  215. package/dist/esm/hooks/useQuill.js +17 -17
  216. package/dist/esm/hooks/useVirtualTables.d.ts +12 -3
  217. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  218. package/dist/esm/hooks/useVirtualTables.js +106 -2
  219. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -1
  220. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  221. package/dist/esm/internals/ReportBuilder/PivotForm.js +9 -9
  222. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -1
  223. package/dist/esm/internals/ReportBuilder/PivotList.js +21 -15
  224. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -2
  225. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  226. package/dist/esm/internals/ReportBuilder/PivotModal.js +9 -9
  227. package/dist/esm/models/Client.d.ts +16 -2
  228. package/dist/esm/models/Client.d.ts.map +1 -1
  229. package/dist/esm/models/Dashboard.d.ts +1 -1
  230. package/dist/esm/models/Dashboard.d.ts.map +1 -1
  231. package/dist/esm/models/Filter.d.ts +4 -3
  232. package/dist/esm/models/Filter.d.ts.map +1 -1
  233. package/dist/esm/models/Filter.js +36 -0
  234. package/dist/esm/utils/astProcessing.d.ts +3 -3
  235. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  236. package/dist/esm/utils/client.d.ts.map +1 -1
  237. package/dist/esm/utils/client.js +2 -7
  238. package/dist/esm/utils/dashboard.d.ts +5 -5
  239. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  240. package/dist/esm/utils/dashboard.js +90 -9
  241. package/dist/esm/utils/dataFetcher.d.ts +4 -4
  242. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  243. package/dist/esm/utils/dataFetcher.js +1 -1
  244. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  245. package/dist/esm/utils/filterProcessing.js +2 -8
  246. package/dist/esm/utils/paginationProcessing.js +1 -1
  247. package/dist/esm/utils/pivotConstructor.d.ts +2 -2
  248. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  249. package/dist/esm/utils/pivotConstructor.js +1 -1
  250. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  251. package/dist/esm/utils/pivotProcessing.js +6 -2
  252. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  253. package/dist/esm/utils/queryConstructor.js +12 -9
  254. package/dist/esm/utils/report.d.ts +6 -5
  255. package/dist/esm/utils/report.d.ts.map +1 -1
  256. package/dist/esm/utils/report.js +70 -25
  257. package/dist/esm/utils/schema.d.ts +3 -3
  258. package/dist/esm/utils/schema.d.ts.map +1 -1
  259. package/dist/esm/utils/schema.js +39 -35
  260. package/dist/esm/utils/tableProcessing.d.ts +18 -11
  261. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  262. package/dist/esm/utils/tableProcessing.js +41 -20
  263. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
- import { Client } from '../models/Client';
2
- export declare function getData(client: Client, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string, queryParam?: string): Promise<any>;
3
- export declare function getDataFromCloud(client: Client, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string): Promise<any>;
4
- export declare function fetchSqlQuery(ast: any, client: Client, formData?: any): Promise<{
1
+ import { QuillProviderClient } from '../models/Client';
2
+ export declare function getData(client: QuillProviderClient, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method?: string, queryParam?: string): Promise<any>;
3
+ export declare function getDataFromCloud(client: QuillProviderClient, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string): Promise<any>;
4
+ export declare function fetchSqlQuery(ast: any, client: QuillProviderClient, formData?: any): Promise<{
5
5
  query: string;
6
6
  error?: string;
7
7
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AA8E1C,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,gBAgJpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA6BhB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB5C"}
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AA8EvD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,EACf,UAAU,CAAC,EAAE,MAAM,gBAgJpB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,GAAG,EACrB,MAAM,SAAS,gBA6BhB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmB5C"}
@@ -192,7 +192,7 @@ export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestB
192
192
  ...cloudRequestBody,
193
193
  ...{
194
194
  publicKey: client?.publicKey,
195
- orgId: client?.customerId,
195
+ orgId: client?.organizationId,
196
196
  },
197
197
  })
198
198
  : null,
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,UAAU,EACV,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,GAAE,GAAU,EACjB,UAAU,GAAE,GAAU,OAuGvB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,iFAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,UAAU,EACV,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,GAAE,GAAU,EACjB,UAAU,GAAE,GAAU,OAgGvB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,iFAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA"}
@@ -88,17 +88,12 @@ export function updateFilter(filter, value = null, comparison = null) {
88
88
  }
89
89
  if (comparison ||
90
90
  (filter.comparison && filter.comparisonRange.value !== 'NO_COMPARISON')) {
91
- let preset = '';
92
- if (comparison) {
93
- preset = filter.preset.label;
94
- }
95
91
  const key = comparison?.value || filter.comparisonRange.value;
96
92
  let primaryRange = {
97
93
  start: value ? value.startDate : filter.startDate,
98
94
  end: value ? value.endDate : filter.endDate,
99
95
  };
100
96
  if (value && value.preset) {
101
- preset = value.preset;
102
97
  primaryRange = getRangeFromPresetOptions(value.preset, presetsOptions);
103
98
  }
104
99
  return {
@@ -107,7 +102,7 @@ export function updateFilter(filter, value = null, comparison = null) {
107
102
  filterType: 'date_range',
108
103
  label: 'Date',
109
104
  field: 'date_range',
110
- preset: { label: preset },
105
+ preset: filter.preset,
111
106
  options: filter.options,
112
107
  comparison: true,
113
108
  comparisonRange: {
@@ -125,10 +120,9 @@ export function updateFilter(filter, value = null, comparison = null) {
125
120
  start: value?.startDate || filter.startDate,
126
121
  end: value?.endDate || filter.endDate,
127
122
  };
128
- const preset = value?.preset ? value.preset : '';
129
123
  return {
130
124
  ...filter,
131
- preset: { label: preset },
125
+ preset: filter.preset,
132
126
  startDate: primaryRange.start,
133
127
  endDate: primaryRange.end,
134
128
  filterType: 'date_range',
@@ -1,7 +1,7 @@
1
1
  export const DEFAULT_PAGINATION = {
2
2
  page: 0,
3
3
  rowsPerPage: 10,
4
- rowsPerRequest: 1000,
4
+ rowsPerRequest: 600,
5
5
  };
6
6
  export function shouldFetchMore(pagination, page, maxPage) {
7
7
  if (!pagination) {
@@ -1,7 +1,7 @@
1
- import { Client } from '../models/Client';
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: Client, dateBucket?: string, dateFilter?: any, distinctStrings?: any): Promise<{
4
+ export declare function generatePivotWithSQL(pivot: Pivot, report: QuillReportInternal, client: QuillProviderClient, dateBucket?: string, dateFilter?: any, distinctStrings?: any): Promise<{
5
5
  rows: any;
6
6
  columns: any;
7
7
  } | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,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,MAAM,EACd,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":"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"}
@@ -40,7 +40,7 @@ export async function generatePivotWithSQL(pivot, report, client, dateBucket, da
40
40
  metadata: {
41
41
  preQueries: [sqlQuery],
42
42
  task: 'query',
43
- orgId: client.customerId || '*',
43
+ orgId: client.organizationId || '*',
44
44
  clientId: client.publicKey,
45
45
  databaseType: client?.databaseType,
46
46
  getCustomFields: false,
@@ -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;;;;EA6CnC;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;;;;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"}
@@ -84,11 +84,15 @@ export function getPossiblePivotFieldOptions(columns, uniqueValues) {
84
84
  (Object.keys(possibleValues).length === 1 &&
85
85
  Object.keys(possibleValues)[0] === 'null');
86
86
  if (!isNullValuesOnly &&
87
- Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES) {
87
+ Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES &&
88
+ !(Object.keys(possibleValues).length === 1 &&
89
+ possibleValues['EXCEEDS_LIMIT'] !== undefined)) {
88
90
  columnFields.push(column.field);
89
91
  }
90
92
  if (!isNullValuesOnly &&
91
- Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES) {
93
+ Object.keys(possibleValues).length <= MAX_PIVOT_UNIQUE_VALUES &&
94
+ !(Object.keys(possibleValues).length === 1 &&
95
+ possibleValues['EXCEEDS_LIMIT'] !== undefined)) {
92
96
  rowFields.push(column.field);
93
97
  }
94
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAmBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,iBAAiB,CAAC,EAAE,OAAO,UAmC5B;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAmBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAUrB;AAsDD,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAyBpB"}
1
+ {"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,iBAAiB,CAAC,EAAE,OAAO,UAgC5B;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAUrB;AAsDD,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAyBpB"}
@@ -1,3 +1,4 @@
1
+ import { MAX_PIVOT_UNIQUE_VALUES } from './constants';
1
2
  import { isValidPivot } from './pivotProcessing';
2
3
  function processSingleQuotes(value, databaseType) {
3
4
  if (['postgresql', 'snowflake'].includes(databaseType.toLowerCase())) {
@@ -37,11 +38,8 @@ isPivotFieldAlias) {
37
38
  if (column === '' && fallbackOnNull) {
38
39
  return `${fallbackOnNull}`;
39
40
  }
40
- // Wrap in single quotes if contains whitespace or special characters and no single quotes
41
- if (column.match(/[^a-zA-Z0-9_]/) && !column.includes("'")) {
42
- return `'${column}'`;
43
- }
44
- return `${column}`;
41
+ // Wrap MySQL columns in backticks to handle whitespace
42
+ return `\`${column}\``;
45
43
  }
46
44
  const columnParts = column.split('.');
47
45
  if (columnParts.length > 1) {
@@ -92,19 +90,24 @@ function processValueField(aggType, databaseType, valueField) {
92
90
  }
93
91
  export function generateCountQuery(fields, query, databaseType) {
94
92
  let countQuery = [];
93
+ let cteQuery = `WITH querytable AS (${query.replace(';', '')}) `;
94
+ let cte = [];
95
95
  switch (databaseType.toLowerCase()) {
96
96
  case 'mysql':
97
- countQuery = fields.map((field) => {
98
- return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(DISTINCT ${processColumnReference(field, databaseType)}) AS ${processColumnReference('count', databaseType)} FROM querytable`;
97
+ cte = fields.map((field, index) => {
98
+ return `, distinct_cte_${index} AS (SELECT DISTINCT ${processColumnReference(field, databaseType)} FROM querytable LIMIT ${MAX_PIVOT_UNIQUE_VALUES + 1})`;
99
+ });
100
+ countQuery = fields.map((field, index) => {
101
+ return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(*) AS ${processColumnReference('count', databaseType)} FROM distinct_cte_${index}`;
99
102
  });
103
+ cteQuery += cte.join(' ');
100
104
  break;
101
105
  default:
102
106
  countQuery = fields.map((field) => {
103
107
  return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(DISTINCT ${processColumnReference(field, databaseType)}) AS ${processColumnReference('count', databaseType)} FROM querytable`;
104
108
  });
105
109
  }
106
- return (`WITH querytable AS (${query.replace(';', '')}) ` +
107
- countQuery.join(' UNION ALL '));
110
+ return cteQuery + countQuery.join(' UNION ALL ');
108
111
  }
109
112
  export function generateDistinctQuery(stringFields, query, databaseType) {
110
113
  switch (databaseType.toLowerCase()) {
@@ -1,4 +1,4 @@
1
- import { Client } from '../models/Client';
1
+ import { QuillProviderClient } from '../models/Client';
2
2
  import { ColumnInternal } from '../models/Columns';
3
3
  import { Pivot } from '../models/Pivot';
4
4
  import { QuillReport, QuillReportInternal } from '../models/Report';
@@ -23,19 +23,20 @@ export type ReportBuilderInfo = {
23
23
  };
24
24
  export declare const EMPTY_REPORT: QuillReport;
25
25
  export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
26
- export declare function fetchReport(reportId: string, client: Client, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, dateBucket?: string, customFields?: any): Promise<{
26
+ export declare function fetchReport(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, dateBucket?: string, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean): Promise<{
27
27
  report: QuillReportInternal;
28
28
  error?: string;
29
29
  }>;
30
+ export declare function fetchReportRowCount(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, customFields?: any): Promise<number | undefined>;
30
31
  export declare function saveReport({ report, dashboardItemId, client, }: {
31
32
  report: any;
32
33
  dashboardItemId?: string;
33
- client: Client;
34
+ client: QuillProviderClient;
34
35
  }): Promise<any>;
35
36
  export declare const formatRowsFromReport: (report: any) => any;
36
37
  export declare function convertInternalReportToReport(report: QuillReportInternal): QuillReport;
37
- export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client: Client, pivot?: Pivot, previousFormData?: any, currentTable?: string, previousRelevant?: {
38
+ export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client: QuillProviderClient, pivot?: Pivot, previousFormData?: any, currentTable?: string, previousRelevant?: {
38
39
  uniqueStrings: UniqueValuesByTable;
39
40
  dateRanges: DateRangesByColumn;
40
- }, report?: QuillReportInternal, customFields?: any) => Promise<ReportBuilderInfo>;
41
+ }, report?: QuillReportInternal, customFields?: any, skipUniqueValues?: boolean, skipRowCount?: boolean, processing?: AdditionalProcessing) => Promise<ReportBuilderInfo>;
41
42
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,oBAAoB,EAGrB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,mBAGnC,CAAC;AA2BF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,GAAG,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4H1D;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Cf;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,QAkB/C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,WAAW,CAsDb;AAED,eAAO,MAAM,6BAA6B,YAC/B,GAAG,YACF,GAAG,UACL,KAAK,EAAE,UACP,MAAM,UACN,KAAK,qBACM,GAAG,iBACP,MAAM,qBACF;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAChC,WACQ,mBAAmB,iBACb,GAAG,KACjB,QAAQ,iBAAiB,CAyI3B,CAAC"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,mBAGnC,CAAC;AA2BF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,GAAG,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmI1D;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,CAAC,EAAE,GAAG,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkC7B;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Cf;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,QAkB/C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,WAAW,CAsDb;AAED,eAAO,MAAM,6BAA6B,YAC/B,GAAG,YACF,GAAG,UACL,KAAK,EAAE,UACP,mBAAmB,UACnB,KAAK,qBACM,GAAG,iBACP,MAAM,qBACF;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAChC,WACQ,mBAAmB,iBACb,GAAG,qBACC,OAAO,iBACX,OAAO,eACT,oBAAoB,KAChC,QAAQ,iBAAiB,CAgK3B,CAAC"}
@@ -13,7 +13,7 @@ import { internalLog } from './logging';
13
13
  import { mergeComparisonRange } from './merge';
14
14
  import { DEFAULT_PAGINATION } from './paginationProcessing';
15
15
  import { isPivotPossible, isValidPivot } from './pivotProcessing';
16
- import { fetchTableByAST, getRelevantInfoFromQuery, } from './tableProcessing';
16
+ import { fetchTableByAST, getDateRangeByColumns, getRelevantInfoFromQuery, } from './tableProcessing';
17
17
  import { snakeAndCamelCaseToTitleCase } from './textProcessing';
18
18
  import { quillFormat } from './valueFormatter';
19
19
  export const EMPTY_REPORT = {
@@ -61,7 +61,7 @@ function extractAllReportValuesFromQuillInternalReport(reportInternal) {
61
61
  template: reportInternal.template,
62
62
  };
63
63
  }
64
- export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields) {
64
+ export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly) {
65
65
  let reportInfo = undefined;
66
66
  let errorMessage = undefined;
67
67
  try {
@@ -70,14 +70,16 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
70
70
  metadata: {
71
71
  reportId,
72
72
  dashboardItemId: reportId,
73
- orgId: client.customerId || '*',
73
+ orgId: client.organizationId || '*',
74
74
  clientId: client.publicKey,
75
75
  task: useReportTask ? 'report' : 'item',
76
76
  databaseType: client.databaseType,
77
- filters: filters,
77
+ filters: filters.map((filter) => ({ ...filter, options: undefined })),
78
78
  customFields,
79
79
  additionalProcessing,
80
80
  useNewNodeSql: true,
81
+ rowsOnly,
82
+ rowCountOnly,
81
83
  },
82
84
  };
83
85
  const cloudBody = {
@@ -113,8 +115,11 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
113
115
  // Ensure the report columns don't reference any columns that aren't present in the rows
114
116
  const observedColumns = reportInfo?.rows[0]
115
117
  ? Object.keys(reportInfo.rows[0])
116
- : [];
117
- if (reportInfo &&
118
+ : null;
119
+ if (observedColumns &&
120
+ reportInfo &&
121
+ !reportInfo.pivot &&
122
+ !reportInfo.pivotColumns &&
118
123
  useReportTask &&
119
124
  reportInfo.columns?.filter((col) => !observedColumns.includes(col.field))
120
125
  ?.length > 0) {
@@ -131,7 +136,7 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
131
136
  if (error instanceof DataLoadError) {
132
137
  if (error.data.useReportTask) {
133
138
  internalLog('USING ITEM AS BACKUP');
134
- const { report, error } = await fetchReport(reportId, client, false, filters, additionalProcessing, dateBucket, customFields);
139
+ const { report, error } = await fetchReport(reportId, client, false, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly);
135
140
  reportInfo = report;
136
141
  errorMessage = error;
137
142
  }
@@ -158,12 +163,37 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
158
163
  }
159
164
  return { report: reportInfo || EMPTY_INTERNAL_REPORT, error: errorMessage };
160
165
  }
166
+ export async function fetchReportRowCount(reportId, client, useReportTask = true, filters = [], additionalProcessing, customFields) {
167
+ // Remove extra fields on each filter so we don't confuse the backend.
168
+ const hostedBody = {
169
+ metadata: {
170
+ reportId,
171
+ dashboardItemId: reportId,
172
+ orgId: client.organizationId || '*',
173
+ clientId: client.publicKey,
174
+ task: useReportTask ? 'report' : 'item',
175
+ databaseType: client.databaseType,
176
+ filters: filters.map((filter) => ({ ...filter, options: undefined })),
177
+ customFields,
178
+ additionalProcessing,
179
+ useNewNodeSql: true,
180
+ rowCountOnly: true,
181
+ },
182
+ };
183
+ const cloudBody = {
184
+ id: reportId,
185
+ filters: filters,
186
+ useNewNodeSql: true,
187
+ };
188
+ const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data');
189
+ return resp.rowCount;
190
+ }
161
191
  export async function saveReport({ report, dashboardItemId, client, }) {
162
- const { publicKey, customerId, databaseType } = client;
192
+ const { publicKey, organizationId, databaseType } = client;
163
193
  const cloudBody = {
164
194
  ...report,
165
195
  dashboardItemId,
166
- customerId: customerId || '*',
196
+ customerId: organizationId || '*',
167
197
  useNewNodeSql: true,
168
198
  };
169
199
  // @ts-ignore
@@ -181,14 +211,14 @@ export async function saveReport({ report, dashboardItemId, client, }) {
181
211
  clientId: publicKey,
182
212
  databaseType: databaseType,
183
213
  ...cloudBody,
184
- orgId: customerId || '*',
214
+ orgId: organizationId || '*',
185
215
  useNewNodeSql: true,
186
216
  },
187
217
  };
188
- const searchParams = new URLSearchParams(customerId
218
+ const searchParams = new URLSearchParams(organizationId
189
219
  ? {
190
220
  clientId: publicKey,
191
- customerId: customerId,
221
+ customerId: organizationId,
192
222
  }
193
223
  : { clientId: publicKey }).toString();
194
224
  return await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
@@ -265,7 +295,7 @@ export function convertInternalReportToReport(report) {
265
295
  return EMPTY_REPORT;
266
296
  }
267
297
  }
268
- export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, pivot, previousFormData, currentTable, previousRelevant, report, customFields) => {
298
+ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client, pivot, previousFormData, currentTable, previousRelevant, report, customFields, skipUniqueValues, skipRowCount, processing) => {
269
299
  let newRows = [];
270
300
  let newColumns = [];
271
301
  let newRowCount = 0;
@@ -276,7 +306,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
276
306
  let table = '';
277
307
  let error;
278
308
  const relevantInfo = previousRelevant ?? { uniqueStrings: {}, dateRanges: {} };
279
- const query = '';
309
+ let query = '';
280
310
  try {
281
311
  const tables = getTableNames(baseAst);
282
312
  table = tables[0] ? tables[0] : '';
@@ -284,7 +314,7 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
284
314
  if (!table || !tableInfo) {
285
315
  throw new Error('No table found;');
286
316
  }
287
- const tableData = await fetchTableByAST({ ...baseAst, where: formData }, client, { page: DEFAULT_PAGINATION });
317
+ const tableData = await fetchTableByAST({ ...baseAst, where: formData }, client, processing ?? { page: DEFAULT_PAGINATION }, undefined, skipRowCount);
288
318
  if (tableData.error) {
289
319
  throw new Error(tableData.error);
290
320
  }
@@ -308,17 +338,32 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
308
338
  }),
309
339
  columnInternal: tableData.columns,
310
340
  };
311
- const queryResult = await fetchSqlQuery({
312
- ...createBasicSelectASTFromColumns(tableInfo.columns, table),
313
- where: formData,
314
- }, client, formData);
315
- if (queryResult.error) {
316
- throw new Error(queryResult.error);
317
- }
318
341
  if (table !== currentTable || previousFormData !== formData) {
319
- const { uniqueStrings, dateRanges } = await getRelevantInfoFromQuery(tableInfo.columns, client, queryResult.query, customFields);
320
- relevantInfo.uniqueStrings[table] = uniqueStrings ?? {};
321
- relevantInfo.dateRanges = dateRanges ?? {};
342
+ const queryResult = await fetchSqlQuery({
343
+ ...createBasicSelectASTFromColumns(tableInfo.columns, table),
344
+ where: formData,
345
+ }, client, formData);
346
+ if (queryResult.error) {
347
+ throw new Error(queryResult.error);
348
+ }
349
+ query = queryResult.query;
350
+ if (!skipUniqueValues) {
351
+ const { uniqueStrings, dateRanges } = await getRelevantInfoFromQuery(tableInfo.columns, client, queryResult.query, customFields);
352
+ relevantInfo.uniqueStrings[table] = uniqueStrings ?? {};
353
+ relevantInfo.dateRanges = dateRanges ?? {};
354
+ }
355
+ else {
356
+ const dateColumns = tableInfo.columns.filter((column) => {
357
+ return column.fieldType === 'date';
358
+ });
359
+ if (dateColumns.length > 0) {
360
+ const dateRanges = await getDateRangeByColumns(dateColumns, queryResult.query, client, customFields ?? []);
361
+ if (dateRanges === null) {
362
+ throw new Error("Couldn't fetch date ranges");
363
+ }
364
+ relevantInfo.dateRanges = dateRanges ?? {};
365
+ }
366
+ }
322
367
  }
323
368
  if (!!relevantInfo.error) {
324
369
  throw new Error(relevantInfo.error);
@@ -1,7 +1,7 @@
1
- import { Client } from '../models/Client';
1
+ import { QuillProviderClient } from '../models/Client';
2
2
  import { Table } from '../models/Tables';
3
- export declare const getCustomFieldInfo: (client: Client, caller?: string) => Promise<any[]>;
4
- export declare const getSchemaInfoWithCustomFields: (client: Client, caller?: string) => Promise<{
3
+ export declare const getCustomFieldInfo: (client: QuillProviderClient, caller?: string) => Promise<any[]>;
4
+ export declare const getSchemaInfoWithCustomFields: (client: QuillProviderClient, caller?: string, tableIds?: string[]) => Promise<{
5
5
  schemaData: Table[];
6
6
  customFieldsByTable: any;
7
7
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAsDzC,eAAO,MAAM,kBAAkB,WAAkB,MAAM,oCA8EtD,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,MAAM,sBAEb,QAAQ;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAE,CAmD3D,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/utils/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAyDzC,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,oCAqF5B,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,mBAAmB,8BAEhB,MAAM,EAAE,KAClB,QAAQ;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAE,CAoD3D,CAAC"}
@@ -1,30 +1,33 @@
1
1
  import { convertColumnInfoToColumnInternal } from './columnProcessing';
2
- const triggerSoftUpdate = async (client, tables) => {
3
- const { queryEndpoint, queryHeaders, publicKey, withCredentials } = client;
4
- tables.forEach(async (table) => {
5
- // if (table.isSelectStar) {
6
- fetch(`${queryEndpoint}?update-view`, {
7
- method: 'POST',
8
- headers: {
9
- ...queryHeaders,
10
- 'Content-Type': 'application/json',
11
- },
12
- credentials: withCredentials ? 'include' : 'omit',
13
- body: JSON.stringify({
14
- metadata: {
15
- preQueries: [table.viewQuery.replace(/;/, '')],
16
- clientId: publicKey,
17
- publicKey: publicKey,
18
- task: 'update-view',
19
- name: table.name,
20
- id: table._id,
21
- runQueryConfig: { getColumns: true },
22
- },
23
- }),
24
- });
25
- // }
26
- });
27
- };
2
+ // const triggerSoftUpdate = async (
3
+ // client: QuillProviderClient,
4
+ // tables: Table[],
5
+ // ) => {
6
+ // const { queryEndpoint, queryHeaders, publicKey, withCredentials } = client;
7
+ // tables.forEach(async (table: Table) => {
8
+ // // if (table.isSelectStar) {
9
+ // fetch(`${queryEndpoint}?update-view`, {
10
+ // method: 'POST',
11
+ // headers: {
12
+ // ...queryHeaders,
13
+ // 'Content-Type': 'application/json',
14
+ // },
15
+ // credentials: withCredentials ? 'include' : 'omit',
16
+ // body: JSON.stringify({
17
+ // metadata: {
18
+ // preQueries: [table.viewQuery.replace(/;/, '')],
19
+ // clientId: publicKey,
20
+ // publicKey: publicKey,
21
+ // task: 'update-view',
22
+ // name: table.name,
23
+ // id: table._id,
24
+ // runQueryConfig: { getColumns: true },
25
+ // },
26
+ // }),
27
+ // });
28
+ // // }
29
+ // });
30
+ // };
28
31
  const parseResponse = (results) => {
29
32
  if (results.data?.data) {
30
33
  if (results.data.data.queries &&
@@ -49,7 +52,7 @@ const parseResponse = (results) => {
49
52
  export const getCustomFieldInfo = async (client, caller = 'se') => {
50
53
  let customFieldsByTableUnique = [];
51
54
  try {
52
- const { queryEndpoint, queryHeaders, publicKey, databaseType, customerId } = client;
55
+ const { queryEndpoint, queryHeaders, publicKey, databaseType, organizationId, } = client;
53
56
  if ((databaseType && databaseType.toLowerCase() !== 'postgresql') ||
54
57
  !['665610862cf7a3000be66453'].includes(publicKey)) {
55
58
  throw new Error('CUSTOM FIELDS IS ONLY ALLOWED FOR POSTGRESQL DATABASES');
@@ -67,7 +70,7 @@ export const getCustomFieldInfo = async (client, caller = 'se') => {
67
70
  publicKey,
68
71
  task: 'custom-field-records',
69
72
  databaseType: databaseType,
70
- orgId: customerId,
73
+ orgId: organizationId,
71
74
  },
72
75
  }),
73
76
  });
@@ -111,11 +114,11 @@ export const getCustomFieldInfo = async (client, caller = 'se') => {
111
114
  }
112
115
  return customFieldsByTableUnique;
113
116
  };
114
- export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
115
- const { queryEndpoint, queryHeaders, publicKey, customerId, withCredentials, } = client;
117
+ export const getSchemaInfoWithCustomFields = async (client, caller = 'se', tableIds) => {
118
+ const { queryEndpoint, queryHeaders, publicKey, organizationId, withCredentials, } = client;
116
119
  let customFieldsByTableUnique = [];
117
120
  let getCustomFields = true;
118
- if (!customerId || customerId !== '*') {
121
+ if (!organizationId || organizationId !== '*') {
119
122
  try {
120
123
  customFieldsByTableUnique = await getCustomFieldInfo(client, caller);
121
124
  }
@@ -136,12 +139,13 @@ export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
136
139
  publicKey: publicKey,
137
140
  task: 'schema',
138
141
  removeCustomerField: true,
139
- getCustomFields: !client.customerId ||
140
- client.customerId === '*' ||
142
+ getCustomFields: !client.organizationId ||
143
+ client.organizationId === '*' ||
141
144
  (customFieldsByTableUnique.length === 0 && !getCustomFields)
142
145
  ? false
143
146
  : true,
144
- orgId: client.customerId || '*',
147
+ orgId: client.organizationId || '*',
148
+ tableIds,
145
149
  customFieldsByTable: customFieldsByTableUnique,
146
150
  gatherSchemaData: '665610862cf7a3000be66453' === publicKey ? true : false,
147
151
  },
@@ -150,7 +154,7 @@ export const getSchemaInfoWithCustomFields = async (client, caller = 'se') => {
150
154
  const result = await response.json();
151
155
  const parsedData = parseResponse(result);
152
156
  const converted = convertSchemaInfoToTable(parsedData);
153
- triggerSoftUpdate(client, converted);
157
+ // triggerSoftUpdate(client, converted);
154
158
  return {
155
159
  schemaData: converted,
156
160
  customFieldsByTable: customFieldsByTableUnique,