@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
147 lines • 12.6 kB
JavaScript
/**
* @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