@porscheinformatik/material-addons 17.0.2 → 17.0.3
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.
- package/esm2022/lib/file-upload/file-upload.component.mjs +9 -3
- package/fesm2022/porscheinformatik-material-addons.mjs +8 -2
- package/fesm2022/porscheinformatik-material-addons.mjs.map +1 -1
- package/lib/file-upload/file-upload.component.d.ts +4 -2
- package/lib/file-upload/file-upload.component.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -17,8 +17,14 @@ export class FileUploadComponent {
|
|
|
17
17
|
this.fileEmitter = new EventEmitter();
|
|
18
18
|
this.errorEmitter = new EventEmitter();
|
|
19
19
|
this.fileList = [];
|
|
20
|
+
this.acceptForInput = [];
|
|
20
21
|
this.uploadError = false;
|
|
21
22
|
}
|
|
23
|
+
ngOnInit() {
|
|
24
|
+
if (this.accept?.length) {
|
|
25
|
+
this.accept.forEach(accepted => this.acceptForInput.push(`.${accepted}`));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
22
28
|
uploadFile(fileList) {
|
|
23
29
|
if (!this.multiple && (fileList.length > 1 || this.fileList.length === 1)) {
|
|
24
30
|
this.errorEmitter.emit("ONLY_SINGLE_FILE");
|
|
@@ -49,11 +55,11 @@ export class FileUploadComponent {
|
|
|
49
55
|
window.open(window.URL.createObjectURL(file));
|
|
50
56
|
}
|
|
51
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FileUploadComponent, isStandalone: true, selector: "mad-file-upload", inputs: { id: "id", multiple: "multiple", accept: "accept", text: "text", showFileList: "showFileList" }, outputs: { fileEmitter: "fileEmitter", errorEmitter: "errorEmitter" }, ngImport: i0, template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FileUploadComponent, isStandalone: true, selector: "mad-file-upload", inputs: { id: "id", multiple: "multiple", accept: "accept", text: "text", showFileList: "showFileList" }, outputs: { fileEmitter: "fileEmitter", errorEmitter: "errorEmitter" }, ngImport: i0, template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"acceptForInput\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: DragAndDropDirectiveDirective, selector: "[madDragAndDrop]", outputs: ["onFileDropped"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }] }); }
|
|
53
59
|
}
|
|
54
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
55
61
|
type: Component,
|
|
56
|
-
args: [{ selector: 'mad-file-upload', standalone: true, imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, TranslateModule, DragAndDropDirectiveDirective, MatChipsModule], template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"
|
|
62
|
+
args: [{ selector: 'mad-file-upload', standalone: true, imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, TranslateModule, DragAndDropDirectiveDirective, MatChipsModule], template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"acceptForInput\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"] }]
|
|
57
63
|
}], propDecorators: { id: [{
|
|
58
64
|
type: Input
|
|
59
65
|
}], multiple: [{
|
|
@@ -69,4 +75,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
|
|
|
69
75
|
}], errorEmitter: [{
|
|
70
76
|
type: Output
|
|
71
77
|
}] } });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0ZXJpYWwtYWRkb25zL3NyYy9saWIvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7O0FBV3ZELE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFhVyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM3QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDM0MsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBZSxDQUFDO1FBRXpELGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDdEIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7S0F1Q3RDO0lBckNDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxN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LE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdENhcmRNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jYXJkXCI7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pY29uXCI7XG5pbXBvcnQge1RyYW5zbGF0ZU1vZHVsZX0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7QnV0dG9uTW9kdWxlfSBmcm9tIFwiLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGVcIjtcbmltcG9ydCB7RHJhZ0FuZERyb3BEaXJlY3RpdmVEaXJlY3RpdmV9IGZyb20gXCIuL2RyYWctYW5kLWRyb3AtZGlyZWN0aXZlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHtNYXRDaGlwc01vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoaXBzXCI7XG5cbmV4cG9ydCB0eXBlIFVwbG9hZEVycm9yID0gXCJPTkxZX1NJTkdMRV9GSUxFXCIgfCBcIkZJTEVUWVBFX05PVF9TVVBQT1JURURcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWFkLWZpbGUtdXBsb2FkJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0Q2FyZE1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgQnV0dG9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIERyYWdBbmREcm9wRGlyZWN0aXZlRGlyZWN0aXZlLCBNYXRDaGlwc01vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBASW5wdXQoKSBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBtdWx0aXBsZTogYm9vbGVhbjtcbiAgQElucHV0KCkgYWNjZXB0OiBzdHJpbmdbXTtcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xuICBASW5wdXQoKSBzaG93RmlsZUxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQE91dHB1dCgpIGZpbGVFbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlTGlzdD4oKTtcbiAgQE91dHB1dCgpIGVycm9yRW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8VXBsb2FkRXJyb3I+KCk7XG5cbiAgZmlsZUxpc3Q6IEZpbGVbXSA9IFtdO1xuICBhY2NlcHRGb3JJbnB1dDogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSB1cGxvYWRFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjY2VwdD8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFjY2VwdC5mb3JFYWNoKGFjY2VwdGVkID0+IHRoaXMuYWNjZXB0Rm9ySW5wdXQucHVzaChgLiR7YWNjZXB0ZWR9YCkpO1xuICAgIH1cbiAgfVxuXG4gIHVwbG9hZEZpbGUoZmlsZUxpc3Q6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIChmaWxlTGlzdC5sZW5ndGggPiAxIHx8IHRoaXMuZmlsZUxpc3QubGVuZ3RoID09PSAxKSkge1xuICAgICAgdGhpcy5lcnJvckVtaXR0ZXIuZW1pdChcIk9OTFlfU0lOR0xFX0ZJTEVcIik7XG4gICAgICB0aGlzLnVwbG9hZEVycm9yID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLmFjY2VwdCAmJiB0aGlzLmFjY2VwdC5sZW5ndGggPiAwKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRoaXMuZ2V0RmlsZUVuZGluZyhmaWxlTGlzdC5pdGVtKGkpLm5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIXRoaXMudXBsb2FkRXJyb3IpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZUxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdGhpcy5maWxlTGlzdC5wdXNoKGZpbGVMaXN0Lml0ZW0oaSkpO1xuICAgICAgfVxuICAgICAgdGhpcy5maWxlRW1pdHRlci5lbWl0KGZpbGVMaXN0KTtcbiAgICB9XG4gICAgdGhpcy51cGxvYWRFcnJvciA9IGZhbHNlO1xuICB9XG5cbiAgZ2V0RmlsZUVuZGluZyhuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBlbmRpbmcgPSBuYW1lLnN1YnN0cmluZyhuYW1lLmxhc3RJbmRleE9mKCcuJykgKyAxKTtcbiAgICBpZiAodGhpcy5hY2NlcHQuZmlsdGVyKGEgPT4gYS50b0xvd2VyQ2FzZSgpID09PSBlbmRpbmcudG9Mb3dlckNhc2UoKSkubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLmVycm9yRW1pdHRlci5lbWl0KFwiRklMRVRZUEVfTk9UX1NVUFBPUlRFRFwiKTtcbiAgICAgIHRoaXMudXBsb2FkRXJyb3IgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5GaWxlKGZpbGU6IEZpbGUpIHtcbiAgICB3aW5kb3cub3Blbih3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKSk7XG4gIH1cbn1cbiIsIjxtYXQtY2FyZCAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgICAgIChvbkZpbGVEcm9wcGVkKT1cInVwbG9hZEZpbGUoJGV2ZW50KVwiXG4gICAgICAgICAgY2xhc3M9XCJ1cGxvYWRGaWxlQ29udGFpbmVyXCJcbiAgICAgICAgICBtYWREcmFnQW5kRHJvcFxuICAgICAgICAgIGlkPVwidXBsb2FkRmlsZUNvbnRhaW5lclwiPlxuICA8aW5wdXQgI2ZpbGVJbnB1dFxuICAgICAgICAgKGNoYW5nZSk9XCJ1cGxvYWRGaWxlKCRldmVudC50YXJnZXQuZmlsZXMpXCJcbiAgICAgICAgIChjbGljayk9XCJmaWxlSW5wdXQudmFsdWUgPSBudWxsXCJcbiAgICAgICAgIFthY2NlcHRdPVwiYWNjZXB0Rm9ySW5wdXRcIlxuICAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgICAgICBoaWRkZW4gdHlwZT1cImZpbGVcIj5cbiAgPG1hdC1jYXJkLWNvbnRlbnQ+XG4gICAgPG1hdC1pY29uPnZlcnRpY2FsX2FsaWduX3RvcDwvbWF0LWljb24+XG4gICAge3t0ZXh0ID8gdGV4dCA6ICdVcGxvYWQnfX1cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dGaWxlTGlzdFwiPlxuICA8bWF0LWNoaXAtbGlzdGJveD5cbiAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IGZpbGUgb2YgZmlsZUxpc3RcIiAoY2xpY2spPVwib3BlbkZpbGUoZmlsZSlcIiBjbGFzcz1cImRvd25sb2FkXCI+e3tmaWxlLm5hbWV9fTwvbWF0LWNoaXA+XG4gIDwvbWF0LWNoaXAtbGlzdGJveD5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -3140,8 +3140,14 @@ class FileUploadComponent {
|
|
|
3140
3140
|
this.fileEmitter = new EventEmitter();
|
|
3141
3141
|
this.errorEmitter = new EventEmitter();
|
|
3142
3142
|
this.fileList = [];
|
|
3143
|
+
this.acceptForInput = [];
|
|
3143
3144
|
this.uploadError = false;
|
|
3144
3145
|
}
|
|
3146
|
+
ngOnInit() {
|
|
3147
|
+
if (this.accept?.length) {
|
|
3148
|
+
this.accept.forEach(accepted => this.acceptForInput.push(`.${accepted}`));
|
|
3149
|
+
}
|
|
3150
|
+
}
|
|
3145
3151
|
uploadFile(fileList) {
|
|
3146
3152
|
if (!this.multiple && (fileList.length > 1 || this.fileList.length === 1)) {
|
|
3147
3153
|
this.errorEmitter.emit("ONLY_SINGLE_FILE");
|
|
@@ -3172,11 +3178,11 @@ class FileUploadComponent {
|
|
|
3172
3178
|
window.open(window.URL.createObjectURL(file));
|
|
3173
3179
|
}
|
|
3174
3180
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3175
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FileUploadComponent, isStandalone: true, selector: "mad-file-upload", inputs: { id: "id", multiple: "multiple", accept: "accept", text: "text", showFileList: "showFileList" }, outputs: { fileEmitter: "fileEmitter", errorEmitter: "errorEmitter" }, ngImport: i0, template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"
|
|
3181
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.4", type: FileUploadComponent, isStandalone: true, selector: "mad-file-upload", inputs: { id: "id", multiple: "multiple", accept: "accept", text: "text", showFileList: "showFileList" }, outputs: { fileEmitter: "fileEmitter", errorEmitter: "errorEmitter" }, ngImport: i0, template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"acceptForInput\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i2$3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i2$3.MatCardContent, selector: "mat-card-content" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: DragAndDropDirectiveDirective, selector: "[madDragAndDrop]", outputs: ["onFileDropped"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4$1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "role", "id", "aria-label", "aria-description", "value", "removable", "highlighted"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i4$1.MatChipListbox, selector: "mat-chip-listbox", inputs: ["tabIndex", "multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }] }); }
|
|
3176
3182
|
}
|
|
3177
3183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: FileUploadComponent, decorators: [{
|
|
3178
3184
|
type: Component,
|
|
3179
|
-
args: [{ selector: 'mad-file-upload', standalone: true, imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, TranslateModule, DragAndDropDirectiveDirective, MatChipsModule], template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"
|
|
3185
|
+
args: [{ selector: 'mad-file-upload', standalone: true, imports: [CommonModule, MatCardModule, MatIconModule, ButtonModule, TranslateModule, DragAndDropDirectiveDirective, MatChipsModule], template: "<mat-card (click)=\"fileInput.click()\"\n (onFileDropped)=\"uploadFile($event)\"\n class=\"uploadFileContainer\"\n madDragAndDrop\n id=\"uploadFileContainer\">\n <input #fileInput\n (change)=\"uploadFile($event.target.files)\"\n (click)=\"fileInput.value = null\"\n [accept]=\"acceptForInput\"\n [id]=\"id\"\n [multiple]=\"multiple\"\n hidden type=\"file\">\n <mat-card-content>\n <mat-icon>vertical_align_top</mat-icon>\n {{text ? text : 'Upload'}}\n </mat-card-content>\n</mat-card>\n\n<ng-container *ngIf=\"showFileList\">\n <mat-chip-listbox>\n <mat-chip *ngFor=\"let file of fileList\" (click)=\"openFile(file)\" class=\"download\">{{file.name}}</mat-chip>\n </mat-chip-listbox>\n</ng-container>\n", styles: [".uploadFileContainer{background-repeat:no-repeat;background-position:center;height:100px;margin:0;border:2px dashed var(--main-primary)}.uploadFileContainer:hover{cursor:pointer;background-color:var(--selection-background)!important;opacity:.8}.uploadFileContainer,.mat-mdc-card-content{display:flex;justify-content:center;align-items:center}.download{width:100%}\n"] }]
|
|
3180
3186
|
}], propDecorators: { id: [{
|
|
3181
3187
|
type: Input
|
|
3182
3188
|
}], multiple: [{
|