@quillsql/react 2.13.39 → 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 (255) 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 +347 -147
  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/QuillMultiSelectSectionList.js +5 -5
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
  52. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  53. package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  55. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
  56. package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
  57. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  58. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  59. package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
  60. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
  61. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  62. package/dist/cjs/components/ReportBuilder/convert.js +28 -7
  63. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
  64. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  65. package/dist/cjs/components/ReportBuilder/util.js +15 -2
  66. package/dist/cjs/components/UiComponents.d.ts +4 -1
  67. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  68. package/dist/cjs/components/UiComponents.js +31 -5
  69. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  70. package/dist/cjs/hooks/useDashboard.js +11 -9
  71. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  72. package/dist/cjs/hooks/useExport.js +18 -4
  73. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  74. package/dist/cjs/hooks/useQuill.js +16 -3
  75. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  76. package/dist/cjs/hooks/useReport.js +1 -7
  77. package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
  78. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  79. package/dist/cjs/hooks/useVirtualTables.js +5 -2
  80. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  81. package/dist/cjs/internals/ReportBuilder/PivotModal.js +6 -7
  82. package/dist/cjs/models/Filter.d.ts +20 -13
  83. package/dist/cjs/models/Filter.d.ts.map +1 -1
  84. package/dist/cjs/models/Filter.js +161 -87
  85. package/dist/cjs/models/Report.d.ts +12 -1
  86. package/dist/cjs/models/Report.d.ts.map +1 -1
  87. package/dist/cjs/models/Schema.d.ts +12 -1
  88. package/dist/cjs/models/Schema.d.ts.map +1 -1
  89. package/dist/cjs/utils/astFilterProcessing.js +22 -22
  90. package/dist/cjs/utils/astProcessing.d.ts +2 -2
  91. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  92. package/dist/cjs/utils/astProcessing.js +25 -6
  93. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  94. package/dist/cjs/utils/axisFormatter.js +25 -0
  95. package/dist/cjs/utils/color.d.ts +159 -0
  96. package/dist/cjs/utils/color.d.ts.map +1 -1
  97. package/dist/cjs/utils/color.js +14 -5
  98. package/dist/cjs/utils/columnProcessing.js +3 -3
  99. package/dist/cjs/utils/constants.d.ts +1 -0
  100. package/dist/cjs/utils/constants.d.ts.map +1 -1
  101. package/dist/cjs/utils/constants.js +2 -1
  102. package/dist/cjs/utils/dashboard.d.ts +13 -3
  103. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  104. package/dist/cjs/utils/dashboard.js +73 -16
  105. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  106. package/dist/cjs/utils/dataFetcher.js +3 -1
  107. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  108. package/dist/cjs/utils/filterProcessing.js +9 -9
  109. package/dist/cjs/utils/getDomain.d.ts +4 -1
  110. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  111. package/dist/cjs/utils/getDomain.js +11 -1
  112. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  113. package/dist/cjs/utils/pivotConstructor.js +7 -6
  114. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  115. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  116. package/dist/cjs/utils/queryConstructor.js +71 -43
  117. package/dist/cjs/utils/report.d.ts +23 -5
  118. package/dist/cjs/utils/report.d.ts.map +1 -1
  119. package/dist/cjs/utils/report.js +28 -8
  120. package/dist/cjs/utils/schema.d.ts +26 -3
  121. package/dist/cjs/utils/schema.d.ts.map +1 -1
  122. package/dist/cjs/utils/schema.js +75 -43
  123. package/dist/cjs/utils/tableProcessing.d.ts +10 -3
  124. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  125. package/dist/cjs/utils/tableProcessing.js +4 -6
  126. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  127. package/dist/cjs/utils/textProcessing.js +0 -1
  128. package/dist/esm/Chart.d.ts +5 -1
  129. package/dist/esm/Chart.d.ts.map +1 -1
  130. package/dist/esm/Chart.js +52 -29
  131. package/dist/esm/ChartBuilder.d.ts +13 -1
  132. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  133. package/dist/esm/ChartBuilder.js +352 -152
  134. package/dist/esm/ChartEditor.d.ts.map +1 -1
  135. package/dist/esm/ChartEditor.js +11 -1
  136. package/dist/esm/Context.d.ts +16 -4
  137. package/dist/esm/Context.d.ts.map +1 -1
  138. package/dist/esm/Context.js +59 -40
  139. package/dist/esm/Dashboard.d.ts +6 -3
  140. package/dist/esm/Dashboard.d.ts.map +1 -1
  141. package/dist/esm/Dashboard.js +71 -29
  142. package/dist/esm/QuillProvider.d.ts +4 -8
  143. package/dist/esm/QuillProvider.d.ts.map +1 -1
  144. package/dist/esm/ReportBuilder.d.ts +1 -1
  145. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  146. package/dist/esm/ReportBuilder.js +119 -47
  147. package/dist/esm/SQLEditor.d.ts +7 -1
  148. package/dist/esm/SQLEditor.d.ts.map +1 -1
  149. package/dist/esm/SQLEditor.js +54 -10
  150. package/dist/esm/Table.d.ts +21 -1
  151. package/dist/esm/Table.d.ts.map +1 -1
  152. package/dist/esm/Table.js +34 -196
  153. package/dist/esm/components/Chart/BarChart.d.ts +5 -1
  154. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  155. package/dist/esm/components/Chart/BarChart.js +5 -4
  156. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
  157. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  158. package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
  159. package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
  160. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
  161. package/dist/esm/components/Chart/GaugeChart.js +195 -0
  162. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  163. package/dist/esm/components/Chart/InternalChart.js +14 -11
  164. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  165. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  166. package/dist/esm/components/Chart/LineChart.js +5 -4
  167. package/dist/esm/components/Chart/MapChart.d.ts +36 -0
  168. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
  169. package/dist/esm/components/Chart/MapChart.js +541 -0
  170. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  171. package/dist/esm/components/Dashboard/DataLoader.js +114 -42
  172. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  173. package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
  174. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  175. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  176. package/dist/esm/components/QuillMultiSelectSectionList.js +5 -5
  177. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  178. package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
  179. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  180. package/dist/esm/components/QuillSelectWithCombo.js +12 -11
  181. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  182. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
  183. package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
  184. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  185. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  186. package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
  187. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
  188. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  189. package/dist/esm/components/ReportBuilder/convert.js +26 -7
  190. package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
  191. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  192. package/dist/esm/components/ReportBuilder/util.js +15 -2
  193. package/dist/esm/components/UiComponents.d.ts +4 -1
  194. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  195. package/dist/esm/components/UiComponents.js +29 -4
  196. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  197. package/dist/esm/hooks/useDashboard.js +11 -9
  198. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  199. package/dist/esm/hooks/useExport.js +19 -5
  200. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  201. package/dist/esm/hooks/useQuill.js +16 -3
  202. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  203. package/dist/esm/hooks/useReport.js +1 -7
  204. package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
  205. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  206. package/dist/esm/hooks/useVirtualTables.js +6 -3
  207. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  208. package/dist/esm/internals/ReportBuilder/PivotModal.js +6 -7
  209. package/dist/esm/models/Filter.d.ts +20 -13
  210. package/dist/esm/models/Filter.d.ts.map +1 -1
  211. package/dist/esm/models/Filter.js +160 -86
  212. package/dist/esm/models/Report.d.ts +12 -1
  213. package/dist/esm/models/Report.d.ts.map +1 -1
  214. package/dist/esm/models/Schema.d.ts +12 -1
  215. package/dist/esm/models/Schema.d.ts.map +1 -1
  216. package/dist/esm/utils/astFilterProcessing.js +23 -23
  217. package/dist/esm/utils/astProcessing.d.ts +2 -2
  218. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  219. package/dist/esm/utils/astProcessing.js +25 -6
  220. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  221. package/dist/esm/utils/axisFormatter.js +25 -0
  222. package/dist/esm/utils/color.d.ts +159 -0
  223. package/dist/esm/utils/color.d.ts.map +1 -1
  224. package/dist/esm/utils/color.js +8 -2
  225. package/dist/esm/utils/columnProcessing.js +3 -3
  226. package/dist/esm/utils/constants.d.ts +1 -0
  227. package/dist/esm/utils/constants.d.ts.map +1 -1
  228. package/dist/esm/utils/constants.js +1 -0
  229. package/dist/esm/utils/dashboard.d.ts +13 -3
  230. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  231. package/dist/esm/utils/dashboard.js +73 -16
  232. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  233. package/dist/esm/utils/dataFetcher.js +3 -1
  234. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  235. package/dist/esm/utils/filterProcessing.js +10 -10
  236. package/dist/esm/utils/getDomain.d.ts +4 -1
  237. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  238. package/dist/esm/utils/getDomain.js +11 -1
  239. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  240. package/dist/esm/utils/pivotConstructor.js +7 -6
  241. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  242. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  243. package/dist/esm/utils/queryConstructor.js +71 -43
  244. package/dist/esm/utils/report.d.ts +23 -5
  245. package/dist/esm/utils/report.d.ts.map +1 -1
  246. package/dist/esm/utils/report.js +29 -9
  247. package/dist/esm/utils/schema.d.ts +26 -3
  248. package/dist/esm/utils/schema.d.ts.map +1 -1
  249. package/dist/esm/utils/schema.js +74 -43
  250. package/dist/esm/utils/tableProcessing.d.ts +10 -3
  251. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  252. package/dist/esm/utils/tableProcessing.js +4 -6
  253. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  254. package/dist/esm/utils/textProcessing.js +0 -1
  255. package/package.json +8 -3
