@quillsql/react 2.13.24 → 2.13.26

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 (189) hide show
  1. package/dist/cjs/Chart.d.ts +0 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +28 -16
  4. package/dist/cjs/ChartBuilder.d.ts +8 -37
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +402 -189
  7. package/dist/cjs/ChartEditor.d.ts +1 -1
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +31 -167
  10. package/dist/cjs/Context.d.ts +13 -2
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +32 -12
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +3 -6
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  16. package/dist/cjs/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  17. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +7 -3
  18. package/dist/cjs/ReportBuilder.d.ts +1 -3
  19. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  20. package/dist/cjs/ReportBuilder.js +120 -137
  21. package/dist/cjs/SQLEditor.d.ts +2 -2
  22. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  23. package/dist/cjs/SQLEditor.js +47 -24
  24. package/dist/cjs/components/Chart/BarChart.js +1 -1
  25. package/dist/cjs/components/Chart/InternalChart.d.ts +25 -0
  26. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -0
  27. package/dist/cjs/components/Chart/InternalChart.js +385 -0
  28. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  29. package/dist/cjs/components/Chart/LineChart.js +3 -1
  30. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts +7 -4
  31. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  32. package/dist/cjs/components/Dashboard/DashboardFilter.js +8 -5
  33. package/dist/cjs/components/Dashboard/DataLoader.d.ts +3 -3
  34. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  35. package/dist/cjs/components/Dashboard/DataLoader.js +23 -9
  36. package/dist/cjs/components/Dashboard/MetricComponent.js +1 -1
  37. package/dist/cjs/components/QuillMultiSelectWithCombo.js +1 -1
  38. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  39. package/dist/cjs/components/ReportBuilder/convert.js +54 -8
  40. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -0
  41. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  42. package/dist/cjs/components/ReportBuilder/util.js +48 -0
  43. package/dist/cjs/components/UiComponents.d.ts +3 -1
  44. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  45. package/dist/cjs/components/UiComponents.js +4 -4
  46. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  47. package/dist/cjs/hooks/useDashboard.js +13 -0
  48. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  49. package/dist/cjs/hooks/useExport.js +6 -1
  50. package/dist/cjs/hooks/useQuill.js +9 -9
  51. package/dist/cjs/internals/ReportBuilder/PivotList.js +1 -1
  52. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +3 -2
  53. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  54. package/dist/cjs/internals/ReportBuilder/PivotModal.js +3 -8
  55. package/dist/cjs/models/Report.d.ts +9 -2
  56. package/dist/cjs/models/Report.d.ts.map +1 -1
  57. package/dist/cjs/models/Report.js +2 -0
  58. package/dist/cjs/models/Tables.d.ts +5 -6
  59. package/dist/cjs/models/Tables.d.ts.map +1 -1
  60. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  61. package/dist/cjs/utils/astProcessing.js +1 -0
  62. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  63. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  64. package/dist/cjs/utils/columnProcessing.js +4 -0
  65. package/dist/cjs/utils/constants.d.ts.map +1 -1
  66. package/dist/cjs/utils/constants.js +6 -2
  67. package/dist/cjs/utils/dashboard.d.ts +1 -1
  68. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  69. package/dist/cjs/utils/dashboard.js +13 -18
  70. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  71. package/dist/cjs/utils/dataFetcher.js +2 -2
  72. package/dist/cjs/utils/filterProcessing.d.ts +5 -2
  73. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  74. package/dist/cjs/utils/filterProcessing.js +5 -2
  75. package/dist/cjs/utils/merge.d.ts.map +1 -1
  76. package/dist/cjs/utils/merge.js +0 -4
  77. package/dist/cjs/utils/paginationProcessing.d.ts +1 -1
  78. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -1
  79. package/dist/cjs/utils/paginationProcessing.js +1 -4
  80. package/dist/cjs/utils/pivotConstructor.d.ts +3 -2
  81. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  82. package/dist/cjs/utils/pivotConstructor.js +20 -8
  83. package/dist/cjs/utils/pivotProcessing.d.ts +5 -2
  84. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  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 +4 -4
  88. package/dist/cjs/utils/report.d.ts +2 -1
  89. package/dist/cjs/utils/report.d.ts.map +1 -1
  90. package/dist/cjs/utils/report.js +23 -24
  91. package/dist/cjs/utils/tableProcessing.d.ts +18 -5
  92. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  93. package/dist/cjs/utils/tableProcessing.js +14 -7
  94. package/dist/cjs/utils/validation.js +1 -1
  95. package/dist/esm/Chart.d.ts +0 -1
  96. package/dist/esm/Chart.d.ts.map +1 -1
  97. package/dist/esm/Chart.js +28 -16
  98. package/dist/esm/ChartBuilder.d.ts +8 -37
  99. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  100. package/dist/esm/ChartBuilder.js +408 -192
  101. package/dist/esm/ChartEditor.d.ts +1 -1
  102. package/dist/esm/ChartEditor.d.ts.map +1 -1
  103. package/dist/esm/ChartEditor.js +33 -169
  104. package/dist/esm/Context.d.ts +13 -2
  105. package/dist/esm/Context.d.ts.map +1 -1
  106. package/dist/esm/Context.js +32 -12
  107. package/dist/esm/Dashboard.d.ts.map +1 -1
  108. package/dist/esm/Dashboard.js +5 -8
  109. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +2 -1
  110. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  111. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +7 -3
  112. package/dist/esm/ReportBuilder.d.ts +1 -3
  113. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  114. package/dist/esm/ReportBuilder.js +120 -137
  115. package/dist/esm/SQLEditor.d.ts +2 -2
  116. package/dist/esm/SQLEditor.d.ts.map +1 -1
  117. package/dist/esm/SQLEditor.js +48 -25
  118. package/dist/esm/components/Chart/BarChart.js +1 -1
  119. package/dist/esm/components/Chart/InternalChart.d.ts +25 -0
  120. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -0
  121. package/dist/esm/components/Chart/InternalChart.js +379 -0
  122. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  123. package/dist/esm/components/Chart/LineChart.js +4 -2
  124. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +7 -4
  125. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  126. package/dist/esm/components/Dashboard/DashboardFilter.js +8 -5
  127. package/dist/esm/components/Dashboard/DataLoader.d.ts +3 -3
  128. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  129. package/dist/esm/components/Dashboard/DataLoader.js +23 -9
  130. package/dist/esm/components/Dashboard/MetricComponent.js +1 -1
  131. package/dist/esm/components/QuillMultiSelectWithCombo.js +1 -1
  132. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  133. package/dist/esm/components/ReportBuilder/convert.js +54 -8
  134. package/dist/esm/components/ReportBuilder/util.d.ts +1 -0
  135. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  136. package/dist/esm/components/ReportBuilder/util.js +47 -0
  137. package/dist/esm/components/UiComponents.d.ts +3 -1
  138. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  139. package/dist/esm/components/UiComponents.js +4 -4
  140. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  141. package/dist/esm/hooks/useDashboard.js +14 -1
  142. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  143. package/dist/esm/hooks/useExport.js +6 -1
  144. package/dist/esm/hooks/useQuill.js +9 -9
  145. package/dist/esm/internals/ReportBuilder/PivotList.js +1 -1
  146. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +3 -2
  147. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  148. package/dist/esm/internals/ReportBuilder/PivotModal.js +3 -8
  149. package/dist/esm/models/Report.d.ts +9 -2
  150. package/dist/esm/models/Report.d.ts.map +1 -1
  151. package/dist/esm/models/Report.js +1 -1
  152. package/dist/esm/models/Tables.d.ts +5 -6
  153. package/dist/esm/models/Tables.d.ts.map +1 -1
  154. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  155. package/dist/esm/utils/astProcessing.js +2 -1
  156. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  157. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  158. package/dist/esm/utils/columnProcessing.js +3 -0
  159. package/dist/esm/utils/constants.d.ts.map +1 -1
  160. package/dist/esm/utils/constants.js +6 -2
  161. package/dist/esm/utils/dashboard.d.ts +1 -1
  162. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  163. package/dist/esm/utils/dashboard.js +13 -18
  164. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  165. package/dist/esm/utils/dataFetcher.js +2 -2
  166. package/dist/esm/utils/filterProcessing.d.ts +5 -2
  167. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  168. package/dist/esm/utils/filterProcessing.js +5 -2
  169. package/dist/esm/utils/merge.d.ts.map +1 -1
  170. package/dist/esm/utils/merge.js +0 -4
  171. package/dist/esm/utils/paginationProcessing.d.ts +1 -1
  172. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -1
  173. package/dist/esm/utils/paginationProcessing.js +1 -4
  174. package/dist/esm/utils/pivotConstructor.d.ts +3 -2
  175. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  176. package/dist/esm/utils/pivotConstructor.js +20 -8
  177. package/dist/esm/utils/pivotProcessing.d.ts +5 -2
  178. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  179. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  180. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  181. package/dist/esm/utils/queryConstructor.js +3 -3
  182. package/dist/esm/utils/report.d.ts +2 -1
  183. package/dist/esm/utils/report.d.ts.map +1 -1
  184. package/dist/esm/utils/report.js +24 -25
  185. package/dist/esm/utils/tableProcessing.d.ts +18 -5
  186. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  187. package/dist/esm/utils/tableProcessing.js +15 -8
  188. package/dist/esm/utils/validation.js +1 -1
  189. package/package.json +1 -1
