@quillsql/react 2.13.40 → 2.13.41

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 (253) hide show
  1. package/dist/cjs/Chart.d.ts +5 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +51 -28
  4. package/dist/cjs/ChartBuilder.d.ts +13 -1
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +342 -138
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +11 -1
  9. package/dist/cjs/Context.d.ts +16 -4
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +57 -38
  12. package/dist/cjs/Dashboard.d.ts +6 -3
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +70 -28
  15. package/dist/cjs/QuillProvider.d.ts +4 -8
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/ReportBuilder.d.ts +1 -1
  18. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  19. package/dist/cjs/ReportBuilder.js +117 -45
  20. package/dist/cjs/SQLEditor.d.ts +7 -1
  21. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  22. package/dist/cjs/SQLEditor.js +53 -9
  23. package/dist/cjs/Table.d.ts +21 -1
  24. package/dist/cjs/Table.d.ts.map +1 -1
  25. package/dist/cjs/Table.js +30 -192
  26. package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
  27. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  28. package/dist/cjs/components/Chart/BarChart.js +4 -3
  29. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
  30. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  31. package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
  32. package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
  33. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
  34. package/dist/cjs/components/Chart/GaugeChart.js +198 -0
  35. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/InternalChart.js +14 -11
  37. package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
  38. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/LineChart.js +4 -3
  40. package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
  41. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
  42. package/dist/cjs/components/Chart/MapChart.js +548 -0
  43. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  44. package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
  45. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  46. package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
  47. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
  49. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
  51. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  52. package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
  53. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
  55. package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
  56. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  57. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  58. package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
  59. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
  60. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  61. package/dist/cjs/components/ReportBuilder/convert.js +28 -7
  62. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
  63. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  64. package/dist/cjs/components/ReportBuilder/util.js +15 -2
  65. package/dist/cjs/components/UiComponents.d.ts +4 -1
  66. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  67. package/dist/cjs/components/UiComponents.js +31 -5
  68. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  69. package/dist/cjs/hooks/useDashboard.js +11 -9
  70. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  71. package/dist/cjs/hooks/useExport.js +18 -4
  72. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  73. package/dist/cjs/hooks/useQuill.js +16 -3
  74. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  75. package/dist/cjs/hooks/useReport.js +1 -7
  76. package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
  77. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useVirtualTables.js +5 -2
  79. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  80. package/dist/cjs/internals/ReportBuilder/PivotModal.js +6 -7
  81. package/dist/cjs/models/Filter.d.ts +20 -13
  82. package/dist/cjs/models/Filter.d.ts.map +1 -1
  83. package/dist/cjs/models/Filter.js +161 -87
  84. package/dist/cjs/models/Report.d.ts +12 -1
  85. package/dist/cjs/models/Report.d.ts.map +1 -1
  86. package/dist/cjs/models/Schema.d.ts +12 -1
  87. package/dist/cjs/models/Schema.d.ts.map +1 -1
  88. package/dist/cjs/utils/astFilterProcessing.js +22 -22
  89. package/dist/cjs/utils/astProcessing.d.ts +2 -2
  90. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  91. package/dist/cjs/utils/astProcessing.js +25 -6
  92. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  93. package/dist/cjs/utils/axisFormatter.js +25 -0
  94. package/dist/cjs/utils/color.d.ts +159 -0
  95. package/dist/cjs/utils/color.d.ts.map +1 -1
  96. package/dist/cjs/utils/color.js +14 -5
  97. package/dist/cjs/utils/columnProcessing.js +3 -3
  98. package/dist/cjs/utils/constants.d.ts +1 -0
  99. package/dist/cjs/utils/constants.d.ts.map +1 -1
  100. package/dist/cjs/utils/constants.js +2 -1
  101. package/dist/cjs/utils/dashboard.d.ts +13 -3
  102. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  103. package/dist/cjs/utils/dashboard.js +73 -16
  104. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  105. package/dist/cjs/utils/dataFetcher.js +3 -1
  106. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  107. package/dist/cjs/utils/filterProcessing.js +9 -9
  108. package/dist/cjs/utils/getDomain.d.ts +4 -1
  109. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  110. package/dist/cjs/utils/getDomain.js +11 -1
  111. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  112. package/dist/cjs/utils/pivotConstructor.js +5 -5
  113. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  114. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  115. package/dist/cjs/utils/queryConstructor.js +71 -43
  116. package/dist/cjs/utils/report.d.ts +23 -5
  117. package/dist/cjs/utils/report.d.ts.map +1 -1
  118. package/dist/cjs/utils/report.js +28 -8
  119. package/dist/cjs/utils/schema.d.ts +26 -3
  120. package/dist/cjs/utils/schema.d.ts.map +1 -1
  121. package/dist/cjs/utils/schema.js +75 -43
  122. package/dist/cjs/utils/tableProcessing.d.ts +10 -3
  123. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  124. package/dist/cjs/utils/tableProcessing.js +4 -6
  125. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  126. package/dist/cjs/utils/textProcessing.js +0 -1
  127. package/dist/esm/Chart.d.ts +5 -1
  128. package/dist/esm/Chart.d.ts.map +1 -1
  129. package/dist/esm/Chart.js +52 -29
  130. package/dist/esm/ChartBuilder.d.ts +13 -1
  131. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  132. package/dist/esm/ChartBuilder.js +347 -143
  133. package/dist/esm/ChartEditor.d.ts.map +1 -1
  134. package/dist/esm/ChartEditor.js +11 -1
  135. package/dist/esm/Context.d.ts +16 -4
  136. package/dist/esm/Context.d.ts.map +1 -1
  137. package/dist/esm/Context.js +59 -40
  138. package/dist/esm/Dashboard.d.ts +6 -3
  139. package/dist/esm/Dashboard.d.ts.map +1 -1
  140. package/dist/esm/Dashboard.js +71 -29
  141. package/dist/esm/QuillProvider.d.ts +4 -8
  142. package/dist/esm/QuillProvider.d.ts.map +1 -1
  143. package/dist/esm/ReportBuilder.d.ts +1 -1
  144. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  145. package/dist/esm/ReportBuilder.js +119 -47
  146. package/dist/esm/SQLEditor.d.ts +7 -1
  147. package/dist/esm/SQLEditor.d.ts.map +1 -1
  148. package/dist/esm/SQLEditor.js +54 -10
  149. package/dist/esm/Table.d.ts +21 -1
  150. package/dist/esm/Table.d.ts.map +1 -1
  151. package/dist/esm/Table.js +34 -196
  152. package/dist/esm/components/Chart/BarChart.d.ts +5 -1
  153. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  154. package/dist/esm/components/Chart/BarChart.js +5 -4
  155. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
  156. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  157. package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
  158. package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
  159. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
  160. package/dist/esm/components/Chart/GaugeChart.js +195 -0
  161. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  162. package/dist/esm/components/Chart/InternalChart.js +14 -11
  163. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  164. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  165. package/dist/esm/components/Chart/LineChart.js +5 -4
  166. package/dist/esm/components/Chart/MapChart.d.ts +36 -0
  167. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
  168. package/dist/esm/components/Chart/MapChart.js +541 -0
  169. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  170. package/dist/esm/components/Dashboard/DataLoader.js +114 -42
  171. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  172. package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
  173. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  174. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  175. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  176. package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
  177. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  178. package/dist/esm/components/QuillSelectWithCombo.js +12 -11
  179. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  180. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
  181. package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
  182. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  183. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  184. package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
  185. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
  186. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  187. package/dist/esm/components/ReportBuilder/convert.js +26 -7
  188. package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
  189. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  190. package/dist/esm/components/ReportBuilder/util.js +15 -2
  191. package/dist/esm/components/UiComponents.d.ts +4 -1
  192. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  193. package/dist/esm/components/UiComponents.js +29 -4
  194. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  195. package/dist/esm/hooks/useDashboard.js +11 -9
  196. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  197. package/dist/esm/hooks/useExport.js +19 -5
  198. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  199. package/dist/esm/hooks/useQuill.js +16 -3
  200. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  201. package/dist/esm/hooks/useReport.js +1 -7
  202. package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
  203. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  204. package/dist/esm/hooks/useVirtualTables.js +6 -3
  205. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  206. package/dist/esm/internals/ReportBuilder/PivotModal.js +6 -7
  207. package/dist/esm/models/Filter.d.ts +20 -13
  208. package/dist/esm/models/Filter.d.ts.map +1 -1
  209. package/dist/esm/models/Filter.js +160 -86
  210. package/dist/esm/models/Report.d.ts +12 -1
  211. package/dist/esm/models/Report.d.ts.map +1 -1
  212. package/dist/esm/models/Schema.d.ts +12 -1
  213. package/dist/esm/models/Schema.d.ts.map +1 -1
  214. package/dist/esm/utils/astFilterProcessing.js +23 -23
  215. package/dist/esm/utils/astProcessing.d.ts +2 -2
  216. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  217. package/dist/esm/utils/astProcessing.js +25 -6
  218. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  219. package/dist/esm/utils/axisFormatter.js +25 -0
  220. package/dist/esm/utils/color.d.ts +159 -0
  221. package/dist/esm/utils/color.d.ts.map +1 -1
  222. package/dist/esm/utils/color.js +8 -2
  223. package/dist/esm/utils/columnProcessing.js +3 -3
  224. package/dist/esm/utils/constants.d.ts +1 -0
  225. package/dist/esm/utils/constants.d.ts.map +1 -1
  226. package/dist/esm/utils/constants.js +1 -0
  227. package/dist/esm/utils/dashboard.d.ts +13 -3
  228. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  229. package/dist/esm/utils/dashboard.js +73 -16
  230. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  231. package/dist/esm/utils/dataFetcher.js +3 -1
  232. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  233. package/dist/esm/utils/filterProcessing.js +10 -10
  234. package/dist/esm/utils/getDomain.d.ts +4 -1
  235. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  236. package/dist/esm/utils/getDomain.js +11 -1
  237. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  238. package/dist/esm/utils/pivotConstructor.js +5 -5
  239. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  240. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  241. package/dist/esm/utils/queryConstructor.js +71 -43
  242. package/dist/esm/utils/report.d.ts +23 -5
  243. package/dist/esm/utils/report.d.ts.map +1 -1
  244. package/dist/esm/utils/report.js +29 -9
  245. package/dist/esm/utils/schema.d.ts +26 -3
  246. package/dist/esm/utils/schema.d.ts.map +1 -1
  247. package/dist/esm/utils/schema.js +74 -43
  248. package/dist/esm/utils/tableProcessing.d.ts +10 -3
  249. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  250. package/dist/esm/utils/tableProcessing.js +4 -6
  251. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  252. package/dist/esm/utils/textProcessing.js +0 -1
  253. package/package.json +8 -3
@@ -32,14 +32,14 @@ function replaceBigQuerySpecialCharacters(column) {
32
32
  }
33
33
  function processColumnReference(column, databaseType, fallbackOnNull,
34
34
  // for mysql, we only want to use double quotes for pivot column field aliases
35
- isPivotColumnFieldAlias, isPivotValueFieldAlias) {
35
+ isColumnFieldAlias, isValueFieldAlias) {
36
36
  switch (databaseType.toLowerCase()) {
37
37
  case 'postgresql':
38
38
  case 'clickhouse': {
39
39
  if (column === '') {
40
40
  return fallbackOnNull ? `"${fallbackOnNull}"` : `"_"`;
41
41
  }
42
- if (isPivotColumnFieldAlias) {
42
+ if (isColumnFieldAlias) {
43
43
  return `"${column.replaceAll('"', '')}"`;
44
44
  }
45
45
  const columnParts = column.split('.');
@@ -54,7 +54,7 @@ isPivotColumnFieldAlias, isPivotValueFieldAlias) {
54
54
  if (column === '') {
55
55
  return fallbackOnNull ? `${fallbackOnNull}` : '_';
56
56
  }
57
- if (isPivotColumnFieldAlias) {
57
+ if (isColumnFieldAlias) {
58
58
  return `\`${column.replaceAll(`\``, '').replaceAll(`"`, '')}\``;
59
59
  }
60
60
  const columnParts = column.split('.');
@@ -70,10 +70,10 @@ isPivotColumnFieldAlias, isPivotValueFieldAlias) {
70
70
  if (column === '') {
71
71
  return fallbackOnNull ? `${fallbackOnNull}` : '_';
72
72
  }
73
- if (isPivotColumnFieldAlias) {
73
+ if (isColumnFieldAlias) {
74
74
  return `"${column.replaceAll('"', '')}"`;
75
75
  }
76
- if (isPivotValueFieldAlias) {
76
+ if (isValueFieldAlias) {
77
77
  const cleanedColumn = column.replaceAll(')', '').replaceAll('(', '_');
78
78
  return `${cleanedColumn}`;
79
79
  }
@@ -87,7 +87,7 @@ isPivotColumnFieldAlias, isPivotValueFieldAlias) {
87
87
  if (column === '') {
88
88
  return fallbackOnNull ? `\`${fallbackOnNull}\`` : '`_`';
89
89
  }
90
- if (isPivotColumnFieldAlias) {
90
+ if (isColumnFieldAlias) {
91
91
  return `\`${replaceBigQuerySpecialCharacters(column.replaceAll('`', ''))}\``;
92
92
  }
93
93
  const columnParts = column.split('.');
@@ -102,7 +102,7 @@ isPivotColumnFieldAlias, isPivotValueFieldAlias) {
102
102
  if (column === '') {
103
103
  return fallbackOnNull ? `[${fallbackOnNull}]` : `[_]`;
104
104
  }
105
- if (isPivotColumnFieldAlias) {
105
+ if (isColumnFieldAlias) {
106
106
  return `[${column.replaceAll(']', '').replaceAll('[', '')}]`;
107
107
  }
108
108
  const columnParts = column.split('.');
@@ -179,7 +179,7 @@ function generateCountQuery(fields, query, databaseType) {
179
179
  switch (databaseType.toLowerCase()) {
180
180
  case 'mysql':
181
181
  cte = fields.map((field, index) => {
182
- return `, distinct_cte_${index} AS (SELECT DISTINCT ${processColumnReference(field, databaseType)} FROM querytable LIMIT ${constants_1.MAX_PIVOT_UNIQUE_VALUES + 1})`;
182
+ return `, distinct_cte_${index} AS (SELECT DISTINCT ${processColumnReference(field, databaseType, undefined, true)} FROM querytable LIMIT ${constants_1.MAX_PIVOT_UNIQUE_VALUES + 1})`;
183
183
  });
184
184
  countQuery = fields.map((field, index) => {
185
185
  return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(*) AS ${processColumnReference('count', databaseType)} FROM distinct_cte_${index}`;
@@ -188,7 +188,7 @@ function generateCountQuery(fields, query, databaseType) {
188
188
  break;
189
189
  default:
190
190
  countQuery = fields.map((field) => {
191
- return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(DISTINCT ${processColumnReference(field, databaseType)}) AS ${processColumnReference('count', databaseType)} FROM querytable`;
191
+ return `SELECT '${field}' AS ${processColumnReference('field', databaseType)}, COUNT(DISTINCT ${processColumnReference(field, databaseType, undefined, true)}) AS ${processColumnReference('count', databaseType)} FROM querytable`;
192
192
  });
193
193
  }
194
194
  return cteQuery + countQuery.join(' UNION ALL ');
@@ -307,7 +307,10 @@ function create2DStringPivotQuery(pivot, itemQuery, columnFieldValues, databaseT
307
307
  if (!isValidBaseQuery || !pivot.columnField || !pivot.rowField)
308
308
  return undefined;
309
309
  const rowField = pivot.rowField;
310
- if (!pivot.aggregations?.[0]?.valueField && !pivot.valueField)
310
+ if (!pivot.aggregations?.[0]?.valueField &&
311
+ pivot.aggregations?.[0]?.aggregationType !== 'count' &&
312
+ !pivot.valueField &&
313
+ pivot.aggregationType !== 'count')
311
314
  throw new Error('No value field provided for pivot');
312
315
  if (!pivot.aggregations?.[0]?.aggregationType && !pivot.aggregationType)
313
316
  throw new Error('No aggregation type provided for pivot');
@@ -331,7 +334,7 @@ function create2DStringPivotQuery(pivot, itemQuery, columnFieldValues, databaseT
331
334
  let disambiguationIndex = seenAggs[currentAgg.aggregationType ?? '']?.[currentAgg.valueField ?? '']?.toString();
332
335
  if (disambiguationIndex === '1')
333
336
  disambiguationIndex = '';
334
- const valueFieldAlias = processColumnReference((currentAgg.valueField || rowField || 'count'), databaseType, undefined, false, true);
337
+ const valueFieldAlias = processColumnReference(currentAgg.valueField || rowField || 'count', databaseType, undefined, false, true);
335
338
  const valueAliasSubstring = currentAgg.valueField
336
339
  ? `${processColumnReference(currentAgg.valueField, databaseType, undefined, true)} AS ${valueFieldAlias}`
337
340
  : '';
@@ -354,7 +357,8 @@ function create2DStringPivotQuery(pivot, itemQuery, columnFieldValues, databaseT
354
357
  const value2Expr = (currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool'
355
358
  ? `CASE WHEN ${valueField2Alias} THEN 1 ELSE 0 END`
356
359
  : valueField2Alias;
357
- if (currentAgg.valueField === currentAgg.valueField2 || !currentAgg.valueField2) {
360
+ if (currentAgg.valueField === currentAgg.valueField2 ||
361
+ !currentAgg.valueField2) {
358
362
  caseWhens = columnFieldValues.map((column) => {
359
363
  return `sum(CASE WHEN ${columnFieldAlias} = '${processSingleQuotes(column, databaseType)}' THEN ${valueExpr} END) / GREATEST(sum(${value2Expr}), 1) AS ${processColumnReference(column + disambiguation, databaseType, '_', true)}`;
360
364
  });
@@ -386,7 +390,7 @@ function create2DStringPivotQuery(pivot, itemQuery, columnFieldValues, databaseT
386
390
  ];
387
391
  valueAliases = Array.from(new Set(valueAliases));
388
392
  const sortQuery = pivot.sort && pivot.sortField && pivot.rowLimit
389
- ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType)} ${pivot.sortDirection || ''} `
393
+ ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType, undefined, true)} ${pivot.sortDirection || ''} `
390
394
  : '';
391
395
  const pivotQuery = `
392
396
  ,quill_alias AS (
@@ -415,7 +419,10 @@ function create2DDatePivotQuery(pivot, itemQuery, columnFieldValues, databaseTyp
415
419
  if (!isValidBaseQuery || !pivot.columnField || !pivot.rowField) {
416
420
  return undefined;
417
421
  }
418
- if (!pivot.aggregations?.[0]?.valueField && !pivot.valueField)
422
+ if (!pivot.aggregations?.[0]?.valueField &&
423
+ pivot.aggregations?.[0]?.aggregationType !== 'count' &&
424
+ !pivot.valueField &&
425
+ pivot.aggregationType !== 'count')
419
426
  throw new Error('No value field provided for pivot');
420
427
  if (!pivot.aggregations?.[0]?.aggregationType && !pivot.aggregationType)
421
428
  throw new Error('No aggregation type provided for pivot');
@@ -441,12 +448,14 @@ function create2DDatePivotQuery(pivot, itemQuery, columnFieldValues, databaseTyp
441
448
  let disambiguationIndex = seenAggs[currentAgg.aggregationType ?? '']?.[currentAgg.valueField ?? '']?.toString();
442
449
  if (disambiguationIndex === '1')
443
450
  disambiguationIndex = '';
444
- const valueFieldAlias = processColumnReference((currentAgg.valueField ?? rowField), databaseType, undefined, false, true);
451
+ const valueFieldAlias = processColumnReference(currentAgg.valueField ?? rowField, databaseType, undefined, false, true);
445
452
  const valueAliasSubstring = currentAgg.valueField
446
453
  ? `${processColumnReference(currentAgg.valueField, databaseType, undefined, true)} AS ${valueFieldAlias}`
447
454
  : '';
448
455
  let value2AliasSubstring = '';
449
- const disambiguationField = Object.values(seenAggs[currentAgg.aggregationType ?? ''] ?? {}).reduce((acc, v) => acc + v) > 1 ? `_${currentAgg.valueField}${disambiguationIndex}` : '';
456
+ const disambiguationField = Object.values(seenAggs[currentAgg.aggregationType ?? ''] ?? {}).reduce((acc, v) => acc + v) > 1
457
+ ? `_${currentAgg.valueField}${disambiguationIndex}`
458
+ : '';
450
459
  const disambiguation = pivot.aggregations?.length > 1
451
460
  ? `${disambiguationField}_${disambiguationField ? (0, textProcessing_1.matchCasing)(currentAgg.aggregationType, currentAgg.valueField) : currentAgg.aggregationType}`
452
461
  : '';
@@ -463,7 +472,8 @@ function create2DDatePivotQuery(pivot, itemQuery, columnFieldValues, databaseTyp
463
472
  ? `CASE WHEN ${valueField2Alias} THEN 1 ELSE 0 END`
464
473
  : valueField2Alias;
465
474
  // edge case. if the user picks amount and amount, we assume they want a pie chart like breakdown of amount. so the summation of valueField2 has to be moved outside of the case whe
466
- if (currentAgg.valueField === currentAgg.valueField2 || !currentAgg.valueField2) {
475
+ if (currentAgg.valueField === currentAgg.valueField2 ||
476
+ !currentAgg.valueField2) {
467
477
  caseWhens = [
468
478
  ...caseWhens,
469
479
  ...columnFieldValues.map((column) => {
@@ -501,7 +511,7 @@ function create2DDatePivotQuery(pivot, itemQuery, columnFieldValues, databaseTyp
501
511
  ];
502
512
  valueFieldAliases = Array.from(new Set(valueFieldAliases));
503
513
  // pivot sort matters in the base query when there is a rowLimit. In mssql, an orderby must be accompanied by a limit in a subquery and not allowed in a cte
504
- const sortQuery = `${pivot.sort && pivot.sortField && pivot.rowLimit ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType)} ${pivot.sortDirection || ''} ` : ''}`;
514
+ const sortQuery = `${pivot.sort && pivot.sortField && pivot.rowLimit ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType, undefined, true)} ${pivot.sortDirection || ''} ` : ''}`;
505
515
  const pivotQuery = `
506
516
  , quill_alias AS (SELECT ${valueFieldAliases.length > 0 ? `${valueFieldAliases.join(', ')}` : ''} FROM quill_base_table),
507
517
  quill_qt_agg AS (SELECT ${processDateTrunc(dateBucket, rowFieldAlias, databaseType)} as ${rowFieldAlias}${caseWhens.length > 0 ? `, ${caseWhens.join(', ')}` : ''} FROM quill_alias GROUP BY ${databaseType.toLowerCase() === 'clickhouse' ? processColumnReference(`${rowField}`, databaseType) : processDateTrunc(dateBucket, rowFieldAlias, databaseType)}),
@@ -548,7 +558,7 @@ function create1DStringPivotQuery(pivot, itemQuery, databaseType) {
548
558
  if (disambiguationIndex === '1')
549
559
  disambiguationIndex = '';
550
560
  // This is the alias (from quill_alias CTE) for the field
551
- const valueFieldAlias = processColumnReference((currentAgg.valueField || rowField || 'count'), databaseType, undefined, false, true);
561
+ const valueFieldAlias = processColumnReference(currentAgg.valueField || rowField || 'count', databaseType, undefined, false, true);
552
562
  // In the base query, we select the raw column.
553
563
  const valueAliasSubstring = currentAgg.valueField
554
564
  ? `${processColumnReference(currentAgg.valueField, databaseType, undefined, true)} AS ${valueFieldAlias}`
@@ -571,10 +581,13 @@ function create1DStringPivotQuery(pivot, itemQuery, databaseType) {
571
581
  if ((currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool') {
572
582
  value2Expr = `CASE WHEN ${valueField2Alias} THEN 1 ELSE 0 END`;
573
583
  }
574
- value2AliasSubstring = currentAgg.valueField2 && currentAgg.valueField !== currentAgg.valueField2
575
- ? `${processColumnReference(currentAgg.valueField2, databaseType, undefined, true)} AS ${valueField2Alias}`
576
- : '';
577
- const percentageExpr = currentAgg.valueField === currentAgg.valueField2 || !currentAgg.valueField2
584
+ value2AliasSubstring =
585
+ currentAgg.valueField2 &&
586
+ currentAgg.valueField !== currentAgg.valueField2
587
+ ? `${processColumnReference(currentAgg.valueField2, databaseType, undefined, true)} AS ${valueField2Alias}`
588
+ : '';
589
+ const percentageExpr = currentAgg.valueField === currentAgg.valueField2 ||
590
+ !currentAgg.valueField2
578
591
  ? `sum(${valueExpr}) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
579
592
  : `sum(${valueExpr}) / GREATEST(sum(${value2Expr}), 1)`;
580
593
  quillAggSelects = [
@@ -595,7 +608,7 @@ function create1DStringPivotQuery(pivot, itemQuery, databaseType) {
595
608
  });
596
609
  valueFieldAliases = Array.from(new Set(valueFieldAliases));
597
610
  const sortQuery = `${pivot.sort && pivot.sortField && pivot.rowLimit
598
- ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType)} ${pivot.sortDirection || ''} `
611
+ ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType, undefined, true)} ${pivot.sortDirection || ''} `
599
612
  : ''}`;
600
613
  const pivotQuery = `, quill_alias AS (
601
614
  SELECT ${processColumnReference(`${rowField}`, databaseType, undefined, true)} AS ${rowAlias}${valueFieldAliases.length > 0 ? `, ${valueFieldAliases.join(', ')}` : ''}
@@ -620,7 +633,9 @@ function create1DDatePivotQuery(pivot, itemQuery, dateBucket = 'month', database
620
633
  }
621
634
  const rowField = pivot.rowField || '';
622
635
  const rowFieldAlias = processColumnReference(rowField, databaseType, undefined);
623
- let quillAggSelects = [`${processDateTrunc(dateBucket, rowFieldAlias, databaseType)} as ${processColumnReference(rowField, databaseType)}`];
636
+ let quillAggSelects = [
637
+ `${processDateTrunc(dateBucket, rowFieldAlias, databaseType)} as ${processColumnReference(rowField, databaseType)}`,
638
+ ];
624
639
  let valueFieldAliases = [];
625
640
  const seenAggs = {};
626
641
  pivot.aggregations?.forEach((currentAgg) => {
@@ -639,7 +654,7 @@ function create1DDatePivotQuery(pivot, itemQuery, dateBucket = 'month', database
639
654
  let disambiguationIndex = seenAggs[currentAgg.aggregationType ?? '']?.[currentAgg.valueField ?? '']?.toString() ?? '';
640
655
  if (disambiguationIndex === '1')
641
656
  disambiguationIndex = '';
642
- const valueFieldAlias = processColumnReference((currentAgg.valueField || rowField || 'count'), databaseType, undefined, false, true);
657
+ const valueFieldAlias = processColumnReference(currentAgg.valueField || rowField || 'count', databaseType, undefined, false, true);
643
658
  const valueAliasSubstring = currentAgg.valueField
644
659
  ? `${processColumnReference(currentAgg.valueField, databaseType, undefined, true)} AS ${valueFieldAlias}`
645
660
  : '';
@@ -657,14 +672,17 @@ function create1DDatePivotQuery(pivot, itemQuery, dateBucket = 'month', database
657
672
  throw new Error('No value field provided for percentage aggregation');
658
673
  }
659
674
  const valueField2Alias = processColumnReference(currentAgg.valueField2 ?? currentAgg.valueField, databaseType, undefined, false, true);
660
- value2AliasSubstring = currentAgg.valueField2 && currentAgg.valueField !== currentAgg.valueField2
661
- ? `${processColumnReference(currentAgg.valueField2, databaseType, undefined, true)} AS ${valueField2Alias}`
662
- : '';
675
+ value2AliasSubstring =
676
+ currentAgg.valueField2 &&
677
+ currentAgg.valueField !== currentAgg.valueField2
678
+ ? `${processColumnReference(currentAgg.valueField2, databaseType, undefined, true)} AS ${valueField2Alias}`
679
+ : '';
663
680
  let value2Expr = valueField2Alias;
664
681
  if ((currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool') {
665
682
  value2Expr = `CASE WHEN ${valueField2Alias} THEN 1 ELSE 0 END`;
666
683
  }
667
- const percentageExpr = currentAgg.valueField === currentAgg.valueField2 || !currentAgg.valueField2
684
+ const percentageExpr = currentAgg.valueField === currentAgg.valueField2 ||
685
+ !currentAgg.valueField2
668
686
  ? `sum(${valueExpr}) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
669
687
  : `sum(${valueExpr}) / GREATEST(sum(${value2Expr}), 1)`;
670
688
  quillAggSelects = [
@@ -685,7 +703,7 @@ function create1DDatePivotQuery(pivot, itemQuery, dateBucket = 'month', database
685
703
  });
686
704
  valueFieldAliases = Array.from(new Set(valueFieldAliases));
687
705
  // pivot sort matters in the base query when there is a rowLimit. In mssql, an orderby must be accompanied by a limit in a subquery and not allowed in a cte
688
- const sortQuery = `${pivot.sort && pivot.sortField && pivot.rowLimit ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType)} ${pivot.sortDirection || ''} ` : ''}`;
706
+ const sortQuery = `${pivot.sort && pivot.sortField && pivot.rowLimit ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType, undefined, true)} ${pivot.sortDirection || ''} ` : ''}`;
689
707
  const pivotQuery = `, quill_alias AS (SELECT ${processColumnReference(`${rowField}`, databaseType, undefined, true)} AS ${rowFieldAlias}${valueFieldAliases.length > 0 ? `, ${valueFieldAliases.join(', ')}` : ''}
690
708
  FROM quill_base_table),
691
709
  quill_qt_agg AS (SELECT ${quillAggSelects.join(', ')}
@@ -721,7 +739,7 @@ function createAggregationValuePivot(pivot, itemQuery, databaseType) {
721
739
  let disambiguationIndex = seenAggs[currentAgg.aggregationType ?? '']?.[currentAgg.valueField ?? '']?.toString() ?? '';
722
740
  if (disambiguationIndex === '1')
723
741
  disambiguationIndex = '';
724
- const valueFieldAlias = processColumnReference((currentAgg.valueField || 'count'), databaseType, undefined, false, true);
742
+ const valueFieldAlias = processColumnReference(currentAgg.valueField || 'count', databaseType, undefined, false, true);
725
743
  const valueAliasSubstring = currentAgg.valueField
726
744
  ? `${processColumnReference(currentAgg.valueField, databaseType, undefined, true)} AS ${valueFieldAlias}`
727
745
  : '';
@@ -731,9 +749,10 @@ function createAggregationValuePivot(pivot, itemQuery, databaseType) {
731
749
  : '';
732
750
  // If the field type is bool, wrap it in a CASE WHEN
733
751
  let valueExpr = !currentAgg.valueField ? '*' : valueFieldAlias;
734
- valueExpr = currentAgg.valueFieldType === 'bool'
735
- ? `CASE WHEN ${valueFieldAlias} THEN 1 ELSE 0 END`
736
- : valueExpr;
752
+ valueExpr =
753
+ currentAgg.valueFieldType === 'bool'
754
+ ? `CASE WHEN ${valueFieldAlias} THEN 1 ELSE 0 END`
755
+ : valueExpr;
737
756
  if (currentAgg.aggregationType === 'percentage') {
738
757
  if (!currentAgg.valueField) {
739
758
  throw new Error('No value field provided for percentage aggregation');
@@ -742,10 +761,13 @@ function createAggregationValuePivot(pivot, itemQuery, databaseType) {
742
761
  const value2Expr = (currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool'
743
762
  ? `CASE WHEN ${valueField2Alias} THEN 1 ELSE 0 END`
744
763
  : valueField2Alias;
745
- value2AliasSubstring = currentAgg.valueField2 && currentAgg.valueField !== currentAgg.valueField2
746
- ? `${processColumnReference(currentAgg.valueField2, databaseType, undefined, true)} AS ${valueField2Alias}`
747
- : '';
748
- const percentageExpr = currentAgg.valueField === currentAgg.valueField2 || !currentAgg.valueField2
764
+ value2AliasSubstring =
765
+ currentAgg.valueField2 &&
766
+ currentAgg.valueField !== currentAgg.valueField2
767
+ ? `${processColumnReference(currentAgg.valueField2, databaseType, undefined, true)} AS ${valueField2Alias}`
768
+ : '';
769
+ const percentageExpr = currentAgg.valueField === currentAgg.valueField2 ||
770
+ !currentAgg.valueField2
749
771
  ? `sum(${valueExpr}) / ${(currentAgg.valueField2Type ?? currentAgg.valueFieldType) === 'bool' ? 'COUNT(*)' : 'SUM(sum(' + valueExpr + ')) OVER ()'}`
750
772
  : `sum(${valueExpr}) / GREATEST(sum(${value2Expr}), 1)`;
751
773
  quillAggSelects = [
@@ -766,7 +788,7 @@ function createAggregationValuePivot(pivot, itemQuery, databaseType) {
766
788
  });
767
789
  valueFieldAliases = Array.from(new Set(valueFieldAliases));
768
790
  const sortQuery = pivot.sort && pivot.sortField && pivot.rowLimit
769
- ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType)} ${pivot.sortDirection || ''} `
791
+ ? ` ORDER BY ${processColumnReference(pivot.sortField, databaseType, undefined, true)} ${pivot.sortDirection || ''} `
770
792
  : '';
771
793
  const pivotQuery = `, quill_alias AS (
772
794
  SELECT ${valueFieldAliases.join(', ')} FROM quill_base_table
@@ -796,7 +818,13 @@ function additionalProcessingOnPivotQuery(pivot, query, additionalProcessing, da
796
818
  }
797
819
  if (!pivot.aggregations || pivot.aggregations.length === 0) {
798
820
  if (pivot.aggregationType) {
799
- pivot.aggregations = [{ aggregationType: pivot.aggregationType, valueField: pivot.valueField, valueField2: pivot.valueField2 }];
821
+ pivot.aggregations = [
822
+ {
823
+ aggregationType: pivot.aggregationType,
824
+ valueField: pivot.valueField,
825
+ valueField2: pivot.valueField2,
826
+ },
827
+ ];
800
828
  }
801
829
  else {
802
830
  throw new Error('No aggregations provided for pivot');
@@ -820,13 +848,13 @@ function additionalProcessingOnPivotQuery(pivot, query, additionalProcessing, da
820
848
  ? `_${(0, textProcessing_1.matchCasing)(pivot.aggregations?.[0]?.aggregationType, pivot.aggregations?.[0]?.valueField)}`
821
849
  : '';
822
850
  if (additionalProcessing.sort) {
823
- sortQuery = `ORDER BY ${processColumnReference(additionalProcessing.sort.field, databaseType)} ${additionalProcessing.sort.direction || ''}`;
851
+ sortQuery = `ORDER BY ${processColumnReference(additionalProcessing.sort.field, databaseType, undefined, true)} ${additionalProcessing.sort.direction || ''}`;
824
852
  }
825
853
  else {
826
854
  const valueFieldAlias = processColumnReference((pivot.aggregations?.[0]?.valueField ?? '') + disambiguation, databaseType, undefined, false, true);
827
855
  const defaultSortField = pivot.sortField || pivot.rowField || valueFieldAlias;
828
856
  const defaultSortDirection = pivot.sortDirection || '';
829
- sortQuery = `ORDER BY ${processColumnReference(defaultSortField, databaseType)} ${defaultSortDirection}`;
857
+ sortQuery = `ORDER BY ${processColumnReference(defaultSortField, databaseType, undefined, true)} ${defaultSortDirection}`;
830
858
  }
831
859
  const additionalProcessingQuery = `
832
860
  SELECT *
@@ -5,6 +5,7 @@ import { Pivot, PivotData } from '../models/Pivot';
5
5
  import { QuillReport, QuillReportInternal } from '../models/Report';
6
6
  import { DateRangesByColumn, Table, UniqueValuesByTable } from '../models/Tables';
7
7
  import { AdditionalProcessing } from './tableProcessing';
8
+ import { CustomField } from '../models/Schema';
8
9
  export type ReportBuilderInfo = {
9
10
  rows: any[];
10
11
  columns: ColumnInternal[];
@@ -22,19 +23,36 @@ export type ReportBuilderInfo = {
22
23
  };
23
24
  export declare const EMPTY_REPORT: QuillReport;
24
25
  export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
25
- export declare function fetchReport(reportId: string, client: QuillProviderClient, tenants?: {
26
- tenantField: string;
27
- tenantIds: (string | number)[];
28
- }[] | (string | number)[], flags?: string[], useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, dateBucket?: string, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean, abortSignal?: AbortSignal, getDefaultDashboardFilters?: boolean): Promise<{
26
+ export declare function fetchReport({ reportId, client, tenants, flags, useReportTask, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getDefaultDashboardFilters, }: {
27
+ reportId: string;
28
+ client: QuillProviderClient;
29
+ tenants?: {
30
+ tenantField: string;
31
+ tenantIds: (string | number)[];
32
+ }[] | (string | number)[];
33
+ flags?: string[];
34
+ useReportTask?: boolean;
35
+ filters?: any[];
36
+ additionalProcessing?: AdditionalProcessing;
37
+ dateBucket?: string;
38
+ customFields?: any;
39
+ rowsOnly?: boolean;
40
+ rowCountOnly?: boolean;
41
+ abortSignal?: AbortSignal;
42
+ getDefaultDashboardFilters?: boolean;
43
+ }): Promise<{
29
44
  report: QuillReportInternal;
30
45
  error?: string;
31
46
  }>;
32
- export declare function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, }: {
47
+ export declare function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, customFields, }: {
33
48
  resp: any;
34
49
  client: QuillProviderClient;
35
50
  filters?: (DashboardFilter | InternalFilter)[];
36
51
  dateBucket?: string;
37
52
  additionalProcessing?: AdditionalProcessing;
53
+ customFields?: {
54
+ [tableName: string]: CustomField[];
55
+ } | null;
38
56
  }): Promise<QuillReportInternal>;
39
57
  export declare function fetchReportInfo(reportId: string, client: QuillProviderClient, tenants?: {
40
58
  tenantField: string;
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAsB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAU1B,OAAO,EACL,oBAAoB,EAKrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,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,SAAS,GAAG,IAAI,CAAC;IAC5B,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;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAiB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,mBAGnC,CAAC;AAgCF,wBAAsB,WAAW,CAAC,EAChC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,KAAK,EACL,aAAoB,EACpB,OAAY,EACZ,oBAAoB,EACpB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,0BAA0B,GAC3B,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,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,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsE3D;AAED,wBAAsB,qBAAqB,CAAC,EAC1C,IAAI,EACJ,MAAM,EACN,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,YAAY,GACb,EAAE;IACD,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,eAAe,GAAG,cAAc,CAAC,EAAE,CAAC;IAC/C,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;CAC9D,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAoE/B;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,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;;;GA0BxB;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,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,EAChB,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,CAAC,EAAE,GAAG,EAClB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoC7B;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,CAkCf;AAED,eAAO,MAAM,oBAAoB,WACvB,GAAG,eACE,MAAM,gBACL,MAAM,QA4BrB,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,EAC3B,gBAAgB,EAAE,eAAe,EAAE,EACnC,SAAS,CAAC,EAAE,MAAM,GACjB,WAAW,CAsEb;AAED,eAAO,MAAM,6BAA6B,8LAgBvC;IACD,OAAO,EAAE,GAAG,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,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,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE;QACjB,aAAa,EAAE,mBAAmB,CAAC;QACnC,UAAU,EAAE,kBAAkB,CAAC;KAChC,CAAC;IACF,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KAAG,OAAO,CAAC,iBAAiB,CA+L5B,CAAC"}
@@ -69,10 +69,14 @@ function extractAllReportValuesFromQuillInternalReport(reportInternal) {
69
69
  queryString: reportInternal.queryString,
70
70
  rowCount: reportInternal.rowCount,
71
71
  template: reportInternal.template,
72
+ referenceLineYValues: reportInternal.referenceLineYValues,
73
+ referenceLines: reportInternal.referenceLines,
74
+ includeCustomFields: reportInternal.includeCustomFields,
75
+ columnsWithCustomFields: reportInternal.columnsWithCustomFields,
72
76
  };
73
77
  }
74
78
  // TODO: Convert this to take an object rather than a bunch of arguments
75
- async function fetchReport(reportId, client, tenants, flags, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getDefaultDashboardFilters) {
79
+ async function fetchReport({ reportId, client, tenants, flags, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal, getDefaultDashboardFilters, }) {
76
80
  let reportInfo = undefined;
77
81
  let errorMessage = undefined;
78
82
  try {
@@ -107,6 +111,7 @@ async function fetchReport(reportId, client, tenants, flags, useReportTask = tru
107
111
  filters,
108
112
  dateBucket,
109
113
  additionalProcessing,
114
+ customFields,
110
115
  });
111
116
  }
112
117
  catch (error) {
@@ -135,10 +140,10 @@ async function fetchReport(reportId, client, tenants, flags, useReportTask = tru
135
140
  }
136
141
  return { report: reportInfo || exports.EMPTY_INTERNAL_REPORT, error: errorMessage };
137
142
  }
138
- async function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, }) {
143
+ async function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, customFields, }) {
139
144
  const dashboardItem = {
140
145
  ...resp,
141
- filtersApplied: filters?.filter((filter) => filter.filterType in Filter_1.FilterType),
146
+ filtersApplied: filters?.filter((filter) => filter.filterType in Filter_1.InternalFilterType),
142
147
  };
143
148
  if (resp.errorMessage) {
144
149
  throw new error_1.DataLoadError(resp?.errorMessage, {
@@ -155,7 +160,14 @@ async function processReportResponse({ resp, client, filters, dateBucket, additi
155
160
  (0, dataProcessing_1.parseValueFromBigQueryDates)(dashboardItem.compareRows, resp.fields);
156
161
  }
157
162
  }
158
- const reportInfo = await (0, dashboard_1.cleanDashboardItem)(dashboardItem, filters, client, dateBucket, additionalProcessing);
163
+ const reportInfo = await (0, dashboard_1.cleanDashboardItem)({
164
+ item: dashboardItem,
165
+ dashboardFilters: filters,
166
+ client,
167
+ dateBucket,
168
+ additionalProcessing,
169
+ customFields,
170
+ });
159
171
  if (additionalProcessing) {
160
172
  reportInfo.pagination = additionalProcessing.page;
161
173
  reportInfo.sort = additionalProcessing.sort;
@@ -257,8 +269,13 @@ const formatRowsFromReport = (report, xAxisField, xAxisFormat) => {
257
269
  if (!report.rows || !report.columns) {
258
270
  return [];
259
271
  }
272
+ const columns = report.includeCustomFields &&
273
+ report.columnsWithCustomFields &&
274
+ !report.pivot
275
+ ? report.columnsWithCustomFields
276
+ : report.columns;
260
277
  return report.rows.map((row) => {
261
- return report.columns.reduce((formattedRow, column) => {
278
+ return columns.reduce((formattedRow, column) => {
262
279
  // Apply the format function to each field in the row
263
280
  const formattedValue = (0, valueFormatter_1.quillFormat)({
264
281
  value: row[column.field],
@@ -282,7 +299,8 @@ function convertInternalReportToReport(report, dashboardFilters, initiator) {
282
299
  };
283
300
  if (formattedReport.pivot &&
284
301
  (0, pivotProcessing_1.isValidPivot)(formattedReport.pivot).valid &&
285
- initiator !== 'useQuill') {
302
+ initiator !== 'useQuill' &&
303
+ initiator !== 'Table') {
286
304
  let columns = report.pivotColumns ?? report.columns;
287
305
  let rows = report.pivotRows ?? report.rows;
288
306
  if (report.chartType === 'table') {
@@ -356,7 +374,7 @@ const fetchReportBuilderDataFromAST = async ({ baseAst, formData, schema, client
356
374
  if (!table || !tableInfo) {
357
375
  throw new Error('No table found');
358
376
  }
359
- const tableData = await (0, tableProcessing_1.fetchTableByAST)({ ...baseAst, where: formData }, client, tenants, processing ?? { page: paginationProcessing_1.DEFAULT_PAGINATION }, undefined, skipRowCount, undefined, dashboardName);
377
+ const tableData = await (0, tableProcessing_1.fetchTableByAST)({ ...baseAst, where: formData }, client, tenants, processing ?? { page: paginationProcessing_1.DEFAULT_PAGINATION }, customFields, skipRowCount, undefined, dashboardName);
360
378
  if (tableData.error) {
361
379
  throw new Error(tableData.error);
362
380
  }
@@ -384,6 +402,8 @@ const fetchReportBuilderDataFromAST = async ({ baseAst, formData, schema, client
384
402
  };
385
403
  }),
386
404
  columnInternal: tableData.columns,
405
+ referenceLines: report?.referenceLines,
406
+ referenceLineYValues: report?.referenceLineYValues,
387
407
  };
388
408
  if (table !== currentTable || previousFormData !== formData) {
389
409
  const queryResult = await (0, dataFetcher_1.fetchSqlQuery)({
@@ -424,7 +444,7 @@ const fetchReportBuilderDataFromAST = async ({ baseAst, formData, schema, client
424
444
  }
425
445
  if (!Object.values(relevantInfo.uniqueStrings[table] ?? {}).length ||
426
446
  !(0, fast_deep_equal_1.default)(formData, previousFormData)) {
427
- relevantInfo.uniqueStrings[table] = await (0, tableProcessing_1.getUniqueStringValues)(tableInfo.columns.filter((column) => column.field === pivot?.columnField), table, client, tenants, customFields, undefined, undefined, query ? query : (report?.queryString ?? ''));
447
+ relevantInfo.uniqueStrings[table] = await (0, tableProcessing_1.getUniqueStringValues)(tableInfo.columns.filter((column) => column.field === pivot?.columnField), table, client, tenants, customFields, undefined, undefined, query ? query : (report?.queryString ?? ''), report?.dashboardName);
428
448
  }
429
449
  newPivotData = await (0, PivotModal_1.generatePivotTable)({
430
450
  pivot,
@@ -1,8 +1,31 @@
1
1
  import { QuillProviderClient } from '../models/Client';
2
+ import { ColumnInternal } from '../models/Columns';
3
+ import { CustomField } from '../models/Schema';
2
4
  import { Table } from '../models/Tables';
3
- export declare const getCustomFieldInfo: (client: QuillProviderClient, caller?: string) => Promise<any[]>;
4
- export declare const getSchemaInfo: (client: QuillProviderClient, caller?: string, tableIds?: string[]) => Promise<{
5
+ export declare const getCustomFieldInfo: ({ client, tenants, caller, }: {
6
+ client: QuillProviderClient;
7
+ tenants: {
8
+ tenantField: string;
9
+ tenantIds: (string | number)[];
10
+ }[] | (string | number)[];
11
+ caller?: string;
12
+ }) => Promise<{
13
+ [tableName: string]: CustomField[];
14
+ } | null>;
15
+ export declare const getSchemaInfo: ({ client, caller, tenants, tableIds, }: {
16
+ client: QuillProviderClient;
17
+ tenants?: {
18
+ tenantField: string;
19
+ tenantIds: (string | number)[];
20
+ }[] | (string | number)[];
21
+ caller?: string;
22
+ tableIds?: string[];
23
+ }) => Promise<{
5
24
  schemaData: Table[];
6
- customFieldsByTable: any;
25
+ customFieldsByTable: {
26
+ [tableName: string]: CustomField[];
27
+ } | null;
28
+ schemaWithCustomFields: Table[];
7
29
  }>;
30
+ export declare const customFieldToColumnInternal: (customField: CustomField) => ColumnInternal;
8
31
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
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;AA0BzC,eAAO,MAAM,kBAAkB,WACrB,mBAAmB,oCAmF5B,CAAC;AAEF,eAAO,MAAM,aAAa,WAChB,mBAAmB,8BAEhB,MAAM,EAAE,KAClB,OAAO,CAAC;IAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAAC,mBAAmB,EAAE,GAAG,CAAA;CAAE,CAqD3D,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,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AA8BzC,eAAO,MAAM,kBAAkB,iCAI5B;IACD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,OAAO,EACH;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,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,OAAO,CAAC;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;CAAE,GAAG,IAAI,CAkFxD,CAAC;AAEF,eAAO,MAAM,aAAa,2CAKvB;IACD,MAAM,EAAE,mBAAmB,CAAC;IAC5B,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,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,KAAG,OAAO,CAAC;IACV,UAAU,EAAE,KAAK,EAAE,CAAC;IACpB,mBAAmB,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,sBAAsB,EAAE,KAAK,EAAE,CAAC;CACjC,CA6DA,CAAC;AA0BF,eAAO,MAAM,2BAA2B,gBACzB,WAAW,KACvB,cAaF,CAAC"}