UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

147 lines 12.6 kB
/** * @fileoverview added by tsickle * Generated from: multiple-upload-view.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, Input, ViewChild, TemplateRef, Output, EventEmitter, } from '@angular/core'; import { IUploadOptions, UploadStatus } from './file-uploader.types'; import { UploadComponent } from './upload.class'; import { UploadedFilesComponent } from './uploaded-files.component'; import { I18nService } from '@duoduo-oba/ng-devui/i18n'; var MultipleUploadViewComponent = /** @class */ (function (_super) { tslib_1.__extends(MultipleUploadViewComponent, _super); function MultipleUploadViewComponent(i18n) { var _this = _super.call(this) || this; _this.i18n = i18n; _this.uploadedFiles = []; _this.deleteUploadedFileEvent = new EventEmitter(); _this.UploadStatus = UploadStatus; _this.fileUploaders = []; // 解决templateContext 传递method.bind(this)引发模板中内嵌组件initialize问题 _this.deleteFileProxy = (/** * @param {?} file * @return {?} */ function (file) { _this.deleteFile(file); }); _this.i18nText = _this.i18n.getI18nText().upload; _this.i18nSubscription = _this.i18n.langChange().subscribe((/** * @param {?} data * @return {?} */ function (data) { _this.i18nText = data.upload; })); return _this; } /** * @param {?} file * @return {?} */ MultipleUploadViewComponent.prototype.addFile = /** * @param {?} file * @return {?} */ function (file) { _super.prototype.addFile.call(this, file, this.uploadOptions); }; /** * @param {?} file * @return {?} */ MultipleUploadViewComponent.prototype.deleteFile = /** * @param {?} file * @return {?} */ function (file) { _super.prototype.deleteFile.call(this, file); this.deleteUploadedFileEvent.emit(file); }; /** * @return {?} */ MultipleUploadViewComponent.prototype.removeFiles = /** * @return {?} */ function () { _super.prototype.removeFiles.call(this); }; /** * @param {?} filePath * @return {?} */ MultipleUploadViewComponent.prototype._onDeleteUploadedFile = /** * @param {?} filePath * @return {?} */ function (filePath) { this.deleteUploadedFileEvent.emit(filePath); }; /** * @return {?} */ MultipleUploadViewComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { if (this.i18nSubscription) { this.i18nSubscription.unsubscribe(); } }; MultipleUploadViewComponent.decorators = [ { type: Component, args: [{ selector: 'd-multiple-upload-view', template: "<d-uploaded-files\r\n #dUploadedFiles\r\n [uploadedFiles]=\"uploadedFiles\"\r\n [filePath]=\"filePath\"\r\n [uploadedFilesRef]=\"uploadedFilesRef\"\r\n (deleteUploadedFileEvent)=\"_onDeleteUploadedFile($event)\"\r\n>\r\n</d-uploaded-files>\r\n<ng-template\r\n [ngTemplateOutlet]=\"preloadFilesRef ? preloadFilesRef : default\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this, fileUploaders: fileUploaders, UploadStatus: UploadStatus, deleteFile: deleteFileProxy}\"\r\n>\r\n</ng-template>\r\n<ng-template #default>\r\n <table class=\"devui-table\" *ngIf=\"fileUploaders.length > 0\">\r\n <tr *ngFor=\"let fileUploader of fileUploaders; let index = index\">\r\n <td width=\"50%\">\r\n <span>{{ fileUploader.file.name }}</span>\r\n </td>\r\n <td width=\"25%\">\r\n <span *ngIf=\"fileUploader.status === UploadStatus.preLoad\">{{ i18nText?.preload }}</span>\r\n <span *ngIf=\"fileUploader.status === UploadStatus.uploading\">{{ i18nText?.uploading }}</span>\r\n <span *ngIf=\"fileUploader.status === UploadStatus.uploaded\">{{ i18nText?.uploaded }}</span>\r\n <span *ngIf=\"fileUploader.status === UploadStatus.failed\">{{ i18nText?.uploadFailed }}</span>\r\n </td>\r\n <td>\r\n <d-button\r\n bordered=\"true\"\r\n icon=\"trash\"\r\n bsStyle=\"danger\"\r\n bsSize=\"xs\"\r\n *ngIf=\"fileUploader.status !== UploadStatus.uploaded\"\r\n [disabled]=\"fileUploader.status === UploadStatus.uploading\"\r\n (btnClick)=\"deleteFile(fileUploader.file)\"\r\n >\r\n {{ i18nText?.delete }}\r\n </d-button>\r\n </td>\r\n </tr>\r\n </table>\r\n</ng-template>\r\n", styles: [".devui-table>tbody>tr:first-child td{border-top:none}table.devui-table{width:100%;max-width:100%;margin-bottom:20px}table.devui-table>tbody>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}"] }] } ]; /** @nocollapse */ MultipleUploadViewComponent.ctorParameters = function () { return [ { type: I18nService } ]; }; MultipleUploadViewComponent.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 }] }; return MultipleUploadViewComponent; }(UploadComponent)); export { MultipleUploadViewComponent }; if (false) { /** @type {?} */ MultipleUploadViewComponent.prototype.uploadedFilesComponent; /** @type {?} */ MultipleUploadViewComponent.prototype.uploadOptions; /** @type {?} */ MultipleUploadViewComponent.prototype.preloadFilesRef; /** @type {?} */ MultipleUploadViewComponent.prototype.uploadedFiles; /** @type {?} */ MultipleUploadViewComponent.prototype.uploadedFilesRef; /** @type {?} */ MultipleUploadViewComponent.prototype.filePath; /** @type {?} */ MultipleUploadViewComponent.prototype.deleteUploadedFileEvent; /** @type {?} */ MultipleUploadViewComponent.prototype.UploadStatus; /** @type {?} */ MultipleUploadViewComponent.prototype.fileUploaders; /** @type {?} */ MultipleUploadViewComponent.prototype.i18nText; /** @type {?} */ MultipleUploadViewComponent.prototype.i18nSubscription; /** @type {?} */ MultipleUploadViewComponent.prototype.deleteFileProxy; /** * @type {?} * @private */ MultipleUploadViewComponent.prototype.i18n; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUtdXBsb2FkLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvdXBsb2FkLyIsInNvdXJjZXMiOlsibXVsdGlwbGUtdXBsb2FkLXZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsTUFBTSxFQUNOLFlBQVksR0FFYixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsY0FBYyxFQUNkLFlBQVksRUFDYixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQWlCLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzRDtJQUtpRCx1REFBZTtJQVk5RCxxQ0FBb0IsSUFBaUI7UUFBckMsWUFDRSxpQkFBTyxTQUtSO1FBTm1CLFVBQUksR0FBSixJQUFJLENBQWE7UUFSNUIsbUJBQWEsR0FBa0IsRUFBRSxDQUFDO1FBR2pDLDZCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFFLGtCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLG1CQUFhLEdBQXdCLEVBQUUsQ0FBQzs7UUF5QnhDLHFCQUFlOzs7O1FBQUcsVUFBQSxJQUFJO1lBQ3BCLEtBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQyxFQUFBO1FBdEJDLEtBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDL0MsS0FBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUzs7OztRQUFDLFVBQUMsSUFBSTtZQUM1RCxLQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDOUIsQ0FBQyxFQUFDLENBQUM7O0lBQ0wsQ0FBQzs7Ozs7SUFFRCw2Q0FBTzs7OztJQUFQLFVBQVEsSUFBSTtRQUNWLGlCQUFNLE9BQU8sWUFBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Ozs7O0lBRUQsZ0RBQVU7Ozs7SUFBVixVQUFXLElBQUk7UUFDYixpQkFBTSxVQUFVLFlBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDOzs7O0lBRUQsaURBQVc7OztJQUFYO1FBQ0UsaUJBQU0sV0FBVyxXQUFFLENBQUM7SUFDdEIsQ0FBQzs7Ozs7SUFPRCwyREFBcUI7Ozs7SUFBckIsVUFBc0IsUUFBZ0I7UUFDcEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7O0lBQ0QsaURBQVc7OztJQUFYO1FBQ0UsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBRXJDO0lBQ0gsQ0FBQzs7Z0JBbkRGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxvc0RBQW9EOztpQkFFckQ7Ozs7Z0JBTnVCLFdBQVc7Ozt5Q0FRaEMsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQ0FDNUMsS0FBSztrQ0FDTCxLQUFLO2dDQUNMLEtBQUs7bUNBQ0wsS0FBSzsyQkFDTCxLQUFLOzBDQUNMLE1BQU07O0lBd0NULGtDQUFDO0NBQUEsQUFwREQsQ0FLaUQsZUFBZSxHQStDL0Q7U0EvQ1ksMkJBQTJCOzs7SUFDdEMsNkRBQThGOztJQUM5RixvREFBdUM7O0lBQ3ZDLHNEQUEyQzs7SUFDM0Msb0RBQTJDOztJQUMzQyx1REFBNEM7O0lBQzVDLCtDQUEwQjs7SUFDMUIsOERBQTBFOztJQUMxRSxtREFBNEI7O0lBQzVCLG9EQUF3Qzs7SUFDeEMsK0NBQWtDOztJQUNsQyx1REFBK0I7O0lBdUIvQixzREFFQzs7Ozs7SUF4QlcsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgT25EZXN0cm95LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHtcclxuICBJVXBsb2FkT3B0aW9ucyxcclxuICBVcGxvYWRTdGF0dXNcclxufSBmcm9tICcuL2ZpbGUtdXBsb2FkZXIudHlwZXMnO1xyXG5pbXBvcnQgeyBVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC5jbGFzcyc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRlciB9IGZyb20gJy4vZmlsZS11cGxvYWRlci5jbGFzcyc7XHJcbmltcG9ydCB7IFVwbG9hZGVkRmlsZXNDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZGVkLWZpbGVzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEkxOG5JbnRlcmZhY2UsIEkxOG5TZXJ2aWNlIH0gZnJvbSAnbmctZGV2dWkvaTE4bic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2QtbXVsdGlwbGUtdXBsb2FkLXZpZXcnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tdWx0aXBsZS11cGxvYWQtdmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlwbGUtdXBsb2FkLXZpZXcuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE11bHRpcGxlVXBsb2FkVmlld0NvbXBvbmVudCBleHRlbmRzIFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnZFVwbG9hZGVkRmlsZXMnLCB7IHN0YXRpYzogdHJ1ZSB9KSB1cGxvYWRlZEZpbGVzQ29tcG9uZW50OiBVcGxvYWRlZEZpbGVzQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIHVwbG9hZE9wdGlvbnM6IElVcGxvYWRPcHRpb25zO1xyXG4gIEBJbnB1dCgpIHByZWxvYWRGaWxlc1JlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSB1cGxvYWRlZEZpbGVzOiBBcnJheTxPYmplY3Q+ID0gW107XHJcbiAgQElucHV0KCkgdXBsb2FkZWRGaWxlc1JlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBmaWxlUGF0aDogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBkZWxldGVVcGxvYWRlZEZpbGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgVXBsb2FkU3RhdHVzID0gVXBsb2FkU3RhdHVzO1xyXG4gIGZpbGVVcGxvYWRlcnM6IEFycmF5PEZpbGVVcGxvYWRlcj4gPSBbXTtcclxuICBpMThuVGV4dDogSTE4bkludGVyZmFjZVsndXBsb2FkJ107XHJcbiAgaTE4blN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaTE4bjogSTE4blNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmkxOG5UZXh0ID0gdGhpcy5pMThuLmdldEkxOG5UZXh0KCkudXBsb2FkO1xyXG4gICAgdGhpcy5pMThuU3Vic2NyaXB0aW9uID0gdGhpcy5pMThuLmxhbmdDaGFuZ2UoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5pMThuVGV4dCA9IGRhdGEudXBsb2FkO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhZGRGaWxlKGZpbGUpIHtcclxuICAgIHN1cGVyLmFkZEZpbGUoZmlsZSwgdGhpcy51cGxvYWRPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUZpbGUoZmlsZSkge1xyXG4gICAgc3VwZXIuZGVsZXRlRmlsZShmaWxlKTtcclxuICAgIHRoaXMuZGVsZXRlVXBsb2FkZWRGaWxlRXZlbnQuZW1pdChmaWxlKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUZpbGVzKCkge1xyXG4gICAgc3VwZXIucmVtb3ZlRmlsZXMoKTtcclxuICB9XHJcblxyXG4gIC8vIOino+WGs3RlbXBsYXRlQ29udGV4dCDkvKDpgJJtZXRob2QuYmluZCh0aGlzKeW8leWPkeaooeadv+S4reWGheW1jOe7hOS7tmluaXRpYWxpemXpl67pophcclxuICBkZWxldGVGaWxlUHJveHkgPSBmaWxlID0+IHtcclxuICAgIHRoaXMuZGVsZXRlRmlsZShmaWxlKTtcclxuICB9XHJcblxyXG4gIF9vbkRlbGV0ZVVwbG9hZGVkRmlsZShmaWxlUGF0aDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRlbGV0ZVVwbG9hZGVkRmlsZUV2ZW50LmVtaXQoZmlsZVBhdGgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmkxOG5TdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5pMThuU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuIl19