@quillsql/react 2.13.20 → 2.13.22

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 (85) hide show
  1. package/dist/cjs/Chart.d.ts.map +1 -1
  2. package/dist/cjs/Chart.js +208 -40
  3. package/dist/cjs/Context.d.ts.map +1 -1
  4. package/dist/cjs/Context.js +15 -10
  5. package/dist/cjs/Dashboard.d.ts.map +1 -1
  6. package/dist/cjs/Dashboard.js +58 -13
  7. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  8. package/dist/cjs/components/Chart/LineChart.js +12 -22
  9. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  10. package/dist/cjs/components/Dashboard/DashboardFilter.js +19 -1
  11. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  12. package/dist/cjs/components/Dashboard/DataLoader.js +26 -15
  13. package/dist/cjs/hooks/useDashboard.d.ts +1 -4
  14. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  15. package/dist/cjs/hooks/useDashboard.js +1 -22
  16. package/dist/cjs/hooks/useExport.d.ts +1 -8
  17. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  18. package/dist/cjs/hooks/useExport.js +105 -72
  19. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  20. package/dist/cjs/hooks/useQuill.js +23 -21
  21. package/dist/cjs/hooks/useReport.d.ts +12 -0
  22. package/dist/cjs/hooks/useReport.d.ts.map +1 -0
  23. package/dist/cjs/hooks/useReport.js +56 -0
  24. package/dist/cjs/index.d.ts +2 -1
  25. package/dist/cjs/index.d.ts.map +1 -1
  26. package/dist/cjs/index.js +3 -2
  27. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  28. package/dist/cjs/internals/ReportBuilder/PivotModal.js +1 -0
  29. package/dist/cjs/utils/dataProcessing.js +2 -2
  30. package/dist/cjs/utils/filterProcessing.d.ts +2 -1
  31. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  32. package/dist/cjs/utils/filterProcessing.js +168 -22
  33. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  34. package/dist/cjs/utils/pivotConstructor.js +47 -10
  35. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  36. package/dist/cjs/utils/queryConstructor.js +3 -2
  37. package/dist/cjs/utils/report.d.ts +1 -1
  38. package/dist/cjs/utils/report.d.ts.map +1 -1
  39. package/dist/cjs/utils/report.js +4 -2
  40. package/dist/cjs/utils/valueFormatter.d.ts +5 -1
  41. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -1
  42. package/dist/cjs/utils/valueFormatter.js +32 -12
  43. package/dist/esm/Chart.d.ts.map +1 -1
  44. package/dist/esm/Chart.js +211 -43
  45. package/dist/esm/Context.d.ts.map +1 -1
  46. package/dist/esm/Context.js +15 -10
  47. package/dist/esm/Dashboard.d.ts.map +1 -1
  48. package/dist/esm/Dashboard.js +61 -16
  49. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  50. package/dist/esm/components/Chart/LineChart.js +15 -25
  51. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  52. package/dist/esm/components/Dashboard/DashboardFilter.js +20 -2
  53. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  54. package/dist/esm/components/Dashboard/DataLoader.js +26 -15
  55. package/dist/esm/hooks/useDashboard.d.ts +1 -4
  56. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  57. package/dist/esm/hooks/useDashboard.js +1 -21
  58. package/dist/esm/hooks/useExport.d.ts +1 -8
  59. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  60. package/dist/esm/hooks/useExport.js +106 -73
  61. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  62. package/dist/esm/hooks/useQuill.js +23 -21
  63. package/dist/esm/hooks/useReport.d.ts +12 -0
  64. package/dist/esm/hooks/useReport.d.ts.map +1 -0
  65. package/dist/esm/hooks/useReport.js +51 -0
  66. package/dist/esm/index.d.ts +2 -1
  67. package/dist/esm/index.d.ts.map +1 -1
  68. package/dist/esm/index.js +2 -1
  69. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  70. package/dist/esm/internals/ReportBuilder/PivotModal.js +1 -0
  71. package/dist/esm/utils/dataProcessing.js +2 -2
  72. package/dist/esm/utils/filterProcessing.d.ts +2 -1
  73. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  74. package/dist/esm/utils/filterProcessing.js +168 -23
  75. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  76. package/dist/esm/utils/pivotConstructor.js +47 -10
  77. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  78. package/dist/esm/utils/queryConstructor.js +3 -2
  79. package/dist/esm/utils/report.d.ts +1 -1
  80. package/dist/esm/utils/report.d.ts.map +1 -1
  81. package/dist/esm/utils/report.js +4 -2
  82. package/dist/esm/utils/valueFormatter.d.ts +5 -1
  83. package/dist/esm/utils/valueFormatter.d.ts.map +1 -1
  84. package/dist/esm/utils/valueFormatter.js +33 -13
  85. package/package.json +4 -4
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { downloadCSV } from '../utils/csv';
3
3
  import { useContext, useMemo, useState } from 'react';
