@quillsql/react 2.12.39 → 2.12.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 (201) hide show
  1. package/dist/cjs/Chart.js +1 -1
  2. package/dist/cjs/ChartBuilder.d.ts +1 -1
  3. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  4. package/dist/cjs/ChartBuilder.js +6 -6
  5. package/dist/cjs/Dashboard.d.ts +35 -3
  6. package/dist/cjs/Dashboard.d.ts.map +1 -1
  7. package/dist/cjs/Dashboard.js +72 -74
  8. package/dist/cjs/ReportBuilder.d.ts +1 -1
  9. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  10. package/dist/cjs/ReportBuilder.js +111 -1588
  11. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  12. package/dist/cjs/components/Chart/BarChart.js +0 -9
  13. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  14. package/dist/cjs/components/Chart/LineChart.js +1 -11
  15. package/dist/cjs/components/Dashboard/ChartComponent.d.ts.map +1 -1
  16. package/dist/cjs/components/Dashboard/ChartComponent.js +1 -0
  17. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts +12 -0
  18. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
  19. package/dist/cjs/components/Dashboard/DashboardTemplate.js +69 -0
  20. package/dist/cjs/components/Dashboard/DataLoader.js +1 -1
  21. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts +4 -0
  22. package/dist/cjs/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
  23. package/dist/cjs/components/Dashboard/TemplateChartComponent.js +23 -0
  24. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
  25. package/dist/cjs/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
  26. package/dist/cjs/components/Dashboard/TemplateMetricComponent.js +23 -0
  27. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts +15 -0
  28. package/dist/cjs/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
  29. package/dist/cjs/components/Dashboard/TemplateTableComponent.js +23 -0
  30. package/dist/cjs/components/Dashboard/util.d.ts +6 -0
  31. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -0
  32. package/dist/cjs/components/Dashboard/util.js +85 -0
  33. package/dist/cjs/components/ReportBuilder/FilterModal.js +32 -32
  34. package/dist/cjs/components/ReportBuilder/convert.d.ts +5 -31
  35. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  36. package/dist/cjs/components/ReportBuilder/convert.js +1 -1
  37. package/dist/cjs/components/UiComponents.d.ts +1 -23
  38. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  39. package/dist/cjs/components/UiComponents.js +67 -25
  40. package/dist/cjs/hooks/useAskQuill.d.ts +27 -0
  41. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -0
  42. package/dist/cjs/hooks/useAskQuill.js +177 -0
  43. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  44. package/dist/cjs/hooks/useDashboard.js +7 -5
  45. package/dist/cjs/index.d.ts +1 -0
  46. package/dist/cjs/index.d.ts.map +1 -1
  47. package/dist/cjs/index.js +3 -1
  48. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts +3 -3
  49. package/dist/cjs/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  50. package/dist/cjs/internals/ReportBuilder/PivotForm.js +4 -2
  51. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +1 -15
  52. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  53. package/dist/cjs/internals/ReportBuilder/PivotModal.js +24 -24
  54. package/dist/cjs/models/Filter.d.ts +25 -19
  55. package/dist/cjs/models/Filter.d.ts.map +1 -1
  56. package/dist/cjs/models/Filter.js +2 -2
  57. package/dist/cjs/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
  58. package/dist/cjs/models/Pivot.d.ts.map +1 -0
  59. package/dist/cjs/models/Report.d.ts +5 -1
  60. package/dist/cjs/models/Report.d.ts.map +1 -1
  61. package/dist/cjs/models/Tables.d.ts +16 -0
  62. package/dist/cjs/models/Tables.d.ts.map +1 -1
  63. package/dist/cjs/utils/astFilterProcessing.js +27 -27
  64. package/dist/cjs/utils/astProcessing.d.ts +42 -0
  65. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  66. package/dist/cjs/utils/astProcessing.js +210 -1
  67. package/dist/cjs/utils/constants.d.ts +1 -0
  68. package/dist/cjs/utils/constants.d.ts.map +1 -1
  69. package/dist/cjs/utils/constants.js +2 -1
  70. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  71. package/dist/cjs/utils/dashboard.js +2 -0
  72. package/dist/cjs/utils/dataFetcher.d.ts +4 -0
  73. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  74. package/dist/cjs/utils/dataFetcher.js +24 -1
  75. package/dist/cjs/utils/dates.d.ts +1 -1
  76. package/dist/cjs/utils/filterProcessing.d.ts +2 -2
  77. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  78. package/dist/cjs/utils/filterProcessing.js +6 -6
  79. package/dist/cjs/utils/pivotConstructor.d.ts +1 -1
  80. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  81. package/dist/cjs/utils/pivotConstructor.js +7 -4
  82. package/dist/cjs/utils/pivotProcessing.d.ts +4 -4
  83. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  84. package/dist/cjs/utils/pivotProcessing.js +21 -2
  85. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  86. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  87. package/dist/cjs/utils/queryConstructor.js +3 -3
  88. package/dist/cjs/utils/report.d.ts +25 -0
  89. package/dist/cjs/utils/report.d.ts.map +1 -1
  90. package/dist/cjs/utils/report.js +114 -2
  91. package/dist/cjs/utils/schema.d.ts.map +1 -1
  92. package/dist/cjs/utils/schema.js +1 -1
  93. package/dist/cjs/utils/tableProcessing.d.ts +18 -0
  94. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  95. package/dist/cjs/utils/tableProcessing.js +94 -1
  96. package/dist/esm/Chart.js +1 -1
  97. package/dist/esm/ChartBuilder.d.ts +1 -1
  98. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  99. package/dist/esm/ChartBuilder.js +6 -6
  100. package/dist/esm/Dashboard.d.ts +35 -3
  101. package/dist/esm/Dashboard.d.ts.map +1 -1
  102. package/dist/esm/Dashboard.js +73 -75
  103. package/dist/esm/ReportBuilder.d.ts +1 -1
  104. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  105. package/dist/esm/ReportBuilder.js +121 -1598
  106. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  107. package/dist/esm/components/Chart/BarChart.js +0 -9
  108. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  109. package/dist/esm/components/Chart/LineChart.js +1 -11
  110. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -1
  111. package/dist/esm/components/Dashboard/ChartComponent.js +1 -0
  112. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts +12 -0
  113. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -0
  114. package/dist/esm/components/Dashboard/DashboardTemplate.js +63 -0
  115. package/dist/esm/components/Dashboard/DataLoader.js +1 -1
  116. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts +4 -0
  117. package/dist/esm/components/Dashboard/TemplateChartComponent.d.ts.map +1 -0
  118. package/dist/esm/components/Dashboard/TemplateChartComponent.js +17 -0
  119. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts +4 -0
  120. package/dist/esm/components/Dashboard/TemplateMetricComponent.d.ts.map +1 -0
  121. package/dist/esm/components/Dashboard/TemplateMetricComponent.js +17 -0
  122. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts +15 -0
  123. package/dist/esm/components/Dashboard/TemplateTableComponent.d.ts.map +1 -0
  124. package/dist/esm/components/Dashboard/TemplateTableComponent.js +17 -0
  125. package/dist/esm/components/Dashboard/util.d.ts +6 -0
  126. package/dist/esm/components/Dashboard/util.d.ts.map +1 -0
  127. package/dist/esm/components/Dashboard/util.js +80 -0
  128. package/dist/esm/components/ReportBuilder/FilterModal.js +32 -32
  129. package/dist/esm/components/ReportBuilder/convert.d.ts +5 -31
  130. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  131. package/dist/esm/components/ReportBuilder/convert.js +1 -1
  132. package/dist/esm/components/UiComponents.d.ts +1 -23
  133. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  134. package/dist/esm/components/UiComponents.js +65 -23
  135. package/dist/esm/hooks/useAskQuill.d.ts +27 -0
  136. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -0
  137. package/dist/esm/hooks/useAskQuill.js +173 -0
  138. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  139. package/dist/esm/hooks/useDashboard.js +7 -5
  140. package/dist/esm/index.d.ts +1 -0
  141. package/dist/esm/index.d.ts.map +1 -1
  142. package/dist/esm/index.js +1 -0
  143. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +3 -3
  144. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -1
  145. package/dist/esm/internals/ReportBuilder/PivotForm.js +4 -2
  146. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +1 -15
  147. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  148. package/dist/esm/internals/ReportBuilder/PivotModal.js +24 -24
  149. package/dist/esm/models/Filter.d.ts +25 -19
  150. package/dist/esm/models/Filter.d.ts.map +1 -1
  151. package/dist/esm/models/Filter.js +2 -2
  152. package/dist/esm/{components/ReportBuilder/pivot.d.ts → models/Pivot.d.ts} +13 -4
  153. package/dist/esm/models/Pivot.d.ts.map +1 -0
  154. package/dist/esm/models/Report.d.ts +5 -1
  155. package/dist/esm/models/Report.d.ts.map +1 -1
  156. package/dist/esm/models/Tables.d.ts +16 -0
  157. package/dist/esm/models/Tables.d.ts.map +1 -1
  158. package/dist/esm/utils/astFilterProcessing.js +27 -27
  159. package/dist/esm/utils/astProcessing.d.ts +42 -0
  160. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  161. package/dist/esm/utils/astProcessing.js +204 -0
  162. package/dist/esm/utils/constants.d.ts +1 -0
  163. package/dist/esm/utils/constants.d.ts.map +1 -1
  164. package/dist/esm/utils/constants.js +1 -0
  165. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  166. package/dist/esm/utils/dashboard.js +2 -0
  167. package/dist/esm/utils/dataFetcher.d.ts +4 -0
  168. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  169. package/dist/esm/utils/dataFetcher.js +22 -0
  170. package/dist/esm/utils/dates.d.ts +1 -1
  171. package/dist/esm/utils/filterProcessing.d.ts +2 -2
  172. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  173. package/dist/esm/utils/filterProcessing.js +7 -7
  174. package/dist/esm/utils/pivotConstructor.d.ts +1 -1
  175. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  176. package/dist/esm/utils/pivotConstructor.js +7 -4
  177. package/dist/esm/utils/pivotProcessing.d.ts +4 -4
  178. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  179. package/dist/esm/utils/pivotProcessing.js +19 -1
  180. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  181. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  182. package/dist/esm/utils/queryConstructor.js +3 -3
  183. package/dist/esm/utils/report.d.ts +25 -0
  184. package/dist/esm/utils/report.d.ts.map +1 -1
  185. package/dist/esm/utils/report.js +114 -3
  186. package/dist/esm/utils/schema.d.ts.map +1 -1
  187. package/dist/esm/utils/schema.js +1 -1
  188. package/dist/esm/utils/tableProcessing.d.ts +18 -0
  189. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  190. package/dist/esm/utils/tableProcessing.js +91 -1
  191. package/package.json +1 -1
  192. package/dist/cjs/components/ReportBuilder/pivot.d.ts.map +0 -1
  193. package/dist/cjs/models/Pivots.d.ts +0 -2
  194. package/dist/cjs/models/Pivots.d.ts.map +0 -1
  195. package/dist/cjs/models/Pivots.js +0 -2
  196. package/dist/esm/components/ReportBuilder/pivot.d.ts.map +0 -1
  197. package/dist/esm/models/Pivots.d.ts +0 -2
  198. package/dist/esm/models/Pivots.d.ts.map +0 -1
  199. package/dist/esm/models/Pivots.js +0 -1
  200. /package/dist/cjs/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
  201. /package/dist/esm/{components/ReportBuilder/pivot.js → models/Pivot.js} +0 -0
