dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
217 lines • 17.8 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
import { MatDialog, MatSnackBar } from '@angular/material';
import { OwnerByEnum } from '../../services/eleview/types/model';
import { ShowHistoryDialogComponent } from '../show-history-dialog/show-history-dialog.component';
import { EditCategoryDialogComponent } from './edit-category-dialog/edit-category-dialog.component';
import { LabelManagerService } from './service/label-manager.service';
var LabelManagerComponent = /** @class */ (function () {
function LabelManagerComponent(svr, dialog, snackBar) {
this.svr = svr;
this.dialog = dialog;
this.snackBar = snackBar;
this.hostClass = true;
this.hasClose = true;
this.close = new EventEmitter();
}
Object.defineProperty(LabelManagerComponent.prototype, "eleName", {
set: /**
* @param {?} val
* @return {?}
*/
function (val) {
this.svr.eleName = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(LabelManagerComponent.prototype, "ownerBy", {
set: /**
* @param {?} val
* @return {?}
*/
function (val) {
this.svr.ownerBy = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(LabelManagerComponent.prototype, "owner", {
set: /**
* @param {?} val
* @return {?}
*/
function (val) {
this.svr.owner = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(LabelManagerComponent.prototype, "allColumnsWithLetter", {
set: /**
* @param {?} val
* @return {?}
*/
function (val) {
this.svr.allColumnsWithLetter = val;
},
enumerable: true,
configurable: true
});
Object.defineProperty(LabelManagerComponent.prototype, "backface", {
set: /**
* @param {?} val
* @return {?}
*/
function (val) {
this.svr.backface = val;
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
LabelManagerComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.svr.fetchCategories();
};
/**
* @return {?}
*/
LabelManagerComponent.prototype.addCategoryClick = /**
* @return {?}
*/
function () {
var _this = this;
/** @type {?} */
var dialogRef = this.dialog.open(EditCategoryDialogComponent, {
width: '360px',
height: '224px',
data: {
name: '新的类别',
title: '增加新的类别'
}
});
dialogRef.afterClosed().subscribe((/**
* @param {?} result
* @return {?}
*/
function (result) {
if (result) {
_this.svr.addCategory({ name: result.name }).subscribe((/**
* @return {?}
*/
function () { }), (/**
* @param {?} err
* @return {?}
*/
function (err) {
_this.snackBar.open(err, '确定', { duration: 5000 });
}));
}
}));
};
/**
* @return {?}
*/
LabelManagerComponent.prototype.openHisDialog = /**
* @return {?}
*/
function () {
var _this = this;
this.svr.fetchCategoryLabelHis().subscribe((/**
* @param {?} v
* @return {?}
*/
function (v) {
_this.dialog.open(ShowHistoryDialogComponent, {
width: '360px',
data: v,
position: {
top: '46px',
right: '16px'
}
});
}));
};
/**
* @param {?} event
* @return {?}
*/
LabelManagerComponent.prototype.drop = /**
* @param {?} event
* @return {?}
*/
function (event) {
this.svr.setCategoryPosition(this.svr.categorys[event.previousIndex], event.currentIndex + 1);
};
/**
* @return {?}
*/
LabelManagerComponent.prototype.categoryDisplayTitle = /**
* @return {?}
*/
function () {
switch (this.svr.ownerBy) {
case OwnerByEnum.ownerByEle:
return '缺省';
case OwnerByEnum.ownerByDept:
return "" + this.svr.owner;
case OwnerByEnum.ownerByUser:
return '私有';
}
};
LabelManagerComponent.decorators = [
{ type: Component, args: [{
selector: 'common-label-manager',
template: "<!-- <ng-container *ngIf=\"svr.editLabel.showEditLabel; else editList\"> -->\r\n<!-- <common-edit-label #labelEditUI *ngIf=\"!svr.editLabel.showEditLabel\"> </common-edit-label> -->\r\n<!-- </ng-container> -->\r\n<ng-container>\r\n\t<div class=\"content\">\r\n\t\t<div class=\"title\">\r\n\t\t\t<div class=\"title-name\">{{ title }}\u6807\u7B7E\u7F16\u8F91</div>\r\n\t\t\t<button class=\"\u65E5\u5FD7\" mat-button (click)=\"openHisDialog()\">\r\n\t\t\t\t<mat-icon svgIcon=\"photo_album\"></mat-icon>\r\n\t\t\t\t\u65E5\u5FD7 <mat-icon svgIcon=\"double_down\" class=\"\u5411\u4E0B\u53CC\u7BAD\u5934\"></mat-icon>\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"edit-list\"\r\n\t\t\t*ngIf=\"svr.categorys?.length > 0; else empty\"\r\n\t\t\tcdkDropList\r\n\t\t\t(cdkDropListDropped)=\"drop($event)\"\r\n\t\t>\r\n\t\t\t<common-label-category *ngFor=\"let category of svr.categorys\" class=\"\u7C7B\u522B\" [category]=\"category\" cdkDrag>\r\n\t\t\t\t<mat-icon cdkDragHandle class=\"\u62D6\u52A8\" svgIcon=\"drag_indicator\"></mat-icon>\r\n\t\t\t</common-label-category>\r\n\t\t</div>\r\n\t\t<ng-template #empty>\r\n\t\t\t<div class=\"\u521B\u5EFA\">\r\n\t\t\t\t<div class=\"\u521B\u5EFA-\u6807\u9898\">\u6682\u65E0\u4EFB\u4F55\u6807\u7B7E</div>\r\n\t\t\t\t<div class=\"\u521B\u5EFA-\u63D0\u793A\">\u70B9\u51FB\u521B\u5EFA\u6309\u94AE\u521B\u5EFA\u7C7B\u522B\u540E\u5373\u53EF\u65B0\u589E\u6807\u7B7E</div>\r\n\t\t\t\t<button mat-stroked-button (click)=\"addCategoryClick()\">\r\n\t\t\t\t\t<mat-icon svgIcon=\"add\"></mat-icon> \u521B\u5EFA\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t\t<div class=\"footer\" *ngIf=\"hasClose\">\r\n\t\t\t<button mat-button (click)=\"close.emit()\" mat-flat-button color=\"primary\">\u5173\u95ED</button>\r\n\t\t</div>\r\n\t</div>\r\n</ng-container>\r\n",
providers: [LabelManagerService],
styles: ["@charset \"UTF-8\";:host{width:100%;height:100%}.content{width:100%;height:100%;display:flex;flex-direction:column}.title{display:flex;padding:8px 16px 8px 24px;justify-content:space-between}.title .title-name{font-size:16px;font-weight:700}.\u521B\u5EFA{flex-grow:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.\u521B\u5EFA .\u521B\u5EFA-\u6807\u9898{text-align:center;font-size:18;font-weight:700}.\u521B\u5EFA .\u521B\u5EFA-\u63D0\u793A{margin:8px 0 24px;font-size:12px}.\u521B\u5EFA button{width:88px;height:32px;line-height:32px}.edit-list{width:100%;flex-grow:1;overflow-y:auto;box-sizing:border-box}.\u7C7B\u522B{position:relative}.\u7C7B\u522B .\u62D6\u52A8{position:absolute;top:24px;left:0;width:16px;height:16px;line-height:16px;vertical-align:middle;cursor:pointer;display:none}.\u7C7B\u522B:hover .\u62D6\u52A8{display:inline-block}.footer{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;padding:16px;height:64px;box-sizing:border-box}.\u65E5\u5FD7{height:24px;line-height:24px;padding:0 8px;font-size:12px}.\u65E5\u5FD7 .mat-icon{width:16px;height:16px;line-height:16px}.\u65E5\u5FD7 .\u5411\u4E0B\u53CC\u7BAD\u5934{width:12px;height:12px;line-height:12px}"]
}] }
];
/** @nocollapse */
LabelManagerComponent.ctorParameters = function () { return [
{ type: LabelManagerService },
{ type: MatDialog },
{ type: MatSnackBar }
]; };
LabelManagerComponent.propDecorators = {
hostClass: [{ type: HostBinding, args: ['class.label-manager',] }],
title: [{ type: Input }],
eleName: [{ type: Input }],
ownerBy: [{ type: Input }],
owner: [{ type: Input }],
allColumnsWithLetter: [{ type: Input }],
backface: [{ type: Input }],
hasClose: [{ type: Input }],
close: [{ type: Output }]
};
return LabelManagerComponent;
}());
export { LabelManagerComponent };
if (false) {
/** @type {?} */
LabelManagerComponent.prototype.hostClass;
/** @type {?} */
LabelManagerComponent.prototype.title;
/** @type {?} */
LabelManagerComponent.prototype.hasClose;
/** @type {?} */
LabelManagerComponent.prototype.close;
/** @type {?} */
LabelManagerComponent.prototype.svr;
/** @type {?} */
LabelManagerComponent.prototype.dialog;
/**
* @type {?}
* @private
*/
LabelManagerComponent.prototype.snackBar;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kYndlYi1jb21tb24vIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYWJlbC1tYW5hZ2VyL2xhYmVsLW1hbmFnZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNELE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFjLE1BQU0sdURBQXVELENBQUM7QUFFaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFdEU7SUEyQkMsK0JBQW1CLEdBQXdCLEVBQVMsTUFBaUIsRUFBVSxRQUFxQjtRQUFqRixRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVc7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBcEJoRSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBaUI1QyxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWYsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDa0UsQ0FBQztJQWxCeEcsc0JBQWEsMENBQU87Ozs7O1FBQXBCLFVBQXFCLEdBQVc7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLENBQUM7OztPQUFBO0lBQ0Qsc0JBQWEsMENBQU87Ozs7O1FBQXBCLFVBQXFCLEdBQWdCO1lBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcs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O2dCQUFFLFdBQVc7Ozs0QkFlN0IsV0FBVyxTQUFDLHFCQUFxQjt3QkFDakMsS0FBSzswQkFDTCxLQUFLOzBCQUdMLEtBQUs7d0JBR0wsS0FBSzt1Q0FHTCxLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSzt3QkFFTCxNQUFNOztJQW9EUiw0QkFBQztDQUFBLEFBOUVELElBOEVDO1NBeEVZLHFCQUFxQjs7O0lBQ2pDLDBDQUFxRDs7SUFDckQsc0NBQXVCOztJQWdCdkIseUNBQXlCOztJQUV6QixzQ0FBcUM7O0lBQ3pCLG9DQUErQjs7SUFBRSx1Q0FBd0I7Ozs7O0lBQUUseUNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcclxuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbGV2aWV3L3R5cGVzL2NhdGVnb3J5JztcclxuaW1wb3J0IHsgQ29sdW1uc1dpdGhMZXR0ZXIsIE93bmVyQnlFbnVtIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWxldmlldy90eXBlcy9tb2RlbCc7XHJcbmltcG9ydCB7IFNob3dIaXN0b3J5RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hvdy1oaXN0b3J5LWRpYWxvZy9zaG93LWhpc3RvcnktZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCwgRGlhbG9nRGF0YSB9IGZyb20gJy4vZWRpdC1jYXRlZ29yeS1kaWFsb2cvZWRpdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFja0ZhY2UgfSBmcm9tICcuL3NlcnZpY2UvYmFja2ZhY2UnO1xyXG5pbXBvcnQgeyBMYWJlbE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2xhYmVsLW1hbmFnZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2NvbW1vbi1sYWJlbC1tYW5hZ2VyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbGFiZWwtbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbGFiZWwtbWFuYWdlci5jb21wb25lbnQuc2NzcyddLFxyXG5cdHByb3ZpZGVyczogW0xhYmVsTWFuYWdlclNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYWJlbE1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBIb3N0QmluZGluZygnY2xhc3MubGFiZWwtbWFuYWdlcicpIGhvc3RDbGFzcyA9IHRydWU7XHJcblx0QElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHRASW5wdXQoKSBzZXQgZWxlTmFtZSh2YWw6IHN0cmluZykge1xyXG5cdFx0dGhpcy5zdnIuZWxlTmFtZSA9IHZhbDtcclxuXHR9XHJcblx0QElucHV0KCkgc2V0IG93bmVyQnkodmFsOiBPd25lckJ5RW51bSkge1xyXG5cdFx0dGhpcy5zdnIub3duZXJCeSA9IHZhbDtcclxuXHR9XHJcblx0QElucHV0KCkgc2V0IG93bmVyKHZhbDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLnN2ci5vd25lciA9IHZhbDtcclxuXHR9XHJcblx0QElucHV0KCkgc2V0IGFsbENvbHVtbnNXaXRoTGV0dGVyKHZhbDogQ29sdW1uc1dpdGhMZXR0ZXIpIHtcclxuXHRcdHRoaXMuc3ZyLmFsbENvbHVtbnNXaXRoTGV0dGVyID0gdmFsO1xyXG5cdH1cclxuXHRASW5wdXQoKSBzZXQgYmFja2ZhY2UodmFsOiBCYWNrRmFjZSkge1xyXG5cdFx0dGhpcy5zdnIuYmFja2ZhY2UgPSB2YWw7XHJcblx0fVxyXG5cdEBJbnB1dCgpIGhhc0Nsb3NlID0gdHJ1ZTtcclxuXHJcblx0QE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBzdnI6IExhYmVsTWFuYWdlclNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIpIHt9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5zdnIuZmV0Y2hDYXRlZ29yaWVzKCk7XHJcblx0fVxyXG5cdGFkZENhdGVnb3J5Q2xpY2soKTogdm9pZCB7XHJcblx0XHRjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEVkaXRDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCwge1xyXG5cdFx0XHR3aWR0aDogJzM2MHB4JyxcclxuXHRcdFx0aGVpZ2h0OiAnMjI0cHgnLFxyXG5cdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0bmFtZTogJ+aWsOeahOexu+WIqycsXHJcblx0XHRcdFx0dGl0bGU6ICflop7liqDmlrDnmoTnsbvliKsnXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBEaWFsb2dEYXRhKSA9PiB7XHJcblx0XHRcdGlmIChyZXN1bHQpIHtcclxuXHRcdFx0XHR0aGlzLnN2ci5hZGRDYXRlZ29yeSh7IG5hbWU6IHJlc3VsdC5uYW1lIH0pLnN1YnNjcmliZShcclxuXHRcdFx0XHRcdCgpID0+IHt9LFxyXG5cdFx0XHRcdFx0ZXJyID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5zbmFja0Jhci5vcGVuKGVyciwgJ+ehruWumicsIHsgZHVyYXRpb246IDUwMDAgfSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cdG9wZW5IaXNEaWFsb2coKSB7XHJcblx0XHR0aGlzLnN2ci5mZXRjaENhdGVnb3J5TGFiZWxIaXMoKS5zdWJzY3JpYmUodiA9PiB7XHJcblx0XHRcdHRoaXMuZGlhbG9nLm9wZW4oU2hvd0hpc3RvcnlEaWFsb2dDb21wb25lbnQsIHtcclxuXHRcdFx0XHR3aWR0aDogJzM2MHB4JyxcclxuXHRcdFx0XHRkYXRhOiB2LFxyXG5cdFx0XHRcdHBvc2l0aW9uOiB7XHJcblx0XHRcdFx0XHR0b3A6ICc0NnB4JyxcclxuXHRcdFx0XHRcdHJpZ2h0OiAnMTZweCdcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cdGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPENhdGVnb3J5W10+KSB7XHJcblx0XHR0aGlzLnN2ci5zZXRDYXRlZ29yeVBvc2l0aW9uKHRoaXMuc3ZyLmNhdGVnb3J5c1tldmVudC5wcmV2aW91c0luZGV4XSwgZXZlbnQuY3VycmVudEluZGV4ICsgMSk7XHJcblx0fVxyXG5cdGNhdGVnb3J5RGlzcGxheVRpdGxlKCkge1xyXG5cdFx0c3dpdGNoICh0aGlzLnN2ci5vd25lckJ5KSB7XHJcblx0XHRcdGNhc2UgT3duZXJCeUVudW0ub3duZXJCeUVsZTpcclxuXHRcdFx0XHRyZXR1cm4gJ+e8uuecgSc7XHJcblx0XHRcdGNhc2UgT3duZXJCeUVudW0ub3duZXJCeURlcHQ6XHJcblx0XHRcdFx0cmV0dXJuIGAke3RoaXMuc3ZyLm93bmVyfWA7XHJcblx0XHRcdGNhc2UgT3duZXJCeUVudW0ub3duZXJCeVVzZXI6XHJcblx0XHRcdFx0cmV0dXJuICfnp4HmnIknO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=