UNPKG

ng-devui

Version:

DevUI components based on Angular

58 lines 8.11 kB
import { Component, EventEmitter, Input, Output, TemplateRef, } from '@angular/core'; import { I18nService } from 'ng-devui/i18n'; import * as i0 from "@angular/core"; import * as i1 from "ng-devui/i18n"; import * as i2 from "@angular/common"; export class UploadedFilesComponent { constructor(i18n) { this.i18n = i18n; this.uploadedFiles = []; this.deleteUploadedFileEvent = new EventEmitter(); // 解决templateContext 传递method.bind(this)引发模板中内嵌组件initialize问题 this.deleteFileProxy = filePath => { this.deleteFile(filePath); }; } ngOnInit() { this.i18nText = this.i18n.getI18nText().upload; this.i18nSubscription = this.i18n.langChange().subscribe((data) => { this.i18nText = data.upload; }); } cleanUploadedFiles() { this.uploadedFiles = []; } addAndOverwriteFile(file) { this.cleanUploadedFiles(); this.uploadedFiles.push(file); } addFile(file) { this.uploadedFiles.push(file); } deleteFile(filePath) { this.uploadedFiles = this.uploadedFiles.filter((file) => { return filePath !== file[this.filePath]; }); this.deleteUploadedFileEvent.emit(filePath); } ngOnDestroy() { if (this.i18nSubscription) { this.i18nSubscription.unsubscribe(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadedFilesComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UploadedFilesComponent, selector: "d-uploaded-files", inputs: { uploadedFiles: "uploadedFiles", uploadedFilesRef: "uploadedFilesRef", filePath: "filePath" }, outputs: { deleteUploadedFileEvent: "deleteUploadedFileEvent" }, exportAs: ["dUploadFiles"], ngImport: i0, template: "<ng-template\n [ngTemplateOutlet]=\"uploadedFilesRef\"\n [ngTemplateOutletContext]=\"{ $implicit: this, uploadedFiles: uploadedFiles, filePath: filePath, deleteFile: deleteFileProxy }\"\n>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UploadedFilesComponent, decorators: [{ type: Component, args: [{ selector: 'd-uploaded-files', exportAs: 'dUploadFiles', preserveWhitespaces: false, template: "<ng-template\n [ngTemplateOutlet]=\"uploadedFilesRef\"\n [ngTemplateOutletContext]=\"{ $implicit: this, uploadedFiles: uploadedFiles, filePath: filePath, deleteFile: deleteFileProxy }\"\n>\n</ng-template>\n" }] }], ctorParameters: () => [{ type: i1.I18nService }], propDecorators: { uploadedFiles: [{ type: Input }], uploadedFilesRef: [{ type: Input }], filePath: [{ type: Input }], deleteUploadedFileEvent: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZWQtZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2dWkvdXBsb2FkL3VwbG9hZGVkLWZpbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2RldnVpL3VwbG9hZC91cGxvYWRlZC1maWxlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVMzRCxNQUFNLE9BQU8sc0JBQXNCO0lBT2pDLFlBQW9CLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7UUFONUIsa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBR2pDLDRCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBaUMvRSw2REFBNkQ7UUFDN0Qsb0JBQWUsR0FBRyxRQUFRLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztJQS9CRixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBWTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsT0FBTyxDQUFDLElBQVk7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFnQjtRQUN6QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDdEQsT0FBTyxRQUFRLEtBQU0sSUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQU1ELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV0QyxDQUFDO0lBQ0gsQ0FBQzsrR0E5Q1Usc0JBQXNCO21HQUF0QixzQkFBc0IsNlBDbEJuQyxrTkFLQTs7NEZEYWEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGtCQUFrQixZQUNsQixjQUFjLHVCQUVILEtBQUs7Z0ZBR2pCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0ksdUJBQXVCO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuSW50ZXJmYWNlLCBJMThuU2VydmljZSB9IGZyb20gJ25nLWRldnVpL2kxOG4nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2QtdXBsb2FkZWQtZmlsZXMnLFxuICBleHBvcnRBczogJ2RVcGxvYWRGaWxlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi91cGxvYWRlZC1maWxlcy5jb21wb25lbnQuaHRtbCcsXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBVcGxvYWRlZEZpbGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQge1xuICBASW5wdXQoKSB1cGxvYWRlZEZpbGVzOiBBcnJheTxPYmplY3Q+ID0gW107XG4gIEBJbnB1dCgpIHVwbG9hZGVkRmlsZXNSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZpbGVQYXRoOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBkZWxldGVVcGxvYWRlZEZpbGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgaTE4blRleHQ6IEkxOG5JbnRlcmZhY2VbJ3VwbG9hZCddO1xuICBpMThuU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UpIHtcblxuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaTE4blRleHQgPSB0aGlzLmkxOG4uZ2V0STE4blRleHQoKS51cGxvYWQ7XG4gICAgdGhpcy5pMThuU3Vic2NyaXB0aW9uID0gdGhpcy5pMThuLmxhbmdDaGFuZ2UoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaTE4blRleHQgPSBkYXRhLnVwbG9hZDtcbiAgICB9KTtcbiAgfVxuXG4gIGNsZWFuVXBsb2FkZWRGaWxlcygpIHtcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSBbXTtcbiAgfVxuXG4gIGFkZEFuZE92ZXJ3cml0ZUZpbGUoZmlsZTogT2JqZWN0KSB7XG4gICAgdGhpcy5jbGVhblVwbG9hZGVkRmlsZXMoKTtcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMucHVzaChmaWxlKTtcbiAgfVxuXG4gIGFkZEZpbGUoZmlsZTogT2JqZWN0KSB7XG4gICAgdGhpcy51cGxvYWRlZEZpbGVzLnB1c2goZmlsZSk7XG4gIH1cblxuICBkZWxldGVGaWxlKGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSB0aGlzLnVwbG9hZGVkRmlsZXMuZmlsdGVyKChmaWxlKSA9PiB7XG4gICAgICByZXR1cm4gZmlsZVBhdGggIT09IChmaWxlIGFzIGFueSlbdGhpcy5maWxlUGF0aF07XG4gICAgfSk7XG4gICAgdGhpcy5kZWxldGVVcGxvYWRlZEZpbGVFdmVudC5lbWl0KGZpbGVQYXRoKTtcbiAgfVxuXG4gIC8vIOino+WGs3RlbXBsYXRlQ29udGV4dCDkvKDpgJJtZXRob2QuYmluZCh0aGlzKeW8leWPkeaooeadv+S4reWGheW1jOe7hOS7tmluaXRpYWxpemXpl67pophcbiAgZGVsZXRlRmlsZVByb3h5ID0gZmlsZVBhdGggPT4ge1xuICAgIHRoaXMuZGVsZXRlRmlsZShmaWxlUGF0aCk7XG4gIH07XG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLmkxOG5TdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuaTE4blN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgfVxuICB9XG59XG4iLCI8bmctdGVtcGxhdGVcbiAgW25nVGVtcGxhdGVPdXRsZXRdPVwidXBsb2FkZWRGaWxlc1JlZlwiXG4gIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogdGhpcywgdXBsb2FkZWRGaWxlczogdXBsb2FkZWRGaWxlcywgZmlsZVBhdGg6IGZpbGVQYXRoLCBkZWxldGVGaWxlOiBkZWxldGVGaWxlUHJveHkgfVwiXG4+XG48L25nLXRlbXBsYXRlPlxuIl19