4
4
  import { getData } from '../utils/dataFetcher';
5
- import { ClientContext, DashboardContext, DashboardFiltersContext, } from '../Context';
5
+ import { ClientContext, DashboardContext, DashboardFiltersContext, ReportFiltersContext, } from '../Context';
6
6
  import { cleanDashboardItem } from '../utils/dashboard';
7
7
  import { defaultQuillTheme } from '../QuillProvider';
8
8
  import { createRoot } from 'react-dom/client';
@@ -40,7 +40,7 @@ async function getExportData(client, dashboardFilters, reportId) {
40
40
  useNewNodeSql: true,
41
41
  };
42
42
  const resp = await getData(client, 'itempost', 'same-origin', hostedBody, cloudBody);
43
- const cleanedReport = await cleanDashboardItem(resp, dashboardFilters);
43
+ const cleanedReport = await cleanDashboardItem(resp, dashboardFilters, client);
44
44
  if (cleanedReport.chartType === 'table' && cleanedReport.pivot) {
45
45
  cleanedReport.columns = cleanedReport.yAxisFields;
46
46
  }
@@ -51,6 +51,7 @@ export const useExport = (reportId, { CustomDocumentComponent = QuillCustomDocum
51
51
  sectionField, } = {}) => {
52
52
  const { dashboardFilters } = useContext(DashboardFiltersContext);
53
53
  const [dashboard] = useContext(DashboardContext);
54
+ const { reportFilters } = useContext(ReportFiltersContext);
54
55
  const specificDashboardFilters = useMemo(() => {
55
56
  if (!reportId) {
56
57
  return [];
@@ -59,17 +60,21 @@ sectionField, } = {}) => {
59
60
  if (!dashboardName || !dashboardFilters[dashboardName]) {
60
61
  return [];
61
62
  }
62
- //FIXME: Pretty sure this won't work with multiple dashboards
63
63
  return Object.values(dashboardFilters[dashboardName]).map((dashboardFilter) => {
64
64
  return dashboardFilter.filter;
65
65
  });
66
66
  }, [dashboardFilters, dashboard, reportId]);
67
+ const specificReportFilters = useMemo(() => {
68
+ if (!reportId)
69
+ return [];
70
+ return Object.values(reportFilters[reportId] ?? []).map((f) => f.filter);
71
+ }, [reportFilters, reportId]);
67
72
  // const [theme] = useContext(ThemeContext);
68
73
  const [client] = useContext(ClientContext);
69
74
  const [isCSVLoading, setIsCSVLoading] = useState(false);
70
75
  const [isPDFLoading, setIsPDFLoading] = useState(false);
71
76
  if (!reportId || !client) {
72
- return { downloadCSV: () => { }, downloadPDF: () => { }, isLoading: false };
77
+ return { downloadCSV: () => { }, downloadPDF: () => { }, isPDFLoading: false, isCSVLoading: false };
73
78
  }
74
79
  return {
75
80
  downloadCSV: async () => {
@@ -77,7 +82,9 @@ sectionField, } = {}) => {
77
82
  return;
78
83
  }
79
84
  setIsCSVLoading(true);
80
- const resp = await getExportData(client, specificDashboardFilters, reportId);
85
+ const resp = await getExportData(client, specificReportFilters.length > 0
86
+ ? specificReportFilters
87
+ : specificDashboardFilters, reportId);
81
88
  downloadCSV({
82
89
  rows: resp.pivot && resp.pivotRows ? resp.pivotRows : resp.rows,
83
90
  fields: resp.pivot && resp.pivotColumns ? resp.pivotColumns : resp.columns,
@@ -87,21 +94,14 @@ sectionField, } = {}) => {
87
94
  },
88
95
  downloadPDF: async () => {
89
96
  setIsPDFLoading(true);
90
- // @ts-ignore
91
- let report;
92
- if (reportId &&
93
- dashboard[reportId] &&
94
- dashboardFilters &&
95
- // @ts-ignore
96
- dashboardFilters[dashboard[reportId].dashboardName]) {
97
- const { report: fetchedReport } = await fetchReport(reportId, client, true, Object.values(
98
- // @ts-ignore
99
- dashboardFilters[dashboard[reportId].dashboardName]).map((elem) => elem.filter));
100
- report = fetchedReport;
101
- }
102
- else {
103
- const { report: fetchedReport } = await fetchReport(reportId, client, true, []);
104
- report = fetchedReport;
97
+ const filters = specificReportFilters.length > 0
98
+ ? specificReportFilters
99
+ : specificDashboardFilters;
100
+ const { report: fetchedReport } = await fetchReport(reportId, client, true, filters);
101
+ const report = fetchedReport;
102
+ if (report.pivot && report.pivotRows && report.pivotColumns) {
103
+ report.rows = report.pivotRows;
104
+ report.columns = report.pivotColumns;
105
105
  }
106
106
  let groupedRows = {};
107
107
  if (sectionField) {
@@ -122,65 +122,98 @@ sectionField, } = {}) => {
122
122
  let currentPage = {};
123
123
  let currentCount = 0;
124
124
  let pageNumber = 1;
125
- // Iterate over each group of rows
126
- for (const groupKey in groupedRows) {
127
- // @ts-ignore
128
- const rows = groupedRows[groupKey];
129
- let groupIndex = 0;
130
- while (groupIndex < rows.length) {
131
- const remainingRows = rows.length - groupIndex;
125
+ if (sectionField) {
126
+ // Iterate over each group of rows
127
+ for (const groupKey in groupedRows) {
128
+ // @ts-ignore
129
+ const rows = groupedRows[groupKey];
130
+ let groupIndex = 0;
131
+ while (groupIndex < rows.length) {
132
+ const remainingRows = rows.length - groupIndex;
133
+ const availableSpace = maximumRowsPerPage - currentCount;
134
+ const rowsToAdd = Math.min(remainingRows, availableSpace);
135
+ // @ts-ignore
136
+ currentPage[groupKey] = (currentPage[groupKey] || []).concat(rows.slice(groupIndex, groupIndex + rowsToAdd));
137
+ currentCount += rowsToAdd;
138
+ groupIndex += rowsToAdd;
139
+ if (currentCount === maximumRowsPerPage) {
140
+ if (Object.keys(currentPage).length > 0) {
141
+ pageNumber++;
142
+ const div = document.createElement('div');
143
+ const root = createRoot(div);
144
+ flushSync(() => {
145
+ root.render(_jsx(CustomDocumentComponent, { report: {
146
+ // @ts-ignore
147
+ ...report,
148
+ // @ts-ignore
149
+ sections: currentPage,
150
+ filters,
151
+ }, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
152
+ });
153
+ // const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
154
+ // htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
155
+ html += div.innerHTML;
156
+ currentPage = {};
157
+ currentCount = 0;
158
+ }
159
+ }
160
+ }
161
+ }
162
+ // Add the last page if it has remaining rows
163
+ if (Object.keys(currentPage).length > 0) {
164
+ pageNumber++;
165
+ const div = document.createElement('div');
166
+ const root = createRoot(div);
167
+ flushSync(() => {
168
+ root.render(_jsx(CustomDocumentComponent, { report: {
169
+ // @ts-ignore
170
+ ...report,
171
+ // @ts-ignore
172
+ sections: currentPage,
173
+ filters,
174
+ }, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
175
+ });
176
+ // const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
177
+ // htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
178
+ html += div.innerHTML;
179
+ currentPage = {};
180
+ currentCount = 0;
181
+ }
182
+ }
183
+ else {
184
+ const rows = report.rows;
185
+ for (let i = 0; i < rows.length; i += maximumRowsPerPage) {
186
+ const remainingRows = rows.length - i * maximumRowsPerPage;
132
187
  const availableSpace = maximumRowsPerPage - currentCount;
133
188
  const rowsToAdd = Math.min(remainingRows, availableSpace);
134
- // @ts-ignore
135
- currentPage[groupKey] = (currentPage[groupKey] || []).concat(rows.slice(groupIndex, groupIndex + rowsToAdd));
136
189
  currentCount += rowsToAdd;
137
- groupIndex += rowsToAdd;
138
190
  if (currentCount === maximumRowsPerPage) {
139
- if (Object.keys(currentPage).length > 0) {
140
- pageNumber++;
141
- const div = document.createElement('div');
142
- const root = createRoot(div);
143
- flushSync(() => {
144
- root.render(_jsx(CustomDocumentComponent, { report: {
145
- // @ts-ignore
146
- ...report,
147
- // @ts-ignore
148
- sections: currentPage,
149
- filters: Object.values(
150
- // @ts-ignore
151
- dashboardFilters[report.dashboardName]).map((elem) => elem.filter),
152
- }, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
153
- });
154
- // const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
155
- // htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
156
- html += div.innerHTML;
157
- currentPage = {};
158
- currentCount = 0;
159
- }
191
+ pageNumber++;
192
+ const div = document.createElement('div');
193
+ const root = createRoot(div);
194
+ flushSync(() => {
195
+ root.render(_jsx(CustomDocumentComponent, { report: report, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
196
+ });
197
+ // const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
198
+ // htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
199
+ html += div.innerHTML;
200
+ currentCount = 0;
160
201
  }
161
202
  }
162
- }
163
- // Add the last page if it has remaining rows
164
- if (Object.keys(currentPage).length > 0) {
165
- pageNumber++;
166
- const div = document.createElement('div');
167
- const root = createRoot(div);
168
- flushSync(() => {
169
- root.render(_jsx(CustomDocumentComponent, { report: {
170
- // @ts-ignore
171
- ...report,
172
- // @ts-ignore
173
- sections: currentPage,
174
- filters: Object.values(
175
- // @ts-ignore
176
- dashboardFilters[report.dashboardName]).map((elem) => elem.filter),
177
- }, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
178
- });
179
- // const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
180
- // htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
181
- html += div.innerHTML;
182
- currentPage = {};
183
- currentCount = 0;
203
+ // Add the last page if it has remaining rows
204
+ if (currentCount < maximumRowsPerPage) {
205
+ pageNumber++;
206
+ const div = document.createElement('div');
207
+ const root = createRoot(div);
208
+ flushSync(() => {
209
+ root.render(_jsx(CustomDocumentComponent, { report: report, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
210
+ });
211
+ // const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
212
+ // htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
213
+ html += div.innerHTML;
214
+ currentPage = {};
215
+ currentCount = 0;
216
+ }
184
217
  }
185
218
  const doc = new jsPDF('landscape', 'pt', 'a4');
186
219
  // const htmlStringFromBuffer = htmlBuffer.toString('utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"useQuill.d.ts","sourceRoot":"","sources":["../../../src/hooks/useQuill.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,WAAW,EAIZ,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,cACR,MAAM,eACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,KAC3D;IACD,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,SAAS,EACL,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC,GAC/C,CAAC,MAAM,SAAS,CAAC,CAAC;CA4MvB,CAAC"}
1
+ {"version":3,"file":"useQuill.d.ts","sourceRoot":"","sources":["../../../src/hooks/useQuill.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,WAAW,EAIZ,MAAM,yBAAyB,CAAC;AAIjC,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,cACR,MAAM,eACJ;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,KAC3D;IACD,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,SAAS,EACL,CAAC,CAAC,QAAQ,EAAE,WAAW,KAAK,MAAM,GAAG,SAAS,CAAC,GAC/C,CAAC,MAAM,SAAS,CAAC,CAAC;CAiNvB,CAAC"}
@@ -10,17 +10,9 @@ export const useQuill = (reportId, pagination) => {
10
10
  const [dashboard] = useContext(DashboardContext);
11
11
  const { dashboardFilters } = useContext(DashboardFiltersContext);
12
12
  const { reportFilters, reportFiltersDispatch } = useContext(ReportFiltersContext);
13
- const specificDashboardFilters = useMemo(() => {
14
- if (!reportId)
15
- return [];
16
- const dashboardName = reports[reportId]?.dashboardName;
17
- if (!dashboardName)
18
- return [];
19
- return Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter);
20
- }, [dashboardFilters, reportId, dashboard]);
21
13
  const specificReportFilters = useMemo(() => {
22
14
  if (!reportId)
23
- return [];
15
+ return null;
24
16
  return Object.values(reportFilters[reportId] ?? []).map((f) => f.filter);
25
17
  }, [reportFilters, reportId]);
26
18
  const [schemaData] = useContext(SchemaDataContext);
@@ -30,7 +22,7 @@ export const useQuill = (reportId, pagination) => {
30
22
  const [previousPage, setPreviousPage] = useState(0);
31
23
  const processedReport = useMemo(() => {
32
24
  return reportId && (reports[reportId] || dashboard[reportId])
33
- ? convertInternalReportToReport(mergeComparisonRange(reports[reportId] || dashboard[reportId]), specificReportFilters)
25
+ ? convertInternalReportToReport(mergeComparisonRange(reports[reportId] || dashboard[reportId]), specificReportFilters ?? [], 'useQuill')
34
26
  : undefined;
35
27
  }, [
36
28
  reportId,
@@ -137,16 +129,9 @@ export const useQuill = (reportId, pagination) => {
137
129
  setLoading(false);
138
130
  return;
139
131
  }
140
- if (specificDashboardFilters.length && !specificReportFilters.length) {
141
- reportFiltersDispatch({
142
- type: 'ADD_REPORT_FILTERS',
143
- id: curReportId,
144
- data: Object.values(dashboardFilters[curReportId] ?? []),
145
- });
146
- }
147
132
  setLoading(true);
148
133
  try {
149
- await fetchIndividualReport(curReportId, 'useQuill', true, specificReportFilters, [], additionalProcessing);
134
+ await fetchIndividualReport(curReportId, 'useQuill', true, specificReportFilters || [], [], additionalProcessing);
150
135
  }
151
136
  catch (error) {
152
137
  setError(error.message ?? 'Error fetching report');
@@ -156,15 +141,32 @@ export const useQuill = (reportId, pagination) => {
156
141
  }
157
142
  };
158
143
  useEffect(() => {
159
- if (reportId) {
144
+ if (reportId && specificReportFilters) {
160
145
  fetchReportHelper(reportId, {
161
146
  page: pagination,
162
147
  });
163
148
  }
164
- }, [reportId]);
149
+ // if we don't have report filters, we need set those
150
+ if (reportId && !specificReportFilters) {
151
+ // should always resolve to some dashboard name given that spacificDashboardFilters is not empty
152
+ const dashboardName = reportId && reports[reportId]
153
+ ? reports[reportId].dashboardName
154
+ : '';
155
+ reportFiltersDispatch({
156
+ type: 'ADD_REPORT_FILTERS',
157
+ id: reportId,
158
+ data: dashboardName
159
+ ? Object.values(dashboardFilters[dashboardName] ?? {})
160
+ : [],
161
+ });
162
+ }
163
+ }, [reportId, specificReportFilters]);
165
164
  return {
166
165
  data: processedReport ?? null,
167
- loading,
166
+ loading: !reportId
167
+ || (reports[reportId] || dashboard[reportId])?.loadingRows
168
+ || !processedReport?.rows
169
+ || loading,
168
170
  error,
169
171
  fetchMore,
170
172
  setSort,
@@ -0,0 +1,12 @@
1
+ import { QuillReportInternal } from '../models/Report';
2
+ import { DashboardFilter, Filter } from '../models/Filter';
3
+ export declare const useReports: () => {
4
+ reloadFilteredReports: (predicate: (report: QuillReportInternal) => boolean) => void;
5
+ };
6
+ export declare const useReport: (reportId: string) => {
7
+ reload: (overrideFilters: {
8
+ filters: DashboardFilter[];
9
+ editedFilterLabel?: string;
10
+ }, customFilters?: Filter[], initiator?: "Chart" | "useQuill" | "useExport") => Promise<void>;
11
+ };
12
+ //# sourceMappingURL=useReport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useReport.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAuB,eAAe,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEhF,eAAO,MAAM,UAAU;uCAYR,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO;CAYtD,CAAC;AAIF,eAAO,MAAM,SAAS,aAAc,MAAM;8BAIrB;QACf,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,kBACc,MAAM,EAAE,cACZ,OAAO,GAAG,UAAU,GAAG,WAAW;CAmChD,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { useContext } from 'react';
2
+ import { DashboardContext, ReportFiltersContext, ReportsContext, } from '../Context';
3
+ import { convertCustomFilter } from '../models/Filter';
4
+ export const useReports = () => {
5
+ const [dashboard, dispatch] = useContext(DashboardContext);
6
+ const reloadReport = (id) => {
7
+ dispatch({
8
+ type: 'UPDATE_DASHBOARD_ITEM',
9
+ id: id,
10
+ data: { triggerReload: true },
11
+ });
12
+ };
13
+ const reloadFilteredReports = (predicate) => {
14
+ for (const id in dashboard) {
15
+ if (predicate(dashboard[id])) {
16
+ reloadReport(id);
17
+ }
18
+ }
19
+ };
20
+ return {
21
+ reloadFilteredReports,
22
+ };
23
+ };
24
+ // Exposes context operations with the "Report" scope
25
+ // Not meant to be customer facing
26
+ export const useReport = (reportId) => {
27
+ const { loadFiltersForReport } = useContext(ReportFiltersContext);
28
+ const { reports, reportsDispatch } = useContext(ReportsContext);
29
+ const reload = async (overrideFilters, customFilters = [], initiator = 'Chart') => {
30
+ // Set loading member on the report to true
31
+ reportsDispatch({
32
+ type: 'UPDATE_REPORT',
33
+ id: reportId,
34
+ data: { loadingRows: true },
35
+ });
36
+ // Pull the date filter out of the override filters, process it, and append it to the filters
37
+ const dateFilter = overrideFilters.filters.find((f) => f.filterType === 'date_range');
38
+ loadFiltersForReport(reportId, initiator, [
39
+ ...(dateFilter
40
+ ? [
41
+ {
42
+ ...dateFilter,
43
+ dateField: [reports[reportId]?.dateField],
44
+ },
45
+ ]
46
+ : []),
47
+ ...(overrideFilters.filters.filter((f) => f.filterType !== 'date_range') ?? []),
48
+ ], overrideFilters.editedFilterLabel, customFilters.map(convertCustomFilter));
49
+ };
50
+ return { reload };
51
+ };
@@ -14,7 +14,8 @@ export type { ReportBuilderProps } from './ReportBuilder';
14
14
  export { default as ChartEditor } from './ChartEditor';
15
15
  export type { ChartEditorProps } from './ChartEditor';
16
16
  export { quillFormat as format } from './utils/valueFormatter';
17
- export { useDashboard, useReports, useDashboards } from './hooks/useDashboard';
17
+ export { useDashboard, useDashboards } from './hooks/useDashboard';
18
+ export { useReports } from './hooks/useReport';
18
19
  export { useQuill } from './hooks/useQuill';
19
20
  export { useExport } from './hooks/useExport';
20
21
  export { useMemoizedRows } from './hooks/useFormat';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,SAAS,GACV,MAAM,wCAAwC,CAAC;AAChD,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChF,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EACV,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,EACN,mBAAmB,EACnB,WAAW,GACZ,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,EAC5B,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,SAAS,GACV,MAAM,wCAAwC,CAAC;AAChD,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,GACX,MAAM,iBAAiB,CAAC"}
package/dist/esm/index.js CHANGED
@@ -7,7 +7,8 @@ export { default as SQLEditor, SchemaListComponent } from './SQLEditor';
7
7
  export { default as ReportBuilder } from './ReportBuilder';
8
8
  export { default as ChartEditor } from './ChartEditor';
9
9
  export { quillFormat as format } from './utils/valueFormatter';
10
- export { useDashboard, useReports, useDashboards } from './hooks/useDashboard';
10
+ export { useDashboard, useDashboards } from './hooks/useDashboard';
11
+ export { useReports } from './hooks/useReport';
11
12
  export { useQuill } from './hooks/useQuill';
12
13
  export { useExport } from './hooks/useExport';
13
14
  export { useMemoizedRows } from './hooks/useFormat';
@@ -1 +1 @@
1
- {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PivotModal.d.ts","sourceRoot":"","sources":["../../../../src/internals/ReportBuilder/PivotModal.tsx"],"names":[],"mappings":"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"}
@@ -972,6 +972,7 @@ export function getDateString(value, dateRange, dateBucket) {
972
972
  field: 'date',
973
973
  // @ts-ignore
974
974
  fields: [{ field: 'date', format }],
975
+ dateRange,
975
976
  });
976
977
  }
977
978
  export function isDateField(fieldType) {
@@ -93,8 +93,8 @@ export const getPointToPointPercentageChange = (data) => {
93
93
  start: minDate,
94
94
  end: maxDate,
95
95
  });
96
- const minDateBucket = getDateString(minDate.toISOString().split('T')[0], undefined, dateBucket);
97
- const maxDateBucket = getDateString(maxDate.toISOString().split('T')[0], undefined, dateBucket);
96
+ const minDateBucket = getDateString(minDate.toISOString(), undefined, dateBucket);
97
+ const maxDateBucket = getDateString(maxDate.toISOString(), undefined, dateBucket);
98
98
  const minDateRows = data.rows.filter((row) => {
99
99
  const rowValue = row[dateField];
100
100
  if (rowValue) {
@@ -1,4 +1,4 @@
1
- import { FieldType, InternalFilter, DashboardFilter, DashboardDateFilter } from '../models/Filter';
1
+ import { FieldType, InternalFilter, DashboardDateFilter, Filter, DashboardFilter } from '../models/Filter';
2
2
  import { QuillReport } from '../models/Report';
3
3
  import { UniqueValuesByColumn } from '../models/Tables';
4
4
  import { FilterTreeNode } from './astFilterProcessing';
@@ -27,6 +27,7 @@ export declare function buildQueryFromFilters(baseAst: any, filters: FilterTreeN
27
27
  query?: string;
28
28
  error?: string;
29
29
  }>;
30
+ export declare function applyCustomFilterToDashDateFilter(customDateFilter: Filter, dashboardDateFilter: DashboardDateFilter): DashboardDateFilter;
30
31
  export declare function mergeCustomFilters(filters: DashboardFilter[], customFilters: InternalFilter[]): any[];
31
32
  export declare function filtersAreEquivalent(filters1?: InternalFilter[], filters2?: InternalFilter[]): boolean;
32
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAEd,eAAe,EAEf,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,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,EAAE,GAAU,EACjB,UAAU,EAAE,GAAU,EACtB,aAAa,EAAE,MAAM,OAmGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,6EAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CAsCP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}
1
+ {"version":3,"file":"filterProcessing.d.ts","sourceRoot":"","sources":["../../../src/utils/filterProcessing.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,SAAS,EACT,cAAc,EAGd,mBAAmB,EACnB,MAAM,EAEN,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,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,EAAE,GAAU,EACjB,UAAU,EAAE,GAAU,EACtB,aAAa,EAAE,MAAM,OAmGtB;AAGD,eAAO,MAAM,OAAO,MAAO,MAAM,6EAwDhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAwB7D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,GAAG,GAAG,cAAc,EAAE,CAoCrE;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,yBAgCnD;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,GAAG,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2B/D;AAED,wBAAgB,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAoJrB;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,eAAe,EAAE,EAC1B,aAAa,EAAE,cAAc,EAAE,GAC9B,GAAG,EAAE,CAyCP;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,CAAC,EAAE,cAAc,EAAE,EAC3B,QAAQ,CAAC,EAAE,cAAc,EAAE,GAC1B,OAAO,CA+BT;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,oBAAoB,GAAG;IAC3E,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB,CASA;AAED,eAAO,MAAM,uBAAuB,WAC1B,mBAAmB,WAClB,WAAW,EAAE,iBACP,MAAM,KACpB,CAAC,mBAAmB,GAAG;IAAE,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,GAAG,SAqDpD,CAAC"}