ng-devui
Version:
DevUI components based on Angular
58 lines • 8.11 kB
JavaScript
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