$pagination-contentSaveAs
by mtambulut
HTML
const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
const EXCEL_EXTENSION = '.xlsx';
@Injectable()
export class ExcelExportService {
constructor() { }
public exportAsExcelFile(json: any[], excelFileName: string): void {
const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);
const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };
const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
this.saveAsExcelFile(excelBuffer, excelFileName);
}
private saveAsExcelFile(buffer: any, fileName: string): void {
const data: Blob = new Blob([buffer], {type: EXCEL_TYPE});
FileSaver.saveAs(data, fileName.concat(EXCEL_EXTENSION));
}
}
////////////////////////
saveImage(content, fileName): void {
const imageData = content as string;
const buffer = new Base64().toUtf8Uint8Array(imageData.split(',')[1]);
const data = new Blob([buffer], { type: 'image/jpeg' });
FileSaver.saveAs(data, fileName);
}
savePDF(content, fileName): void {
const pdfData = content as string;
const buffer = new Base64().toUtf8Uint8Array(pdfData);
const data = new Blob([buffer], { type: 'application/pdf' });
FileSaver.saveAs(data, fileName);
}
saveAll(content, fileName, type): void {
const pdfData = content as string;
const buffer = new Base64().toUtf8Uint8Array(pdfData);
const data = new Blob([buffer], { type: type });
FileSaver.saveAs(data, fileName);
}
JavaScript
@HostListener('window:scroll', ['$event'])
onPopState(event) {
this.onLoadMoreTransactions(event);
}
//Scroll En Alta geldıgını anlıyor
public onLoadMoreTransactions(event) {
if (window.pageYOffset > (document.body.offsetHeight - window.innerHeight) * .95 || event == 'forced') {
this.getContractsFromById(this.selectKey);
}
}
// goToDoc() {
// this.setPhase(this.Phases.Approve)
// }
// reloadData(data) {
// this.contractsFormsData = data;
// }
// outPopup() {
// this.showDocument = false;
// }
getSpecDoc(documentId) {
debugger;
const contract = this.profileDocumentsService.getSelectDocument(documentId).subscribe(
response => {
debugger;
if (response && response.data) {
const data = response.data;
this.saveAll(data.Content, data.Name, data.MimeType);
// this.specData = response.data;
// this.specDoc = new Base64().decode(response.data.Content);
}
this.isLoading = false;
}, error => {
this.isLoading = false;
debugger;
// this.transactionResponseCode = error.code;
// this.transactionResultData = error.data;
});
//this.subscriptionManager.add(contract);
//this.fireSuccessEvent.emit(event);
}
public getContractsFromById(key) {
debugger;
let model = this.filterEditModel;
if(this.selectKey !== key){
this.selectContractDocument = [];
this.selectKey = key;
this.filterEditModel.isNextPageAvailable = true;
this.filterEditModel.pageIndex = 1;
}else{
this.filterEditModel.pageIndex++;
}
if (this.filterEditModel.isNextPageAvailable) {
console.log(this.filterEditModel.pageIndex);
const docSub = this.profileDocumentsService.getDocumentList(key, model.fromDate, model.toDate, model.pageIndex,...