@@ -30,7 +30,7 @@ const defaultDashboardItem = {
30
30
  * interface to build amazing dashboards on top of.
31
31
  * @param item
32
32
  */
33
- export async function cleanDashboardItem(item, dashboardFilters, client, dateBucket, additionalProcessing) {
33
+ export async function cleanDashboardItem({ item, dashboardFilters, client, dateBucket, additionalProcessing, customFields, }) {
34
34
  if (!item)
35
35
  return defaultDashboardItem;
36
36
  if (!item.rows) {
@@ -40,24 +40,51 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
40
40
  name: item.name,
41
41
  };
42
42
  }
43
+ const columnsWithCustomFields = [...(item.columns ?? [])];
44
+ if (item.includeCustomFields && item.rows?.length > 0) {
45
+ const tables = item.referencedTables ?? [];
46
+ tables.forEach((table) => {
47
+ const _customFields = customFields?.[table] ?? [];
48
+ _customFields.forEach((field) => {
49
+ if (item.rows[0][field.field] !== undefined &&
50
+ !item.columns.some((col) => col.field === field.field)) {
51
+ columnsWithCustomFields.push({
52
+ field: field.field,
53
+ format: 'string',
54
+ label: snakeAndCamelCaseToTitleCase(field.field),
55
+ fieldType: 'varchar',
56
+ dataTypeID: 1043,
57
+ jsType: 'string',
58
+ });
59
+ }
60
+ });
61
+ });
62
+ }
43
63
  const processedColumns = item.columns.map((col) => {
44
64
  return { ...col, label: snakeAndCamelCaseToTitleCase(col.label) };
45
65
  });
66
+ const columnInternal = (item.includeCustomFields ? columnsWithCustomFields : item.columns).map((col) => {
67
+ return { ...col, label: snakeAndCamelCaseToTitleCase(col.label) };
68
+ });
46
69
  let pivotTable;
47
70
  let pivotError;
48
71
  try {
49
72
  pivotTable = await getPivotTable({
50
73
  ...item,
51
- pivot: item.pivot ? {
52
- ...item.pivot,
53
- aggregations: item.pivot.aggregations ?? [{
54
- valueField: item.pivot.valueField,
55
- valueFieldType: item.pivot.valueFieldType,
56
- valueField2: item.pivot.valueField2,
57
- valueField2Type: item.pivot.valueField2Type,
58
- aggregationType: item.pivot.aggregationType,
59
- }]
60
- } : undefined,
74
+ pivot: item.pivot
75
+ ? {
76
+ ...item.pivot,
77
+ aggregations: item.pivot.aggregations ?? [
78
+ {
79
+ valueField: item.pivot.valueField,
80
+ valueFieldType: item.pivot.valueFieldType,
81
+ valueField2: item.pivot.valueField2,
82
+ valueField2Type: item.pivot.valueField2Type,
83
+ aggregationType: item.pivot.aggregationType,
84
+ },
85
+ ],
86
+ }
87
+ : undefined,
61
88
  }, dashboardFilters, client, dateBucket, additionalProcessing, item.dashboardName);
62
89
  }
63
90
  catch (e) {
@@ -65,6 +92,29 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
65
92
  console.error('Error fetching pivot table', e);
66
93
  pivotError = 'Error fetching pivot table';
67
94
  }
95
+ // For each key on item that starts with "referenceLine_{field}", we want to
96
+ // add it to referenceLineYValues as [field]: [value, value] (we only support horizontal lines)
97
+ // Then for each number value in the referenceLines map, we also want to add [key]: [value, value]
98
+ const referenceLineYValues = [];
99
+ for (const key in item) {
100
+ if (key.startsWith('referenceLine_')) {
101
+ const field = key.slice(14);
102
+ if (!item[key] || !item[key][0])
103
+ continue;
104
+ const value = Object.values(item[key][0])[0];
105
+ referenceLineYValues.push({ label: field, query: [value, value] });
106
+ }
107
+ }
108
+ if (item.referenceLines) {
109
+ for (const referenceLine of item.referenceLines) {
110
+ if (Array.isArray(referenceLine.query)) {
111
+ referenceLineYValues.push({ label: referenceLine.label, query: referenceLine.query });
112
+ }
113
+ else if (referenceLine.query === '') {
114
+ referenceLineYValues.push({ label: referenceLine.label, query: (pivotTable?.rows ? pivotTable.rows : item.rows).map((row) => Number(row[referenceLine.label]) || 0) });
115
+ }
116
+ }
117
+ }
68
118
  return {
69
119
  id: item._id ?? item.id,
70
120
  name: item.name,
@@ -80,7 +130,9 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
80
130
  label: column.label,
81
131
  };
82
132
  }),
