-
-
Notifications
You must be signed in to change notification settings - Fork 637
Open
Labels
Description
This is my code:
exportAsPdf(tableName: string, columns: any, exportData: any, minimal?: boolean) {
const doc = new jsPDF('l', 'mm', [minimal ? 600 : 297, 210]);
const columnStyles = {};
columns.forEach(column => {
column.dataKey = column.field;
columnStyles[column.dataKey] = { minCellWidth: 20 };
});
autoTable(doc, {
columns,
body: exportData,
theme: 'grid',
columnStyles
});
doc.save(tableName + '_' + new Date().getTime() + '.pdf');
this.globalService.addFileToExportQueue('remove', tableName);
}
Versions
"@angular/core": "^14.2.0",
"jspdf": "^2.3.1",
"jspdf-autotable": "^3.5.14",
So when i have a lot of data, the autoTable function just blocks my main thread and my app freezes. This is a use case for us and we need some way to handle it.
Web workers are not an easy option for us because of this:
microsoft/TypeScript#20595 (comment)
Is there any way to make the job be async or chunkable? I need a way for it not to freeze the whole app.
Thank you