@quillsql/react 2.13.2 → 2.13.4

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 (123) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +3 -13
  3. package/dist/cjs/ChartBuilder.d.ts +1 -1
  4. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  5. package/dist/cjs/ChartBuilder.js +2 -2
  6. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  7. package/dist/cjs/ChartEditor.js +1 -3
  8. package/dist/cjs/Context.d.ts +51 -15
  9. package/dist/cjs/Context.d.ts.map +1 -1
  10. package/dist/cjs/Context.js +44 -24
  11. package/dist/cjs/Dashboard.d.ts +1 -1
  12. package/dist/cjs/Dashboard.d.ts.map +1 -1
  13. package/dist/cjs/Dashboard.js +39 -39
  14. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +1 -1
  15. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  16. package/dist/cjs/ReportBuilder.js +179 -114
  17. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  18. package/dist/cjs/SQLEditor.js +18 -11
  19. package/dist/cjs/Table.js +1 -1
  20. package/dist/cjs/components/Dashboard/DashboardFilter.js +1 -1
  21. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  22. package/dist/cjs/components/Dashboard/DataLoader.js +109 -43
  23. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  24. package/dist/cjs/components/Dashboard/MetricComponent.js +14 -3
  25. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +1 -1
  26. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  27. package/dist/cjs/components/QuillMultiSelectWithCombo.js +6 -2
  28. package/dist/cjs/components/QuillSelect.js +3 -3
  29. package/dist/cjs/components/QuillSelectWithCombo.d.ts +1 -1
  30. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  31. package/dist/cjs/components/QuillSelectWithCombo.js +14 -4
  32. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +33 -0
  33. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  34. package/dist/cjs/components/ReportBuilder/FilterStack.js +121 -0
  35. package/dist/cjs/components/UiComponents.d.ts +1 -0
  36. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  37. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  38. package/dist/cjs/hooks/useDashboard.js +41 -46
  39. package/dist/cjs/hooks/useExport.d.ts +14 -1
  40. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  41. package/dist/cjs/hooks/useExport.js +120 -38
  42. package/dist/cjs/models/Client.d.ts +2 -0
  43. package/dist/cjs/models/Client.d.ts.map +1 -1
  44. package/dist/cjs/models/Filter.d.ts +1 -1
  45. package/dist/cjs/models/Filter.d.ts.map +1 -1
  46. package/dist/cjs/utils/client.d.ts.map +1 -1
  47. package/dist/cjs/utils/client.js +1 -0
  48. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  49. package/dist/cjs/utils/dashboard.js +3 -1
  50. package/dist/cjs/utils/dataFetcher.d.ts +2 -2
  51. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  52. package/dist/cjs/utils/dataFetcher.js +30 -22
  53. package/dist/cjs/utils/filterProcessing.d.ts +1 -1
  54. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  55. package/dist/cjs/utils/filterProcessing.js +3 -3
  56. package/dist/cjs/utils/report.d.ts +2 -2
  57. package/dist/cjs/utils/report.d.ts.map +1 -1
  58. package/dist/cjs/utils/report.js +7 -4
  59. package/dist/cjs/utils/tableProcessing.d.ts +1 -1
  60. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  61. package/dist/cjs/utils/tableProcessing.js +6 -2
  62. package/dist/esm/Chart.d.ts.map +1 -1
  63. package/dist/esm/Chart.js +3 -13
  64. package/dist/esm/ChartBuilder.d.ts +1 -1
  65. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  66. package/dist/esm/ChartBuilder.js +2 -2
  67. package/dist/esm/ChartEditor.d.ts.map +1 -1
  68. package/dist/esm/ChartEditor.js +1 -3
  69. package/dist/esm/Context.d.ts +51 -15
  70. package/dist/esm/Context.d.ts.map +1 -1
  71. package/dist/esm/Context.js +44 -24
  72. package/dist/esm/Dashboard.d.ts +1 -1
  73. package/dist/esm/Dashboard.d.ts.map +1 -1
  74. package/dist/esm/Dashboard.js +41 -41
  75. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +1 -1
  76. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  77. package/dist/esm/ReportBuilder.js +182 -117
  78. package/dist/esm/SQLEditor.d.ts.map +1 -1
  79. package/dist/esm/SQLEditor.js +18 -11
  80. package/dist/esm/Table.js +1 -1
  81. package/dist/esm/components/Dashboard/DashboardFilter.js +1 -1
  82. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  83. package/dist/esm/components/Dashboard/DataLoader.js +109 -43
  84. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  85. package/dist/esm/components/Dashboard/MetricComponent.js +14 -3
  86. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +1 -1
  87. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  88. package/dist/esm/components/QuillMultiSelectWithCombo.js +6 -2
  89. package/dist/esm/components/QuillSelect.js +3 -3
  90. package/dist/esm/components/QuillSelectWithCombo.d.ts +1 -1
  91. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  92. package/dist/esm/components/QuillSelectWithCombo.js +14 -4
  93. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +33 -0
  94. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -0
  95. package/dist/esm/components/ReportBuilder/FilterStack.js +118 -0
  96. package/dist/esm/components/UiComponents.d.ts +1 -0
  97. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  98. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  99. package/dist/esm/hooks/useDashboard.js +41 -46
  100. package/dist/esm/hooks/useExport.d.ts +14 -1
  101. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  102. package/dist/esm/hooks/useExport.js +122 -40
  103. package/dist/esm/models/Client.d.ts +2 -0
  104. package/dist/esm/models/Client.d.ts.map +1 -1
  105. package/dist/esm/models/Filter.d.ts +1 -1
  106. package/dist/esm/models/Filter.d.ts.map +1 -1
  107. package/dist/esm/utils/client.d.ts.map +1 -1
  108. package/dist/esm/utils/client.js +1 -0
  109. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  110. package/dist/esm/utils/dashboard.js +3 -1
  111. package/dist/esm/utils/dataFetcher.d.ts +2 -2
  112. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  113. package/dist/esm/utils/dataFetcher.js +30 -22
  114. package/dist/esm/utils/filterProcessing.d.ts +1 -1
  115. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  116. package/dist/esm/utils/filterProcessing.js +3 -3
  117. package/dist/esm/utils/report.d.ts +2 -2
  118. package/dist/esm/utils/report.d.ts.map +1 -1
  119. package/dist/esm/utils/report.js +7 -4
  120. package/dist/esm/utils/tableProcessing.d.ts +1 -1
  121. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  122. package/dist/esm/utils/tableProcessing.js +6 -2
  123. package/package.json +3 -3