83
- columnInternal: processedColumns,
133
+ includeCustomFields: item.includeCustomFields,
134
+ columnInternal,
135
+ columnsWithCustomFields,
84
136
  chartType: item.chartType,
85
137
  dateField: item.dateField,
86
138
  pivot: pivotError
@@ -88,14 +140,16 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
88
140
  : item.pivot
89
141
  ? {
90
142
  ...item.pivot,
91
- aggregations: item.pivot.aggregations ?? [{
143
+ aggregations: item.pivot.aggregations ?? [
144
+ {
92
145
  valueField: item.pivot.valueField,
93
146
  valueFieldType: item.pivot.valueFieldType,
94
147
  valueField2: item.pivot.valueField2,
95
148
  valueField2Type: item.pivot.valueField2Type,
96
149
  aggregationType: item.pivot.aggregationType,
97
- }],
98
- columnValues: item.distinctStrings
150
+ },
151
+ ],
152
+ columnValues: item.distinctStrings,
99
153
  }
100
154
  : undefined,
101
155
  yAxisFields: pivotTable
@@ -119,6 +173,8 @@ export async function cleanDashboardItem(item, dashboardFilters, client, dateBuc
119
173
  referencedTables: item?.referencedTables || [],
120
174
  referencedColumns: item?.referencedColumns || {},
121
175
  error: item.error ?? pivotError,
176
+ referenceLineYValues: referenceLineYValues,
177
+ referenceLines: item.referenceLines,
122
178
  };
