Skip to content

Commit fc1111d

Browse files
committed
fix(Export): Use IIFE instead of changing base method signature.
1 parent e52166d commit fc1111d

File tree

3 files changed

+29
-29
lines changed

3 files changed

+29
-29
lines changed

projects/igniteui-angular/grids/core/src/services/excel/excel-exporter-grid.spec.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,14 @@ describe('Excel Exporter', () => {
9090
}).compileComponents();
9191
}));
9292

93-
beforeEach(waitForAsync(() => {
93+
beforeEach(async () => {
9494
exporter = new IgxExcelExporterService();
9595
actualData = new FileContentData();
96+
await import('fflate');
9697

9798
// Spy the saveBlobToFile method so the files are not really created
9899
spyOn(ExportUtilities as any, 'saveBlobToFile');
99-
}));
100+
});
100101

101102
afterEach(waitForAsync(() => {
102103
exporter.columnExporting.unsubscribe();
@@ -530,9 +531,6 @@ describe('Excel Exporter', () => {
530531
const sortField = grid.sortingExpressions[0].fieldName;
531532
fix.detectChanges();
532533

533-
await getExportedData(grid, options);
534-
fix.detectChanges();
535-
536534
await getExportedData(grid, options);
537535
const sortFieldAfterExport = grid.sortingExpressions[0].fieldName;
538536
expect(sortField).toBe(sortFieldAfterExport);

projects/igniteui-angular/grids/core/src/services/excel/excel-exporter.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ describe('Excel Exporter', () => {
1212
let options: IgxExcelExporterOptions;
1313
let actualData: FileContentData;
1414

15-
beforeEach(() => {
15+
beforeEach(async () => {
1616
exporter = new IgxExcelExporterService();
1717
actualData = new FileContentData();
1818
options = new IgxExcelExporterOptions('ExcelExport');
19-
19+
await import('fflate');
2020
// Spy the saveBlobToFile method so the files are not really created
2121
spyOn(ExportUtilities, 'saveBlobToFile');
2222
});

projects/igniteui-angular/grids/core/src/services/excel/excel-exporter.ts

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export class IgxExcelExporterService extends IgxBaseExporter {
7171
}
7272
}
7373

74-
protected async exportDataImplementation(data: IExportRecord[], options: IgxExcelExporterOptions, done: () => void) {
74+
protected exportDataImplementation(data: IExportRecord[], options: IgxExcelExporterOptions, done: () => void): void {
7575
const firstDataElement = data[0];
7676
const isHierarchicalGrid = firstDataElement?.type === ExportRecordType.HierarchicalGridRecord;
7777
const isPivotGrid = firstDataElement?.type === ExportRecordType.PivotGridRecord;
@@ -133,29 +133,31 @@ export class IgxExcelExporterService extends IgxBaseExporter {
133133

134134
const rootFolder = ExcelElementsFactory.getExcelFolder(ExcelFolderTypes.RootExcelFolder);
135135
const fileData = {};
136-
try {
137-
await IgxExcelExporterService.populateZipFileConfig(fileData, rootFolder, worksheetData);
138-
139-
// Dynamically import fflate to reduce initial bundle size
140-
const { zip } = await import('fflate');
141-
142-
await new Promise<void>((resolve, reject) => {
143-
zip(fileData, (error, result) => {
144-
if (error) {
145-
reject(error);
146-
return;
147-
}
148-
this.saveFile(result, options.fileName);
149-
this.exportEnded.emit({ xlsx: fileData });
150-
resolve();
136+
(async () => {
137+
try {
138+
await IgxExcelExporterService.populateZipFileConfig(fileData, rootFolder, worksheetData);
139+
140+
// Dynamically import fflate to reduce initial bundle size
141+
const { zip } = await import('fflate');
142+
143+
await new Promise<void>((resolve, reject) => {
144+
zip(fileData, (error, result) => {
145+
if (error) {
146+
reject(error);
147+
return;
148+
}
149+
this.saveFile(result, options.fileName);
150+
this.exportEnded.emit({ xlsx: fileData });
151+
resolve();
152+
});
151153
});
152-
});
153154

154-
done();
155-
} catch (error) {
156-
console.error('Excel export failed:', error);
157-
done();
158-
}
155+
done();
156+
} catch (error) {
157+
console.error('Excel export failed:', error);
158+
done();
159+
}
160+
})();
159161
}
160162

161163
private saveFile(data: Uint8Array, fileName: string): void {

0 commit comments

Comments
 (0)