UNPKG

ng-devui

Version:

DevUI components based on Angular

78 lines 11.8 kB
import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core'; import { I18nService } from 'ng-devui/i18n'; import { IUploadOptions, UploadStatus } from './file-uploader.types'; import { UploadComponent } from './upload.class'; import { UploadedFilesComponent } from './uploaded-files.component'; import * as i0 from "@angular/core"; import * as i1 from "ng-devui/i18n"; import * as i2 from "@angular/common"; import * as i3 from "./uploaded-files.component"; export class MultipleUploadViewComponent extends UploadComponent { constructor(i18n) { super(); this.i18n = i18n; this.uploadedFiles = []; this.deleteUploadedFileEvent = new EventEmitter(); this.UploadStatus = UploadStatus; this.fileUploaders = []; // 解决templateContext 传递method.bind(this)引发模板中内嵌组件initialize问题 this.deleteFileProxy = file => { this.deleteFile(file); }; } ngOnInit() { this.i18nText = this.i18n.getI18nText().upload; this.i18nSubscription = this.i18n.langChange().subscribe((data) => { this.i18nText = data.upload; }); } addFile(file) { let uploadOptions = this.uploadOptions; if (this.setCustomUploadOptions) { uploadOptions = this.setCustomUploadOptions(file, this.uploadOptions); } super.addFile(file, uploadOptions); } deleteFile(file) { super.deleteFile(file); this.deleteUploadedFileEvent.emit(file); } deletePreUploadFile(file) { super.deleteFile(file); } removeFiles() { super.removeFiles(); } _onDeleteUploadedFile(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: MultipleUploadViewComponent, deps: [{ token: i1.I18nService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MultipleUploadViewComponent, selector: "d-multiple-upload-view", inputs: { uploadOptions: "uploadOptions", preloadFilesRef: "preloadFilesRef", uploadedFiles: "uploadedFiles", uploadedFilesRef: "uploadedFilesRef", filePath: "filePath", setCustomUploadOptions: "setCustomUploadOptions" }, outputs: { deleteUploadedFileEvent: "deleteUploadedFileEvent" }, viewQueries: [{ propertyName: "uploadedFilesComponent", first: true, predicate: ["dUploadedFiles"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<d-uploaded-files\n #dUploadedFiles\n [uploadedFiles]=\"uploadedFiles\"\n [filePath]=\"filePath\"\n [uploadedFilesRef]=\"uploadedFilesRef\"\n (deleteUploadedFileEvent)=\"_onDeleteUploadedFile($event)\"\n>\n</d-uploaded-files>\n<ng-template\n [ngTemplateOutlet]=\"preloadFilesRef\"\n [ngTemplateOutletContext]=\"{ $implicit: this, fileUploaders: fileUploaders, UploadStatus: UploadStatus, deleteFile: deleteFileProxy }\"\n>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.UploadedFilesComponent, selector: "d-uploaded-files", inputs: ["uploadedFiles", "uploadedFilesRef", "filePath"], outputs: ["deleteUploadedFileEvent"], exportAs: ["dUploadFiles"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MultipleUploadViewComponent, decorators: [{ type: Component, args: [{ selector: 'd-multiple-upload-view', preserveWhitespaces: false, template: "<d-uploaded-files\n #dUploadedFiles\n [uploadedFiles]=\"uploadedFiles\"\n [filePath]=\"filePath\"\n [uploadedFilesRef]=\"uploadedFilesRef\"\n (deleteUploadedFileEvent)=\"_onDeleteUploadedFile($event)\"\n>\n</d-uploaded-files>\n<ng-template\n [ngTemplateOutlet]=\"preloadFilesRef\"\n [ngTemplateOutletContext]=\"{ $implicit: this, fileUploaders: fileUploaders, UploadStatus: UploadStatus, deleteFile: deleteFileProxy }\"\n>\n</ng-template>\n" }] }], ctorParameters: () => [{ type: i1.I18nService }], propDecorators: { uploadedFilesComponent: [{ type: ViewChild, args: ['dUploadedFiles', { static: true }] }], uploadOptions: [{ type: Input }], preloadFilesRef: [{ type: Input }], uploadedFiles: [{ type: Input }], uploadedFilesRef: [{ type: Input }], filePath: [{ type: Input }], deleteUploadedFileEvent: [{ type: Output }], setCustomUploadOptions: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtdXBsb2FkLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vZGV2dWkvdXBsb2FkL211bHRpcGxlLXVwbG9hZC12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2RldnVpL3VwbG9hZC9tdWx0aXBsZS11cGxvYWQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0QsT0FBTyxFQUNMLGNBQWMsRUFDZCxZQUFZLEVBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBTXBFLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxlQUFlO0lBYTlELFlBQW9CLElBQWlCO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFUsU0FBSSxHQUFKLElBQUksQ0FBYTtRQVQ1QixrQkFBYSxHQUFrQixFQUFFLENBQUM7UUFHakMsNEJBQXVCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFL0UsaUJBQVksR0FBRyxZQUFZLENBQUM7UUFDNUIsa0JBQWEsR0FBd0IsRUFBRSxDQUFDO1FBa0N4Qyw2REFBNkQ7UUFDN0Qsb0JBQWUsR0FBRyxJQUFJLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQztJQWhDRixDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDL0MsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2hDLGFBQWEsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFJO1FBQ2IsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFJO1FBQ3RCLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQU9ELHFCQUFxQixDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUV0QyxDQUFDO0lBQ0gsQ0FBQzsrR0ExRFUsMkJBQTJCO21HQUEzQiwyQkFBMkIsNGZDekJ4QyxpY0FhQTs7NEZEWWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHdCQUF3Qix1QkFFYixLQUFLO2dGQUdxQixzQkFBc0I7c0JBQXBFLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNwQyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ0Usc0JBQXNCO3NCQUE5QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJMThuSW50ZXJmYWNlLCBJMThuU2VydmljZSB9IGZyb20gJ25nLWRldnVpL2kxOG4nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlVXBsb2FkZXIgfSBmcm9tICcuL2ZpbGUtdXBsb2FkZXIuY2xhc3MnO1xuaW1wb3J0IHtcbiAgSVVwbG9hZE9wdGlvbnMsXG4gIFVwbG9hZFN0YXR1c1xufSBmcm9tICcuL2ZpbGUtdXBsb2FkZXIudHlwZXMnO1xuaW1wb3J0IHsgVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQuY2xhc3MnO1xuaW1wb3J0IHsgVXBsb2FkZWRGaWxlc0NvbXBvbmVudCB9IGZyb20gJy4vdXBsb2FkZWQtZmlsZXMuY29tcG9uZW50JztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2QtbXVsdGlwbGUtdXBsb2FkLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGlwbGUtdXBsb2FkLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBwcmVzZXJ2ZVdoaXRlc3BhY2VzOiBmYWxzZSxcbn0pXG5leHBvcnQgY2xhc3MgTXVsdGlwbGVVcGxvYWRWaWV3Q29tcG9uZW50IGV4dGVuZHMgVXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95ICwgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZFVwbG9hZGVkRmlsZXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSB1cGxvYWRlZEZpbGVzQ29tcG9uZW50OiBVcGxvYWRlZEZpbGVzQ29tcG9uZW50O1xuICBASW5wdXQoKSB1cGxvYWRPcHRpb25zOiBJVXBsb2FkT3B0aW9ucztcbiAgQElucHV0KCkgcHJlbG9hZEZpbGVzUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSB1cGxvYWRlZEZpbGVzOiBBcnJheTxPYmplY3Q+ID0gW107XG4gIEBJbnB1dCgpIHVwbG9hZGVkRmlsZXNSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZpbGVQYXRoOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBkZWxldGVVcGxvYWRlZEZpbGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgQElucHV0KCkgc2V0Q3VzdG9tVXBsb2FkT3B0aW9uczogKGZpbGUsIHVwbG9hZE9wdGlvbnMpID0+IElVcGxvYWRPcHRpb25zO1xuICBVcGxvYWRTdGF0dXMgPSBVcGxvYWRTdGF0dXM7XG4gIGZpbGVVcGxvYWRlcnM6IEFycmF5PEZpbGVVcGxvYWRlcj4gPSBbXTtcbiAgaTE4blRleHQ6IEkxOG5JbnRlcmZhY2VbJ3VwbG9hZCddO1xuICBpMThuU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaTE4blRleHQgPSB0aGlzLmkxOG4uZ2V0STE4blRleHQoKS51cGxvYWQ7XG4gICAgdGhpcy5pMThuU3Vic2NyaXB0aW9uID0gdGhpcy5pMThuLmxhbmdDaGFuZ2UoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgIHRoaXMuaTE4blRleHQgPSBkYXRhLnVwbG9hZDtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZEZpbGUoZmlsZSkge1xuICAgIGxldCB1cGxvYWRPcHRpb25zID0gdGhpcy51cGxvYWRPcHRpb25zO1xuICAgIGlmICh0aGlzLnNldEN1c3RvbVVwbG9hZE9wdGlvbnMpIHtcbiAgICAgIHVwbG9hZE9wdGlvbnMgPSB0aGlzLnNldEN1c3RvbVVwbG9hZE9wdGlvbnMoZmlsZSwgdGhpcy51cGxvYWRPcHRpb25zKTtcbiAgICB9XG4gICAgc3VwZXIuYWRkRmlsZShmaWxlLCB1cGxvYWRPcHRpb25zKTtcbiAgfVxuXG4gIGRlbGV0ZUZpbGUoZmlsZSkge1xuICAgIHN1cGVyLmRlbGV0ZUZpbGUoZmlsZSk7XG4gICAgdGhpcy5kZWxldGVVcGxvYWRlZEZpbGVFdmVudC5lbWl0KGZpbGUpO1xuICB9XG5cbiAgZGVsZXRlUHJlVXBsb2FkRmlsZShmaWxlKSB7XG4gICAgc3VwZXIuZGVsZXRlRmlsZShmaWxlKTtcbiAgfVxuXG4gIHJlbW92ZUZpbGVzKCkge1xuICAgIHN1cGVyLnJlbW92ZUZpbGVzKCk7XG4gIH1cblxuICAvLyDop6PlhrN0ZW1wbGF0ZUNvbnRleHQg5Lyg6YCSbWV0aG9kLmJpbmQodGhpcynlvJXlj5HmqKHmnb/kuK3lhoXltYznu4Tku7Zpbml0aWFsaXpl6Zeu6aKYXG4gIGRlbGV0ZUZpbGVQcm94eSA9IGZpbGUgPT4ge1xuICAgIHRoaXMuZGVsZXRlRmlsZShmaWxlKTtcbiAgfTtcblxuICBfb25EZWxldGVVcGxvYWRlZEZpbGUoZmlsZVBhdGg6IHN0cmluZykge1xuICAgIHRoaXMuZGVsZXRlVXBsb2FkZWRGaWxlRXZlbnQuZW1pdChmaWxlUGF0aCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pMThuU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmkxOG5TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgIH1cbiAgfVxufVxuIiwiPGQtdXBsb2FkZWQtZmlsZXNcbiAgI2RVcGxvYWRlZEZpbGVzXG4gIFt1cGxvYWRlZEZpbGVzXT1cInVwbG9hZGVkRmlsZXNcIlxuICBbZmlsZVBhdGhdPVwiZmlsZVBhdGhcIlxuICBbdXBsb2FkZWRGaWxlc1JlZl09XCJ1cGxvYWRlZEZpbGVzUmVmXCJcbiAgKGRlbGV0ZVVwbG9hZGVkRmlsZUV2ZW50KT1cIl9vbkRlbGV0ZVVwbG9hZGVkRmlsZSgkZXZlbnQpXCJcbj5cbjwvZC11cGxvYWRlZC1maWxlcz5cbjxuZy10ZW1wbGF0ZVxuICBbbmdUZW1wbGF0ZU91dGxldF09XCJwcmVsb2FkRmlsZXNSZWZcIlxuICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHRoaXMsIGZpbGVVcGxvYWRlcnM6IGZpbGVVcGxvYWRlcnMsIFVwbG9hZFN0YXR1czogVXBsb2FkU3RhdHVzLCBkZWxldGVGaWxlOiBkZWxldGVGaWxlUHJveHkgfVwiXG4+XG48L25nLXRlbXBsYXRlPlxuIl19