123
179
  }
124
180
  /**
@@ -153,7 +209,8 @@ async function getPivotTable(report, dashboardFilters, client, dateBucketInitial
153
209
  field: agg.valueField,
154
210
  label: snakeCaseToTitleCase(processColumnName(agg.valueField)),
155
211
  //FIXME: valueFieldType is not always the same as the format
156
- format: agg.valueFieldType ?? 'whole_number',
212
+ format: agg.valueFieldType ??
213
+ 'whole_number',
157
214
  jsType: agg.valueFieldType ?? 'number',
158
215
  fieldType: agg.valueFieldType ?? 'number',
159
216
  dataTypeID: fieldTypeToDataTypeID(agg.valueFieldType ?? 'number'),
@@ -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,gBA0K1B;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":"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,gBA4K1B;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"}
@@ -90,7 +90,9 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
90
90
  let errorMessage = 'Failed to fetch report: ' + responseJson.error;
91
91
  if (hostedRequestBody.metadata.task === 'query' ||
92
92
  hostedRequestBody.metadata.task === 'patterns') {
93
- errorPrefix = 'SQL Error: ';
93
+ errorPrefix = responseJson.error?.includes('Query Parsing Error')
94
+ ? ''
95
+ : 'SQL Error: ';
94
96
  errorMessage = errorPrefix + responseJson.error;
95
97
  }
96
98
  else if (responseJson.error?.includes('Virtual Table Error')) {
@@ -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,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,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,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B/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;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE;IACpD,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;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":"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;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,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,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B/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;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE;IACpD,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD,GAAG;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;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,6 +1,6 @@
1
1
  import { endOfDay, parse, startOfDay, sub } from 'date-fns';
2
2
  import { COMPARISON_RANGE, PRIMARY_RANGE, defaultOptionsV2, getRangeFromPresetOptions, } from '../DateRangePicker/dateRangePickerUtils';
3
- import { DateOperator, FieldType, FilterType, DashboardFilterType, TimeUnit, } from '../models/Filter';
3
+ import { DateOperator, FieldType, InternalFilterType, DashboardFilterType, TimeUnit, FilterType, } from '../models/Filter';
4
4
  import { filterTreeToAst } from './astFilterProcessing';
5
5
  import { snakeAndCamelCaseToTitleCase } from './textProcessing';
6
6
  export function findAndProcessDateFilter(filters) {
@@ -203,7 +203,7 @@ export const getType = (t) => {
203
203
  */
