ngx-wapp-components 1.34.36 → 1.34.38

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,78 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as XLSX from 'xlsx';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../button/w-button/w-button.component";
5
+ var FileType;
6
+ (function (FileType) {
7
+ FileType["TXT"] = "txt";
8
+ FileType["PDF"] = "pdf";
9
+ FileType["DOCX"] = "docx";
10
+ FileType["XLSX"] = "xlsx";
11
+ })(FileType || (FileType = {}));
12
+ export class WFileGeneratorComponent {
13
+ constructor() {
14
+ this.label = 'Generate File';
15
+ this.icon = "";
16
+ this.fileType = FileType.XLSX;
17
+ this.fileName = 'file';
18
+ this.generating = false;
19
+ }
20
+ ngOnInit() { }
21
+ generateFile() {
22
+ if (this.fileData) {
23
+ this.generating = true;
24
+ switch (this.fileType) {
25
+ case FileType.TXT:
26
+ break;
27
+ case FileType.PDF:
28
+ break;
29
+ case FileType.DOCX:
30
+ break;
31
+ case FileType.XLSX:
32
+ this.generateXLSXFile();
33
+ break;
34
+ }
35
+ }
36
+ }
37
+ generateXLSXFile() {
38
+ if (Array.isArray(this.fileData)) {
39
+ const worksheet = XLSX.utils.json_to_sheet(this.fileData);
40
+ const workbook = {
41
+ Sheets: { 'Datos': worksheet },
42
+ SheetNames: ['Datos']
43
+ };
44
+ XLSX.writeFile(workbook, `${this.getExcelFileName()}`);
45
+ this.generating = false;
46
+ }
47
+ }
48
+ allowFileGeneration() {
49
+ return this.fileData && (Array.isArray(this.fileData) ? this.fileData.length > 0 : true);
50
+ }
51
+ getExcelFileName() {
52
+ return `${this.getDate()}_${this.fileName}.xlsx`;
53
+ }
54
+ getDate() {
55
+ const date = new Date();
56
+ const year = date.getFullYear().toString();
57
+ const month = String(date.getMonth() + 1).padStart(2, '0');
58
+ const day = String(date.getDate()).padStart(2, '0');
59
+ return `${year}${month}${day}`;
60
+ }
61
+ }
62
+ WFileGeneratorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WFileGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
63
+ WFileGeneratorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: WFileGeneratorComponent, selector: "w-file-generator", inputs: { label: "label", icon: "icon", fileType: "fileType", fileData: "fileData", fileName: "fileName" }, ngImport: i0, template: "<w-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"generateFile()\" [loading]=\"generating\" [disabled]=\"!allowFileGeneration()\"></w-button>", styles: [""], dependencies: [{ kind: "component", type: i1.WButtonComponent, selector: "w-button", inputs: ["type", "label", "size", "icon", "iconPos", "tooltipPosition", "tooltip", "disabled", "loading", "buttonClass"], outputs: ["onClick"] }] });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: WFileGeneratorComponent, decorators: [{
65
+ type: Component,
66
+ args: [{ selector: 'w-file-generator', template: "<w-button [label]=\"label\" [icon]=\"icon\" (onClick)=\"generateFile()\" [loading]=\"generating\" [disabled]=\"!allowFileGeneration()\"></w-button>" }]
67
+ }], ctorParameters: function () { return []; }, propDecorators: { label: [{
68
+ type: Input
69
+ }], icon: [{
70
+ type: Input
71
+ }], fileType: [{
72
+ type: Input
73
+ }], fileData: [{
74
+ type: Input
75
+ }], fileName: [{
76
+ type: Input
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidy1maWxlLWdlbmVyYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlL3ctZmlsZS1nZW5lcmF0b3Ivdy1maWxlLWdlbmVyYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93YXBwLWNvbXBvbmVudHMvc3JjL2xpYi9maWxlL3ctZmlsZS1nZW5lcmF0b3Ivdy1maWxlLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7OztBQUU3QixJQUFLLFFBS0o7QUFMRCxXQUFLLFFBQVE7SUFDWCx1QkFBVyxDQUFBO0lBQ1gsdUJBQVcsQ0FBQTtJQUNYLHlCQUFhLENBQUE7SUFDYix5QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUxJLFFBQVEsS0FBUixRQUFRLFFBS1o7QUFRRCxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDO1FBUlMsVUFBSyxHQUFXLGVBQWUsQ0FBQztRQUNoQyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLGFBQVEsR0FBYSxRQUFRLENBQUMsSUFBSSxDQUFDO1FBRW5DLGFBQVEsR0FBVyxNQUFNLENBQUM7UUFFbkMsZUFBVSxHQUFZLEtBQUssQ0FBQztJQUVaLENBQUM7SUFFakIsUUFBUSxLQUFXLENBQUM7SUFFcEIsWUFBWTtRQUNWLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixRQUFPLElBQUksQ0FBQyxRQUFRLEVBQUM7Z0JBQ25CLEtBQUssUUFBUSxDQUFDLEdBQUc7b0JBQ2YsTUFBTTtnQkFDUixLQUFLLFFBQVEsQ0FBQyxHQUFHO29CQUNmLE1BQU07Z0JBQ1IsS0FBSyxRQUFRLENBQUMsSUFBSTtvQkFDaEIsTUFBTTtnQkFDUixLQUFLLFFBQVEsQ0FBQyxJQUFJO29CQUNoQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztvQkFDeEIsTUFBTTthQUNUO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQztZQUM5QixNQUFNLFNBQVMsR0FBbUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sUUFBUSxHQUFrQjtnQkFDOUIsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtnQkFDOUIsVUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDO2FBQ3RCLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsT0FBTyxDQUFDO0lBQ25ELENBQUM7SUFFRCxPQUFPO1FBQ0wsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0MsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzNELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXBELE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEdBQUcsRUFBRSxDQUFDO0lBQ2pDLENBQUM7O29IQXpEVSx1QkFBdUI7d0dBQXZCLHVCQUF1QixvS0NoQnBDLHFKQUF5STsyRkRnQjVILHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSxrQkFBa0I7MEVBTW5CLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5cclxuZW51bSBGaWxlVHlwZSB7XHJcbiAgVFhUID0gJ3R4dCcsXHJcbiAgUERGID0gJ3BkZicsXHJcbiAgRE9DWCA9ICdkb2N4JyxcclxuICBYTFNYID0gJ3hsc3gnLFxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3ctZmlsZS1nZW5lcmF0b3InLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93LWZpbGUtZ2VuZXJhdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93LWZpbGUtZ2VuZXJhdG9yLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFdGaWxlR2VuZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ0dlbmVyYXRlIEZpbGUnOyBcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgPSBcIlwiOyBcclxuICBASW5wdXQoKSBmaWxlVHlwZTogRmlsZVR5cGUgPSBGaWxlVHlwZS5YTFNYO1xyXG4gIEBJbnB1dCgpIGZpbGVEYXRhOiBhbnk7XHJcbiAgQElucHV0KCkgZmlsZU5hbWU6IHN0cmluZyA9ICdmaWxlJztcclxuXHJcbiAgZ2VuZXJhdGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHsgfVxyXG5cclxuICBnZW5lcmF0ZUZpbGUoKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmZpbGVEYXRhKSB7IFxyXG4gICAgICB0aGlzLmdlbmVyYXRpbmcgPSB0cnVlO1xyXG4gICAgICBzd2l0Y2godGhpcy5maWxlVHlwZSl7XHJcbiAgICAgICAgY2FzZSBGaWxlVHlwZS5UWFQ6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIEZpbGVUeXBlLlBERjpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmlsZVR5cGUuRE9DWDpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgRmlsZVR5cGUuWExTWDpcclxuICAgICAgICAgIHRoaXMuZ2VuZXJhdGVYTFNYRmlsZSgpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdlbmVyYXRlWExTWEZpbGUoKTogdm9pZCB7XHJcbiAgICBpZihBcnJheS5pc0FycmF5KHRoaXMuZmlsZURhdGEpKXtcclxuICAgICAgY29uc3Qgd29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldCh0aGlzLmZpbGVEYXRhKTtcclxuICAgICAgY29uc3Qgd29ya2Jvb2s6IFhMU1guV29ya0Jvb2sgPSB7XHJcbiAgICAgICAgU2hlZXRzOiB7ICdEYXRvcyc6IHdvcmtzaGVldCB9LFxyXG4gICAgICAgIFNoZWV0TmFtZXM6IFsnRGF0b3MnXVxyXG4gICAgICB9O1xyXG4gICAgICBYTFNYLndyaXRlRmlsZSh3b3JrYm9vaywgYCR7dGhpcy5nZXRFeGNlbEZpbGVOYW1lKCl9YCk7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWxsb3dGaWxlR2VuZXJhdGlvbigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmZpbGVEYXRhICYmIChBcnJheS5pc0FycmF5KHRoaXMuZmlsZURhdGEpID8gdGhpcy5maWxlRGF0YS5sZW5ndGggPiAwIDogdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBnZXRFeGNlbEZpbGVOYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5nZXREYXRlKCl9XyR7dGhpcy5maWxlTmFtZX0ueGxzeGA7XHJcbiAgfVxyXG4gIFxyXG4gIGdldERhdGUoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG4gICAgY29uc3QgbW9udGggPSBTdHJpbmcoZGF0ZS5nZXRNb250aCgpICsgMSkucGFkU3RhcnQoMiwgJzAnKTtcclxuICAgIGNvbnN0IGRheSA9IFN0cmluZyhkYXRlLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKTtcclxuXHJcbiAgICByZXR1cm4gYCR7eWVhcn0ke21vbnRofSR7ZGF5fWA7XHJcbiAgfVxyXG59XHJcbiIsIjx3LWJ1dHRvbiBbbGFiZWxdPVwibGFiZWxcIiBbaWNvbl09XCJpY29uXCIgKG9uQ2xpY2spPVwiZ2VuZXJhdGVGaWxlKClcIiBbbG9hZGluZ109XCJnZW5lcmF0aW5nXCIgW2Rpc2FibGVkXT1cIiFhbGxvd0ZpbGVHZW5lcmF0aW9uKClcIj48L3ctYnV0dG9uPiJdfQ==