@quillsql/react 2.13.48 → 2.13.49

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 (279) hide show
  1. package/dist/cjs/Chart.d.ts +2 -2
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +28 -41
  4. package/dist/cjs/ChartBuilder.d.ts +2 -2
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +157 -134
  7. package/dist/cjs/ChartEditor.d.ts +2 -2
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +3 -1
  10. package/dist/cjs/Context.d.ts +10 -3
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +324 -249
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +10 -23
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +0 -3
  16. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +472 -96
  19. package/dist/cjs/QuillProvider.d.ts +3 -1
  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.map +1 -1
  23. package/dist/cjs/ReportBuilder.js +19 -10
  24. package/dist/cjs/SQLEditor.d.ts +1 -1
  25. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  26. package/dist/cjs/SQLEditor.js +50 -16
  27. package/dist/cjs/Table.d.ts.map +1 -1
  28. package/dist/cjs/Table.js +20 -7
  29. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
  30. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/BarChart.js +2 -1
  32. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +1 -1
  33. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -1
  34. package/dist/cjs/components/Chart/CustomReferenceLine.js +7 -6
  35. package/dist/cjs/components/Chart/GaugeChart.d.ts +1 -1
  36. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -1
  37. package/dist/cjs/components/Chart/GaugeChart.js +62 -35
  38. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/InternalChart.js +30 -33
  40. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  41. package/dist/cjs/components/Chart/LineChart.js +3 -1
  42. package/dist/cjs/components/Chart/MapChart.d.ts +3 -3
  43. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -1
  44. package/dist/cjs/components/Chart/MapChart.js +62 -34
  45. package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
  46. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  47. package/dist/cjs/components/Chart/PieChart.js +80 -39
  48. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  49. package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -20
  50. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  51. package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
  52. package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -4
  53. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  54. package/dist/cjs/components/Dashboard/DataLoader.js +31 -14
  55. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  56. package/dist/cjs/components/Dashboard/MetricComponent.js +2 -2
  57. package/dist/cjs/components/Dashboard/util.d.ts +1 -1
  58. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  59. package/dist/cjs/components/Dashboard/util.js +7 -6
  60. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  61. package/dist/cjs/components/QuillMultiSelectSectionList.js +32 -22
  62. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  63. package/dist/cjs/components/QuillMultiSelectWithCombo.js +186 -159
  64. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  65. package/dist/cjs/components/QuillSelect.js +83 -75
  66. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  67. package/dist/cjs/components/QuillSelectWithCombo.js +18 -11
  68. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  69. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  70. package/dist/cjs/components/ReportBuilder/FilterStack.js +3 -4
  71. package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -2
  72. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  73. package/dist/cjs/components/ReportBuilder/ui.js +4 -7
  74. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  75. package/dist/cjs/hooks/useAskQuill.js +5 -1
  76. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  77. package/dist/cjs/hooks/useDashboard.js +96 -58
  78. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  79. package/dist/cjs/hooks/useExport.js +23 -13
  80. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  81. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  82. package/dist/cjs/hooks/useQuill.js +8 -10
  83. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  84. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  85. package/dist/cjs/hooks/useVirtualTables.js +16 -22
  86. package/dist/cjs/index.d.ts +2 -2
  87. package/dist/cjs/index.d.ts.map +1 -1
  88. package/dist/cjs/index.js +2 -1
  89. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
  90. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  91. package/dist/cjs/internals/ReportBuilder/PivotModal.js +19 -7
  92. package/dist/cjs/models/Client.d.ts +0 -1
  93. package/dist/cjs/models/Client.d.ts.map +1 -1
  94. package/dist/cjs/models/Data.d.ts +20 -0
  95. package/dist/cjs/models/Data.d.ts.map +1 -0
  96. package/dist/cjs/models/Data.js +2 -0
  97. package/dist/cjs/models/Filter.d.ts +42 -4
  98. package/dist/cjs/models/Filter.d.ts.map +1 -1
  99. package/dist/cjs/models/Pivot.d.ts.map +1 -1
  100. package/dist/cjs/utils/astProcessing.d.ts +3 -2
  101. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  102. package/dist/cjs/utils/astProcessing.js +28 -37
  103. package/dist/cjs/utils/client.d.ts +3 -2
  104. package/dist/cjs/utils/client.d.ts.map +1 -1
  105. package/dist/cjs/utils/client.js +38 -39
  106. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  107. package/dist/cjs/utils/columnProcessing.js +14 -3
  108. package/dist/cjs/utils/constants.d.ts +1 -0
  109. package/dist/cjs/utils/constants.d.ts.map +1 -1
  110. package/dist/cjs/utils/constants.js +2 -1
  111. package/dist/cjs/utils/dashboard.d.ts +3 -2
  112. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  113. package/dist/cjs/utils/dashboard.js +30 -12
  114. package/dist/cjs/utils/dataFetcher.d.ts +8 -5
  115. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  116. package/dist/cjs/utils/dataFetcher.js +189 -65
  117. package/dist/cjs/utils/filterProcessing.d.ts +2 -1
  118. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  119. package/dist/cjs/utils/filterProcessing.js +24 -38
  120. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  121. package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
  122. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  123. package/dist/cjs/utils/pivotConstructor.js +15 -11
  124. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  125. package/dist/cjs/utils/pivotProcessing.js +3 -5
  126. package/dist/cjs/utils/queryConstructor.js +1 -1
  127. package/dist/cjs/utils/report.d.ts +10 -7
  128. package/dist/cjs/utils/report.d.ts.map +1 -1
  129. package/dist/cjs/utils/report.js +52 -60
  130. package/dist/cjs/utils/schema.d.ts +4 -3
  131. package/dist/cjs/utils/schema.d.ts.map +1 -1
  132. package/dist/cjs/utils/schema.js +30 -44
  133. package/dist/cjs/utils/tableProcessing.d.ts +16 -10
  134. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  135. package/dist/cjs/utils/tableProcessing.js +91 -90
  136. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  137. package/dist/cjs/utils/textProcessing.js +2 -1
  138. package/dist/cjs/utils/ui.d.ts.map +1 -1
  139. package/dist/esm/Chart.d.ts +2 -2
  140. package/dist/esm/Chart.d.ts.map +1 -1
  141. package/dist/esm/Chart.js +30 -43
  142. package/dist/esm/ChartBuilder.d.ts +2 -2
  143. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  144. package/dist/esm/ChartBuilder.js +158 -135
  145. package/dist/esm/ChartEditor.d.ts +2 -2
  146. package/dist/esm/ChartEditor.d.ts.map +1 -1
  147. package/dist/esm/ChartEditor.js +4 -2
  148. package/dist/esm/Context.d.ts +10 -3
  149. package/dist/esm/Context.d.ts.map +1 -1
  150. package/dist/esm/Context.js +326 -251
  151. package/dist/esm/Dashboard.d.ts.map +1 -1
  152. package/dist/esm/Dashboard.js +12 -25
  153. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +0 -3
  154. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
  155. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  156. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +471 -95
  157. package/dist/esm/QuillProvider.d.ts +3 -1
  158. package/dist/esm/QuillProvider.d.ts.map +1 -1
  159. package/dist/esm/QuillProvider.js +2 -2
  160. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  161. package/dist/esm/ReportBuilder.js +21 -12
  162. package/dist/esm/SQLEditor.d.ts +1 -1
  163. package/dist/esm/SQLEditor.d.ts.map +1 -1
  164. package/dist/esm/SQLEditor.js +53 -19
  165. package/dist/esm/Table.d.ts.map +1 -1
  166. package/dist/esm/Table.js +21 -8
  167. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  168. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  169. package/dist/esm/components/Chart/BarChart.js +2 -1
  170. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +1 -1
  171. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -1
  172. package/dist/esm/components/Chart/CustomReferenceLine.js +8 -7
  173. package/dist/esm/components/Chart/GaugeChart.d.ts +1 -1
  174. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -1
  175. package/dist/esm/components/Chart/GaugeChart.js +64 -37
  176. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  177. package/dist/esm/components/Chart/InternalChart.js +32 -35
  178. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  179. package/dist/esm/components/Chart/LineChart.js +3 -1
  180. package/dist/esm/components/Chart/MapChart.d.ts +3 -3
  181. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -1
  182. package/dist/esm/components/Chart/MapChart.js +67 -39
  183. package/dist/esm/components/Chart/PieChart.d.ts +3 -1
  184. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  185. package/dist/esm/components/Chart/PieChart.js +80 -39
  186. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  187. package/dist/esm/components/Dashboard/DashboardFilter.js +5 -21
  188. package/dist/esm/components/Dashboard/DashboardSection.js +2 -2
  189. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  190. package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
  191. package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -4
  192. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  193. package/dist/esm/components/Dashboard/DataLoader.js +32 -15
  194. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  195. package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
  196. package/dist/esm/components/Dashboard/util.d.ts +1 -1
  197. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  198. package/dist/esm/components/Dashboard/util.js +8 -7
  199. package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  200. package/dist/esm/components/QuillMultiSelectSectionList.js +32 -22
  201. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  202. package/dist/esm/components/QuillMultiSelectWithCombo.js +187 -160
  203. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  204. package/dist/esm/components/QuillSelect.js +85 -77
  205. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  206. package/dist/esm/components/QuillSelectWithCombo.js +18 -11
  207. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  208. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  209. package/dist/esm/components/ReportBuilder/FilterStack.js +3 -4
  210. package/dist/esm/components/ReportBuilder/ui.d.ts +2 -2
  211. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  212. package/dist/esm/components/ReportBuilder/ui.js +4 -7
  213. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  214. package/dist/esm/hooks/useAskQuill.js +6 -2
  215. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  216. package/dist/esm/hooks/useDashboard.js +98 -60
  217. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  218. package/dist/esm/hooks/useExport.js +25 -15
  219. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  220. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  221. package/dist/esm/hooks/useQuill.js +9 -11
  222. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  223. package/dist/esm/hooks/useReport.js +1 -1
  224. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  225. package/dist/esm/hooks/useVirtualTables.js +17 -23
  226. package/dist/esm/index.d.ts +2 -2
  227. package/dist/esm/index.d.ts.map +1 -1
  228. package/dist/esm/index.js +1 -1
  229. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
  230. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  231. package/dist/esm/internals/ReportBuilder/PivotModal.js +20 -8
  232. package/dist/esm/models/Client.d.ts +0 -1
  233. package/dist/esm/models/Client.d.ts.map +1 -1
  234. package/dist/esm/models/Data.d.ts +20 -0
  235. package/dist/esm/models/Data.d.ts.map +1 -0
  236. package/dist/esm/models/Data.js +1 -0
  237. package/dist/esm/models/Filter.d.ts +42 -4
  238. package/dist/esm/models/Filter.d.ts.map +1 -1
  239. package/dist/esm/models/Pivot.d.ts.map +1 -1
  240. package/dist/esm/utils/astProcessing.d.ts +3 -2
  241. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  242. package/dist/esm/utils/astProcessing.js +28 -37
  243. package/dist/esm/utils/client.d.ts +3 -2
  244. package/dist/esm/utils/client.d.ts.map +1 -1
  245. package/dist/esm/utils/client.js +38 -39
  246. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  247. package/dist/esm/utils/columnProcessing.js +14 -3
  248. package/dist/esm/utils/constants.d.ts +1 -0
  249. package/dist/esm/utils/constants.d.ts.map +1 -1
  250. package/dist/esm/utils/constants.js +1 -0
  251. package/dist/esm/utils/dashboard.d.ts +3 -2
  252. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  253. package/dist/esm/utils/dashboard.js +31 -13
  254. package/dist/esm/utils/dataFetcher.d.ts +8 -5
  255. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  256. package/dist/esm/utils/dataFetcher.js +187 -65
  257. package/dist/esm/utils/filterProcessing.d.ts +2 -1
  258. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  259. package/dist/esm/utils/filterProcessing.js +25 -39
  260. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  261. package/dist/esm/utils/pivotConstructor.d.ts +2 -1
  262. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  263. package/dist/esm/utils/pivotConstructor.js +16 -12
  264. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  265. package/dist/esm/utils/pivotProcessing.js +5 -7
  266. package/dist/esm/utils/queryConstructor.js +1 -1
  267. package/dist/esm/utils/report.d.ts +10 -7
  268. package/dist/esm/utils/report.d.ts.map +1 -1
  269. package/dist/esm/utils/report.js +53 -61
  270. package/dist/esm/utils/schema.d.ts +4 -3
  271. package/dist/esm/utils/schema.d.ts.map +1 -1
  272. package/dist/esm/utils/schema.js +30 -44
  273. package/dist/esm/utils/tableProcessing.d.ts +16 -10
  274. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  275. package/dist/esm/utils/tableProcessing.js +93 -92
  276. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  277. package/dist/esm/utils/textProcessing.js +2 -1
  278. package/dist/esm/utils/ui.d.ts.map +1 -1
  279. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.REFERENCE_LINE = exports.SINGLE_TENANT = exports.ALL_TENANTS = exports.QUILL_QUERY_ENDPOINT = exports.QUILL_SERVER = exports.MAX_PIVOT_UNIQUE_VALUES = exports.MAX_COLUMN_ROWS_LIMIT = void 0;
