@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
@@ -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"}
@@ -181,9 +181,9 @@ function generateDistinctQuerySnowflake(stringFields, query) {
181
181
  const distinctQuery = distinctQueries.join(' UNION ALL ');
182
182
  return `WITH querytable AS (${query.replace(';', '')}) ` + distinctQuery;
183
183
  }
184
- export function generateMinMaxRangeQueries(columnFields, query, databaseType) {
185
- const max = databaseType.toLowerCase() === 'snowflake' ? 'GREATEST' : 'MAX';
186
- const min = databaseType.toLowerCase() === 'snowflake' ? 'LEAST' : 'MIN';
184
+ export function generateMinMaxDateRangeQueries(columnFields, query, databaseType) {
185
+ const max = 'MAX';
186
+ const min = 'MIN';
187
187
  const distinctQueries = columnFields.map((field) => {
188
188
  const wrappedField = ['postgresql'].includes(databaseType.toLowerCase())
189
189
  ? `"${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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"}
@@ -9,10 +9,9 @@ import { fetchSqlQuery, getData } from './dataFetcher';
9
9
  import { parseValueFromBigQueryDates } from './dataProcessing';
10
10
  import { getDateBucketFromRange } from './dates';
11
11
  import { DataLoadError } from './error';
12
- import { internalLog } from './logging';
13
12
  import { DEFAULT_PAGINATION } from './paginationProcessing';
14
13
  import { isPivotPossible, isValidPivot } from './pivotProcessing';
15
- import { fetchTableByAST, getQueryDateRangeByColumns, getRelevantInfoFromQuery, } from './tableProcessing';
14
+ import { fetchTableByAST, getQueryDateRangeByColumns, getRelevantInfoFromQuery, getUniqueStringValues, } from './tableProcessing';
16
15
  import { snakeAndCamelCaseToTitleCase } from './textProcessing';
17
16
  import { quillFormat } from './valueFormatter';
18
17
  export const EMPTY_REPORT = {
@@ -22,7 +21,6 @@ export const EMPTY_REPORT = {
22
21
  rows: [],
23
22
  columns: [],
24
23
  chartType: '',
25
- dateField: null,
26
24
  pivot: null,
27
25
  xAxisLabel: '',
28
26
  xAxisField: '',
@@ -102,26 +100,18 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
102
100
  throw error;
103
101
  }
104
102
  if (error instanceof DataLoadError) {
105
- if (useReportTask) {
106
- internalLog('USING ITEM AS BACKUP');
107
- const { report, error } = await fetchReport(reportId, client, false, filters, additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly);
108
- reportInfo = report;
109
- errorMessage = error;
103
+ if (!error.data.data) {
104
+ errorMessage = error.message ?? 'Failed to fetch chart';
105
+ reportInfo = EMPTY_INTERNAL_REPORT;
110
106
  }
111
107
  else {
112
- if (!error.data.data) {
113
- errorMessage = 'Failed to fetch chart';
114
- reportInfo = EMPTY_INTERNAL_REPORT;
115
- }
116
- else {
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;
124
- }
108
+ reportInfo = {
109
+ ...error.data.data,
110
+ id: error.data.data._id,
111
+ error: error.message,
112
+ adminError: error.data.adminErrorMessage,
113
+ };
114
+ errorMessage = error.message;
125
115
  }
126
116
  }
127
117
  else {
@@ -256,7 +246,7 @@ export async function saveReport({ report, dashboardItemId, client, }) {
256
246
  : { clientId: publicKey }).toString();
257
247
  return await getData(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
258
248
  }
259
- export const formatRowsFromReport = (report) => {
249
+ export const formatRowsFromReport = (report, xAxisField, xAxisFormat) => {
260
250
  if (!report.rows || !report.columns) {
261
251
  return [];
262
252
  }
@@ -265,7 +255,9 @@ export const formatRowsFromReport = (report) => {
265
255
  // Apply the format function to each field in the row
266
256
  const formattedValue = quillFormat({
267
257
  value: row[column.field],
268
- format: column.format,
258
+ format: column.field === xAxisField && xAxisFormat
259
+ ? xAxisFormat
260
+ : column.format,
269
261
  });
270
262
  formattedRow[column.field] = formattedValue;
271
263
  return formattedRow;
@@ -274,7 +266,7 @@ export const formatRowsFromReport = (report) => {
274
266
  };
275
267
  export function convertInternalReportToReport(report, dashboardFilters, initiator) {
276
268
  try {
277
- if (!report || report.error) {
269
+ if (!report) {
278
270
  return EMPTY_REPORT;
279
271
  }
280
272
  const formattedReport = {
@@ -317,7 +309,10 @@ export function convertInternalReportToReport(report, dashboardFilters, initiato
317
309
  };
318
310
  }
319
311
  let rows = report.rows;
320
- if (report.chartType === 'metric' || report.chartType === 'table') {
312
+ if (report.chartType === 'metric') {
313
+ rows = formatRowsFromReport(report, report.xAxisField, report.xAxisFormat);
314
+ }
315
+ else if (report.chartType === 'table') {
321
316
  rows = formatRowsFromReport(report);
322
317
  }
323
318
  return {
@@ -415,6 +410,9 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
415
410
  if (rowFieldDateRange) {
416
411
  dateBucket = getDateBucketFromRange(rowFieldDateRange.dateRange);
417
412
  }
413
+ if (!Object.values(relevantInfo.uniqueStrings[table] ?? {}).length) {
414
+ relevantInfo.uniqueStrings[table] = await getUniqueStringValues(tableInfo.columns.filter((column) => column.field === pivot?.columnField), table, client, customFields, undefined, undefined, report?.queryString ?? '');
415
+ }
418
416
  newPivotData = await generatePivotTable({
419
417
  pivot,
420
418
  dateBucket,
@@ -464,5 +462,6 @@ export const fetchReportBuilderDataFromAST = async (baseAst, formData, schema, c
464
462
  dateRanges: relevantInfo.dateRanges,
465
463
  query,
466
464
  error: error,
465
+ itemQuery: curReport?.itemQuery,
467
466
  };
468
467
  };
@@ -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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"}
@@ -7,7 +7,7 @@ import { parseValueFromBigQueryDates } from './dataProcessing';
7
7
  import { parseQueryDateRangeByDatabaseType } from './dates';
8
8
  import { processFilterErrorList } from './errorProcessing';
9
9
  import { DEFAULT_PAGINATION } from './paginationProcessing';
10
- import { generateCountQuery, generateDistinctQuery, generateMinMaxRangeQueries, processColumnReference, } from './queryConstructor';
10
+ import { generateCountQuery, generateDistinctQuery, generateMinMaxDateRangeQueries, processColumnReference, } from './queryConstructor';
11
11
  export const hasColumnAlias = (columns, referencedColumns) => {
12
12
  if (!referencedColumns) {
13
13
  return true;
@@ -19,9 +19,10 @@ export const hasColumnAlias = (columns, referencedColumns) => {
19
19
  }
20
20
  return false;
21
21
  };
22
- export const getUniqueValuesByColumns = async (columns, query, rows, client, customFields) => {
22
+ export const getUniqueValuesByColumns = async (columns, query, rows, client, customFields, filters) => {
23
23
  const stringNames = columns.map((column) => column.field);
24
24
  const uniqueValues = {};
25
+ //TODO: this bigquery case is wack, we should be able to generate a distinct query for bigquery
25
26
  if (!client.databaseType ||
26
27
  client.databaseType.toLowerCase() === 'bigquery') {
27
28
  if (rows.length === 0) {
@@ -34,6 +35,8 @@ export const getUniqueValuesByColumns = async (columns, query, rows, client, cus
34
35
  databaseType: client?.databaseType,
35
36
  customFieldsByTable: customFields,
36
37
  useNewNodeSql: true,
38
+ dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
39
+ filters,
37
40
  },
38
41
  };
39
42
  const cloudBody = { query };
@@ -56,7 +59,7 @@ export const getUniqueValuesByColumns = async (columns, query, rows, client, cus
56
59
  }
57
60
  else {
58
61
  const distinctValueQuery = generateDistinctQuery(stringNames, query, client.databaseType);
59
- const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, customFields);
62
+ const distinctStrings = await fetchDistinctStrings(distinctValueQuery, client, customFields, filters);
60
63
  if (!distinctStrings) {
61
64
  return {};
62
65
  }
@@ -170,7 +173,7 @@ export const getCountsByColumns = async (columns, query, client, customFields) =
170
173
  return { filteredColumns: columns, exceededColumns: undefined };
171
174
  }
172
175
  };
173
- const fetchDistinctStrings = async (query, client, customFields) => {
176
+ const fetchDistinctStrings = async (query, client, customFields, filters) => {
174
177
  try {
175
178
  const hostedBody = {
176
179
  metadata: {
@@ -181,6 +184,9 @@ const fetchDistinctStrings = async (query, client, customFields) => {
181
184
  databaseType: client?.databaseType,
182
185
  customFieldsByTable: customFields,
183
186
  useNewNodeSql: true,
187
+ filters,
188
+ // @ts-ignore
189
+ dateField: filters?.find((filter) => filter.filterType === 'date_range')?.dateField,
184
190
  },
185
191
  };
186
192
  const cloudBody = { query };
@@ -198,7 +204,7 @@ const fetchDistinctStrings = async (query, client, customFields) => {
198
204
  // out null values.
199
205
  const values = columnInfo.string_values.reduce((result, value) => {
200
206
  if (value !== null && value !== undefined) {
201
- // filter out null values for now, TODO: handle
207
+ // TODO: handle null values rather than filtering out
202
208
  result[value] = false;
203
209
  }
204
210
  return result;
@@ -215,7 +221,7 @@ export const getQueryDateRangeByColumns = async (columns, query, client, customF
215
221
  const columnNames = columns.map(
216
222
  // @ts-ignore
217
223
  (column) => column.field || column.name);
218
- const distinctValueQuery = generateMinMaxRangeQueries(columnNames, query, client.databaseType || 'postgresql');
224
+ const distinctValueQuery = generateMinMaxDateRangeQueries(columnNames, query, client.databaseType || 'postgresql');
219
225
  const dateRanges = await fetchQueryDateRanges(distinctValueQuery, client, customFields);
220
226
  return dateRanges;
221
227
  };
@@ -258,7 +264,7 @@ export const getPaginatedRows = async (client, query, reportId, processing, filt
258
264
  }
259
265
  return { rows: [], columns: [] };
260
266
  };
261
- export const fetchResultsByQuery = async (query, client, processing, customFields, filters, dateField, rowsOnly, rowCountOnly) => {
267
+ export const fetchResultsByQuery = async (query, client, processing, customFields, filters, dateField, rowsOnly, rowCountOnly, filterMap) => {
262
268
  let rows = [];
263
269
  let columns = [];
264
270
  let error = undefined;
@@ -269,6 +275,7 @@ export const fetchResultsByQuery = async (query, client, processing, customField
269
275
  metadata: {
270
276
  query,
271
277
  task: 'query',
278
+ filterMap,
272
279
  orgId: client.organizationId || '*',
273
280
  clientId: client.publicKey,
274
281
  databaseType: client?.databaseType,
@@ -279,7 +286,7 @@ export const fetchResultsByQuery = async (query, client, processing, customField
279
286
  additionalProcessing: processing,
280
287
  useUpdatedDataGathering: processing ? true : false,
281
288
  useNewNodeSql: true,
282
- filters,
289
+ filters: filters?.map((filter) => ({ ...filter, options: undefined })),
283
290
  dateField: dateField ?? undefined,
284
291
  rowsOnly,
285
292
  rowCountOnly,
@@ -10,7 +10,7 @@ export const validateReport = (formData, dashboardData, defaultDateFilter, allTa
10
10
  }
11
11
  if (dateFilter &&
12
12
  ((!defaultDateFilter.table && !defaultDateFilter.field) ||
13
- (!formData.dateField.field && !formData.dateField.table))) {
13
+ (!formData.dateField?.field && !formData.dateField?.table))) {
14
14
  issues.push(`Delete the date filter "${formData.dashboardName}" or add to another dashboard.`);
15
15
  }
16
16
  filters.forEach((filter) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.13.24",
3
+ "version": "2.13.26",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",