@@ -207,7 +207,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
207
207
  setIsOpen(false);
208
208
  };
209
209
  const onSelectCreatedPivot = (pivot) => {
210
- selectPivot(pivot, pivot.columnField ? uniqueValues : undefined, dateRanges[pivot.rowField]?.dateRange, samplePivotTable);
210
+ selectPivot(pivot, pivot.columnField ? uniqueValues : undefined, dateRanges[pivot.rowField || '']?.dateRange, samplePivotTable);
211
211
  setSelectedPivotType('created');
212
212
  setIsOpen(false);
213
213
  setPopUpTitle('Add pivot');
@@ -286,7 +286,7 @@ const PivotModal = ({ pivotRowField, setPivotRowField, pivotColumnField, setPivo
286
286
  }
287
287
  return {
288
288
  ...pivot,
289
- rowFieldType: columnsToShow[pivot.rowField],
289
+ rowFieldType: columnsToShow[pivot.rowField || ''],
290
290
  columnFieldType: pivot.columnField
291
291
  ? columnsToShow[pivot.columnField]
292
292
  : undefined,
@@ -813,7 +813,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
813
813
  // Handle edge-case for BigQuery objects.
814
814
  data = fixBigQueryData(data);
815
815
  if (!dateRange) {
816
- if (isDateField(pivot.rowFieldType)) {
816
+ if (isDateField(pivot.rowFieldType || '')) {
817
817
  dateRange = getDateRange(dateRange, pivot.rowField, data);
818
818
  }
819
819
  }
@@ -823,9 +823,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
823
823
  compRange = undefined;
824
824
  }
825
825
  const pivotRows = [];
826
- const uniqueRows = (isDateField(pivot.rowFieldType)
826
+ const uniqueRows = (isDateField(pivot.rowFieldType || '')
827
827
  ? getDateBuckets(dateRange, pivot.rowField, data, dateBucket)
828
- : [...new Set(data.map((item) => item[pivot.rowField]))]).filter((row) => Boolean(row));
828
+ : [...new Set(data.map((item) => item[pivot.rowField || '']))]).filter((row) => Boolean(row));
829
829
  const rowDateRange = getDateRange(dateRange, pivot.rowField, data);
830
830
  const compRowDateRange = getDateRange(compRange ?? dateRange, pivot.rowField, data);
831
831
  // If columnField is not provided, we will not be using uniqueColumns
@@ -845,7 +845,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
845
845
  const col = pivot.columnField;
846
846
  const row = pivot.rowField;
847
847
  const isDateCol = isDateField(pivot.columnFieldType || '');
848
- const isDateRow = isDateField(pivot.rowFieldType);
848
+ const isDateRow = isDateField(pivot.rowFieldType || '');
849
849
  data.forEach((item) => {
850
850
  if (isDateCol) {
851
851
  const key = getDateString(item[col], dateRange);
@@ -865,9 +865,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
865
865
  uniqueColumns.push(`comparison_${primaryKey}`);
866
866
  }
867
867
  }
868
- compUniqueRows = (isDateField(pivot.rowFieldType)
868
+ compUniqueRows = (isDateField(pivot.rowFieldType || '')
869
869
  ? getCompDateBuckets(dateRange, compRange ?? dateRange, pivot.rowField, data)
870
- : [...new Set(data.map((item) => item[pivot.rowField]))]).filter((row) => Boolean(row));
870
+ : [...new Set(data.map((item) => item[pivot.rowField || '']))]).filter((row) => Boolean(row));
871
871
  }
872
872
  // Special corner case for count with only rowField pivot
873
873
  if (!pivot.valueField &&
@@ -883,7 +883,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
883
883
  : uniqueRows;
884
884
  rowsToGenerate.forEach((rowValue, rowIndex) => {
885
885
  const row = {
886
- [pivot.rowField]: isDateField(pivot.rowFieldType)
886
+ [pivot.rowField || '']: isDateField(pivot.rowFieldType || '')
887
887
  ? getDateString(rowValue, dateRange, dateBucket)
888
888
  : rowValue === null
889
889
  ? 'Null'
@@ -898,12 +898,12 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
898
898
  let filteredData = [];
899
899
  let comparisonValue;
900
900
  let value;
901
- const nextRowValue = isDateField(pivot.rowFieldType)
901
+ const nextRowValue = isDateField(pivot.rowFieldType || '')
902
902
  ? // @ts-ignore
903
903
  uniqueRows[rowIndex + 1] ?? (0, date_fns_1.endOfDay)(rowDateRange.end)
904
904
  : null;
905
905
  const compRowValue = compUniqueRows[rowIndex];
906
- const compNextRowValue = isDateField(pivot.rowFieldType)
906
+ const compNextRowValue = isDateField(pivot.rowFieldType || '')
907
907
  ? compUniqueRows[rowIndex + 1] ?? (0, date_fns_1.endOfDay)(compRowDateRange.end)
908
908
  : null;
909
909
  if (pivot.columnField) {
@@ -913,9 +913,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
913
913
  : null;
914
914
  // If columnField is provided, filter by both rowField and columnField
915
915
  if (isDateField(pivot.columnFieldType || '') &&
916
- isDateField(pivot.rowFieldType)) {
916
+ isDateField(pivot.rowFieldType || '')) {
917
917
  filteredData = data.filter((item) => {
918
- return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
918
+ return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
919
919
  start: rowValue,
920
920
  end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
921
921
  }) &&
@@ -926,7 +926,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
926
926
  });
927
927
  if (isComparison) {
928
928
  comparisonFilteredData = data.filter((item) => {
929
- return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
929
+ return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
930
930
  start: rowValue,
931
931
  end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
932
932
  }) &&
@@ -938,9 +938,9 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
938
938
  }
939
939
  }
940
940
  else if (isDateField(pivot.columnFieldType || '') &&
941
- !isDateField(pivot.rowFieldType)) {
941
+ !isDateField(pivot.rowFieldType || '')) {
942
942
  filteredData = data.filter((item) => {
943
- return (item[pivot.rowField] === rowValue &&
943
+ return (item[pivot.rowField || ''] === rowValue &&
944
944
  (0, date_fns_1.isWithinInterval)(new Date(item[pivot.columnField]), {
945
945
  start: colValue,
946
946
  end: (0, date_fns_1.subMilliseconds)(nextColumnValue, 1),
@@ -957,16 +957,16 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
957
957
  }
958
958
  }
959
959
  else if (!isDateField(pivot.columnFieldType || '') &&
960
- isDateField(pivot.rowFieldType)) {
960
+ isDateField(pivot.rowFieldType || '')) {
961
961
  filteredData = data.filter((item) => {
962
- return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
962
+ return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
963
963
  start: rowValue,
964
964
  end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
965
965
  }) && item[pivot.columnField || ''] === colValue);
966
966
  });
967
967
  if (isComparison) {
968
968
  comparisonFilteredData = data.filter((item) => {
969
- return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
969
+ return ((0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
970
970
  start: rowValue,
971
971
  end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
972
972
  }) &&
@@ -976,7 +976,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
976
976
  }
977
977
  else {
978
978
  filteredData = data.filter((item) => {
979
- return (item[pivot.rowField] === rowValue &&
979
+ return (item[pivot.rowField || ''] === rowValue &&
980
980
  item[pivot.columnField || ''] === colValue);
981
981
  });
982
982
  if (isComparison) {
@@ -992,7 +992,7 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
992
992
  // so there is no need to filter for comparisonFilteredData here.
993
993
  // If columnField is not provided, filter by rowField only
994
994
  if (colValue.startsWith('comparison_')) {
995
- filteredData = isDateField(pivot.rowFieldType)
995
+ filteredData = isDateField(pivot.rowFieldType || '')
996
996
  ? data.filter((item) => {
997
997
  return (compRowValue &&
998
998
  (0, date_fns_1.isWithinInterval)(new Date(item[`comparison_${pivot.rowField}`]), {
@@ -1003,14 +1003,14 @@ function generatePivotTableInMemory(pivot, data, dateRange, isComparison, rowLim
1003
1003
  : data.filter((item) => item[`comparison_${pivot.rowField}`] === compRowValue);
1004
1004
  }
1005
1005
  else {
1006
- filteredData = isDateField(pivot.rowFieldType)
1006
+ filteredData = isDateField(pivot.rowFieldType || '')
1007
1007
  ? data.filter((item) => {
1008
- return (0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField]), {
1008
+ return (0, date_fns_1.isWithinInterval)(new Date(item[pivot.rowField || '']), {
1009
1009
  start: rowValue,
1010
1010
  end: (0, date_fns_1.subMilliseconds)(nextRowValue, 1),
1011
1011
  });
1012
1012
  })
1013
- : data.filter((item) => item[pivot.rowField] === rowValue);
1013
+ : data.filter((item) => item[pivot.rowField || ''] === rowValue);
1014
1014
  }
1015
1015
  }
1016
1016
  // Aggregation logic remains the same
@@ -43,7 +43,7 @@ export declare enum TimeUnit {
43
43
  }
44
44
  export declare enum FieldTypes {
45
45
  String = "string",
46
- Numeric = "numeric",
46
+ Number = "number",
47
47
  Date = "date",
48
48
  Null = "null",
49
49
  Boolean = "boolean"
@@ -61,58 +61,64 @@ export declare enum FilterNames {
61
61
  export type Operator = StringOperator | DateOperator | NumberOperator | NullOperator | BoolOperator;
62
62
  export type Unit = TimeUnit;
63
63
  export interface BaseFilter {
64
- name: FilterNames;
65
- type: FieldTypes;
64
+ filterType: FilterNames;
65
+ fieldType: FieldTypes;
66
66
  operator: Operator;
67
67
  field: string;
68
68
  value: any;
69
69
  table?: string;
70
70
  }
71
71
  export interface StringFilter extends BaseFilter {
72
- name: FilterNames.StringFilter;
73
- type: FieldTypes.String | FieldTypes.Null;
72
+ filterType: FilterNames.StringFilter;
73
+ fieldType: FieldTypes.String | FieldTypes.Null;
74
74
  value: string;
75
75
  }
76
76
  export interface StringInFilter extends BaseFilter {
77
- name: FilterNames.StringInFilter;
78
- type: FieldTypes.String;
77
+ filterType: FilterNames.StringInFilter;
78
+ fieldType: FieldTypes.String;
79
79
  value: string[];
80
80
  }
81
81
  export interface NumericFilter extends BaseFilter {
82
- name: FilterNames.NumericFilter;
83
- type: FieldTypes.Numeric | FieldTypes.Null;
82
+ filterType: FilterNames.NumericFilter;
83
+ fieldType: FieldTypes.Number | FieldTypes.Null;
84
84
  value: number;
85
85
  }
86
86
  export interface DateFilter extends BaseFilter {
87
- name: FilterNames.DateFilter;
88
- type: FieldTypes.Date;
87
+ filterType: FilterNames.DateFilter;
88
+ fieldType: FieldTypes.Date;
89
89
  value: {
90
90
  value: number;
91
91
  unit: string;
92
92
  };
93
93
  }
94
94
  export interface DateCustomFilter extends BaseFilter {
95
- name: FilterNames.DateCustomFilter;
96
- type: FieldTypes.Date;
95
+ filterType: FilterNames.DateCustomFilter;
96
+ fieldType: FieldTypes.Date;
97
97
  value: {
98
98
  startDate: string;
99
99
  endDate: string;
100
100
  };
101
101
  }
102
102
  export interface DateComparisonFilter extends BaseFilter {
103
- name: FilterNames.DateComparisonFilter;
104
- type: FieldTypes.Date;
103
+ filterType: FilterNames.DateComparisonFilter;
104
+ fieldType: FieldTypes.Date;
105
105
  value: string;
106
106
  }
107
107
  export interface BooleanFilter extends BaseFilter {
108
- name: FilterNames.BooleanFilter;
109
- type: FieldTypes.Boolean;
108
+ filterType: FilterNames.BooleanFilter;
109
+ fieldType: FieldTypes.Boolean;
110
110
  value: boolean;
111
111
  }
112
112
  export interface NullFilter extends BaseFilter {
113
- name: FilterNames.NullFilter;
114
- type: FieldTypes.Null;
113
+ filterType: FilterNames.NullFilter;
114
+ fieldType: FieldTypes.Null;
115
115
  value: null;
116
116
  }
117
117
  export type Filter = BaseFilter | StringFilter | StringInFilter | NumericFilter | DateFilter | DateCustomFilter | DateComparisonFilter | BooleanFilter | NullFilter;
118
+ export type FilterInfo = {
119
+ filter?: Filter;
120
+ conditional?: string;
121
+ };
122
+ export type BooleanOperator = 'AND' | 'OR';
123
+ export type Filters = [Filter] | [Filter, BooleanOperator, ...Array<[Filter, BooleanOperator]>, Filter];
118
124
  //# sourceMappingURL=Filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/models/Filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/models/Filter.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ const MONTH = 'month';
25
25
  const WEEK = 'week';
26
26
  const DAY = 'day';
27
27
  const HOUR = 'hour';
28
- const NUMERIC = 'numeric';
28
+ const NUMBER = 'number';
29
29
  const STRING = 'string';
30
30
  const DATE = 'date';
31
31
  const NULL = 'null';
@@ -83,7 +83,7 @@ var TimeUnit;
83
83
  var FieldTypes;
84
84
  (function (FieldTypes) {
85
85
  FieldTypes["String"] = "string";
86
- FieldTypes["Numeric"] = "numeric";
86
+ FieldTypes["Number"] = "number";
87
87
  FieldTypes["Date"] = "date";
88
88
  FieldTypes["Null"] = "null";
89
89
  FieldTypes["Boolean"] = "boolean";
@@ -8,9 +8,18 @@ export type Pivot = {
8
8
  rowField?: string;
9
9
  rowFieldType?: string;
10
10
  columnField?: string;
11
- sort: boolean;
12
- sortDirection: 'ASC' | 'DESC';
11
+ columnFieldType?: string;
12
+ sort?: boolean;
13
+ sortDirection?: 'ASC' | 'DESC';
13
14
  sortField?: string;
14
15
  sortFieldType?: string;
15
- } | null;
16
- //# sourceMappingURL=pivot.d.ts.map
16
+ title?: string;
17
+ triggerButtonText?: string;
18
+ };
19
+ export type PivotInfo = {
20
+ pivot: Pivot;
21
+ possibleRowFields: string[];
22
+ possibleColumnFields: string[];
23
+ possibleValueFields: string[];
24
+ };
25
+ //# sourceMappingURL=Pivot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pivot.d.ts","sourceRoot":"","sources":["../../../src/models/Pivot.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,eAAe,EAAE,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { AxisFormat } from '../Dashboard';
2
- import { Pivot } from '../internals/ReportBuilder/PivotModal';
3
2
  import { Column } from './Columns';
4
3
  import { Pagination } from './Pagination';
4
+ import { Pivot } from './Pivot';
5
5
  /**
6
6
  * ## QuillReport
7
7
  * Represents an individual item on a dashboard.
@@ -93,6 +93,10 @@ export interface QuillReportInternal extends QuillReport {
93
93
  itemQuery?: string[];
94
94
  /** An array of tables referenced by the report used */
95
95
  referencedTables?: string[];
96
+ /** An mapping of table to the columns referenced in the table. */
97
+ referencedColumns?: {
98
+ [table: string]: string[];
99
+ };
96
100
  /** An error message used for internal purposes */
97
101
  error?: string;
98
102
  /** An admin error message used for internal purposes */
@@ -1 +1 @@
1
- {"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAElC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,uEAAuE;IACvE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAEnD,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,WAAW,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE;QACX,gCAAgC;QAChC,KAAK,EAAE,MAAM,CAAC;QAEd,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QAEd,4CAA4C;QAC5C,MAAM,EAAE,UAAU,CAAC;KACpB,EAAE,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAGvC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAG5C,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,0BAA0B;IAC1B,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAExC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"Report.d.ts","sourceRoot":"","sources":["../../../src/models/Report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAC;IAEX,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IAEb,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAElC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,uEAAuE;IACvE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAEnD,4CAA4C;IAC5C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IAEnB,0CAA0C;IAC1C,WAAW,EAAE,UAAU,CAAC;IAExB;;OAEG;IACH,WAAW,EAAE;QACX,gCAAgC;QAChC,KAAK,EAAE,MAAM,CAAC;QAEd,uCAAuC;QACvC,KAAK,EAAE,MAAM,CAAC;QAEd,4CAA4C;QAC5C,MAAM,EAAE,UAAU,CAAC;KACpB,EAAE,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,cAAc,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAGvC,UAAU,CAAC,EAAE,UAAU,CAAC;IAGxB,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAG5C,QAAQ,EAAE,MAAM,CAAC;IAGjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,0BAA0B;IAC1B,SAAS,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,EAAE,CAAC;IAExC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,uGAAuG;IACvG,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,kEAAkE;IAClE,iBAAiB,CAAC,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;IAElD,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
@@ -5,4 +5,20 @@ export interface YAxisField {
5
5
  label: string;
6
6
  format: string;
7
7
  }
8
+ export interface UniqueValuesByColumn {
9
+ [column: string]: {
10
+ [value: string]: boolean;
11
+ };
12
+ }
13
+ export interface UniqueValuesByTable {
14
+ [table: string]: UniqueValuesByColumn;
15
+ }
16
+ export interface DateRangesByColumn {
17
+ [column: string]: {
18
+ dateRange: {
19
+ start: Date;
20
+ end: Date;
21
+ };
22
+ };
23
+ }
8
24
  //# sourceMappingURL=Tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tables.d.ts","sourceRoot":"","sources":["../../../src/models/Tables.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;CAAG;AAEzB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"Tables.d.ts","sourceRoot":"","sources":["../../../src/models/Tables.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,KAAK;CAAG;AAEzB,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAAC;CACvC;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,MAAM,EAAE,MAAM,GAAG;QAChB,SAAS,EAAE;YACT,KAAK,EAAE,IAAI,CAAC;YACZ,GAAG,EAAE,IAAI,CAAC;SACX,CAAC;KACH,CAAC;CACH"}
@@ -63,7 +63,7 @@ const reverseOperatorMap = (operator, fieldType) => {
63
63
  return (Object.keys(stringOperatorMap).find((key) => stringOperatorMap[key].includes(operator)) ?? null);
64
64
  case Filter_1.FieldTypes.Date:
65
65
  return (Object.keys(dateOperatorMap).find((key) => dateOperatorMap[key].includes(operator)) ?? null);
66
- case Filter_1.FieldTypes.Numeric:
66
+ case Filter_1.FieldTypes.Number:
67
67
  return (Object.keys(numberOperatorMap).find((key) => numberOperatorMap[key].includes(operator)) ?? null);
68
68
  case Filter_1.FieldTypes.Null:
69
69
  return (Object.keys(nullOperatorMap).find((key) => nullOperatorMap[key].includes(operator)) ?? null);
@@ -119,7 +119,7 @@ function mapOperatorToFilterName(operator, fieldType) {
119
119
  default:
120
120
  return Filter_1.FilterNames.StringFilter;
121
121
  }
122
- case Filter_1.FieldTypes.Numeric:
122
+ case Filter_1.FieldTypes.Number:
123
123
  return Filter_1.FilterNames.NumericFilter;
124
124
  case Filter_1.FieldTypes.Null:
125
125
  return Filter_1.FilterNames.NullFilter;
@@ -4296,7 +4296,7 @@ const astToFilter = (ast, db) => {
4296
4296
  fieldType = Filter_1.FieldTypes.Null;
4297
4297
  break;
4298
4298
  case 'number':
4299
- fieldType = Filter_1.FieldTypes.Numeric;
4299
+ fieldType = Filter_1.FieldTypes.Number;
4300
4300
  break;
4301
4301
  case 'single_quote_string':
4302
4302
  case 'double_quote_string':
@@ -4414,32 +4414,32 @@ const astToFilter = (ast, db) => {
4414
4414
  case Filter_1.FilterNames.StringFilter:
4415
4415
  return {
4416
4416
  field: lowerFunctionToField(field, db).replaceAll('%', ''),
4417
- name: filterName,
4418
- type: Filter_1.FieldTypes.String,
4417
+ filterType: filterName,
4418
+ fieldType: Filter_1.FieldTypes.String,
4419
4419
  operator: mappedOperator,
4420
4420
  value: lowerFunctionToField(right, db).replaceAll('%', ''),
4421
4421
  };
4422
4422
  case Filter_1.FilterNames.StringInFilter:
4423
4423
  return {
4424
4424
  field: lowerFunctionToField(field, db).replaceAll('%', ''),
4425
- name: filterName,
4426
- type: Filter_1.FieldTypes.String,
4425
+ filterType: filterName,
4426
+ fieldType: Filter_1.FieldTypes.String,
4427
4427
  operator: mappedOperator,
4428
4428
  value: right.value.map((v) => lowerFunctionToField(v, db).replaceAll('%', '')),
4429
4429
  };
4430
4430
  case Filter_1.FilterNames.NumericFilter:
4431
4431
  return {
4432
4432
  field: field,
4433
- name: filterName,
4434
- type: Filter_1.FieldTypes.Numeric,
4433
+ filterType: filterName,
4434
+ fieldType: Filter_1.FieldTypes.Number,
4435
4435
  operator: mappedOperator,
4436
4436
  value: Number(right.value),
4437
4437
  };
4438
4438
  case Filter_1.FilterNames.NullFilter:
4439
4439
  return {
4440
4440
  field: field,
4441
- name: filterName,
4442
- type: Filter_1.FieldTypes.Null,
4441
+ filterType: filterName,
4442
+ fieldType: Filter_1.FieldTypes.Null,
4443
4443
  operator: mappedOperator,
4444
4444
  value: null,
4445
4445
  };
@@ -4452,13 +4452,13 @@ const astToFilter = (ast, db) => {
4452
4452
  }
4453
4453
  return {
4454
4454
  field: field,
4455
- name: filterName,
4456
- type: Filter_1.FieldTypes.Date,
4455
+ filterType: filterName,
4456
+ fieldType: Filter_1.FieldTypes.Date,
4457
4457
  operator: Filter_1.DateOperator.Custom,
4458
4458
  value: values,
4459
4459
  };
4460
4460
  case Filter_1.FilterNames.DateComparisonFilter:
4461
- const numericDateComparison = reverseOperatorMap(operator, Filter_1.FieldTypes.Numeric);
4461
+ const numericDateComparison = reverseOperatorMap(operator, Filter_1.FieldTypes.Number);
4462
4462
  if (numericDateComparison) {
4463
4463
  if (!right.value ||
4464
4464
  (typeof right.value !== 'number' && typeof right.value !== 'string')) {
@@ -4469,16 +4469,16 @@ const astToFilter = (ast, db) => {
4469
4469
  if (numericDateComparison === Filter_1.NumberOperator.EqualTo) {
4470
4470
  return {
4471
4471
  field: field,
4472
- name: Filter_1.FilterNames.DateCustomFilter,
4473
- type: Filter_1.FieldTypes.Date,
4472
+ filterType: Filter_1.FilterNames.DateCustomFilter,
4473
+ fieldType: Filter_1.FieldTypes.Date,
4474
4474
  operator: Filter_1.DateOperator.Custom,
4475
4475
  value: { startDate: right.value, endDate: right.value },
4476
4476
  };
4477
4477
  }
4478
4478
  return {
4479
4479
  field: field,
4480
- name: Filter_1.FilterNames.DateComparisonFilter,
4481
- type: Filter_1.FieldTypes.Date,
4480
+ filterType: Filter_1.FilterNames.DateComparisonFilter,
4481
+ fieldType: Filter_1.FieldTypes.Date,
4482
4482
  operator: numericDateComparison,
4483
4483
  value: right.value,
4484
4484
  };
@@ -4492,8 +4492,8 @@ const astToFilter = (ast, db) => {
4492
4492
  if (!isNaN(value.value)) {
4493
4493
  return {
4494
4494
  field: field,
4495
- name: filterName,
4496
- type: Filter_1.FieldTypes.Date,
4495
+ filterType: filterName,
4496
+ fieldType: Filter_1.FieldTypes.Date,
4497
4497
  operator: dateOperator,
4498
4498
  value,
4499
4499
  };
@@ -4501,8 +4501,8 @@ const astToFilter = (ast, db) => {
4501
4501
  else {
4502
4502
  return {
4503
4503
  field: field,
4504
- name: Filter_1.FilterNames.DateCustomFilter,
4505
- type: Filter_1.FieldTypes.Date,
4504
+ filterType: Filter_1.FilterNames.DateCustomFilter,
4505
+ fieldType: Filter_1.FieldTypes.Date,
4506
4506
  operator: Filter_1.DateOperator.Custom,
4507
4507
  value: value.value,
4508
4508
  };
@@ -4510,8 +4510,8 @@ const astToFilter = (ast, db) => {
4510
4510
  case Filter_1.FilterNames.BooleanFilter:
4511
4511
  return {
4512
4512
  field: field,
4513
- name: filterName,
4514
- type: Filter_1.FieldTypes.Boolean,
4513
+ filterType: filterName,
4514
+ fieldType: Filter_1.FieldTypes.Boolean,
4515
4515
  operator: mappedOperator,
4516
4516
  value: Boolean(right.value),
4517
4517
  };
@@ -4559,7 +4559,7 @@ const filterToAst = (filter, db) => {
4559
4559
  const { field, operator, value } = filter;
4560
4560
  const mappedOperator = operatorMap[operator][0];
4561
4561
  // Generate SQL AST based on the filter type
4562
- switch (filter.type) {
4562
+ switch (filter.fieldType) {
4563
4563
  case Filter_1.FieldTypes.String:
4564
4564
  if (!value) {
4565
4565
  return null;
@@ -4610,7 +4610,7 @@ const filterToAst = (filter, db) => {
4610
4610
  right: fieldColumnToLowerCaseAst(value, db, false),
4611
4611
  };
4612
4612
  }
4613
- case Filter_1.FieldTypes.Numeric:
4613
+ case Filter_1.FieldTypes.Number:
4614
4614
  switch (mappedOperator) {
4615
4615
  default:
4616
4616
  return {
@@ -4621,7 +4621,7 @@ const filterToAst = (filter, db) => {
4621
4621
  };
4622
4622
  }
4623
4623
  case Filter_1.FieldTypes.Date:
4624
- switch (filter.name) {
4624
+ switch (filter.filterType) {
4625
4625
  case Filter_1.FilterNames.DateCustomFilter:
4626
4626
  return {
4627
4627
  type: 'binary_expr',
@@ -1,4 +1,7 @@
1
+ import { ColumnInfo, TableInfo } from '../components/ReportBuilder/schema';
1
2
  import { Column } from '../models/Columns';
3
+ import { Pivot } from '../models/Pivot';
4
+ import { QuillReportInternal } from '../models/Report';
2
5
  export declare function getSelectFromAST(ast: any): any;
3
6
  export declare function processStarColumn(ast: any, columns: Column[]): any;
4
7
  export declare function recursiveSearchByKey(node: any, searchKey: string): any;
@@ -23,4 +26,43 @@ export declare function getColumnAndTableInfo(tableAliasMap: {
23
26
  export declare function getColumnsByTableFromASTAndSchema(ast: any, tables: any, tableAliasMap: any): {
24
27
  [table: string]: string[];
25
28
  };
29
+ export declare const isSubquery: (node: any) => boolean;
30
+ export declare const getAllPossibleColumns: (baseAst: any, schema: TableInfo[]) => (ColumnInfo & {
31
+ table: string;
32
+ })[];
33
+ export declare const createBasicSelectASTFromColumns: (columns: ColumnInfo[], tableName: string) => {
34
+ type: string;
35
+ options: null;
36
+ distinct: null;
37
+ columns: {
38
+ expr: {
39
+ type: string;
40
+ table: string;
41
+ column: any;
42
+ };
43
+ as: null;
44
+ }[];
45
+ from: {
46
+ db: null;
47
+ table: string;
48
+ as: null;
49
+ }[];
50
+ where: null;
51
+ groupby: null;
52
+ having: null;
53
+ orderby: null;
54
+ limit: null;
55
+ };
56
+ export declare const fetchAndProcessASTFromPrompt: (aiPrompt: string, schema: TableInfo[], client: any, prevPivot?: Pivot, currentQuery?: string) => Promise<{
57
+ ast: any;
58
+ pivot: Pivot | null | undefined;
59
+ whereAST: any;
60
+ error?: string | undefined;
61
+ }>;
62
+ export declare const fetchASTFromQuillReport: (report: QuillReportInternal, client: any, schema: any) => Promise<{
63
+ ast: any;
64
+ pivot: Pivot | undefined | null;
65
+ schema?: TableInfo[] | undefined;
66
+ error?: string | undefined;
67
+ }>;
26
68
  //# sourceMappingURL=astProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B"}
1
+ {"version":3,"file":"astProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/astProcessing.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAK3E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAIvD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,OAQxC;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAe5D;AAGD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,GAAG,CAgBtE;AAGD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAgB1E;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG;;EA4BtD;AAED,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,MAAM,GAChB;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAahD;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CActE;AAED,wBAAgB,sCAAsC,CACpD,IAAI,EAAE,GAAG,EACT,UAAU,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,GAAG,EAAE,GACb,GAAG,CAYL;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAC1C,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,GAAG,GACd;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAqCvD;AAED,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,GAAG,EACX,aAAa,EAAE,GAAG,GACjB;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAqG/B;AAED,eAAO,MAAM,UAAU,SAAU,GAAG,YAWnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,GAAG,UACJ,SAAS,EAAE,KAClB,CAAC,UAAU,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EAmClC,CAAC;AAEF,eAAO,MAAM,+BAA+B,YACjC,UAAU,EAAE,aACV,MAAM;;;;;;;;;;;;;;;;;;;;;;CAsBlB,CAAC;AAEF,eAAO,MAAM,4BAA4B,aAC7B,MAAM,UACR,SAAS,EAAE,UACX,GAAG,cACC,KAAK,iBACF,MAAM;SAEhB,GAAG;WACD,KAAK,GAAG,IAAI,GAAG,SAAS;cACrB,GAAG;;EA6Fd,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,UACnB,GAAG,UACH,GAAG;SAEN,GAAG;WACD,KAAK,GAAG,SAAS,GAAG,IAAI;;;EAmDhC,CAAC"}