3
+ exports.REFERENCE_LINE = exports.SAVED_QUERIES_DASHBOARD = exports.SINGLE_TENANT = exports.ALL_TENANTS = exports.QUILL_QUERY_ENDPOINT = exports.QUILL_SERVER = exports.MAX_PIVOT_UNIQUE_VALUES = exports.MAX_COLUMN_ROWS_LIMIT = void 0;
4
4
  exports.MAX_COLUMN_ROWS_LIMIT = 500;
5
5
  exports.MAX_PIVOT_UNIQUE_VALUES = 250;
6
6
  exports.QUILL_SERVER = typeof process !== 'undefined' && process.env
@@ -11,4 +11,5 @@ exports.QUILL_QUERY_ENDPOINT = typeof process !== 'undefined' && process.env
11
11
  : '/cloud';
12
12
  exports.ALL_TENANTS = 'QUILL_ALL_TENANTS';
13
13
  exports.SINGLE_TENANT = 'QUILL_SINGLE_TENANT';
14
+ exports.SAVED_QUERIES_DASHBOARD = 'quill-saved-queries';
14
15
  exports.REFERENCE_LINE = 'QUILL_REFERENCE_LINE';
@@ -9,11 +9,12 @@ import { CustomField } from '../models/Schema';
9
9
  * interface to build amazing dashboards on top of.