@@ -61,7 +61,7 @@ async function testSqlViewState(hostedRequestBody, client, referencedTables) {
61
61
  }
62
62
  // this function gets the data either from the self hosted endpoint or
63
63
  // our cloud server
64
- export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam) {
64
+ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestBody, cloudRequestBody, method = 'POST', queryParam, abortSignal) {
65
65
  if (!client) {
66
66
  return null;
67
67
  }
@@ -77,6 +77,7 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
77
77
  },
78
78
  credentials: client.withCredentials ? 'include' : noCred,
79
79
  body: JSON.stringify(hostedRequestBody),
80
+ signal: abortSignal,
80
81
  });
81
82
  const responseJson = await resp.json();
82
83
  if (responseJson.status === 'error' &&
@@ -169,38 +170,45 @@ export async function getData(client, cloudQueryEndpoint, noCred, hostedRequestB
169
170
  }
170
171
  else {
171
172
  // cloud
172
- return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method);
173
+ return await getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method, abortSignal);
173
174
  }
174
175
  }
175
176
  catch (e) {
177
+ if (e instanceof Error && e.name === 'AbortError') {
178
+ throw e;
179
+ }
176
180
  console.error('Failed to parse JSON:', e);
177
181
  return null;
178
182
  }
179
183
  }
180
- export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST') {
181
- const host = (typeof process !== 'undefined' && process?.env?.QUILL_SERVER_HOST) ||
182
- 'https://quill-344421.uc.r.appspot.com';
183
- const url = `${host}/${cloudQueryEndpoint}`;
184
- const resp = await fetch(url, {
185
- method,
186
- headers: {
187
- Authorization: 'Bearer ',
188
- 'Content-Type': 'application/json',
189
- },
190
- body: method === 'POST'
191
- ? JSON.stringify({
192
- ...cloudRequestBody,
193
- ...{
194
- publicKey: client?.publicKey,
195
- orgId: client?.organizationId,
196
- },
197
- })
198
- : null,
199
- });
184
+ export async function getDataFromCloud(client, cloudQueryEndpoint, cloudRequestBody, method = 'POST', abortSignal) {
200
185
  try {
186
+ const host = (typeof process !== 'undefined' && process?.env?.QUILL_SERVER_HOST) ||
187
+ 'https://quill-344421.uc.r.appspot.com';
188
+ const url = `${host}/${cloudQueryEndpoint}`;
189
+ const resp = await fetch(url, {
190
+ method,
191
+ headers: {
192
+ Authorization: 'Bearer ',
193
+ 'Content-Type': 'application/json',
194
+ },
195
+ body: method === 'POST'
196
+ ? JSON.stringify({
197
+ ...cloudRequestBody,
198
+ ...{
199
+ publicKey: client?.publicKey,
200
+ orgId: client?.organizationId,
201
+ },
202
+ })
203
+ : null,
204
+ signal: abortSignal,
205
+ });
201
206
  return await resp.json();
202
207
  }
203
208
  catch (e) {
209
+ if (e instanceof Error && e.name === 'AbortError') {
210
+ throw e;
211
+ }
204
212
  console.error('Failed to parse JSON:', e);
205
213
  return null;
206
214
  }
@@ -3,7 +3,7 @@ import { UniqueValuesByColumn } from '../models/Tables';
3
3
  import { FilterTreeNode } from './astFilterProcessing';
4
4
  export declare function findAndProcessDateFilter(filters: any[]): any;
5
5
  export declare function processFilterFromBackend(filter: any): any;
6
- export declare function updateFilter(filter: any, value?: any, comparison?: any): any;
6
+ export declare function updateFilter(filter: any, value: any, comparison: any, dashboardName: string): any;
7
7
  export declare const getType: (t: string) => FieldTypes.String | FieldTypes.Number | FieldTypes.Date | FieldTypes.Boolean;
8
8
  /**
9
9
  * Returns a sentence to describe a Filter
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,UAAU,EACV,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,GAAE,GAAU,EACjB,UAAU,GAAE,GAAU,OAgGvB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,iFAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,UAAU,EACV,MAAM,EAEP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAmB,MAAM,uBAAuB,CAAC;AAGxE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAoB5D;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,OAkBnD;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,GAAG,EACX,KAAK,KAAY,EACjB,UAAU,KAAY,EACtB,aAAa,EAAE,MAAM,OAgGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,iFAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAwBrD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA"}
@@ -41,7 +41,7 @@ export function processFilterFromBackend(filter) {
41
41
  }
42
42
  return filter;
43
43
  }
44
- export function updateFilter(filter, value = null, comparison = null) {
44
+ export function updateFilter(filter, value = null, comparison = null, dashboardName) {
45
45
  //for dateObjects only, since values are arrays for dateObjects
46
46
  const { ...filterWithoutSelectedValue } = filter;
47
47
  if (filter.filterType === 'string') {
@@ -63,7 +63,7 @@ export function updateFilter(filter, value = null, comparison = null) {
63
63
  return {
64
64
  ...filterWithoutSelectedValue,
65
65
  ...selectedValue,
66
- dashboardName: name,
66
+ dashboardName: dashboardName,
67
67
  };
68
68
  }
69
69
  if (filter.filterType === 'date' || filter.filterType === 'date_range') {
@@ -129,7 +129,7 @@ export function updateFilter(filter, value = null, comparison = null) {
129
129
  field: 'date_range',
130
130
  options: filter.options,
131
131
  label: 'Date',
132
- dashboardName: name,
132
+ dashboardName: dashboardName,
133
133
  };
134
134
  }
135
135
  }
@@ -23,11 +23,11 @@ export type ReportBuilderInfo = {
23
23
  };
24
24
  export declare const EMPTY_REPORT: QuillReport;
25
25
  export declare const EMPTY_INTERNAL_REPORT: QuillReportInternal;
26
- export declare function fetchReport(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, dateBucket?: string, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean): Promise<{
26
+ export declare function fetchReport(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, dateBucket?: string, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean, abortSignal?: AbortSignal): Promise<{
27
27
  report: QuillReportInternal;
28
28
  error?: string;
29
29
  }>;
30
- export declare function fetchReportRowCount(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, customFields?: any): Promise<number | undefined>;
30
+ export declare function fetchReportRowCount(reportId: string, client: QuillProviderClient, useReportTask?: boolean, filters?: any[], additionalProcessing?: AdditionalProcessing, customFields?: any, abortSignal?: AbortSignal): Promise<number | undefined>;
31
31
  export declare function saveReport({ report, dashboardItemId, client, }: {
32
32
  report: any;
33
33
  dashboardItemId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,mBAGnC,CAAC;AA2BF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,GAAG,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAmI1D;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,CAAC,EAAE,GAAG,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkC7B;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Cf;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,QAkB/C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,WAAW,CAsDb;AAED,eAAO,MAAM,6BAA6B,YAC/B,GAAG,YACF,GAAG,UACL,KAAK,EAAE,UACP,mBAAmB,UACnB,KAAK,qBACM,GAAG,iBACP,MAAM,qBACF;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAChC,WACQ,mBAAmB,iBACb,GAAG,qBACC,OAAO,iBACX,OAAO,eACT,oBAAoB,KAChC,QAAQ,iBAAiB,CAgK3B,CAAC"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAU,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EACL,kBAAkB,EAClB,KAAK,EACL,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,oBAAoB,EAIrB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE;QAAE,IAAI,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC7D,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAkB1B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,mBAGnC,CAAC;AA2BF,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,GAAG,EAClB,QAAQ,CAAC,EAAE,OAAO,EAClB,YAAY,CAAC,EAAE,OAAO,EACtB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuI1D;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,mBAAmB,EAC3B,aAAa,UAAO,EACpB,OAAO,GAAE,GAAG,EAAO,EACnB,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,YAAY,CAAC,EAAE,GAAG,EAClB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmC7B;AAED,wBAAsB,UAAU,CAAC,EAC/B,MAAM,EACN,eAAe,EACf,MAAM,GACP,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;CAC7B,GAAG,OAAO,CAAC,GAAG,CAAC,CA4Cf;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,QAkB/C,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,mBAAmB,GAC1B,WAAW,CAsDb;AAED,eAAO,MAAM,6BAA6B,YAC/B,GAAG,YACF,GAAG,UACL,KAAK,EAAE,UACP,mBAAmB,UACnB,KAAK,qBACM,GAAG,iBACP,MAAM,qBACF;IACjB,aAAa,EAAE,mBAAmB,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC;CAChC,WACQ,mBAAmB,iBACb,GAAG,qBACC,OAAO,iBACX,OAAO,eACT,oBAAoB,KAChC,QAAQ,iBAAiB,CAgK3B,CAAC"}
@@ -61,7 +61,7 @@ function extractAllReportValuesFromQuillInternalReport(reportInternal) {
61
61
  template: reportInternal.template,
62
62
  };
63
63
  }
64
- export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly) {
64
+ export async function fetchReport(reportId, client, useReportTask = true, filters = [], additionalProcessing, dateBucket, customFields, rowsOnly, rowCountOnly, abortSignal) {
65
65
  let reportInfo = undefined;
66
66
  let errorMessage = undefined;
67
67
  try {
@@ -87,7 +87,7 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
87
87
  filters: filters,
88
88
  useNewNodeSql: true,
89
89
  };
90
- const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data');
90
+ const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data', abortSignal);
91
91
  processFilterErrorList(resp);
92
92
  const dashboardItem = { ...resp, filtersApplied: filters };
93
93
  if (resp.errorMessage) {
@@ -133,6 +133,9 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
133
133
  }
134
134
  }
135
135
  catch (error) {
136
+ if (error instanceof Error && error.name === 'AbortError') {
137
+ throw error;
138
+ }
136
139
  if (error instanceof DataLoadError) {
137
140
  if (error.data.useReportTask) {
138
141
  internalLog('USING ITEM AS BACKUP');
@@ -163,7 +166,7 @@ export async function fetchReport(reportId, client, useReportTask = true, filter
163
166
  }
164
167
  return { report: reportInfo || EMPTY_INTERNAL_REPORT, error: errorMessage };
165
168
  }
166
- export async function fetchReportRowCount(reportId, client, useReportTask = true, filters = [], additionalProcessing, customFields) {
169
+ export async function fetchReportRowCount(reportId, client, useReportTask = true, filters = [], additionalProcessing, customFields, abortSignal) {
167
170
  // Remove extra fields on each filter so we don't confuse the backend.
168
171
  const hostedBody = {
169
172
  metadata: {
@@ -185,7 +188,7 @@ export async function fetchReportRowCount(reportId, client, useReportTask = true
185
188
  filters: filters,
186
189
  useNewNodeSql: true,
187
190
  };
188
- const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data');
191
+ const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, 'POST', 'fetch-data', abortSignal);
189
192
  return resp.rowCount;
190
193
  }
191
194
  export async function saveReport({ report, dashboardItemId, client, }) {
@@ -52,7 +52,7 @@ export declare const fetchResultsByQuery: (query: string, client: QuillProviderC
52
52
  error?: string | undefined;
53
53
  itemQuery?: string[] | undefined;
54
54
  }>;
55
- export declare const fetchResultsByReport: (reportId: string, client: QuillProviderClient, processing?: AdditionalProcessing, filters?: any, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean) => Promise<{
55
+ export declare const fetchResultsByReport: (reportId: string, client: QuillProviderClient, processing?: AdditionalProcessing, filters?: any, customFields?: any, rowsOnly?: boolean, rowCountOnly?: boolean, abortSignal?: AbortSignal) => Promise<{
56
56
  columns: Column[];
57
57
  rows: any[];
58
58
  rowCount?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACd,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAgB5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,YAChB,MAAM,EAAE,qBACE,MAAM,EAAE,KAC1B,OAUF,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAC1B,MAAM,EAAE,SACV,MAAM,QACP,GAAG,UACD,mBAAmB,gBACb,GAAG,EAAE;;;;SAmEpB,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,cAAc,EAAE,aACd,MAAM,UACT,GAAG,iBACI,GAAG,yBACK,GAAG,wBACJ,OAAO,UACrB,MAAM,iBA2Cf,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAC1B,cAAc,EAAE,UACjB,mBAAmB,SACpB,MAAM,iBACE,GAAG;;;;EA6DnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,EAAE,SACV,MAAM,UACL,mBAAmB,gBACb,GAAG,EAAE,KAClB,QAAQ;IACT,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACvC,CAiDA,CAAC;AAkDF,eAAO,MAAM,qBAAqB,YACvB,MAAM,EAAE,SACV,MAAM,UACL,mBAAmB,gBACb,GAAG,EAAE;;mBAEY;YAAE,KAAK,EAAE,IAAI,CAAC;YAAC,GAAG,EAAE,IAAI,CAAA;SAAE;;SAiB1D,CAAC;AA2DF,eAAO,MAAM,gBAAgB,WACnB,mBAAmB,UACnB,MAAM,aACH,MAAM,eACJ,oBAAoB,YACvB,GAAG,iBACE,GAAG,KACjB,QAAQ;IACT,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAaA,CAAC;AAEF,eAAO,MAAM,mBAAmB,UACvB,MAAM,UACL,mBAAmB,eACd,oBAAoB,iBAClB,GAAG,YACR,eAAe,EAAE,cACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,aACxC,OAAO,iBACH,OAAO;aAEb,cAAc,EAAE;UACnB,GAAG,EAAE;;;;EA2DZ,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,UACR,mBAAmB,eACd,oBAAoB,YACvB,GAAG,iBACE,GAAG,aACP,OAAO,iBACH,OAAO;aAEb,MAAM,EAAE;UACX,GAAG,EAAE;;;EAkFZ,CAAC;AAEF,eAAO,MAAM,eAAe,QACrB,cAAc,MAAM,UACjB,mBAAmB,eACd,oBAAoB,iBAClB,GAAG,aACP,OAAO,iBACH,OAAO;aAEb,cAAc,EAAE;UACnB,GAAG,EAAE;;;;EAyDZ,CAAC;AAEF,eAAO,MAAM,+CAA+C,0BACnC,oBAAoB;;CAU5C,CAAC"}
1
+ {"version":3,"file":"tableProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/tableProcessing.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EACd,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAgB5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,cAAc,YAChB,MAAM,EAAE,qBACE,MAAM,EAAE,KAC1B,OAUF,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAC1B,MAAM,EAAE,SACV,MAAM,QACP,GAAG,UACD,mBAAmB,gBACb,GAAG,EAAE;;;;SAmEpB,CAAC;AAEF,eAAO,MAAM,qBAAqB,YACvB,cAAc,EAAE,aACd,MAAM,UACT,GAAG,iBACI,GAAG,yBACK,GAAG,wBACJ,OAAO,UACrB,MAAM,iBA2Cf,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAC1B,cAAc,EAAE,UACjB,mBAAmB,SACpB,MAAM,iBACE,GAAG;;;;EA6DnB,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,EAAE,SACV,MAAM,UACL,mBAAmB,gBACb,GAAG,EAAE,KAClB,QAAQ;IACT,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CACvC,CAiDA,CAAC;AAkDF,eAAO,MAAM,qBAAqB,YACvB,MAAM,EAAE,SACV,MAAM,UACL,mBAAmB,gBACb,GAAG,EAAE;;mBAEY;YAAE,KAAK,EAAE,IAAI,CAAC;YAAC,GAAG,EAAE,IAAI,CAAA;SAAE;;SAiB1D,CAAC;AA2DF,eAAO,MAAM,gBAAgB,WACnB,mBAAmB,UACnB,MAAM,aACH,MAAM,eACJ,oBAAoB,YACvB,GAAG,iBACE,GAAG,KACjB,QAAQ;IACT,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAaA,CAAC;AAEF,eAAO,MAAM,mBAAmB,UACvB,MAAM,UACL,mBAAmB,eACd,oBAAoB,iBAClB,GAAG,YACR,eAAe,EAAE,cACf;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,aACxC,OAAO,iBACH,OAAO;aAEb,cAAc,EAAE;UACnB,GAAG,EAAE;;;;EA2DZ,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,MAAM,UACR,mBAAmB,eACd,oBAAoB,YACvB,GAAG,iBACE,GAAG,aACP,OAAO,iBACH,OAAO,gBACR,WAAW;aAEhB,MAAM,EAAE;UACX,GAAG,EAAE;;;EAyFZ,CAAC;AAEF,eAAO,MAAM,eAAe,QACrB,cAAc,MAAM,UACjB,mBAAmB,eACd,oBAAoB,iBAClB,GAAG,aACP,OAAO,iBACH,OAAO;aAEb,cAAc,EAAE;UACnB,GAAG,EAAE;;;;EAyDZ,CAAC;AAEF,eAAO,MAAM,+CAA+C,0BACnC,oBAAoB;;CAU5C,CAAC"}
@@ -296,7 +296,7 @@ export const fetchResultsByQuery = async (query, client, processing, customField
296
296
  }
297
297
  return { rows, columns, rowCount, error, itemQuery };
298
298
  };
299
- export const fetchResultsByReport = async (reportId, client, processing, filters, customFields, rowsOnly, rowCountOnly) => {
299
+ export const fetchResultsByReport = async (reportId, client, processing, filters, customFields, rowsOnly, rowCountOnly, abortSignal) => {
300
300
  const updatedProcessing = { ...processing };
301
301
  let rows = [];
302
302
  let columns = [];
@@ -340,7 +340,7 @@ export const fetchResultsByReport = async (reportId, client, processing, filters
340
340
  filters: [],
341
341
  useNewNodeSql: true,
342
342
  };
343
- const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody);
343
+ const resp = await getData(client, 'itempost', 'omit', hostedBody, cloudBody, undefined, undefined, abortSignal);
344
344
  if (resp.errorMessage) {
345
345
  throw new Error(resp.errorMessage);
346
346
  }
@@ -361,6 +361,10 @@ export const fetchResultsByReport = async (reportId, client, processing, filters
361
361
  }
362
362
  }
363
363
  catch (e) {
364
+ if (e instanceof Error && e.name === 'AbortError') {
365
+ console.log('Aborted fetch results by report');
366
+ throw e;
367
+ }
364
368
  rows = [];
365
369
  columns = [];
366
370
  rowCount = 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quillsql/react",
3
- "version": "2.13.2",
3
+ "version": "2.13.4",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./dist/esm/index.js",
@@ -26,7 +26,8 @@
26
26
  "date-fns": "^2.29.3",
27
27
  "date-fns-tz": "^2.0.0",
28
28
  "fast-deep-equal": "^3.1.3",
29
- "react-to-print": "^2.15.1",
29
+ "jspdf": "^2.5.2",
30
+ "react-dom": "^18.2.0",
30
31
  "recharts": "^2.12.5"
31
32
  },
32
33
  "devDependencies": {
@@ -39,7 +40,6 @@
39
40
  "@types/react-dom": "^18.2.18",
40
41
  "eslint": "^8.56.0",
41
42
  "react": "^18.2.0",
42
- "react-dom": "^18.2.0",
43
43
  "typescript": "^5.3.3"
44
44
  },
45
45
  "access": "public"