In my Angular-14, I have a file to upload to Excel from DB.
isApproved is either 0 or 1, so I have toTruePipe for it.
Also projectStatus is any of 0 or 1 or 2, so I have projectStatusPipe for it.
ProjectStatus Pipe:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'projectStatus'
})
export class ProjectStatusPipe implements PipeTransform {
transform(value: number): string {
if (value == 0) {
return 'Pending';
}
if (value == 1) {
return 'Failed';
}
if (value == 2) {
return 'Processed';
}
return 'Processed';
}
}
ToTrue Pipe:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'toTrue'
})
export class ToTruePipe implements PipeTransform {
transform(value: any): string {
switch (value) {
case true:
case 'true':
case 1:
case '1':
return "True";
default:
return "False";
}
}
}
Then I have this typescript for the excel download.
component.ts:
import { DatePipe, CurrencyPipe } from '@angular/common';
import { Router, ActivatedRoute } from '@angular/router';
import { ToTruePipe } from 'src/app/shared/pipes/to-true.pipe';
import { ProjectStatusPipe } from 'src/app/shared/pipes/project-status-pipe.pipe';
constructor(
private projectService: ProjectService,
private excelService: ExcelExportService,
private datePipe: DatePipe,
private currencyPipe: CurrencyPipe,
private toTruePipe: ToTruePipe,
private projectStatusPipe: ProjectStatusPipe
) {
}
exportExcel() {
const newProjectList = this.allProjectList.map((e) => {
return {
referenceNumber: e.referenceNumber,
startDate: this.datePipe.transform(e.startDate, 'dd-MMM-yyyy'),
endDate: this.datePipe.transform(e.mandate.endDate, 'dd-MMM-yyyy'),
amount: this.currencyPipe.transform(e.amount, ' N'),
isApproved: e.isApproved,
projectStatus: e.projectStatus
};
});
this.excelService.exportAsExcelFile(
'Projectss List Report',
'Printed Date : ' + this.datePipe.transform(new Date(), 'medium'),
'',
this.excelHeaderColumns,
newProjectList,
'projects-list-report',
'Sheet1'
);
}
The project is that in the Excel, isApproved appeared as 0 or 1, while the projectStatus appeared as 0 or 1 or 2.
How do I apply the custom pipes (toTruePipe for isApproved and projectStatusPipe for projectStatus) to them as in datePipe and currencyPipe?
Thanks