UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

116 lines 9.28 kB
/** * @fileoverview added by tsickle * Generated from: uploaded-files.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, TemplateRef, Output, EventEmitter, } from '@angular/core'; import { I18nService } from '@duoduo-oba/ng-devui/i18n'; export class UploadedFilesComponent { /** * @param {?} i18n */ constructor(i18n) { this.i18n = i18n; this.uploadedFiles = []; this.deleteUploadedFileEvent = new EventEmitter(); // 解决templateContext 传递method.bind(this)引发模板中内嵌组件initialize问题 this.deleteFileProxy = (/** * @param {?} filePath * @return {?} */ filePath => { this.deleteFile(filePath); }); this.i18nText = this.i18n.getI18nText().upload; this.i18nSubscription = this.i18n.langChange().subscribe((/** * @param {?} data * @return {?} */ (data) => { this.i18nText = data.upload; })); } /** * @return {?} */ cleanUploadedFiles() { this.uploadedFiles = []; } /** * @param {?} file * @return {?} */ addAndOverwriteFile(file) { this.cleanUploadedFiles(); this.uploadedFiles.push(file); } /** * @param {?} file * @return {?} */ addFile(file) { this.uploadedFiles.push(file); } /** * @param {?} filePath * @return {?} */ deleteFile(filePath) { this.uploadedFiles = this.uploadedFiles.filter((/** * @param {?} file * @return {?} */ (file) => { return filePath !== ((/** @type {?} */ (file)))[this.filePath]; })); this.deleteUploadedFileEvent.emit(filePath); } /** * @return {?} */ ngOnDestroy() { if (this.i18nSubscription) { this.i18nSubscription.unsubscribe(); } } } UploadedFilesComponent.decorators = [ { type: Component, args: [{ selector: 'd-uploaded-files', exportAs: 'dUploadFiles', template: "<ng-template\r\n [ngTemplateOutlet]=\"uploadedFilesRef ? uploadedFilesRef : default\"\r\n [ngTemplateOutletContext]=\"{ $implicit: this, uploadedFiles: uploadedFiles, filePath: filePath, deleteFile: deleteFileProxy}\"\r\n>\r\n</ng-template>\r\n\r\n<ng-template #default>\r\n <table class=\"devui-table\" *ngIf=\"uploadedFiles.length > 0\" [style.margin-bottom.px]=\"0\">\r\n <tbody>\r\n <tr *ngFor=\"let uploadedFile of uploadedFiles; let index = index\">\r\n <td width=\"50%\">\r\n <span>{{ uploadedFile.name }}</span>\r\n </td>\r\n <td width=\"25%\">\r\n <span>{{ i18nText?.upload }}</span>\r\n </td>\r\n <td>\r\n <d-button icon=\"trash\" bsStyle=\"danger\" bsSize=\"xs\" (btnClick)=\"deleteFile(uploadedFile[filePath])\">\r\n {{ i18nText?.delete }}\r\n </d-button>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</ng-template>\r\n", styles: ["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}.devui-upload-input{padding:5px 25px 5px 10px!important;cursor:pointer;text-overflow:ellipsis}"] }] } ]; /** @nocollapse */ UploadedFilesComponent.ctorParameters = () => [ { type: I18nService } ]; UploadedFilesComponent.propDecorators = { uploadedFiles: [{ type: Input }], uploadedFilesRef: [{ type: Input }], filePath: [{ type: Input }], deleteUploadedFileEvent: [{ type: Output }] }; if (false) { /** @type {?} */ UploadedFilesComponent.prototype.uploadedFiles; /** @type {?} */ UploadedFilesComponent.prototype.uploadedFilesRef; /** @type {?} */ UploadedFilesComponent.prototype.filePath; /** @type {?} */ UploadedFilesComponent.prototype.deleteUploadedFileEvent; /** @type {?} */ UploadedFilesComponent.prototype.i18nText; /** @type {?} */ UploadedFilesComponent.prototype.i18nSubscription; /** @type {?} */ UploadedFilesComponent.prototype.deleteFileProxy; /** * @type {?} * @private */ UploadedFilesComponent.prototype.i18n; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZWQtZmlsZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctZGV2dWkvdXBsb2FkLyIsInNvdXJjZXMiOlsidXBsb2FkZWQtZmlsZXMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLE1BQU0sRUFDTixZQUFZLEdBRWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTM0QsTUFBTSxPQUFPLHNCQUFzQjs7OztJQU9qQyxZQUFvQixJQUFpQjtRQUFqQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBTjVCLGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQUdqQyw0QkFBdUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQzs7UUErQjFFLG9CQUFlOzs7O1FBQUcsUUFBUSxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDLEVBQUE7UUE3QkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxTQUFTOzs7O1FBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDOUIsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7Ozs7O0lBRUQsbUJBQW1CLENBQUMsSUFBWTtRQUM5QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDOzs7OztJQUVELE9BQU8sQ0FBQyxJQUFZO1FBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLFFBQWdCO1FBQ3pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNOzs7O1FBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0RCxPQUFPLFFBQVEsS0FBSyxDQUFDLG1CQUFBLElBQUksRUFBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7O0lBTUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUVyQztJQUNILENBQUM7OztZQWpERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtnQkFDNUIsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLDQ3QkFBOEM7O2FBRS9DOzs7O1lBUnVCLFdBQVc7Ozs0QkFVaEMsS0FBSzsrQkFDTCxLQUFLO3VCQUNMLEtBQUs7c0NBQ0wsTUFBTTs7OztJQUhQLCtDQUEyQzs7SUFDM0Msa0RBQTRDOztJQUM1QywwQ0FBMEI7O0lBQzFCLHlEQUEwRTs7SUFDMUUsMENBQWtDOztJQUNsQyxrREFBK0I7O0lBNkIvQixpREFFQzs7Ozs7SUE5Qlcsc0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPbkRlc3Ryb3ksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEkxOG5JbnRlcmZhY2UsIEkxOG5TZXJ2aWNlIH0gZnJvbSAnbmctZGV2dWkvaTE4bic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkLXVwbG9hZGVkLWZpbGVzJyxcclxuICBleHBvcnRBczogJ2RVcGxvYWRGaWxlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZGVkLWZpbGVzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91cGxvYWRlZC1maWxlcy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRlZEZpbGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSB1cGxvYWRlZEZpbGVzOiBBcnJheTxPYmplY3Q+ID0gW107XHJcbiAgQElucHV0KCkgdXBsb2FkZWRGaWxlc1JlZjogVGVtcGxhdGVSZWY8YW55PjtcclxuICBASW5wdXQoKSBmaWxlUGF0aDogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSBkZWxldGVVcGxvYWRlZEZpbGVFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgaTE4blRleHQ6IEkxOG5JbnRlcmZhY2VbJ3VwbG9hZCddO1xyXG4gIGkxOG5TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGkxOG46IEkxOG5TZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmkxOG5UZXh0ID0gdGhpcy5pMThuLmdldEkxOG5UZXh0KCkudXBsb2FkO1xyXG4gICAgdGhpcy5pMThuU3Vic2NyaXB0aW9uID0gdGhpcy5pMThuLmxhbmdDaGFuZ2UoKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5pMThuVGV4dCA9IGRhdGEudXBsb2FkO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjbGVhblVwbG9hZGVkRmlsZXMoKSB7XHJcbiAgICB0aGlzLnVwbG9hZGVkRmlsZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIGFkZEFuZE92ZXJ3cml0ZUZpbGUoZmlsZTogT2JqZWN0KSB7XHJcbiAgICB0aGlzLmNsZWFuVXBsb2FkZWRGaWxlcygpO1xyXG4gICAgdGhpcy51cGxvYWRlZEZpbGVzLnB1c2goZmlsZSk7XHJcbiAgfVxyXG5cclxuICBhZGRGaWxlKGZpbGU6IE9iamVjdCkge1xyXG4gICAgdGhpcy51cGxvYWRlZEZpbGVzLnB1c2goZmlsZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVGaWxlKGZpbGVQYXRoOiBzdHJpbmcpIHtcclxuICAgIHRoaXMudXBsb2FkZWRGaWxlcyA9IHRoaXMudXBsb2FkZWRGaWxlcy5maWx0ZXIoKGZpbGUpID0+IHtcclxuICAgICAgcmV0dXJuIGZpbGVQYXRoICE9PSAoZmlsZSBhcyBhbnkpW3RoaXMuZmlsZVBhdGhdO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRlbGV0ZVVwbG9hZGVkRmlsZUV2ZW50LmVtaXQoZmlsZVBhdGgpO1xyXG4gIH1cclxuXHJcbiAgLy8g6Kej5YazdGVtcGxhdGVDb250ZXh0IOS8oOmAkm1ldGhvZC5iaW5kKHRoaXMp5byV5Y+R5qih5p2/5Lit5YaF5bWM57uE5Lu2aW5pdGlhbGl6ZemXrumimFxyXG4gIGRlbGV0ZUZpbGVQcm94eSA9IGZpbGVQYXRoID0+IHtcclxuICAgIHRoaXMuZGVsZXRlRmlsZShmaWxlUGF0aCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuaTE4blN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmkxOG5TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==