ng-devui
Version:
DevUI components based on Angular
62 lines • 9.93 kB
JavaScript
import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild } from '@angular/core';
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 "@angular/common";
import * as i2 from "./uploaded-files.component";
export class SingleUploadViewComponent extends UploadComponent {
constructor() {
super(...arguments);
this.uploadedFiles = [];
this.deleteUploadedFileEvent = new EventEmitter();
this.UploadStatus = UploadStatus;
this.fileUploaders = [];
// 解决templateContext 传递method.bind(this)引发模板中内嵌组件initialize问题
this.deleteFileProxy = file => {
this.deleteFile(file);
};
}
addFile(file) {
this.fileUploaders = [];
let uploadOptions = this.uploadOptions;
if (this.dynamicUploadOptionsFn) {
uploadOptions = this.dynamicUploadOptionsFn(file, this.uploadOptions);
}
super.addFile(file, uploadOptions);
}
deleteFile(file) {
super.deleteFile(file);
this.deleteUploadedFileEvent.emit(file);
}
deletePreUploadFile(file) {
super.deleteFile(file);
}
_onDeleteUploadedFile(filePath) {
this.deleteUploadedFileEvent.emit(filePath);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SingleUploadViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SingleUploadViewComponent, selector: "d-single-upload-view", inputs: { uploadOptions: "uploadOptions", preloadFilesRef: "preloadFilesRef", uploadedFiles: "uploadedFiles", uploadedFilesRef: "uploadedFilesRef", filePath: "filePath", dynamicUploadOptionsFn: "dynamicUploadOptionsFn" }, outputs: { deleteUploadedFileEvent: "deleteUploadedFileEvent" }, viewQueries: [{ propertyName: "uploadedFilesComponent", first: true, predicate: ["dUploadedFiles"], descendants: true, static: true }], exportAs: ["dSingleUploadView"], 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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.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: SingleUploadViewComponent, decorators: [{
type: Component,
args: [{ selector: 'd-single-upload-view', exportAs: 'dSingleUploadView', 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" }]
}], propDecorators: { uploadOptions: [{
type: Input
}], preloadFilesRef: [{
type: Input
}], uploadedFiles: [{
type: Input
}], uploadedFilesRef: [{
type: Input
}], filePath: [{
type: Input
}], dynamicUploadOptionsFn: [{
type: Input
}], deleteUploadedFileEvent: [{
type: Output
}], uploadedFilesComponent: [{
type: ViewChild,
args: ['dUploadedFiles', { static: true }]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXVwbG9hZC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldnVpL3VwbG9hZC9zaW5nbGUtdXBsb2FkLXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZGV2dWkvdXBsb2FkL3NpbmdsZS11cGxvYWQtdmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLGNBQWMsRUFDZCxZQUFZLEVBQ2IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFRcEUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGVBQWU7SUFOOUQ7O1FBU1csa0JBQWEsR0FBa0IsRUFBRSxDQUFDO1FBSWpDLDRCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRy9FLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQW9CeEMsNkRBQTZEO1FBQzdELG9CQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUM7S0FLSDtJQTFCQyxPQUFPLENBQUMsSUFBVTtRQUNoQixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUN4QixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDaEMsYUFBYSxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDbkIsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFJO1FBQ3RCLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQU9ELHFCQUFxQixDQUFDLFFBQWdCO1FBQ3BDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQzsrR0F0Q1UseUJBQXlCO21HQUF6Qix5QkFBeUIsMmhCQ3RCdEMsaWNBYUE7OzRGRFNhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSxzQkFBc0IsWUFDdEIsbUJBQW1CLHVCQUVSLEtBQUs7OEJBR2pCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDSSx1QkFBdUI7c0JBQWhDLE1BQU07Z0JBQ3dDLHNCQUFzQjtzQkFBcEUsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlciB9IGZyb20gJy4vZmlsZS11cGxvYWRlci5jbGFzcyc7XG5pbXBvcnQge1xuICBJVXBsb2FkT3B0aW9ucyxcbiAgVXBsb2FkU3RhdHVzXG59IGZyb20gJy4vZmlsZS11cGxvYWRlci50eXBlcyc7XG5pbXBvcnQgeyBVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC5jbGFzcyc7XG5pbXBvcnQgeyBVcGxvYWRlZEZpbGVzQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWRlZC1maWxlcy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkLXNpbmdsZS11cGxvYWQtdmlldycsXG4gIGV4cG9ydEFzOiAnZFNpbmdsZVVwbG9hZFZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2luZ2xlLXVwbG9hZC12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG59KVxuZXhwb3J0IGNsYXNzIFNpbmdsZVVwbG9hZFZpZXdDb21wb25lbnQgZXh0ZW5kcyBVcGxvYWRDb21wb25lbnQge1xuICBASW5wdXQoKSB1cGxvYWRPcHRpb25zOiBJVXBsb2FkT3B0aW9ucztcbiAgQElucHV0KCkgcHJlbG9hZEZpbGVzUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBASW5wdXQoKSB1cGxvYWRlZEZpbGVzOiBBcnJheTxPYmplY3Q+ID0gW107XG4gIEBJbnB1dCgpIHVwbG9hZGVkRmlsZXNSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGZpbGVQYXRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGR5bmFtaWNVcGxvYWRPcHRpb25zRm46IChmaWxlcywgdXBsb2FkT3B0aW9ucywgY2h1bmtlZEZpbGVJbmRleD8pID0+IElVcGxvYWRPcHRpb25zO1xuICBAT3V0cHV0KCkgZGVsZXRlVXBsb2FkZWRGaWxlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gIEBWaWV3Q2hpbGQoJ2RVcGxvYWRlZEZpbGVzJywgeyBzdGF0aWM6IHRydWUgfSkgdXBsb2FkZWRGaWxlc0NvbXBvbmVudDogVXBsb2FkZWRGaWxlc0NvbXBvbmVudDtcblxuICBVcGxvYWRTdGF0dXMgPSBVcGxvYWRTdGF0dXM7XG4gIGZpbGVVcGxvYWRlcnM6IEFycmF5PEZpbGVVcGxvYWRlcj4gPSBbXTtcblxuICBhZGRGaWxlKGZpbGU6IEZpbGUpIHtcbiAgICB0aGlzLmZpbGVVcGxvYWRlcnMgPSBbXTtcbiAgICBsZXQgdXBsb2FkT3B0aW9ucyA9IHRoaXMudXBsb2FkT3B0aW9ucztcbiAgICBpZiAodGhpcy5keW5hbWljVXBsb2FkT3B0aW9uc0ZuKSB7XG4gICAgICB1cGxvYWRPcHRpb25zID0gdGhpcy5keW5hbWljVXBsb2FkT3B0aW9uc0ZuKGZpbGUsIHRoaXMudXBsb2FkT3B0aW9ucyk7XG4gICAgfVxuICAgIHN1cGVyLmFkZEZpbGUoZmlsZSwgdXBsb2FkT3B0aW9ucyk7XG4gIH1cblxuICBkZWxldGVGaWxlKGZpbGU6IEZpbGUpIHtcbiAgICBzdXBlci5kZWxldGVGaWxlKGZpbGUpO1xuICAgIHRoaXMuZGVsZXRlVXBsb2FkZWRGaWxlRXZlbnQuZW1pdChmaWxlKTtcbiAgfVxuXG4gIGRlbGV0ZVByZVVwbG9hZEZpbGUoZmlsZSkge1xuICAgIHN1cGVyLmRlbGV0ZUZpbGUoZmlsZSk7XG4gIH1cblxuICAvLyDop6PlhrN0ZW1wbGF0ZUNvbnRleHQg5Lyg6YCSbWV0aG9kLmJpbmQodGhpcynlvJXlj5HmqKHmnb/kuK3lhoXltYznu4Tku7Zpbml0aWFsaXpl6Zeu6aKYXG4gIGRlbGV0ZUZpbGVQcm94eSA9IGZpbGUgPT4ge1xuICAgIHRoaXMuZGVsZXRlRmlsZShmaWxlKTtcbiAgfTtcblxuICBfb25EZWxldGVVcGxvYWRlZEZpbGUoZmlsZVBhdGg6IHN0cmluZykge1xuICAgIHRoaXMuZGVsZXRlVXBsb2FkZWRGaWxlRXZlbnQuZW1pdChmaWxlUGF0aCk7XG4gIH1cbn1cbiIsIjxkLXVwbG9hZGVkLWZpbGVzXG4gICNkVXBsb2FkZWRGaWxlc1xuICBbdXBsb2FkZWRGaWxlc109XCJ1cGxvYWRlZEZpbGVzXCJcbiAgW2ZpbGVQYXRoXT1cImZpbGVQYXRoXCJcbiAgW3VwbG9hZGVkRmlsZXNSZWZdPVwidXBsb2FkZWRGaWxlc1JlZlwiXG4gIChkZWxldGVVcGxvYWRlZEZpbGVFdmVudCk9XCJfb25EZWxldGVVcGxvYWRlZEZpbGUoJGV2ZW50KVwiXG4+XG48L2QtdXBsb2FkZWQtZmlsZXM+XG48bmctdGVtcGxhdGVcbiAgW25nVGVtcGxhdGVPdXRsZXRdPVwicHJlbG9hZEZpbGVzUmVmXCJcbiAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB0aGlzLCBmaWxlVXBsb2FkZXJzOiBmaWxlVXBsb2FkZXJzLCBVcGxvYWRTdGF0dXM6IFVwbG9hZFN0YXR1cywgZGVsZXRlRmlsZTogZGVsZXRlRmlsZVByb3h5IH1cIlxuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==