10
10
  * @param item
11
11
  */
12
- export declare function cleanDashboardItem({ item, dashboardFilters, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }: {
12
+ export declare function cleanDashboardItem({ item, dashboardFilters, getToken, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }: {
13
13
  item: {
14
14
  [key: string]: any;
15
15
  } | undefined;
16
16
  dashboardFilters: any;
17
+ getToken: () => Promise<string>;
17
18
  client: QuillProviderClient;
18
19
  dateBucket?: string;
19
20
  additionalProcessing?: AdditionalProcessing;
@@ -22,7 +23,7 @@ export declare function cleanDashboardItem({ item, dashboardFilters, client, dat
22
23
  } | null;
23
24
  skipPivotFetch?: boolean;
24
25
  }): Promise<QuillReportInternal>;
25
- export declare function getDashboard(dashboardName: string, client: QuillProviderClient, tenants?: {
26
+ export declare function getDashboard(dashboardName: string, client: QuillProviderClient, getToken: () => Promise<string>, tenants?: {
26
27
  tenantField: string;
27
28
  tenantIds: (string | number)[];
28
29
  }[] | (string | number)[], flags?: string[]): Promise<any>;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAsB/C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,EAAE;IACD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,GAAG,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAsL/B;AA2ID,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Bd"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/utils/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAcvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuB/C;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,cAAc,GACf,EAAE;IACD,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,EAAE,GAAG,CAAC;IACtB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,YAAY,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAuL/B;AA8ID,wBAAsB,YAAY,CAChC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,OAAO,CAAC,EACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,GAAG,CAAC,CA6Cd"}
@@ -34,7 +34,7 @@ const defaultDashboardItem = {
34
34
  * interface to build amazing dashboards on top of.
35
35
  * @param item
36
36
  */
37
- async function cleanDashboardItem({ item, dashboardFilters, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }) {
37
+ async function cleanDashboardItem({ item, dashboardFilters, getToken, client, dateBucket, additionalProcessing, customFields, skipPivotFetch, }) {
38
38
  if (!item)
39
39
  return defaultDashboardItem;
40
40
  if (!item.rows) {
@@ -102,7 +102,7 @@ async function cleanDashboardItem({ item, dashboardFilters, client, dateBucket,
102
102
  ],
103
103
  }
104
104
  : undefined,
105
- }, dashboardFilters, client, dateBucket, additionalProcessing, item.dashboardName);
105
+ }, dashboardFilters, getToken, client, dateBucket, additionalProcessing, item.dashboardName);
106
106
  }
107
107
  catch (e) {
108
108
  pivotTable = undefined;
@@ -205,7 +205,7 @@ async function cleanDashboardItem({ item, dashboardFilters, client, dateBucket,
205
205
  /**
206
206
  * Extract and transform the data from itemInfo.
207
207
  */
208
- async function getPivotTable(report, dashboardFilters, client, dateBucketInitial, additionalProcessing, dashboardName, tenants) {
208
+ async function getPivotTable(report, dashboardFilters, getToken, client, dateBucketInitial, additionalProcessing, dashboardName, tenants) {
209
209
  if (!report)
210
210
  return undefined;
211
211
  const dateFilter = Object.values(dashboardFilters ?? {}).find((filter) => filter.filterType === 'date_range' || filter.operator === 'BETWEEN');
@@ -274,6 +274,7 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
274
274
  dashboardName,
275
275
  tenants,
276
276
  additionalProcessing,
277
+ getToken,
277
278
  });
278
279
  return pivotTable;
279
280
  }
@@ -292,6 +293,7 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
292
293
  tenants,
293
294
  dateFilter,
294
295
  additionalProcessing,
296
+ getToken,
295
297
  })
296
298
  : undefined;
297
299
  }
@@ -318,25 +320,41 @@ function extractPivotedYAxis(pivotTable, itemInfo, config = undefined) {
318
320
  // }
319
321
  // return fields;
320
322
  }
321
- async function getDashboard(dashboardName, client, tenants, flags) {
322
- const hostedBody = {
323
+ async function getDashboard(dashboardName, client, getToken, tenants, flags) {
324
+ const { data: resp } = await (0, dataFetcher_1.quillFetch)({
325
+ client,
326
+ task: 'dashboard',
323
327
  metadata: {
324
328
  name: dashboardName,
325
- task: 'dashboard',
326
329
  clientId: client.publicKey,
327
330
  databaseType: client.databaseType,
328
331
  useNewNodeSql: true,
329
332
  tenants,
330
333
  flags,
331
334
  },
332
- };
333
- const searchParams = new URLSearchParams({
334
- publicKey: client.publicKey,
335
- name: dashboardName,
336
- }).toString();
337
- const resp = await (0, dataFetcher_1.getData)(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
335
+ getToken,
336
+ });
338
337
  return {
339
338
  ...resp,
340
339
  createdAt: resp.createdAt && new Date(resp.createdAt),
340
+ dateFilter: resp.dateFilter
341
+ ? {
342
+ ...resp.dateFilter,
343
+ presetOptions: resp.dateFilter.presetOptions?.map((preset) => ({
344
+ ...preset,
345
+ loopStart: preset.loopStart
346
+ ? new Date(preset.loopStart)
347
+ : undefined,
348
+ loopEnd: preset.loopEnd ? new Date(preset.loopEnd) : undefined,
349
+ })),
350
+ defaultPresetRanges: resp.dateFilter.defaultPresetRanges?.map((preset) => ({
351
+ ...preset,
352
+ loopStart: preset.loopStart
353
+ ? new Date(preset.loopStart)
354
+ : undefined,
355
+ loopEnd: preset.loopEnd ? new Date(preset.loopEnd) : undefined,
356
+ })),
357
+ }
358
+ : undefined,
341
359
  };
342
360
  }
@@ -1,9 +1,12 @@
1
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, abortSignal?: AbortSignal): Promise<any>;
3
- export declare function useQuillCloud(): {
4
- getDataFromCloud: (client: QuillProviderClient, cloudQueryEndpoint: string, cloudRequestBody: any, method?: string, abortSignal?: AbortSignal) => Promise<any>;
5
- };
6
- export declare function fetchSqlQuery(ast: any, client: QuillProviderClient, formData?: any): Promise<{
2
+ import { QuillFetchOptions, QuillResults } from '../models/Data';
3
+ export declare const quillFetch: ({ client, task, method, metadata, abortSignal, credentials, urlParameters, getToken, }: QuillFetchOptions) => Promise<QuillResults>;
4
+ export declare const parseFetchResponse: (client: QuillProviderClient, task: string, response: QuillResults, getToken: () => Promise<string>) => Promise<any>;
5
+ /**
6
+ * @deprecated Use quillFetch instead. If post fetch parsing is required, use parseFetchResponse.
7
+ */
8
+ export declare function getData(client: QuillProviderClient, cloudQueryEndpoint: string, noCred: RequestCredentials, hostedRequestBody: any, cloudRequestBody: any, method: string | undefined, getToken: () => Promise<string>, queryParam?: string, abortSignal?: AbortSignal): Promise<any>;
9
+ export declare function fetchSqlQuery(ast: any, client: QuillProviderClient, getToken: () => Promise<string>, formData?: any): Promise<{
7
10
  query: string;
8
11
  error?: string;
9
12
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAgFvD,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,EACnB,WAAW,CAAC,EAAE,WAAW,gBAgL1B;AAED,wBAAgB,aAAa;+BAGjB,mBAAmB,sBACP,MAAM,oBACR,GAAG,iCAEP,WAAW;EAoC5B;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"}
1
+ {"version":3,"file":"dataFetcher.d.ts","sourceRoot":"","sources":["../../../src/utils/dataFetcher.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA6EjE,eAAO,MAAM,UAAU,2FASpB,iBAAiB,KAAG,OAAO,CAAC,YAAY,CAuD1C,CAAC;AAIF,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,QACrB,MAAM,YACF,YAAY,YACZ,MAAM,OAAO,CAAC,MAAM,CAAC,iBA0EhC,CAAC;AAEF;;GAEG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,kBAAkB,EAC1B,iBAAiB,EAAE,GAAG,EACtB,gBAAgB,EAAE,GAAG,EACrB,MAAM,oBAAS,EACf,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,WAAW,gBAgL1B;AA+CD,wBAAsB,aAAa,CACjC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAC/B,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiB5C"}
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseFetchResponse = exports.quillFetch = void 0;
3
4
  exports.getData = getData;
4
- exports.useQuillCloud = useQuillCloud;
5
5
  exports.fetchSqlQuery = fetchSqlQuery;
6
- const react_1 = require("react");
7
6
  const constants_1 = require("./constants");
8
- const Context_1 = require("../Context");
9
7
  function fetchQuillData(responseData) {
10
8
  if (!responseData) {
11
9
  return null;
@@ -37,39 +35,161 @@ function parseData(rows, queryType) {
37
35
  return rows;
38
36
  }
39
37
  }
40
- async function testSqlViewState(hostedRequestBody, client, referencedTables) {
38
+ async function testSqlViewState(client, referencedTables, getToken) {
41
39
  let errorMessage = null;
42
40
  await Promise.all(referencedTables.map(async (table) => {
43
41
  if (!table) {
44
42
  return;
45
43
  }
46
- const hostedBody = {
44
+ const { data: resp } = await (0, exports.quillFetch)({
45
+ client,
46
+ task: 'test-view',
47
47
  metadata: {
48
48
  tables: [table],
49
- task: 'test-view',
50
- clientId: hostedRequestBody.metadata.clientId,
49
+ clientId: client.clientId,
51
50
  },
52
- };
53
- const cloudBody = { ...hostedBody };
54
- const resp = await getData(client, 'test-view', 'same-origin', hostedBody, cloudBody);
51
+ getToken,
52
+ });
55
53
  if (resp.success === false) {
56
54
  const brokenBody = {
57
55
  metadata: {
58
56
  table: table,
59
57
  task: 'set-broken-view',
60
- clientId: hostedRequestBody.metadata.clientId,
58
+ clientId: client.clientId,
61
59
  },
62
60
  };
63
- getData(client, 'test-view', 'same-origin', brokenBody, cloudBody);
61
+ (0, exports.quillFetch)({
62
+ client,
63
+ task: 'set-broken-view',
64
+ metadata: brokenBody,
65
+ credentials: 'same-origin',
66
+ getToken,
67
+ });
64
68
  errorMessage = `Virtual Table Error: '${table}' is out of sync with datasource.`;
65
69
  }
66
70
  }));
67
71
  return errorMessage;
68
72
  }
69
- // this function gets the data either from the self hosted endpoint or
70
- // our cloud server
71
- // Tenants and Flags must be passed in as part of the body explicity
72
- async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam, abortSignal) {
73
+ const quillFetch = async ({ client, task, method = 'POST', metadata, abortSignal, credentials = 'omit', urlParameters, getToken, }) => {
74
+ const token = await getToken();
75
+ const queryString = urlParameters ?? `task=${task}`;
76
+ const endpoint = client.queryEndpoint
77
+ ? `${client.queryEndpoint}?${queryString}`
78
+ : `${constants_1.QUILL_SERVER}${constants_1.QUILL_QUERY_ENDPOINT}?${queryString}`;
79
+ try {
80
+ const response = await fetch(endpoint, {
81
+ method,
82
+ headers: {
83
+ ...(token ? { Authorization: `Bearer ${token}` } : {}),
84
+ ...client.queryHeaders,
85
+ 'Content-Type': 'application/json',
86
+ 'Vercel-Env': process.env.NEXT_PUBLIC_VERCEL_ENV ?? 'production',
87
+ },
88
+ body: JSON.stringify({
89
+ metadata: {
90
+ task,
91
+ clientId: client.clientId,
92
+ ...metadata,
93
+ },
94
+ }),
95
+ credentials: client.withCredentials ? 'include' : credentials,
96
+ signal: abortSignal,
97
+ });
98
+ if (!response.ok) {
99
+ throw new Error('API request failed');
100
+ }
101
+ let result = await response.json();
102
+ // Not sure if this is required, but putting it here just in case
103
+ // based on other lines of code I've seen
104
+ // Probably happens if self-hosted endpoint was not set up correctly and
105
+ // the response was wrapped in an additional data object
106
+ if (result.data?.data &&
107
+ (result.data.queries || result.data.status || result.data.error)) {
108
+ result = result.data;
109
+ }
110
+ return {
111
+ data: result.data,
112
+ queries: result.queries,
113
+ status: result.status,
114
+ error: result.error,
115
+ };
116
+ }
117
+ catch (e) {
118
+ if (e instanceof Error && e.name === 'AbortError') {
119
+ throw e;
120
+ }
121
+ console.error('Failed to fetch:', e);
122
+ return { error: 'Failed to fetch data' };
123
+ }
124
+ };
125
+ exports.quillFetch = quillFetch;
126
+ // This function parses the response from the fetch call,
127
+ // which is what getData used to do after fetching data
128
+ const parseFetchResponse = async (client, task, response, getToken) => {
129
+ try {
130
+ if (response.status === 'error' || response.data?.error) {
131
+ let errorPrefix = 'Error: ';
132
+ let errorMessage = 'Failed to fetch report: ' + (response.error || response.data?.error);
133
+ if (task === 'query' || task === 'patterns') {
134
+ errorPrefix = response.error?.includes('Query Parsing Error')
135
+ ? ''
136
+ : 'SQL Error: ';
137
+ errorMessage = errorPrefix + response.error;
138
+ }
139
+ else if (response.error?.includes('Virtual Table Error')) {
140
+ errorMessage = response.error;
141
+ }
142
+ let adminErrorMessage = undefined;
143
+ if (response?.data?.referencedTables) {
144
+ adminErrorMessage =
145
+ (await testSqlViewState(client, response.data.referencedTables, getToken)) ?? undefined;
146
+ }
147
+ return {
148
+ success: false,
149
+ errorMessage,
150
+ adminErrorMessage,
151
+ data: response,
152
+ };
153
+ }
154
+ if (response.error) {
155
+ return {
156
+ success: false,
157
+ errorMessage: response.error,
158
+ ...response,
159
+ };
160
+ }
161
+ const result = {
162
+ ...response.data,
163
+ };
164
+ const fields = response.queries?.queryResults[0]?.fields;
165
+ const rows = response.queries?.queryResults[0]?.rows;
166
+ const compareRows = response.queries?.queryResults[1]?.rows;
167
+ if (fields) {
168
+ result.fields = fields;
169
+ }
170
+ if (rows) {
171
+ result.rows = rows;
172
+ }
173
+ if (compareRows && task !== 'report') {
174
+ result.compareRows = compareRows;
175
+ }
176
+ if (response.data?.queryOrder) {
177
+ response.data.queryOrder.forEach((queryKey, index) => {
178
+ result[queryKey] = parseData(response.queries?.queryResults?.[index]?.rows, queryKey);
179
+ });
180
+ }
181
+ return result;
182
+ }
183
+ catch (e) {
184
+ console.error('Failed to parse response:', e);
185
+ return null;
186
+ }
187
+ };
188
+ exports.parseFetchResponse = parseFetchResponse;
189
+ /**
190
+ * @deprecated Use quillFetch instead. If post fetch parsing is required, use parseFetchResponse.
191
+ */
192
+ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', getToken, queryParam, abortSignal) {
73
193
  if (!client) {
74
194
  return null;
75
195
  }
@@ -110,7 +230,7 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
110
230
  processedData.data &&
111
231
  processedData.data.referencedTables) {
112
232
  adminErrorMessage =
113
- (await testSqlViewState(hostedRequestBody, client, processedData.data.referencedTables)) ?? undefined;
233
+ (await testSqlViewState(client, processedData.data.referencedTables, getToken)) ?? undefined;
114
234
  }
115
235
  return {
116
236
  success: false,
@@ -219,58 +339,62 @@ async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cl
219
339
  return null;
220
340
  }
221
341
  }
222
- function useQuillCloud() {
223
- const { tenants, flags } = (0, react_1.useContext)(Context_1.TenantContext);
224
- const getDataFromCloud = async (client, cloudQueryEndpoint, cloudRequestBody, method = 'POST', abortSignal) => {
225
- try {
226
- const url = `${constants_1.QUILL_SERVER}/${cloudQueryEndpoint}`;
227
- const resp = await fetch(url, {
228
- method,
229
- headers: {
230
- Authorization: 'Bearer ',
231
- 'Content-Type': 'application/json',
232
- },
233
- body: method === 'POST'
234
- ? JSON.stringify({
235
- ...cloudRequestBody,
236
- ...{
237
- publicKey: client?.publicKey,
238
- tenants: tenants,
239
- flags: flags,
240
- },
241
- })
242
- : null,
243
- signal: abortSignal,
244
- });
245
- return await resp.json();
246
- }
247
- catch (e) {
248
- if (e instanceof Error && e.name === 'AbortError') {
249
- throw e;
250
- }
251
- console.error('Failed to parse JSON:', e);
252
- return null;
253
- }
254
- };
255
- return {
256
- getDataFromCloud,
257
- };
258
- }
259
- async function fetchSqlQuery(ast, client, formData) {
342
+ // export function useQuillCloud() {
343
+ // const { tenants, flags } = useContext(TenantContext);
344
+ // const getDataFromCloud = async (
345
+ // client: QuillProviderClient,
346
+ // cloudQueryEndpoint: string,
347
+ // cloudRequestBody: any,
348
+ // method = 'POST',
349
+ // abortSignal?: AbortSignal,
350
+ // ) => {
351
+ // try {
352
+ // const url = `${QUILL_SERVER}/${cloudQueryEndpoint}`;
353
+ // const resp = await fetch(url, {
354
+ // method,
355
+ // headers: {
356
+ // Authorization: 'Bearer ',
357
+ // 'Content-Type': 'application/json',
358
+ // },
359
+ // body:
360
+ // method === 'POST'
361
+ // ? JSON.stringify({
362
+ // ...cloudRequestBody,
363
+ // ...{
364
+ // publicKey: client?.publicKey,
365
+ // tenants: tenants,
366
+ // flags: flags,
367
+ // },
368
+ // })
369
+ // : null,
370
+ // signal: abortSignal,
371
+ // });
372
+ // return await resp.json();
373
+ // } catch (e) {
374
+ // if (e instanceof Error && e.name === 'AbortError') {
375
+ // throw e;
376
+ // }
377
+ // console.error('Failed to parse JSON:', e);
378
+ // return null;
379
+ // }
380
+ // };
381
+ // return {
382
+ // getDataFromCloud,
383
+ // };
384
+ // }
385
+ async function fetchSqlQuery(ast, client, getToken, formData) {
260
386
  try {
261
387
  const where = formData ? formData : ast?.where || null;
262
- const response = await fetch(`${constants_1.QUILL_SERVER}/sqlify`, {
263
- method: 'POST',
264
- headers: {
265
- 'Content-Type': 'application/json',
266
- },
267
- body: JSON.stringify({
388
+ const { data } = await (0, exports.quillFetch)({
389
+ client,
390
+ task: 'sqlify',
391
+ metadata: {
392
+ clientId: client.clientId,
393
+ useNewNodeSql: true,
268
394
  ast: { ...ast, where },
269
- publicKey: client.publicKey,
270
- useNewNodeSql: true, // new flag
271
- }),
395
+ },
396
+ getToken,
272
397
  });
273
- const data = await response.json();
274
398
  return { query: data.query };
275
399
  }
276
400
  catch (error) {
@@ -2,6 +2,7 @@ import { FieldType, InternalFilter, DashboardDateFilter, Filter, DashboardFilter
2
2
  import { QuillReport } from '../models/Report';
3
3
  import { FilterTreeNode } from './astFilterProcessing';
4
4
  import { ReportBuilderState } from '../models/ReportBuilder';
5
+ import { QuillProviderClient } from '../models/Client';
5
6
  export declare function findAndProcessDateFilter(filters: any[]): any;
6
7
  export declare function processFilterFromBackend(filter: any): any;
7
8
  export declare function updateFilter(filter: any, value: any | undefined, comparison: any | undefined, dashboardName: string): any;
@@ -22,7 +23,7 @@ export declare function filterStackToFilterTree(stack: any[]): FilterTreeNode |
22
23
  /**
23
24
  * This function uses the baseAst and forms a SQL query using the a filters array
24
25
  */
25
- export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[], endpoint: string, client: any): Promise<{
26
+ export declare function buildQueryFromFilters(reportBuilderState: ReportBuilderState, filters: FilterTreeNode[], client: QuillProviderClient, getToken: () => Promise<string>): Promise<{
26
27
  success: boolean;
27
28
  query?: string;
28
29
  error?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,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,EAAE,GAAG,YAAO,EACjB,UAAU,EAAE,GAAG,YAAO,EACtB,aAAa,EAAE,MAAM,OAmGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,cA0DhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;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,kBAAkB,EAAE,kBAAkB,EACtC,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,CAiC/D;AAED,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAkKrB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CA+CP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AASA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAEhB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,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,EAAE,GAAG,YAAO,EACjB,UAAU,EAAE,GAAG,YAAO,EACtB,aAAa,EAAE,MAAM,OAqFtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,cA0DhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;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,kBAAkB,EAAE,kBAAkB,EACtC,OAAO,EAAE,cAAc,EAAE,EACzB,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAiC/D;AAED,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAkKrB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CAgDP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAkDpD,CAAC"}
@@ -17,6 +17,7 @@ const Filter_1 = require("../models/Filter");
17
17
  const astFilterProcessing_1 = require("./astFilterProcessing");
18
18
  const textProcessing_1 = require("./textProcessing");
19
19
  const reportBuilder_1 = require("./reportBuilder");
20
+ const dataFetcher_1 = require("./dataFetcher");
20
21
  function findAndProcessDateFilter(filters) {
21
22
  let dateFilter = filters.find((filter) => filter.filterType === 'date_range');
22
23
  if (dateFilter) {
@@ -83,25 +84,8 @@ function updateFilter(filter, value = null, comparison = null, dashboardName) {
83
84
  }
84
85
  if (filter.filterType === 'date' || filter.filterType === 'date_range') {
85
86
  let presetsOptions = dateRangePickerUtils_1.defaultOptionsV2;
86
- if (filter.presetRanges) {
87
- presetsOptions = filter.presetRanges.map((elem) => {
88
- if (!elem.isStatic) {
89
- return {
90
- label: elem.label,
91
- value: elem.value,
92
- startDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
93
- dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).startDate,
94
- endDate: (dateRangePickerUtils_1.PRIMARY_RANGE[elem.value] ??
95
- dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS']).endDate,
96
- };
97
- }
98
- return {
99
- label: elem.label,
100
- value: elem.value,
101
- startDate: new Date(elem.startDate),
102
- endDate: new Date(elem.endDate),
103
- };
104
- });
87
+ if (filter.presetOptions || filter.defaultPresetRanges) {
88
+ presetsOptions = (0, dateRangePickerUtils_1.convertPresetOptionsToSelectableList)(filter.presetOptions ?? [], filter.defaultPresetRanges ?? []);
105
89
  }
106
90
  if (comparison ||
107
91
  (filter.comparison && filter.comparisonRange.value !== 'NO_COMPARISON')) {
@@ -321,29 +305,26 @@ function filterStackToFilterTree(stack) {
321
305
  /**
322
306
  * This function uses the baseAst and forms a SQL query using the a filters array
323
307
  */
324
- async function buildQueryFromFilters(reportBuilderState, filters, endpoint, client) {
308
+ async function buildQueryFromFilters(reportBuilderState, filters, client, getToken) {
325
309
  const subTree = filterStackToFilterTree(filters);
326
310
  let whereNode = null;
327
311
  if (subTree) {
328
- whereNode = (0, astFilterProcessing_1.filterTreeToAst)(subTree, client.databaseType.toLowerCase());
312
+ whereNode = (0, astFilterProcessing_1.filterTreeToAst)(subTree, client.databaseType?.toLowerCase() || 'postgresql');
329
313
  }
330
- const ast = (0, reportBuilder_1.reportBuilderStateToAst)({ ...reportBuilderState, filterStack: filters }, client.databaseType.toLowerCase());
314
+ const ast = (0, reportBuilder_1.reportBuilderStateToAst)({ ...reportBuilderState, filterStack: filters }, client.databaseType?.toLowerCase() || 'postgresql');
331
315
  const queryAst = { ...ast, where: whereNode };
332
316
  try {
333
- const response = await fetch(`${endpoint}/sqlify`, {
334
- method: 'POST',
335
- headers: {
336
- 'Content-Type': 'application/json',
337
- },
338
- body: JSON.stringify({
339
- ast: queryAst,
340
- publicKey: client.publicKey,
317
+ const { data } = await (0, dataFetcher_1.quillFetch)({
318
+ client,
319
+ task: 'sqlify',
320
+ metadata: {
321
+ clientId: client.clientId,
341
322
  useNewNodeSql: true,
342
- }),
343
- credentials: client.withCredentials ? 'include' : 'omit',
323
+ ast: queryAst,
324
+ },
325
+ getToken,
344
326
  });
345
- const data = await response.json();
346
- const query = data.query;
327
+ const query = data?.query;
347
328
  return { success: true, query };
348
329
  }
349
330
  catch (error) {
@@ -520,7 +501,8 @@ function mergeCustomFilters(filters, customFilters) {
520
501
  value: 'LAST_30_DAYS',
521
502
  },
522
503
  dashboardName: 'none',
523
- presetRanges: dateRangePickerUtils_1.defaultOptionsV2,
504
+ presetOptions: [],
505
+ defaultPresetRanges: [],
524
506
  preset: {
525
507
  label: 'Last 30 Days',
526
508
  value: 'LAST_30_DAYS',
@@ -558,8 +540,7 @@ function filtersAreEquivalent(filters1, filters2) {
558
540
  const createDefaultDateFilter = (filter, reports, dashboardName) => {
559
541
  const comparisonRangeStart = getComparisonRange(filter, 'startDate');
560
542
  const comparisonRangeEnd = getComparisonRange(filter, 'endDate');
561
- const range = filter?.presetRanges?.find((range) => range.value === filter.primaryRange?.value) ??
562
- dateRangePickerUtils_1.PRIMARY_RANGE[filter.primaryRange?.value ?? 'LAST_30_DAYS'] ??
543
+ const range = dateRangePickerUtils_1.PRIMARY_RANGE[filter.primaryRange?.value ?? 'LAST_30_DAYS'] ??
563
544
  dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS'];
564
545
  return filter
565
546
  ? {
@@ -594,7 +575,12 @@ const createDefaultDateFilter = (filter, reports, dashboardName) => {
594
575
  };
595
576
  exports.createDefaultDateFilter = createDefaultDateFilter;
596
577
  const getComparisonRange = (dateFilter, rangeType) => {
597
- const range = dateFilter?.presetRanges?.find((range) => range.value === dateFilter?.primaryRange?.value) ?? dateRangePickerUtils_1.PRIMARY_RANGE[dateFilter?.primaryRange?.value ?? 'LAST_30_DAYS'];
578
+ const range = (0, dateRangePickerUtils_1.convertPresetOptionsToSelectableList)(dateFilter?.presetOptions ?? [], dateFilter?.defaultPresetRanges ?? []).find((option) => option.value === dateFilter?.primaryRange?.value) ??
579
+ dateRangePickerUtils_1.PRIMARY_RANGE[dateFilter?.primaryRange?.value ?? 'LAST_30_DAYS'] ??
580
+ dateRangePickerUtils_1.PRIMARY_RANGE['LAST_30_DAYS'];
581
+ if (!range.startDate || !range.endDate) {
582
+ return undefined;
583
+ }
598
584
  return (dateFilter?.comparisonRange?.[rangeType] ??
599
585
  dateRangePickerUtils_1.COMPARISON_RANGE[dateFilter?.defaultComparisonRange ??
600
586
  'NO_COMPARISON']({
@@ -1 +1 @@
1
- {"version":3,"file":"getDomain.d.ts","sourceRoot":"","sources":["../../../src/utils/getDomain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,cAAc,EAAE;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,GAAG,SAAS,GAAG,MAAM,EAAE,CA6CtI"}
1
+ {"version":3,"file":"getDomain.d.ts","sourceRoot":"","sources":["../../../src/utils/getDomain.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAC/B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,GAAG,EAAE,EACb,cAAc,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,EAAE,GAAG,SAAS,GAC/D,MAAM,EAAE,CA6CV"}
@@ -2,7 +2,7 @@ import { QuillProviderClient } from '../models/Client';
2
2
  import { Pivot, PivotData } from '../models/Pivot';
3
3
  import { QuillReportInternal } from '../models/Report';
4
4
  import { AdditionalProcessing } from './tableProcessing';
5
- export declare function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount, caller, }: {
5
+ export declare function generatePivotWithSQL({ pivot, report, client, dateBucket, dateFilter, distinctStrings, dashboardName, tenants, additionalProcessing, pivotQuery, comparisonPivotQuery, getPivotRowCount, caller, getToken, }: {
6
6
  pivot: Pivot;
7
7
  report?: QuillReportInternal;
8
8
  client: QuillProviderClient;
@@ -19,6 +19,7 @@ export declare function generatePivotWithSQL({ pivot, report, client, dateBucket
19
19
  comparisonPivotQuery?: string;
20
20
  getPivotRowCount?: boolean;
21
21
  caller?: string;
22
+ getToken: () => Promise<string>;
22
23
  }): Promise<PivotData>;
23
24
  export declare function disambiguatedValueField(pivot: Pivot): string | undefined;
24
25
  //# sourceMappingURL=pivotConstructor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,GACP,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,SAAS,CAAC,CA2WrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBAYnD"}
1
+ {"version":3,"file":"pivotConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/pivotConstructor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAYvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAsB,oBAAoB,CAAC,EACzC,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,UAAU,EACV,eAAe,EACf,aAAa,EACb,OAAO,EACP,oBAAoB,EACpB,UAAU,EACV,oBAAoB,EACpB,gBAAuB,EACvB,MAAM,EACN,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,EAAE,mBAAmB,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EACJ;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE,EAAE,GACzD,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CACjC,GAAG,OAAO,CAAC,SAAS,CAAC,CA6WrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBAYnD"}