@@ -3,6 +3,6 @@ export declare function processColumnReference(column: string, databaseType: str
3
3
  export declare function replaceSpacesWithUnderscores(column: string): string;
4
4
  export declare function generateCountQuery(fields: string[], query: string, databaseType: string): string;
5
5
  export declare function generateDistinctQuery(stringFields: string[], query: string, databaseType: string): string;
6
- export declare function generateMinMaxRangeQueries(columnFields: string[], query: string, databaseType: string): string;
6
+ export declare function generateMinMaxDateRangeQueries(columnFields: string[], query: string, databaseType: string): string;
7
7
  export declare function generatePivotQuery(pivot: Pivot, itemQueries: string[], databaseType: string, comparisonInterval?: string, distinctStrings?: string[], dateBucket?: string, rowLimit?: number): string | undefined;
8
8
  //# sourceMappingURL=queryConstructor.d.ts.map
@@ -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;AAoBxC,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,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAYrB;AAiDD,wBAAgB,0BAA0B,CACxC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAgCpB"}
1
+ {"version":3,"file":"queryConstructor.d.ts","sourceRoot":"","sources":["../../../src/utils/queryConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAoBxC,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EAEvB,uBAAuB,CAAC,EAAE,OAAO,EACjC,sBAAsB,CAAC,EAAE,OAAO,UAqEjC;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,UAE1D;AAwDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAsBrB;AAED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAYrB;AAiDD,wBAAgB,8BAA8B,CAC5C,YAAY,EAAE,MAAM,EAAE,EACtB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,UAcrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,eAAe,CAAC,EAAE,MAAM,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,GAAG,SAAS,CAgCpB"}
@@ -4,7 +4,7 @@ exports.processColumnReference = processColumnReference;
4
4
  exports.replaceSpacesWithUnderscores = replaceSpacesWithUnderscores;
5
5
  exports.generateCountQuery = generateCountQuery;
6
6
  exports.generateDistinctQuery = generateDistinctQuery;
7
- exports.generateMinMaxRangeQueries = generateMinMaxRangeQueries;
7
+ exports.generateMinMaxDateRangeQueries = generateMinMaxDateRangeQueries;
8
8
  exports.generatePivotQuery = generatePivotQuery;
9
9
  const constants_1 = require("./constants");
10
10
  const pivotProcessing_1 = require("./pivotProcessing");
@@ -189,9 +189,9 @@ function generateDistinctQuerySnowflake(stringFields, query) {
189
189
  const distinctQuery = distinctQueries.join(' UNION ALL ');
190
190
  return `WITH querytable AS (${query.replace(';', '')}) ` + distinctQuery;
191
191
  }
192
- function generateMinMaxRangeQueries(columnFields, query, databaseType) {
193
- const max = databaseType.toLowerCase() === 'snowflake' ? 'GREATEST' : 'MAX';
194
- const min = databaseType.toLowerCase() === 'snowflake' ? 'LEAST' : 'MIN';
192
+ function generateMinMaxDateRangeQueries(columnFields, query, databaseType) {
193
+ const max = 'MAX';
194
+ const min = 'MIN';
195
195
  const distinctQueries = columnFields.map((field) => {
196
196
  const wrappedField = ['postgresql'].includes(databaseType.toLowerCase())
197
197
  ? `"${field}"`
@@ -21,6 +21,7 @@ export type ReportBuilderInfo = {
21
21
  dateRanges: DateRangesByColumn;
22
22
  query: string;
23
23
  error?: string;
24
+ itemQuery?: string[];
24
25
  };
25
26
  export declare const EMPTY_REPORT: QuillReport;
26
27
  export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
@@ -45,7 +46,7 @@ export declare function saveReport({ report, dashboardItemId, client, }: {
45
46
  dashboardItemId?: string;
46
47
  client: QuillProviderClient;
47
48
  }): Promise<any>;
48
- export declare const formatRowsFromReport: (report: any) => any;
49
+ export declare const formatRowsFromReport: (report: any, xAxisField?: string, xAxisFormat?: string) => any;
49
50
  export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: DashboardFilter[], initiator?: string): QuillReport;
50
51
  export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client: QuillProviderClient, pivot?: Pivot, previousFormData?: any, currentTable?: string, previousRelevant?: {
51
52
  uniqueStrings: UniqueValuesByTable;
@@ -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":"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"}
@@ -18,7 +18,6 @@ const dataFetcher_1 = require("./dataFetcher");
18
18
  const dataProcessing_1 = require("./dataProcessing");
19
19
  const dates_1 = require("./dates");
20
20
  const error_1 = require("./error");
21
- const logging_1 = require("./logging");
22
21
  const paginationProcessing_1 = require("./paginationProcessing");
23
22
  const pivotProcessing_1 = require("./pivotProcessing");
24
23
  const tableProcessing_1 = require("./tableProcessing");
@@ -31,7 +30,6 @@ exports.EMPTY_REPORT = {
31
30
  rows: [],
32
31
  columns: [],
33
32
  chartType: '',
34
- dateField: null,
35
33
  pivot: null,
36
34
  xAxisLabel: '',
37
35
  xAxisField: '',
@@ -111,26 +109,18 @@ async function fetchReport(reportId, client, useReportTask = true, filters = [],
111
109
  throw error;
112
110
  }
113
111
  if (error instanceof error_1.DataLoadError) {
114
- if (useReportTask) {
115
- (0, logging_1.internalLog)('USING ITEM AS BACKUP');
116
- const { report, error } = await fetchReport(reportId, client, false, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly);
117
- reportInfo = report;
118
- errorMessage = error;
112
+ if (!error.data.data) {
113
+ errorMessage = error.message ?? 'Failed to fetch chart';
114
+ reportInfo = exports.EMPTY_INTERNAL_REPORT;
119
115
  }
120
116
  else {
121
- if (!error.data.data) {
122
- errorMessage = 'Failed to fetch chart';
123
- reportInfo = exports.EMPTY_INTERNAL_REPORT;
124
- }
125
- else {
126
- reportInfo = {
127
- ...error.data.data,
128
- id: error.data.data._id,
129
- error: error.message,
130
- adminError: error.data.adminErrorMessage,
131
- };
132
- errorMessage = error.message;
133
- }
117
+ reportInfo = {
118
+ ...error.data.data,
119
+ id: error.data.data._id,
120
+ error: error.message,
121
+ adminError: error.data.adminErrorMessage,
122
+ };
123
+ errorMessage = error.message;
134
124
  }
135
125
  }
136
126
  else {
@@ -265,7 +255,7 @@ async function saveReport({ report, dashboardItemId, client, }) {
265
255
  : { clientId: publicKey }).toString();
266
256
  return await (0, dataFetcher_1.getData)(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
267
257
  }
268
- const formatRowsFromReport = (report) => {
258
+ const formatRowsFromReport = (report, xAxisField, xAxisFormat) => {
269
259
  if (!report.rows || !report.columns) {
270
260
  return [];
271
261
  }
@@ -274,7 +264,9 @@ const formatRowsFromReport = (report) => {
274
264
  // Apply the format function to each field in the row
275
265
  const formattedValue = (0, valueFormatter_1.quillFormat)({
276
266
  value: row[column.field],
277
- format: column.format,
267
+ format: column.field === xAxisField && xAxisFormat
268
+ ? xAxisFormat
269
+ : column.format,
278
270
  });
279
271
  formattedRow[column.field] = formattedValue;
280
272
  return formattedRow;
@@ -284,7 +276,7 @@ const formatRowsFromReport = (report) => {
284
276
  exports.formatRowsFromReport = formatRowsFromReport;
285
277
  function convertInternalReportToReport(report, dashboardFilters, initiator) {
286
278
  try {
287
- if (!report || report.error) {
279
+ if (!report) {
288
280
  return exports.EMPTY_REPORT;
289
281
  }
290
282
  const formattedReport = {
@@ -327,7 +319,10 @@ function convertInternalReportToReport(report, dashboardFilters, initiator) {
327
319
  };
328
320
  }
329
321
  let rows = report.rows;
330
- if (report.chartType === 'metric' || report.chartType === 'table') {
322
+ if (report.chartType === 'metric') {
323
+ rows = (0, exports.formatRowsFromReport)(report, report.xAxisField, report.xAxisFormat);
324
+ }
325
+ else if (report.chartType === 'table') {
331
326
  rows = (0, exports.formatRowsFromReport)(report);
332
327
  }
333
328
  return {
@@ -425,6 +420,9 @@ const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client,
425
420
  if (rowFieldDateRange) {
426
421
  dateBucket = (0, dates_1.getDateBucketFromRange)(rowFieldDateRange.dateRange);
427
422
  }
423
+ if (!Object.values(relevantInfo.uniqueStrings[table] ?? {}).length) {
424
+ relevantInfo.uniqueStrings[table] = await (0, tableProcessing_1.getUniqueStringValues)(tableInfo.columns.filter((column) => column.field === pivot?.columnField), table, client, customFields, undefined, undefined, report?.queryString ?? '');
425
+ }
428
426
  newPivotData = await (0, PivotModal_1.generatePivotTable)({
429
427
  pivot,
430
428
  dateBucket,
@@ -474,6 +472,7 @@ const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, client,
474
472
  dateRanges: relevantInfo.dateRanges,
475
473
  query,
476
474
  error: error,
475
+ itemQuery: curReport?.itemQuery,
477
476
  };
478
477
  };
479
478
  exports.fetchReportBuilderDataFromAST = fetchReportBuilderDataFromAST;
@@ -3,7 +3,7 @@ import { QuillProviderClient } from '../models/Client';
3
3
  import { Column, ColumnInternal } from '../models/Columns';
4
4
  import { DashboardFilter } from '../models/Filter';
5
5
  import { Pagination } from '../models/Pagination';
6
- import { DateRangesByColumn, UniqueValuesByColumn } from '../models/Tables';
6
+ import { DateRangesByColumn } from '../models/Tables';
7
7
  export interface AdditionalProcessing {
8
8
  sort?: {
9
9
  field: string;
@@ -13,14 +13,18 @@ export interface AdditionalProcessing {
13
13
  last?: number;
14
14
  }
15
15
  export declare const hasColumnAlias: (columns: Column[], referencedColumns: string[]) => boolean;
16
- export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: QuillProviderClient, customFields: any[]) => Promise<{
16
+ export declare const getUniqueValuesByColumns: (columns: Column[], query: string, rows: any, client: QuillProviderClient, customFields: any[], filters?: DashboardFilter[]) => Promise<{
17
17
  [column: string]: {
18
18
  [value: string]: boolean;
19
19
  };
20
20
  } | null>;
21
21
  export declare const getUniqueStringValues: (columns: ColumnInternal[], tableName: string, client: any, customFields?: any, previousUniqueValues?: any, withExceededColumns?: boolean, query?: string) => Promise<any>;
22
22
  export declare const getRelevantInfoFromQuery: (columns: ColumnInternal[], client: QuillProviderClient, query: string, customFields?: any) => Promise<{
23
- uniqueStrings?: UniqueValuesByColumn;
23
+ uniqueStrings?: {
24
+ [column: string]: {
25
+ [value: string]: boolean;
26
+ };
27
+ };
24
28
  dateRanges?: DateRangesByColumn;
25
29
  error?: string;
26
30
  }>;
@@ -45,7 +49,12 @@ export declare const getPaginatedRows: (client: QuillProviderClient, query?: str
45
49
  export declare const fetchResultsByQuery: (query: string, client: QuillProviderClient, processing?: AdditionalProcessing, customFields?: any, filters?: DashboardFilter[], dateField?: {
46
50
  field: string;
47
51
  table: string;
48
- } | null, rowsOnly?: boolean, rowCountOnly?: boolean) => Promise<{
52
+ } | null, rowsOnly?: boolean, rowCountOnly?: boolean, filterMap?: {
53
+ [key: string]: {
54
+ field: string;
55
+ table: string;
56
+ };
57
+ }) => Promise<{
49
58
  columns: ColumnInternal[];
50
59
  rows: any[];
51
60
  rowCount?: number;
@@ -65,7 +74,11 @@ export declare const fetchTableByAST: (ast: NodeSQLParser.Select, client: QuillP
65
74
  error?: string;
66
75
  itemQuery?: string[];
67
76
  }>;
68
- export declare const convertUniqueValuesByColumnToUniqueValueStrings: (uniqueValuesByColumns: UniqueValuesByColumn) => {
77
+ export declare const convertUniqueValuesByColumnToUniqueValueStrings: (uniqueValuesByColumns: {
78
+ [column: string]: {
79
+ [value: string]: boolean;
80
+ };
81
+ }) => {
69
82
  [columnName: string]: string[];
70
83
  };
71
84
  //# sourceMappingURL=tableProcessing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"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"}
@@ -23,9 +23,10 @@ const hasColumnAlias = (columns, referencedColumns) => {
23
23
  return false;
24
24
  };
25
25
  exports.hasColumnAlias = hasColumnAlias;
26
- const getUniqueValuesByColumns = async (columns, query, rows, client, customFields) => {
26
+ const getUniqueValuesByColumns = async (columns, query, rows, client, customFields, filters) => {
27
27
  const stringNames = columns.map((column) => column.field);
28
28
  const uniqueValues = {};
29
+ //TODO: this bigquery case is wack, we should be able to generate a distinct query for bigquery
29
30
  if (!client.databaseType ||
30
31
  client.databaseType.toLowerCase() === 'bigquery') {
31
32
  if (rows.length === 0) {
@@ -38,6 +39,8 @@ const getUniqueValuesByColumns = async (columns, query, rows, client, customFiel
38
39
  databaseType: client?.databaseType,
39
40
  customFieldsByTable: customFields,
40
41
  useNewNodeSql: true,
42
+ dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
43
+ filters,
41
44
  },
42
45
  };
43
46
  const cloudBody = { query };
@@ -60,7 +63,7 @@ const getUniqueValuesByColumns = async (columns, query, rows, client, customFiel
60
63
  }
61
64
  else {
62
65
  const distinctValueQuery = (0, queryConstructor_1.generateDistinctQuery)(stringNames, query, client.databaseType);
63
- const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, customFields);
66
+ const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, customFields, filters);
64
67
  if (!distinctStrings) {
65
68
  return {};
66
69
  }
@@ -178,7 +181,7 @@ const getCountsByColumns = async (columns, query, client, customFields) => {
178
181
  }
179
182
  };
180
183
  exports.getCountsByColumns = getCountsByColumns;
181
- const fetchDistinctStrings = async (query, client, customFields) => {
184
+ const fetchDistinctStrings = async (query, client, customFields, filters) => {
182
185
  try {
183
186
  const hostedBody = {
184
187
  metadata: {
@@ -189,6 +192,9 @@ const fetchDistinctStrings = async (query, client, customFields) => {
189
192
  databaseType: client?.databaseType,
190
193
  customFieldsByTable: customFields,
191
194
  useNewNodeSql: true,
195
+ filters,
196
+ // @ts-ignore
197
+ dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
192
198
  },
193
199
  };
194
200
  const cloudBody = { query };
@@ -206,7 +212,7 @@ const fetchDistinctStrings = async (query, client, customFields) => {
206
212
  // out null values.
207
213
  const values = columnInfo.string_values.reduce((result, value) => {
208
214
  if (value !== null && value !== undefined) {
209
- // filter out null values for now, TODO: handle
215
+ // TODO: handle null values rather than filtering out
210
216
  result[value] = false;
211
217
  }
212
218
  return result;
@@ -223,7 +229,7 @@ const getQueryDateRangeByColumns = async (columns, query, client, customFields)
223
229
  const columnNames = columns.map(
224
230
  // @ts-ignore
225
231
  (column) => column.field || column.name);
226
- const distinctValueQuery = (0, queryConstructor_1.generateMinMaxRangeQueries)(columnNames, query, client.databaseType || 'postgresql');
232
+ const distinctValueQuery = (0, queryConstructor_1.generateMinMaxDateRangeQueries)(columnNames, query, client.databaseType || 'postgresql');
227
233
  const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
228
234
  return dateRanges;
229
235
  };
@@ -268,7 +274,7 @@ const getPaginatedRows = async (client, query, reportId, processing, filters, cu
268
274
  return { rows: [], columns: [] };
269
275
  };
270
276
  exports.getPaginatedRows = getPaginatedRows;
271
- const fetchResultsByQuery = async (query, client, processing, customFields, filters, dateField, rowsOnly, rowCountOnly) => {
277
+ const fetchResultsByQuery = async (query, client, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap) => {
272
278
  let rows = [];
273
279
  let columns = [];
274
280
  let error = undefined;
@@ -279,6 +285,7 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
279
285
  metadata: {
280
286
  query,
281
287
  task: 'query',
288
+ filterMap,
282
289
  orgId: client.organizationId || '*',
283
290
  clientId: client.publicKey,
284
291
  databaseType: client?.databaseType,
@@ -289,7 +296,7 @@ const fetchResultsByQuery = async (query, client, processing, customFields, filt
289
296
  additionalProcessing: processing,
290
297
  useUpdatedDataGathering: processing ? true : false,
291
298
  useNewNodeSql: true,
292
- filters,
299
+ filters: filters?.map((filter) => ({ ...filter, options: undefined })),
293
300
  dateField: dateField ?? undefined,
294
301
  rowsOnly,
295
302
  rowCountOnly,
@@ -13,7 +13,7 @@ const validateReport = (formData, dashboardData, defaultDateFilter, allTables) =
13
13
  }
14
14
  if (dateFilter &&
15
15
  ((!defaultDateFilter.table && !defaultDateFilter.field) ||
16
- (!formData.dateField.field && !formData.dateField.table))) {
16
+ (!formData.dateField?.field && !formData.dateField?.table))) {
17
17
  issues.push(`Delete the date filter "${formData.dashboardName}" or add to another dashboard.`);
18
18
  }
19
19
  filters.forEach((filter) => {
@@ -49,7 +49,6 @@ export interface ChartProps {
49
49
  * render this chart, and then it will render the report that it receives from
50
50
  * the server.
51
51
  *
52
- * A `reportId` must be passed if `config` is not present.
53
52
  */
54
53
  reportId: string;
55
54
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"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"}
package/dist/esm/Chart.js CHANGED
@@ -137,8 +137,7 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
137
137
  const { dashboardFilters } = useContext(DashboardFiltersContext);
138
138
  const { reload } = useReport(reportId);
139
139
  const { reports, reportsDispatch, fetchIndividualReport } = useContext(ReportsContext);
140
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
141
- const { reportFiltersDispatch, reportFilters, loadFiltersForReport } = useContext(ReportFiltersContext);
140
+ const { reportFiltersDispatch, reportFilters } = useContext(ReportFiltersContext);
142
141
  const specificReportFilters = useMemo(() => {
143
142
  return Object.values(reportFilters[reportId] ??
144
143
  (dashboard[reportId]
@@ -201,12 +200,9 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
201
200
  useEffect(() => {
202
201
  if (reportDateFilter) {
203
202
  // Filter for custom date filter that applies to the report's dateField
204
- const customDateFilter = previousFilters.current?.find((f) => f.filterType === FilterType.DateCustomFilter
205
- || f.filterType === FilterType.DateFilter
206
- || f.filterType === FilterType.DateComparisonFilter
207
- // FIXME: this is the correct way to do it but the demo has a hardcoded filter field
208
- // && f.field === report?.dateField?.field && f.table === report?.dateField?.table,
209
- );
203
+ const customDateFilter = previousFilters.current?.find((f) => f.filterType === FilterType.DateCustomFilter ||
204
+ f.filterType === FilterType.DateFilter ||
205
+ f.filterType === FilterType.DateComparisonFilter);
210
206
  if (!customDateFilter) {
211
207
  return;
212
208
  }
@@ -332,6 +328,13 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
332
328
  setLoading(false);
333
329
  }
334
330
  };
331
+ useEffect(() => {
332
+ return () => {
333
+ // Clear all data out of the report store when the component unmounts
334
+ reportsDispatch({ type: 'REMOVE_REPORT', id: reportId });
335
+ reportFiltersDispatch({ type: 'CLEAR_REPORT_FILTERS', id: reportId });
336
+ };
337
+ }, []);
335
338
  useEffect(() => {
336
339
  if (reportId === undefined || reportId === '' || clientLoading) {
337
340
  return;
@@ -365,17 +368,24 @@ export default function Chart({ colors, reportId, className, containerStyle, isA
365
368
  if (report?.error || error) {
366
369
  return (_jsx("div", { style: containerStyle, className: className, children: _jsx(ChartError, { errorMessage: report?.error ?? error }) }));
367
370
  }
368
- return (_jsxs("div", { children: [!hideFilters && (_jsx(FilterContainerComponent, { children: specificReportFilters.map((filter, index) => (_jsx(DashboardFilter, { filter: {
371
+ return (_jsxs("div", { style: {
372
+ display: 'flex',
373
+ flexDirection: 'column',
374
+ ...containerStyle,
375
+ }, className: className, children: [!hideFilters && (_jsx(FilterContainerComponent, { children: specificReportFilters.map((filter, index) => (_jsx(DashboardFilter, { filter: {
369
376
  ...filter,
370
377
  ...(filter.filterType === 'date_range' && {
371
378
  options: presetOptions,
372
379
  }),
373
380
  ...filterValues[filter.label],
374
- }, isLoading: reportFilters[reportId]?.[filter.label]?.loading, onChangeFilter: updateFilter, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) })), loading || !report ? (_jsx("div", { style: containerStyle, className: className, children: _jsx(LoadingComponent, {}) })) : (_jsxs(_Fragment, { children: [('table' === report.chartType || 'metric' === report.chartType) && (_jsx(DataLoader, { item: report, filters: specificReportFilters, userFilters: userFilters?.map(convertCustomFilter), additionalProcessing: {
381
+ }, isLoading: reportFilters[reportId]?.[filter.label]?.loading, onChangeFilter: updateFilter, theme: theme, SelectComponent: SelectComponent, MultiSelectComponent: MultiSelectComponent, DateRangePickerComponent: DateRangePickerComponent }, index))) })), loading || !report ? (_jsx(LoadingComponent, {})) : (_jsxs(_Fragment, { children: [('table' === report.chartType || 'metric' === report.chartType) && (_jsx(DataLoader, { item: report, filters: specificReportFilters, userFilters: userFilters?.map(convertCustomFilter), additionalProcessing: {
375
382
  page: DEFAULT_PAGINATION,
376
383
  }, reportMode: true, children: ({ isLoading, error, onPageChange, onSortChange, data, rowCount, rowCountIsLoading, }) => 'metric' === report.chartType ? (_jsx(MetricComponent, { error: error, isLoading: isLoading, report: data })) : (_jsx(TableComponent, { report: data, isLoading: isLoading, error: error, rowCount: rowCount ?? data?.rowCount ?? data?.rows?.length ?? 0, rowCountIsLoading: rowCountIsLoading, onPageChange: (page) => onPageChange(page), onSortChange: (sort) => onSortChange(sort) })) })), report.chartType !== 'table' && report.chartType !== 'metric' && (_jsx(ChartDataLoader, { item: report, dateBucket: dateBucket, userFilters: userFilters?.map(convertCustomFilter), additionalProcessing: {
377
384
  page: DEFAULT_PAGINATION,
378
- }, filters: specificReportFilters, reportMode: true, children: ({ isLoading, data, error }) => error ? (_jsx("div", { style: containerStyle, className: className, children: _jsx(ChartError, { errorMessage: error }) })) : (_jsx(ChartDisplay, { config: data, reportId: reportId, colors: colors, className: className, containerStyle: containerStyle, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: isLoading, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onClickChartElement: onClickChartElement })) }))] }))] }));
385
+ }, filters: specificReportFilters, reportMode: true, children: ({ isLoading, data, error }) => error ? (_jsx(ChartError, { errorMessage: error })) : (_jsx(ChartDisplay, { config: data, containerStyle: {
386
+ width: '100%',
387
+ height: '100%',
388
+ }, reportId: reportId, colors: colors, className: className, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle, cartesianGridLineColor: cartesianGridLineColor, hideDateRangeFilter: hideDateRangeFilter, comparisonLineStyle: comparisonLineStyle, isAnimationActive: isAnimationActive, loading: isLoading, scrollable: true, colorMap: colorMap, LoadingComponent: LoadingComponent, onClickChartElement: onClickChartElement })) }))] }))] }));
379
389
  }
380
390
  export const ChartDisplay = ({ reportId, config, colors, className, containerStyle, hideXAxis, hideYAxis, hideCartesianGrid, hideDateRangeFilter = false, hideHorizontalCartesianGrid = false, hideVerticalCartesianGrid = true, hideSubsequentXAxisTicks = false, cartesianGridLineStyle = 'solid', cartesianGridLineColor, comparisonLineStyle, isAnimationActive, scrollable = false, loading = false, ErrorComponent = ChartError, colorMap, LoadingComponent = QuillLoadingSkeleton, onPageChange, onSortChange, onClickChartElement, overrideTheme, }) => {
381
391
  const { downloadCSV } = useExport(reportId);
@@ -445,7 +455,7 @@ export const ChartDisplay = ({ reportId, config, colors, className, containerSty
445
455
  // @ts-ignore
446
456
  sumByKey(config?.rows, config?.yAxisFields[0]?.field),
447
457
  };
448
- }) || [], category: config?.yAxisFields[0]?.field, index: config?.xAxisField, colors: chartColors, theme: overrideTheme ?? theme, colorMap: colorMap, onClickChartElement: onClickChartElement }));
458
+ }) || [], category: config?.yAxisFields?.[0]?.field, index: config?.xAxisField, colors: chartColors, theme: overrideTheme ?? theme, colorMap: colorMap, onClickChartElement: onClickChartElement }));
449
459
  }
450
460
  if (chartTypes.includes('table')) {
451
461
  return (_jsx(QuillTable, { rows: config?.rows ?? [], rowCount: config?.rowCount, columns: config?.columns ?? config?.yAxisFields ?? [], currentPage: config?.pagination?.page ?? page, sort: config?.sort, rowsPerPage: config?.pagination?.rowsPerPage || DEFAULT_PAGINATION.rowsPerPage, containerStyle: {
@@ -461,12 +471,14 @@ export const ChartDisplay = ({ reportId, config, colors, className, containerSty
461
471
  } }));
462
472
  }
463
473
  if (chartTypes.includes('bar')) {
464
- return (_jsx(BarList, { data: config?.rows || [], theme: overrideTheme ?? theme, yAxisFields: config?.yAxisFields || [], colors: chartColors, xAxisField: config?.xAxisField || '', xAxisFormat: config?.xAxisFormat || 'string', containerStyle: containerStyle, className: className, colorMap: colorMap, onClickChartElement: onClickChartElement, scrollable: scrollable }));
474
+ return (_jsx(BarList, { data: config?.rows ?? [], theme: overrideTheme ?? theme, yAxisFields: config?.yAxisFields ?? [], colors: chartColors, xAxisField: config?.xAxisField ?? '', xAxisFormat: config?.xAxisFormat ?? 'string', containerStyle: containerStyle, className: className, colorMap: colorMap, onClickChartElement: onClickChartElement, scrollable: scrollable }));
465
475
  }
466
476
  if (chartTypes.includes('column')) {
467
477
  return (_jsx(BarChart, { colors: chartColors, theme: overrideTheme ?? theme, isStacked: !!config?.pivot &&
468
- config?.yAxisFields?.length > (dateFilter?.comparison ? 2 : 1), yAxisFields: config?.yAxisFields || [], data: config?.rows || [], xAxisField: config?.xAxisField || '', xAxisLabel: config?.xAxisLabel || '', xAxisFormat: config?.xAxisFormat || 'string', containerStyle: containerStyle, className: className, comparison: dateFilter?.comparison &&
469
- dateFilter.comparisonRange?.value !== 'NO_COMPARISON', isAnimationActive: isAnimationActive, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, colorMap: colorMap, onClickChartElement: onClickChartElement, dateFilter: dateFilter }));
478
+ config?.yAxisFields.length >
479
+ (!hideDateRangeFilter && dateFilter?.comparison ? 2 : 1), yAxisFields: config?.yAxisFields ?? [], data: config?.rows ?? [], xAxisField: config?.xAxisField ?? '', xAxisLabel: config?.xAxisLabel ?? '', xAxisFormat: config?.xAxisFormat ?? 'string', containerStyle: containerStyle, className: className, comparison: !hideDateRangeFilter &&
480
+ !!dateFilter?.comparison &&
481
+ dateFilter.comparisonRange?.value !== 'NO_COMPARISON', isAnimationActive: isAnimationActive, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, colorMap: colorMap, onClickChartElement: onClickChartElement, dateFilter: !hideDateRangeFilter ? dateFilter : undefined }));
470
482
  }
471
483
  if (chartTypes.includes('metric')) {
472
484
  if (!config?.rows ||
@@ -506,7 +518,7 @@ export const ChartDisplay = ({ reportId, config, colors, className, containerSty
506
518
  ...containerStyle,
507
519
  }, className: className, children: _jsx(QuillMetricComponent, { report: config ?? EMPTY_REPORT }) }));
508
520
  }
509
- return (_jsx(LineChart, { colors: chartColors, colorMap: colorMap, yAxisFields: config?.yAxisFields.sort(sortComparisonFirst) || [], data: config?.rows || [], xAxisField: config?.xAxisField || '', xAxisLabel: config?.xAxisLabel || '', xAxisFormat: config?.xAxisFormat || 'string', containerStyle: containerStyle, className: className, theme: overrideTheme ?? theme, comparison: dateFilter?.comparison, isAnimationActive: isAnimationActive, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle ?? 'solid', comparisonLineStyle: comparisonLineStyle ?? 'solid', cartesianGridLineColor: cartesianGridLineColor, onClickChartElement: onClickChartElement, dateFilter: dateFilter }));
521
+ return (_jsx(LineChart, { colors: chartColors, colorMap: colorMap, yAxisFields: config?.yAxisFields.sort(sortComparisonFirst) || [], data: config?.rows || [], xAxisField: config?.xAxisField || '', xAxisLabel: config?.xAxisLabel || '', xAxisFormat: config?.xAxisFormat || 'string', containerStyle: containerStyle, className: className, theme: overrideTheme ?? theme, comparison: !hideDateRangeFilter && dateFilter?.comparison, isAnimationActive: isAnimationActive, hideXAxis: hideXAxis, hideYAxis: hideYAxis, hideCartesianGrid: hideCartesianGrid, hideHorizontalCartesianGrid: hideHorizontalCartesianGrid, hideVerticalCartesianGrid: hideVerticalCartesianGrid, hideSubsequentXAxisTicks: hideSubsequentXAxisTicks, cartesianGridLineStyle: cartesianGridLineStyle ?? 'solid', comparisonLineStyle: comparisonLineStyle ?? 'solid', cartesianGridLineColor: cartesianGridLineColor, onClickChartElement: onClickChartElement, dateFilter: !hideDateRangeFilter ? dateFilter : undefined }));
510
522
  };
511
523
  // Sort to put comparison first (ie. underneath) primary.
512
524
  const sortComparisonFirst = (a, b) => {
@@ -9,7 +9,7 @@ export interface ChartBuilderData {
9
9
  dashboardName?: string;
10
10
  columns: Column[];
11
11
  chartType: string;
12
- dateField: {
12
+ dateField?: {
13
13
  table: string;
14
14
  field: string;
15
15
  };
@@ -183,25 +183,11 @@ export interface ChartBuilderProps {
183
183
  onClick?: (element: any) => void;
184
184
  ButtonComponent?: React.ComponentType<any>;
185
185
  }) => JSX.Element;
186
- /** The rows of the query response for this query. */
187
- rows: {
188
- [key: string]: any;
189
- }[];
190
- /**
191
- * Columns of this query response.
192
- */
193
- columns: ColumnInternal[];
194
186
  /** The SQL query for this dashboard item. */
195
- query?: string;
196
187
  /** Whether the ChartBuilder is in horizontal view mode. */
197
188
  isHorizontalView?: boolean;
198
- /** Whether to show the table format options. */
199
- showTableFormatOptions?: boolean;
189
+ /** Whether the consumer is an admin. */
200
190
  isAdmin?: boolean;
201
- /** Whether to show the date field options. */
202
- showDateFieldOptions?: boolean;
203
- /** Whether to show the access control options. */
204
- showAccessControlOptions?: boolean;
205
191
  /** Whether to show the dashboard dropdown. */
206
192
  showDashboardDropdown?: boolean;
207
193
  /** A callback fired when the add to dashboard flow has been completed. */
@@ -211,27 +197,20 @@ export interface ChartBuilderProps {
211
197
  /** A callback fired when changes are discarded. */
212
198
  onDiscardChanges?: () => void;
213
199
  /** The pivot info applied to this data. */
214
- pivot?: Pivot;
215
200
  /** The data extracted from the pivot info. */
216
- pivotData?: {
217
- rows: any[];
218
- columns: Column[];
219
- };
220
201
  /** The date range applied to this ChartBuilder. */
221
202
  dateRange?: {
222
203
  start: Date;
223
204
  end: Date;
224
205
  } | undefined;
225
- /** The report for this ChartBuilder. */
226
- report?: QuillReportInternal;
206
+ /** The report id for this ChartBuilder. */
207
+ reportId?: string;
227
208
  /** A list of generated pivots that were recommended as useful for this query. */
228
209
  recommendedPivots?: Pivot[];
229
210
  /** A list of generated pivots based on this query. */
230
211
  createdPivots?: Pivot[];
231
212
  /** Query without a date column */
232
213
  queryNoDateColumn?: string;
233
- /** The default dashboard to add the item to. */
234
- destinationDashboard?: string;
235
214
  /** The title of the ChartBuilder. */
236
215
  title?: string;
237
216
  /** The button label for the ChartBuilder. */
@@ -253,20 +232,12 @@ export interface ChartBuilderProps {
253
232
  /** Whether the PivotModal's AI features are enabled. */
254
233
  pivotRecommendationsEnabled?: boolean;
255
234
  /** A callback function used when the table page is changed */
256
- onPageChange?: (page: number, isFilteredRows?: boolean, initiator?: string) => void;
257
- /** A callback function used when the table sort is changed */
258
- onSortChange?: (sort: {
259
- field: string;
260
- direction: string;
261
- }, isFilteredRows?: boolean) => void;
235
+ /** A flag represented whether filters are enabled for this report */
236
+ filtersEnabled: boolean;
262
237
  /** A callback function used when the filter preview is toggled */
263
- onFilterPreviewChange?: (preview: boolean) => void;
264
- /** A number used to determine the number of pages in a table for SQL pagination */
265
- rowCount?: number;
238
+ onFiltersEnabledChanged: (preview: boolean) => void;
266
239
  /** Loading prop used by the table component */
267
- isLoading?: boolean;
268
240
  /** A flag to determine whether row count in a table is still loading */
269
- rowCountIsLoading?: boolean;
270
241
  /** A callback function triggered when a chart element is clicked */
271
242
  onClickChartElement?: (data: any) => void;
272
243
  /** A callback when clicking the chart error component */
@@ -326,7 +297,7 @@ export declare function ChartBuilderWithModal(props: ChartBuilderProps): import(
326
297
  * ### Chart Builder API
327
298
  * @see https://docs.quillsql.com/components/chart-builder
328
299
  */
329
- export default function ChartBuilder({ TextInputComponent, SelectComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, DeleteButtonComponent, TextComponent, PopoverComponent, CardComponent, TableComponent, ModalComponent, LoadingComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, FormContainer, ErrorComponent, onClickChartError, isOpen, isHorizontalView, pivot, setIsOpen, rows, columns, query, queryNoDateColumn, dateRange, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, isAdmin, showDashboardDropdown, onAddToDashboardComplete, onDelete, onDiscardChanges, report, recommendedPivots: rp, createdPivots: cp, destinationDashboard, dateColumn, buttonLabel, organizationName, pivotData, hideDeleteButton, hideSubmitButton, hideDateRangeFilter, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled, onFilterPreviewChange, onSortChange, onPageChange, rowCount, rowCountIsLoading, isLoading, onClickChartElement, isEditingMode, disableSort, }: ChartBuilderProps): import("react/jsx-runtime").JSX.Element;
300
+ export default function ChartBuilder({ TextInputComponent, SelectComponent, ButtonComponent, SecondaryButtonComponent, HeaderComponent, SubHeaderComponent, LabelComponent, DeleteButtonComponent, TextComponent, PopoverComponent, CardComponent, TableComponent, ModalComponent, LoadingComponent, ErrorMessageComponent, ChartBuilderInputRowContainer, ChartBuilderInputColumnContainer, PivotRowContainer, PivotColumnContainer, FormContainer, ErrorComponent, onClickChartError, isOpen, isHorizontalView, setIsOpen, queryNoDateColumn, dateRange, isAdmin, showDashboardDropdown, onAddToDashboardComplete, onDelete, onDiscardChanges, reportId, recommendedPivots: rp, createdPivots: cp, dateColumn, buttonLabel, organizationName, hideDeleteButton, hideSubmitButton, hideDateRangeFilter, initialUniqueValues, initialUniqueValuesIsLoading, pivotRecommendationsEnabled, filtersEnabled, onFiltersEnabledChanged, onClickChartElement, isEditingMode, disableSort, }: ChartBuilderProps): import("react/jsx-runtime").JSX.Element;
330
301
  export declare function DashboardFilterModal({ isOpen, setIsOpen, issues, ModalComponent, ButtonComponent, }: {
331
302
  isOpen: boolean;
332
303
  setIsOpen: (e: boolean) => void;