204
204
  export function filterSentence(filter) {
205
205
  let value = '';
206
- if (filter.filterType == FilterType.NullFilter) {
206
+ if (filter.filterType == InternalFilterType.NullFilter) {
207
207
  return `${snakeAndCamelCaseToTitleCase(filter.field)} ${filter.operator}`;
208
208
  }
209
209
  else if (filter.value === null || filter.value === undefined) {
@@ -335,7 +335,7 @@ export async function buildQueryFromFilters(baseAst, filters, endpoint, client)
335
335
  }
336
336
  }
337
337
  export function applyCustomFilterToDashDateFilter(customDateFilter, dashboardDateFilter) {
338
- if (customDateFilter.filterType === FilterType.DateCustomFilter &&
338
+ if (customDateFilter.filterType === FilterType.Date &&
339
339
  customDateFilter.value &&
340
340
  typeof customDateFilter.value === 'object' &&
341
341
  'startDate' in customDateFilter.value &&
@@ -348,14 +348,14 @@ export function applyCustomFilterToDashDateFilter(customDateFilter, dashboardDat
348
348
  endDate: new Date(endDate),
349
349
  };
350
350
  }
351
- else if (customDateFilter.filterType === FilterType.DateFilter &&
351
+ else if (customDateFilter.filterType === FilterType.Date &&
352
352
  customDateFilter.value &&
353
353
  typeof customDateFilter.value === 'object' &&
354
354
  'value' in customDateFilter.value &&
355
355
  'unit' in customDateFilter.value) {
356
356
  const { value, unit } = customDateFilter.value;
357
357
  let processedUnit;
358
- let processedValue = value;
358
+ let processedValue = value || 1;
359
359
  switch (unit) {
360
360
  case TimeUnit.Day:
361
361
  processedUnit = 'days';
@@ -438,7 +438,7 @@ export function applyCustomFilterToDashDateFilter(customDateFilter, dashboardDat
438
438
  return dashboardDateFilter;
439
439
  }
440
440
  }
441
- else if (customDateFilter.filterType === FilterType.DateComparisonFilter &&
441
+ else if (customDateFilter.filterType === FilterType.Date &&
442
442
  customDateFilter.value &&
443
443
  typeof customDateFilter.value === 'string') {
444
444
  const parsedDate = parse(customDateFilter.value, 'yyyy-mm-dd', new Date());
@@ -480,14 +480,14 @@ export function applyCustomFilterToDashDateFilter(customDateFilter, dashboardDat
480
480
  return dashboardDateFilter;
481
481
  }
482
482
  export function mergeCustomFilters(filters, customFilters) {
483
- const customDateFilters = customFilters.filter((filter) => filter.filterType === FilterType.DateCustomFilter ||
484
- filter.filterType === FilterType.DateFilter ||
485
- filter.filterType === FilterType.DateComparisonFilter);
483
+ const customDateFilters = customFilters.filter((filter) => filter.filterType === InternalFilterType.DateCustomFilter ||
484
+ filter.filterType === InternalFilterType.DateFilter ||
485
+ filter.filterType === InternalFilterType.DateComparisonFilter);
486
486
  if (customDateFilters.length === 0) {
487
487
  return filters.concat(customFilters);
488
488
  }
489
489
  const withoutDate = filters.filter((filter) => filter.filterType !== DashboardFilterType.Date);
490
- const customWithoutDate = customFilters.filter((filter) => filter.filterType !== FilterType.DateCustomFilter);
490
+ const customWithoutDate = customFilters.filter((filter) => filter.filterType !== InternalFilterType.DateCustomFilter);
491
491
  const withDate = filters.find((filter) => filter.filterType === DashboardFilterType.Date);
492
492
  return withoutDate
493
493
  .concat([
@@ -4,5 +4,8 @@
4
4
  * @param fields - The fields to consider for domain calculation.
5
5
  * @returns - An array representing the adjusted domain [min, max].
6
6
  */
7
- export default function getDomain(data: any[], fields: any[]): number[];
7
+ export default function getDomain(data: any[], fields: any[], referenceLines: {
8
+ label: string;
9
+ query: number[];
10
+ }[] | undefined): number[];
8
11
  //# sourceMappingURL=getDomain.d.ts.map
@@ -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,GAAG,MAAM,EAAE,CAkCtE"}
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"}
@@ -4,7 +4,7 @@
4
4
  * @param fields - The fields to consider for domain calculation.
5
5
  * @returns - An array representing the adjusted domain [min, max].
6
6
  */
7
- export default function getDomain(data, fields) {
7
+ export default function getDomain(data, fields, referenceLines) {
8
8
  const fieldsArray = fields.map((elem) => elem.field);
9
9
  const numericValues = [];
10
10
  data.forEach((item) => {
@@ -20,6 +20,16 @@ export default function getDomain(data, fields) {
20
20
  }
21
21
  });
22
22
  });
23
+ if (referenceLines) {
24
+ referenceLines.forEach((line) => {
25
+ if (typeof line.query[0] === 'number') {
26
+ numericValues.push(line.query[0]);
27
+ }
28
+ if (typeof line.query[line.query.length - 1] === 'number') {
29
+ numericValues.push(line.query[line.query.length - 1]);
30
+ }
31
+ });
32
+ }
23
33
  const [minValue, maxValue] = numericValues.reduce(([min, max], value) => [Math.min(min, value), Math.max(max, value)], [Infinity, -Infinity]);
24
34
  if (minValue === 0 && maxValue === 0) {
25
35
  return [0, 1];
@@ -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,GACxB,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;CAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,CAkWrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBAUnD"}
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,GACxB,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;CAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,CAuWrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,sBASnD"}
@@ -25,13 +25,15 @@ export async function generatePivotWithSQL({ pivot, report, client, dateBucket,
25
25
  }
26
26
  }
27
27
  if (!pivot.aggregations?.length && pivot.aggregationType) {
28
- pivot.aggregations = [{
28
+ pivot.aggregations = [
29
+ {
29
30
  aggregationType: pivot.aggregationType,
30
31
  valueField: pivot.valueField,
31
32
  valueFieldType: pivot.valueFieldType,
32
33
  valueField2: pivot.valueField2,
33
34
  valueField2Type: pivot.valueField2Type,
34
- }];
35
+ },
36
+ ];
35
37
  }
36
38
  let comparisonInterval = undefined;
37
39
  if (dateFilter && dateFilter.comparisonRange) {
@@ -70,7 +72,8 @@ export async function generatePivotWithSQL({ pivot, report, client, dateBucket,
70
72
  ? additionalProcessingOnPivotQuery(pivot, comparisonPivotSql, additionalProcessing, client.databaseType)
71
73
  : '';
72
74
  const preQueries = [paginatedSqlQuery];
73
- if (getPivotRowCount && report?.chartType === 'table') {
75
+ getPivotRowCount = getPivotRowCount && report?.chartType === 'table';
76
+ if (getPivotRowCount) {
74
77
  const pivotRowCountQuery = generateRowCountQuery(sqlQuery, client.databaseType);
75
78
  preQueries.push(pivotRowCountQuery);
76
79
  }
@@ -83,7 +86,6 @@ export async function generatePivotWithSQL({ pivot, report, client, dateBucket,
83
86
  task: 'query',
84
87
  clientId: client.publicKey,
85
88
  databaseType: databaseType,
86
- getCustomFields: false,
87
89
  runQueryConfig: {
88
90
  overridePost: true,
89
91
  convertDatatypes: true,
@@ -142,7 +144,7 @@ export async function generatePivotWithSQL({ pivot, report, client, dateBucket,
142
144
  label: snakeCaseToTitleCase(processColumnName(field.name.replace('comparison_', 'comparison '))),
143
145
  format: field.name === pivot.rowField
144
146
  ? 'string'
145
- : (pivot.aggregations?.[index]?.aggregationType === 'percentage')
147
+ : pivot.aggregations?.[index]?.aggregationType === 'percentage'
146
148
  ? 'percent'
147
149
  : 'whole_number',
148
150
  fieldType: field.fieldType,
@@ -258,7 +260,6 @@ export async function generatePivotWithSQL({ pivot, report, client, dateBucket,
258
260
  };
259
261
  }
260
262
  export function disambiguatedValueField(pivot) {
261
- // console.log(pivot);
262
263
  if (pivot.aggregations && pivot.aggregations.length > 0) {
263
264
  if (pivot.aggregations.length === 1) {
264
265
  return pivot.aggregations[0]?.valueField ?? pivot.valueField;
@@ -2,7 +2,7 @@ import { Pivot } from '../models/Pivot';
2
2
  import { AdditionalProcessing } from './tableProcessing';
3
3
  export declare function processSingleQuotes(value: string, databaseType: string): string;
4
4
  export declare function processAggType(aggType: string, hasColumnField?: boolean): string;
5
- export declare function processColumnReference(column: string, databaseType: string, fallbackOnNull?: string, isPivotColumnFieldAlias?: boolean, isPivotValueFieldAlias?: boolean): string;
5
+ export declare function processColumnReference(column: string, databaseType: string, fallbackOnNull?: string, isColumnFieldAlias?: boolean, isValueFieldAlias?: boolean): string;
6
6
  export declare function replaceSpacesWithUnderscores(column: string): string;
7
7
  export declare function processDateTrunc(dateBucket: string, rowField: string, databaseType: string, comparisonInterval?: string): string;
8
8
  export declare function processValueField(aggType: string, databaseType: string, valueField: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAStE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,UAAQ,UAGrE;AAMD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAkGjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAmBD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,UA8B5B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,UAYnB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAmFD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAkBrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAkBpB;AA8uBD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,SAAe,sBAgE5B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,sBAqB1E"}
1
+ {"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAIxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAStE;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,UAAQ,UAGrE;AAMD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,kBAAkB,CAAC,EAAE,OAAO,EAC5B,iBAAiB,CAAC,EAAE,OAAO,UAkG5B;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAmBD,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,UA8B5B;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,UAYnB;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAmFD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAkBrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAkBpB;AAw2BD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,KAAK,EACZ,KAAK,CAAC,EAAE,MAAM,EACd,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,SAAe,sBAuE5B;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,sBAqB1E"}