ang-json2excel-btn
Version:
Angular library component to export JSON data to Excel file
66 lines • 5.73 kB
JavaScript
import { Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./ang-json2excel-btn.service";
export class AngJson2excelBtn {
// Getters and Setters
get btnText() {
return this._btnText;
}
set btnText(value) {
this._btnText = value;
}
get fileName() {
return this._fileName;
}
set fileName(value) {
this._fileName = value;
}
get json() {
return this._json;
}
set json(value) {
this._json = value;
}
constructor(angJson2excelBtnService) {
this.angJson2excelBtnService = angJson2excelBtnService;
this._btnText = 'Export to Excel';
this._fileName = 'export';
this._json = null;
}
json2ExcelInit() {
if (this._json.length) {
this.angJson2excelBtnService.exportToExcel(this._json, this._fileName);
}
else {
console.error('No data to export');
}
}
ngOnInit() { }
}
AngJson2excelBtn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtn, deps: [{ token: i1.AngJson2excelBtnService }], target: i0.ɵɵFactoryTarget.Component });
AngJson2excelBtn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: AngJson2excelBtn, selector: "ang-json2excel-btn", inputs: { btnText: "btnText", fileName: "fileName", json: "json" }, ngImport: i0, template: `
<button
(click)="json2ExcelInit()"
class="ang-json2excel-btn"
>
{{ _btnText }}
</button>
`, isInline: true, styles: [""] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: AngJson2excelBtn, decorators: [{
type: Component,
args: [{ selector: 'ang-json2excel-btn', template: `
<button
(click)="json2ExcelInit()"
class="ang-json2excel-btn"
>
{{ _btnText }}
</button>
` }]
}], ctorParameters: function () { return [{ type: i1.AngJson2excelBtnService }]; }, propDecorators: { btnText: [{
type: Input
}], fileName: [{
type: Input
}], json: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5nLWpzb24yZXhjZWwtYnRuLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZy1qc29uMmV4Y2VsLWJ0bi9zcmMvbGliL2FuZy1qc29uMmV4Y2VsLWJ0bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQWtCakQsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixzQkFBc0I7SUFDdEIsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUNJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ0ksUUFBUSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBR0QsWUFBb0IsdUJBQWdEO1FBQWhELDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUE3QnBFLGFBQVEsR0FBVyxpQkFBaUIsQ0FBQztRQUNyQyxjQUFTLEdBQVcsUUFBUSxDQUFDO1FBQzdCLFVBQUssR0FBUSxJQUFJLENBQUM7SUEyQnFELENBQUM7SUFFeEUsY0FBYztRQUNaLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDckIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUN4RTthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUNELFFBQVEsS0FBVSxDQUFDOzs2R0F2Q1IsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsOEhBZGpCOzs7Ozs7O0dBT1Q7MkZBT1UsZ0JBQWdCO2tCQWhCNUIsU0FBUzsrQkFDRSxvQkFBb0IsWUFDcEI7Ozs7Ozs7R0FPVDs4R0FrQkcsT0FBTztzQkFEVixLQUFLO2dCQVFGLFFBQVE7c0JBRFgsS0FBSztnQkFRRixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5nSnNvbjJleGNlbEJ0blNlcnZpY2UgfSBmcm9tICcuL2FuZy1qc29uMmV4Y2VsLWJ0bi5zZXJ2aWNlJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FuZy1qc29uMmV4Y2VsLWJ0bicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgKGNsaWNrKT1cImpzb24yRXhjZWxJbml0KClcIlxuICAgICAgY2xhc3M9XCJhbmctanNvbjJleGNlbC1idG5cIlxuICAgID5cbiAgICAgIHt7IF9idG5UZXh0IH19XG4gICAgPC9idXR0b24+XG4gIGAsXG4gIC8vIGdldCBzdHlsZXMgZnJvbSBfYnRuQ2xhc3NcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgIGAsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFuZ0pzb24yZXhjZWxCdG4ge1xuICBfYnRuVGV4dDogc3RyaW5nID0gJ0V4cG9ydCB0byBFeGNlbCc7XG4gIF9maWxlTmFtZTogc3RyaW5nID0gJ2V4cG9ydCc7XG4gIF9qc29uOiBhbnkgPSBudWxsO1xuXG5cbiAgLy8gR2V0dGVycyBhbmQgU2V0dGVyc1xuICBnZXQgYnRuVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9idG5UZXh0O1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBidG5UZXh0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9idG5UZXh0ID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGZpbGVOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbGVOYW1lO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBmaWxlTmFtZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZmlsZU5hbWUgPSB2YWx1ZTtcbiAgfVxuICBnZXQganNvbigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9qc29uO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBqc29uKHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9qc29uID0gdmFsdWU7XG4gIH1cblxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5nSnNvbjJleGNlbEJ0blNlcnZpY2U6IEFuZ0pzb24yZXhjZWxCdG5TZXJ2aWNlKSB7fVxuXG4gIGpzb24yRXhjZWxJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9qc29uLmxlbmd0aCkge1xuICAgICAgdGhpcy5hbmdKc29uMmV4Y2VsQnRuU2VydmljZS5leHBvcnRUb0V4Y2VsKHRoaXMuX2pzb24sIHRoaXMuX2ZpbGVOYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignTm8gZGF0YSB0byBleHBvcnQnKTtcbiAgICB9XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7fVxufVxuXG4iXX0=