@quillsql/react 2.13.19 → 2.13.21
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.
- package/dist/cjs/Chart.d.ts +1 -1
- package/dist/cjs/Chart.d.ts.map +1 -1
- package/dist/cjs/Chart.js +209 -43
- package/dist/cjs/ChartBuilder.d.ts.map +1 -1
- package/dist/cjs/ChartBuilder.js +0 -2
- package/dist/cjs/Context.d.ts.map +1 -1
- package/dist/cjs/Context.js +13 -15
- package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DashboardFilter.js +19 -1
- package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/cjs/components/Dashboard/DataLoader.js +5 -11
- package/dist/cjs/hooks/useExport.d.ts.map +1 -1
- package/dist/cjs/hooks/useExport.js +101 -70
- package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
- package/dist/cjs/hooks/useQuill.js +21 -23
- package/dist/cjs/utils/filterProcessing.d.ts +2 -1
- package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
- package/dist/cjs/utils/filterProcessing.js +16 -0
- package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
- package/dist/cjs/utils/queryConstructor.js +2 -1
- package/dist/cjs/utils/report.d.ts +1 -1
- package/dist/cjs/utils/report.d.ts.map +1 -1
- package/dist/cjs/utils/report.js +6 -6
- package/dist/esm/Chart.d.ts +1 -1
- package/dist/esm/Chart.d.ts.map +1 -1
- package/dist/esm/Chart.js +214 -61
- package/dist/esm/ChartBuilder.d.ts.map +1 -1
- package/dist/esm/ChartBuilder.js +0 -2
- package/dist/esm/Context.d.ts.map +1 -1
- package/dist/esm/Context.js +13 -15
- package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DashboardFilter.js +20 -2
- package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
- package/dist/esm/components/Dashboard/DataLoader.js +5 -11
- package/dist/esm/hooks/useExport.d.ts.map +1 -1
- package/dist/esm/hooks/useExport.js +102 -71
- package/dist/esm/hooks/useQuill.d.ts.map +1 -1
- package/dist/esm/hooks/useQuill.js +21 -23
- package/dist/esm/utils/filterProcessing.d.ts +2 -1
- package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
- package/dist/esm/utils/filterProcessing.js +15 -0
- package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
- package/dist/esm/utils/queryConstructor.js +2 -1
- package/dist/esm/utils/report.d.ts +1 -1
- package/dist/esm/utils/report.d.ts.map +1 -1
- package/dist/esm/utils/report.js +6 -6
- package/package.json +4 -4
|
@@ -14,7 +14,6 @@ const tableProcessing_1 = require("../../utils/tableProcessing");
|
|
|
14
14
|
const Chart_1 = require("../../Chart");
|
|
15
15
|
const merge_1 = require("../../utils/merge");
|
|
16
16
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
17
|
-
const filterProcessing_1 = require("../../utils/filterProcessing");
|
|
18
17
|
const constructReportFromItem = (item) => {
|
|
19
18
|
return {
|
|
20
19
|
...report_1.EMPTY_INTERNAL_REPORT,
|
|
@@ -143,7 +142,7 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
143
142
|
rowCountAbortController.current?.abort();
|
|
144
143
|
rowCountAbortController.current = new AbortController();
|
|
145
144
|
try {
|
|
146
|
-
const rowCount = await (0, report_1.fetchReportRowCount)(item.id, client, true,
|
|
145
|
+
const rowCount = await (0, report_1.fetchReportRowCount)(item.id, client, true, filters.concat(userFilters ?? []), processing, schemaData.customFields, rowCountAbortController.current.signal);
|
|
147
146
|
rowCountAbortController.current = null;
|
|
148
147
|
if (rowCount) {
|
|
149
148
|
if (reportMode) {
|
|
@@ -211,7 +210,7 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
211
210
|
updateTableRowsAbortController.current?.abort();
|
|
212
211
|
updateTableRowsAbortController.current = new AbortController();
|
|
213
212
|
const updatedProcessing = { ...additionalProcessing, ...processing };
|
|
214
|
-
const paginatedRows = await (0, tableProcessing_1.fetchResultsByReport)(item.id, client, updatedProcessing,
|
|
213
|
+
const paginatedRows = await (0, tableProcessing_1.fetchResultsByReport)(item.id, client, updatedProcessing, filters.concat(userFilters ?? []), schemaData.customFields, true, undefined, updateTableRowsAbortController.current.signal);
|
|
215
214
|
updateTableRowsAbortController.current = null;
|
|
216
215
|
if (paginatedRows.error) {
|
|
217
216
|
throw new Error('Error fetching chart');
|
|
@@ -227,8 +226,7 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
227
226
|
reportsDispatch({
|
|
228
227
|
type: 'UPDATE_REPORT',
|
|
229
228
|
id: item.id,
|
|
230
|
-
data: { rows: tempRows },
|
|
231
|
-
filtersApplied: userFilters,
|
|
229
|
+
data: { rows: tempRows, filtersApplied: userFilters },
|
|
232
230
|
});
|
|
233
231
|
}
|
|
234
232
|
else {
|
|
@@ -280,7 +278,7 @@ function DataLoader({ item, children, filters, userFilters, additionalProcessing
|
|
|
280
278
|
rowsAbortController.current = null;
|
|
281
279
|
}
|
|
282
280
|
else {
|
|
283
|
-
const { report: fetchedReport, error } = await (0, report_1.fetchReport)(item.id, client, true,
|
|
281
|
+
const { report: fetchedReport, error } = await (0, report_1.fetchReport)(item.id, client, true, filters.concat(userFilters ?? []), processing, undefined, schemaData.customFields, true, false, rowsAbortController.current.signal);
|
|
284
282
|
rowsAbortController.current = null;
|
|
285
283
|
dispatch({
|
|
286
284
|
type: 'ADD_DASHBOARD_ITEM',
|
|
@@ -367,9 +365,6 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
367
365
|
reportFilters,
|
|
368
366
|
dashboardFilters,
|
|
369
367
|
]);
|
|
370
|
-
(0, react_1.useEffect)(() => {
|
|
371
|
-
console.log('chartReport memo', chartReport);
|
|
372
|
-
}, [chartReport]);
|
|
373
368
|
const fetchReportHelper = async (useReportTask = true) => {
|
|
374
369
|
if (!client || !filters) {
|
|
375
370
|
return;
|
|
@@ -403,7 +398,7 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
403
398
|
fetchReportAbortController.current = null;
|
|
404
399
|
}
|
|
405
400
|
else {
|
|
406
|
-
const { report, error } = await (0, report_1.fetchReport)(item.id, client, useReportTask,
|
|
401
|
+
const { report, error } = await (0, report_1.fetchReport)(item.id, client, useReportTask, filters.concat(userFilters ?? []), {
|
|
407
402
|
...additionalProcessing,
|
|
408
403
|
...(item.pivot ? {} : { page: paginationProcessing_1.DEFAULT_PAGINATION }),
|
|
409
404
|
}, dateBucket, schemaData.customFields, undefined, undefined, fetchReportAbortController.current.signal);
|
|
@@ -449,7 +444,6 @@ const ChartDataLoader = ({ item, children, dateBucket, additionalProcessing, fil
|
|
|
449
444
|
fetchReportHelper();
|
|
450
445
|
}
|
|
451
446
|
}, [(reportMode ? reports : dashboard)[item.id]]);
|
|
452
|
-
console.log('chartReport', chartReport);
|
|
453
447
|
return children({
|
|
454
448
|
isLoading: !chartReport || loading,
|
|
455
449
|
data: chartReport,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useExport.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExport.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA0D/C,eAAO,MAAM,SAAS,cACT,MAAM,mEAMd;IACD,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,GAAG,CAAC,OAAO,CAAC;IAChE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;CAyOF,CAAC;AAEF,UAAU,aAAa;IACrB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B"}
|
|
@@ -57,6 +57,7 @@ const useExport = (reportId, { CustomDocumentComponent = QuillCustomDocumentComp
|
|
|
57
57
|
sectionField, } = {}) => {
|
|
58
58
|
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
59
59
|
const [dashboard] = (0, react_1.useContext)(Context_1.DashboardContext);
|
|
60
|
+
const { reportFilters } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
|
|
60
61
|
const specificDashboardFilters = (0, react_1.useMemo)(() => {
|
|
61
62
|
if (!reportId) {
|
|
62
63
|
return [];
|
|
@@ -70,6 +71,11 @@ sectionField, } = {}) => {
|
|
|
70
71
|
return dashboardFilter.filter;
|
|
71
72
|
});
|
|
72
73
|
}, [dashboardFilters, dashboard, reportId]);
|
|
74
|
+
const specificReportFilters = (0, react_1.useMemo)(() => {
|
|
75
|
+
if (!reportId)
|
|
76
|
+
return [];
|
|
77
|
+
return Object.values(reportFilters[reportId] ?? []).map((f) => f.filter);
|
|
78
|
+
}, [reportFilters, reportId]);
|
|
73
79
|
// const [theme] = useContext(ThemeContext);
|
|
74
80
|
const [client] = (0, react_1.useContext)(Context_1.ClientContext);
|
|
75
81
|
const [isCSVLoading, setIsCSVLoading] = (0, react_1.useState)(false);
|
|
@@ -83,7 +89,9 @@ sectionField, } = {}) => {
|
|
|
83
89
|
return;
|
|
84
90
|
}
|
|
85
91
|
setIsCSVLoading(true);
|
|
86
|
-
const resp = await getExportData(client,
|
|
92
|
+
const resp = await getExportData(client, specificReportFilters.length > 0
|
|
93
|
+
? specificReportFilters
|
|
94
|
+
: specificDashboardFilters, reportId);
|
|
87
95
|
(0, csv_1.downloadCSV)({
|
|
88
96
|
rows: resp.pivot && resp.pivotRows ? resp.pivotRows : resp.rows,
|
|
89
97
|
fields: resp.pivot && resp.pivotColumns ? resp.pivotColumns : resp.columns,
|
|
@@ -93,22 +101,11 @@ sectionField, } = {}) => {
|
|
|
93
101
|
},
|
|
94
102
|
downloadPDF: async () => {
|
|
95
103
|
setIsPDFLoading(true);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
// @ts-ignore
|
|
102
|
-
dashboardFilters[dashboard[reportId].dashboardName]) {
|
|
103
|
-
const { report: fetchedReport } = await (0, report_1.fetchReport)(reportId, client, true, Object.values(
|
|
104
|
-
// @ts-ignore
|
|
105
|
-
dashboardFilters[dashboard[reportId].dashboardName]).map((elem) => elem.filter));
|
|
106
|
-
report = fetchedReport;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
const { report: fetchedReport } = await (0, report_1.fetchReport)(reportId, client, true, []);
|
|
110
|
-
report = fetchedReport;
|
|
111
|
-
}
|
|
104
|
+
const filters = specificReportFilters.length > 0
|
|
105
|
+
? specificReportFilters
|
|
106
|
+
: specificDashboardFilters;
|
|
107
|
+
const { report: fetchedReport } = await (0, report_1.fetchReport)(reportId, client, true, filters);
|
|
108
|
+
const report = fetchedReport;
|
|
112
109
|
let groupedRows = {};
|
|
113
110
|
if (sectionField) {
|
|
114
111
|
groupedRows = (report?.rows || []).reduce((acc, row) => {
|
|
@@ -128,65 +125,99 @@ sectionField, } = {}) => {
|
|
|
128
125
|
let currentPage = {};
|
|
129
126
|
let currentCount = 0;
|
|
130
127
|
let pageNumber = 1;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
128
|
+
if (sectionField) {
|
|
129
|
+
// Iterate over each group of rows
|
|
130
|
+
for (const groupKey in groupedRows) {
|
|
131
|
+
// @ts-ignore
|
|
132
|
+
const rows = groupedRows[groupKey];
|
|
133
|
+
let groupIndex = 0;
|
|
134
|
+
while (groupIndex < rows.length) {
|
|
135
|
+
const remainingRows = rows.length - groupIndex;
|
|
136
|
+
const availableSpace = maximumRowsPerPage - currentCount;
|
|
137
|
+
const rowsToAdd = Math.min(remainingRows, availableSpace);
|
|
138
|
+
// @ts-ignore
|
|
139
|
+
currentPage[groupKey] = (currentPage[groupKey] || []).concat(rows.slice(groupIndex, groupIndex + rowsToAdd));
|
|
140
|
+
currentCount += rowsToAdd;
|
|
141
|
+
groupIndex += rowsToAdd;
|
|
142
|
+
if (currentCount === maximumRowsPerPage) {
|
|
143
|
+
if (Object.keys(currentPage).length > 0) {
|
|
144
|
+
pageNumber++;
|
|
145
|
+
const div = document.createElement('div');
|
|
146
|
+
const root = (0, client_1.createRoot)(div);
|
|
147
|
+
(0, react_dom_1.flushSync)(() => {
|
|
148
|
+
root.render((0, jsx_runtime_1.jsx)(CustomDocumentComponent, { report: {
|
|
149
|
+
// @ts-ignore
|
|
150
|
+
...report,
|
|
151
|
+
// @ts-ignore
|
|
152
|
+
sections: currentPage,
|
|
153
|
+
filters,
|
|
154
|
+
}, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
|
|
155
|
+
});
|
|
156
|
+
// const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
|
|
157
|
+
// htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
|
|
158
|
+
html += div.innerHTML;
|
|
159
|
+
currentPage = {};
|
|
160
|
+
currentCount = 0;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// Add the last page if it has remaining rows
|
|
166
|
+
if (Object.keys(currentPage).length > 0) {
|
|
167
|
+
pageNumber++;
|
|
168
|
+
const div = document.createElement('div');
|
|
169
|
+
const root = (0, client_1.createRoot)(div);
|
|
170
|
+
(0, react_dom_1.flushSync)(() => {
|
|
171
|
+
root.render((0, jsx_runtime_1.jsx)(CustomDocumentComponent, { report: {
|
|
172
|
+
// @ts-ignore
|
|
173
|
+
...report,
|
|
174
|
+
// @ts-ignore
|
|
175
|
+
sections: currentPage,
|
|
176
|
+
filters,
|
|
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;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
const rows = report.rows;
|
|
188
|
+
for (let i = 0; i < rows.length; i += maximumRowsPerPage) {
|
|
189
|
+
const remainingRows = rows.length - i * maximumRowsPerPage;
|
|
138
190
|
const availableSpace = maximumRowsPerPage - currentCount;
|
|
139
191
|
const rowsToAdd = Math.min(remainingRows, availableSpace);
|
|
140
|
-
// @ts-ignore
|
|
141
|
-
currentPage[groupKey] = (currentPage[groupKey] || []).concat(rows.slice(groupIndex, groupIndex + rowsToAdd));
|
|
142
192
|
currentCount += rowsToAdd;
|
|
143
|
-
groupIndex += rowsToAdd;
|
|
144
193
|
if (currentCount === maximumRowsPerPage) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
(0,
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
// @ts-ignore
|
|
157
|
-
dashboardFilters[report.dashboardName]).map((elem) => elem.filter),
|
|
158
|
-
}, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
|
|
159
|
-
});
|
|
160
|
-
// const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
|
|
161
|
-
// htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
|
|
162
|
-
html += div.innerHTML;
|
|
163
|
-
currentPage = {};
|
|
164
|
-
currentCount = 0;
|
|
165
|
-
}
|
|
194
|
+
pageNumber++;
|
|
195
|
+
const div = document.createElement('div');
|
|
196
|
+
const root = (0, client_1.createRoot)(div);
|
|
197
|
+
(0, react_dom_1.flushSync)(() => {
|
|
198
|
+
root.render((0, jsx_runtime_1.jsx)(CustomDocumentComponent, { report: report, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
|
|
199
|
+
});
|
|
200
|
+
// const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
|
|
201
|
+
// htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
|
|
202
|
+
html += div.innerHTML;
|
|
203
|
+
console.log('html', html);
|
|
204
|
+
currentCount = 0;
|
|
166
205
|
}
|
|
167
206
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
dashboardFilters[report.dashboardName]).map((elem) => elem.filter),
|
|
183
|
-
}, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
|
|
184
|
-
});
|
|
185
|
-
// const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
|
|
186
|
-
// htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
|
|
187
|
-
html += div.innerHTML;
|
|
188
|
-
currentPage = {};
|
|
189
|
-
currentCount = 0;
|
|
207
|
+
// Add the last page if it has remaining rows
|
|
208
|
+
if (currentCount < maximumRowsPerPage) {
|
|
209
|
+
pageNumber++;
|
|
210
|
+
const div = document.createElement('div');
|
|
211
|
+
const root = (0, client_1.createRoot)(div);
|
|
212
|
+
(0, react_dom_1.flushSync)(() => {
|
|
213
|
+
root.render((0, jsx_runtime_1.jsx)(CustomDocumentComponent, { report: report, pageNumber: pageNumber, numberOfPages: numberOfPages, maximumRowsPerPage: maximumRowsPerPage }));
|
|
214
|
+
});
|
|
215
|
+
// const divContentBuffer = Buffer.from(div.innerHTML, 'utf-8');
|
|
216
|
+
// htmlBuffer = Buffer.concat([htmlBuffer, divContentBuffer]);
|
|
217
|
+
html += div.innerHTML;
|
|
218
|
+
currentPage = {};
|
|
219
|
+
currentCount = 0;
|
|
220
|
+
}
|
|
190
221
|
}
|
|
191
222
|
const doc = new jspdf_1.default('landscape', 'pt', 'a4');
|
|
192
223
|
// 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;
|
|
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;CA+MvB,CAAC"}
|
|
@@ -13,17 +13,9 @@ const useQuill = (reportId, pagination) => {
|
|
|
13
13
|
const [dashboard] = (0, react_1.useContext)(Context_1.DashboardContext);
|
|
14
14
|
const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
|
|
15
15
|
const { reportFilters, reportFiltersDispatch } = (0, react_1.useContext)(Context_1.ReportFiltersContext);
|
|
16
|
-
const specificDashboardFilters = (0, react_1.useMemo)(() => {
|
|
17
|
-
if (!reportId)
|
|
18
|
-
return [];
|
|
19
|
-
const dashboardName = reports[reportId]?.dashboardName;
|
|
20
|
-
if (!dashboardName)
|
|
21
|
-
return [];
|
|
22
|
-
return Object.values(dashboardFilters[dashboardName] ?? {}).map((f) => f.filter);
|
|
23
|
-
}, [dashboardFilters, reportId, dashboard]);
|
|
24
16
|
const specificReportFilters = (0, react_1.useMemo)(() => {
|
|
25
17
|
if (!reportId)
|
|
26
|
-
return
|
|
18
|
+
return null;
|
|
27
19
|
return Object.values(reportFilters[reportId] ?? []).map((f) => f.filter);
|
|
28
20
|
}, [reportFilters, reportId]);
|
|
29
21
|
const [schemaData] = (0, react_1.useContext)(Context_1.SchemaDataContext);
|
|
@@ -33,7 +25,7 @@ const useQuill = (reportId, pagination) => {
|
|
|
33
25
|
const [previousPage, setPreviousPage] = (0, react_1.useState)(0);
|
|
34
26
|
const processedReport = (0, react_1.useMemo)(() => {
|
|
35
27
|
return reportId && (reports[reportId] || dashboard[reportId])
|
|
36
|
-
? (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(reports[reportId] || dashboard[reportId]), specificReportFilters)
|
|
28
|
+
? (0, report_1.convertInternalReportToReport)((0, merge_1.mergeComparisonRange)(reports[reportId] || dashboard[reportId]), specificReportFilters ?? [], 'useQuill')
|
|
37
29
|
: undefined;
|
|
38
30
|
}, [
|
|
39
31
|
reportId,
|
|
@@ -140,18 +132,9 @@ const useQuill = (reportId, pagination) => {
|
|
|
140
132
|
setLoading(false);
|
|
141
133
|
return;
|
|
142
134
|
}
|
|
143
|
-
if (specificDashboardFilters.length && !specificReportFilters.length) {
|
|
144
|
-
reportFiltersDispatch({
|
|
145
|
-
type: 'ADD_REPORT_FILTERS',
|
|
146
|
-
id: curReportId,
|
|
147
|
-
data: Object.values(dashboardFilters[curReportId] ?? []),
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
135
|
setLoading(true);
|
|
151
136
|
try {
|
|
152
|
-
fetchIndividualReport(curReportId, 'useQuill', true, specificReportFilters, [], additionalProcessing)
|
|
153
|
-
console.log('fetched report', reports[curReportId]);
|
|
154
|
-
});
|
|
137
|
+
await fetchIndividualReport(curReportId, 'useQuill', true, specificReportFilters || [], [], additionalProcessing);
|
|
155
138
|
}
|
|
156
139
|
catch (error) {
|
|
157
140
|
setError(error.message ?? 'Error fetching report');
|
|
@@ -161,15 +144,30 @@ const useQuill = (reportId, pagination) => {
|
|
|
161
144
|
}
|
|
162
145
|
};
|
|
163
146
|
(0, react_1.useEffect)(() => {
|
|
164
|
-
if (reportId) {
|
|
147
|
+
if (reportId && specificReportFilters) {
|
|
165
148
|
fetchReportHelper(reportId, {
|
|
166
149
|
page: pagination,
|
|
167
150
|
});
|
|
168
151
|
}
|
|
169
|
-
|
|
152
|
+
// if we don't have report filters, we need set those
|
|
153
|
+
if (reportId && !specificReportFilters) {
|
|
154
|
+
// should always resolve to some dashboard name given that spacificDashboardFilters is not empty
|
|
155
|
+
const dashboardName = reportId && reports[reportId]
|
|
156
|
+
? reports[reportId].dashboardName
|
|
157
|
+
: '';
|
|
158
|
+
reportFiltersDispatch({
|
|
159
|
+
type: 'ADD_REPORT_FILTERS',
|
|
160
|
+
id: reportId,
|
|
161
|
+
data: dashboardName
|
|
162
|
+
? Object.values(dashboardFilters[dashboardName] ?? {})
|
|
163
|
+
: [],
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
}, [reportId, specificReportFilters]);
|
|
170
167
|
return {
|
|
171
168
|
data: processedReport ?? null,
|
|
172
|
-
loading
|
|
169
|
+
// rows is undefined sometimes when loading is false ??? @sam
|
|
170
|
+
loading: !processedReport || !processedReport.rows || loading,
|
|
173
171
|
error,
|
|
174
172
|
fetchMore,
|
|
175
173
|
setSort,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FieldType, InternalFilter, DashboardFilter, DashboardDateFilter } from '../models/Filter';
|
|
1
|
+
import { FieldType, InternalFilter, DashboardFilter, DashboardDateFilter, Filter } from '../models/Filter';
|
|
2
2
|
import { QuillReport } from '../models/Report';
|
|
3
3
|
import { UniqueValuesByColumn } from '../models/Tables';
|
|
4
4
|
import { FilterTreeNode } from './astFilterProcessing';
|
|
@@ -28,6 +28,7 @@ export declare function buildQueryFromFilters(baseAst: any, filters: FilterTreeN
|
|
|
28
28
|
error?: string;
|
|
29
29
|
}>;
|
|
30
30
|
export declare function mergeCustomFilters(filters: DashboardFilter[], customFilters: InternalFilter[]): any[];
|
|
31
|
+
export declare function applyCustomFilterToDashDateFilter(customDateFilter: Filter, dashboardDateFilter: DashboardDateFilter): DashboardDateFilter;
|
|
31
32
|
export declare function filtersAreEquivalent(filters1?: InternalFilter[], filters2?: InternalFilter[]): boolean;
|
|
32
33
|
/**
|
|
33
34
|
* Helper function that converts a UniqueValuesByColumn interface to a string map
|
|
@@ -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,
|
|
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,EACnB,MAAM,EACP,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,iCAAiC,CAC/C,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAiBrB;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"}
|
|
@@ -9,6 +9,7 @@ exports.generateFilterStack = generateFilterStack;
|
|
|
9
9
|
exports.filterStackToFilterTree = filterStackToFilterTree;
|
|
10
10
|
exports.buildQueryFromFilters = buildQueryFromFilters;
|
|
11
11
|
exports.mergeCustomFilters = mergeCustomFilters;
|
|
12
|
+
exports.applyCustomFilterToDashDateFilter = applyCustomFilterToDashDateFilter;
|
|
12
13
|
exports.filtersAreEquivalent = filtersAreEquivalent;
|
|
13
14
|
exports.uniqueValuesToStringMap = uniqueValuesToStringMap;
|
|
14
15
|
const dateRangePickerUtils_1 = require("../DateRangePicker/dateRangePickerUtils");
|
|
@@ -378,6 +379,21 @@ function mergeCustomFilters(filters, customFilters) {
|
|
|
378
379
|
])
|
|
379
380
|
.concat(customWithoutDate);
|
|
380
381
|
}
|
|
382
|
+
function applyCustomFilterToDashDateFilter(customDateFilter, dashboardDateFilter) {
|
|
383
|
+
if (customDateFilter.value &&
|
|
384
|
+
typeof customDateFilter.value === 'object' &&
|
|
385
|
+
'startDate' in customDateFilter.value &&
|
|
386
|
+
'endDate' in customDateFilter.value) {
|
|
387
|
+
const startDate = customDateFilter.value.startDate;
|
|
388
|
+
const endDate = customDateFilter.value.endDate;
|
|
389
|
+
return {
|
|
390
|
+
...dashboardDateFilter,
|
|
391
|
+
startDate: new Date(startDate),
|
|
392
|
+
endDate: new Date(endDate),
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
return dashboardDateFilter;
|
|
396
|
+
}
|
|
381
397
|
function filtersAreEquivalent(filters1, filters2) {
|
|
382
398
|
if (!filters1 && !filters2) {
|
|
383
399
|
return true;
|
|
@@ -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,
|
|
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"}
|
|
@@ -191,11 +191,12 @@ function generateDistinctQuerySnowflake(stringFields, query) {
|
|
|
191
191
|
}
|
|
192
192
|
function generateMinMaxRangeQueries(columnFields, query, databaseType) {
|
|
193
193
|
const max = databaseType.toLowerCase() === 'snowflake' ? 'GREATEST' : 'MAX';
|
|
194
|
+
const min = databaseType.toLowerCase() === 'snowflake' ? 'LEAST' : 'MIN';
|
|
194
195
|
const distinctQueries = columnFields.map((field) => {
|
|
195
196
|
const wrappedField = ['postgresql'].includes(databaseType.toLowerCase())
|
|
196
197
|
? `"${field}"`
|
|
197
198
|
: field;
|
|
198
|
-
return `SELECT '${field}' AS field,
|
|
199
|
+
return `SELECT '${field}' AS field, ${min}(${wrappedField}) AS min_range, ${max}(${wrappedField}) AS max_range FROM querytable`;
|
|
199
200
|
});
|
|
200
201
|
const distinctQuery = distinctQueries.join(' UNION ALL ');
|
|
201
202
|
return `WITH querytable AS (${query.replace(';', '')}) ` + distinctQuery;
|
|
@@ -46,7 +46,7 @@ export declare function saveReport({ report, dashboardItemId, client, }: {
|
|
|
46
46
|
client: QuillProviderClient;
|
|
47
47
|
}): Promise<any>;
|
|
48
48
|
export declare const formatRowsFromReport: (report: any) => any;
|
|
49
|
-
export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: DashboardFilter[]): QuillReport;
|
|
49
|
+
export declare function convertInternalReportToReport(report: QuillReportInternal, dashboardFilters: DashboardFilter[], initiator?: string): QuillReport;
|
|
50
50
|
export declare const fetchReportBuilderDataFromAST: (baseAst: any, formData: any, schema: Table[], client: QuillProviderClient, pivot?: Pivot, previousFormData?: any, currentTable?: string, previousRelevant?: {
|
|
51
51
|
uniqueStrings: UniqueValuesByTable;
|
|
52
52
|
dateRanges: DateRangesByColumn;
|
|
@@ -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,eAAe,
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/utils/report.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/report.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.convertInternalReportToReport = convertInternalReportToReport;
|
|
|
10
10
|
const ChartBuilder_1 = require("../ChartBuilder");
|
|
11
11
|
const ast_1 = require("../components/ReportBuilder/ast");
|
|
12
12
|
const PivotModal_1 = require("../internals/ReportBuilder/PivotModal");
|
|
13
|
+
const Filter_1 = require("../models/Filter");
|
|
13
14
|
const astProcessing_1 = require("./astProcessing");
|
|
14
15
|
const columnProcessing_1 = require("./columnProcessing");
|
|
15
16
|
const dashboard_1 = require("./dashboard");
|
|
@@ -142,7 +143,7 @@ async function fetchReport(reportId, client, useReportTask = true, filters = [],
|
|
|
142
143
|
async function processReportResponse({ resp, client, filters, dateBucket, additionalProcessing, }) {
|
|
143
144
|
const dashboardItem = {
|
|
144
145
|
...resp,
|
|
145
|
-
filtersApplied: filters,
|
|
146
|
+
filtersApplied: filters?.filter((filter) => filter.filterType in Filter_1.FilterType),
|
|
146
147
|
};
|
|
147
148
|
if (resp.errorMessage) {
|
|
148
149
|
throw new error_1.DataLoadError(resp?.errorMessage, {
|
|
@@ -159,10 +160,7 @@ async function processReportResponse({ resp, client, filters, dateBucket, additi
|
|
|
159
160
|
(0, dataProcessing_1.parseValueFromBigQueryDates)(dashboardItem.compareRows, resp.fields);
|
|
160
161
|
}
|
|
161
162
|
}
|
|
162
|
-
console.log('dashboardItem', dashboardItem);
|
|
163
|
-
console.log('filters', filters);
|
|
164
163
|
const reportInfo = await (0, dashboard_1.cleanDashboardItem)(dashboardItem, filters, client, dateBucket);
|
|
165
|
-
console.log('reportInfo', reportInfo);
|
|
166
164
|
if (additionalProcessing) {
|
|
167
165
|
reportInfo.pagination = additionalProcessing.page;
|
|
168
166
|
reportInfo.sort = additionalProcessing.sort;
|
|
@@ -284,7 +282,7 @@ const formatRowsFromReport = (report) => {
|
|
|
284
282
|
});
|
|
285
283
|
};
|
|
286
284
|
exports.formatRowsFromReport = formatRowsFromReport;
|
|
287
|
-
function convertInternalReportToReport(report, dashboardFilters) {
|
|
285
|
+
function convertInternalReportToReport(report, dashboardFilters, initiator) {
|
|
288
286
|
try {
|
|
289
287
|
if (!report) {
|
|
290
288
|
return exports.EMPTY_REPORT;
|
|
@@ -292,7 +290,9 @@ function convertInternalReportToReport(report, dashboardFilters) {
|
|
|
292
290
|
const formattedReport = {
|
|
293
291
|
...report,
|
|
294
292
|
};
|
|
295
|
-
if (formattedReport.pivot &&
|
|
293
|
+
if (formattedReport.pivot &&
|
|
294
|
+
(0, pivotProcessing_1.isValidPivot)(formattedReport.pivot) &&
|
|
295
|
+
initiator !== 'useQuill') {
|
|
296
296
|
let columns = report.pivotColumns ?? report.columns;
|
|
297
297
|
let rows = report.pivotRows ?? report.rows;
|
|
298
298
|
if (report.chartType === 'table') {
|
package/dist/esm/Chart.d.ts
CHANGED
|
@@ -204,7 +204,7 @@ export interface ChartProps {
|
|
|
204
204
|
/** An override for the pivot date bucketing. */
|
|
205
205
|
dateBucket?: string;
|
|
206
206
|
}
|
|
207
|
-
export default function Chart({ colors, reportId, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter, mapColorsToFields, LoadingComponent, TableComponent, MetricComponent, filters, onClickChartElement, dateBucket, }: ChartProps): import("react/jsx-runtime").JSX.Element;
|
|
207
|
+
export default function Chart({ colors, reportId, className, containerStyle, isAnimationActive, hideXAxis, hideYAxis, hideCartesianGrid, hideHorizontalCartesianGrid, hideVerticalCartesianGrid, hideSubsequentXAxisTicks, cartesianGridLineStyle, cartesianGridLineColor, comparisonLineStyle, hideDateRangeFilter, hideFilters, mapColorsToFields, LoadingComponent, SelectComponent, MultiSelectComponent, DateRangePickerComponent, FilterContainerComponent, TableComponent, MetricComponent, filters, onClickChartElement, dateBucket, }: ChartProps): import("react/jsx-runtime").JSX.Element;
|
|
208
208
|
interface ChartDisplayProps extends WithConfig {
|
|
209
209
|
loading: boolean;
|
|
210
210
|
ErrorComponent?: ({ errorMessage }: {
|
package/dist/esm/Chart.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Chart.d.ts","sourceRoot":"","sources":["../../src/Chart.tsx"],"names":[],"mappings":"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"}
|