dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
182 lines • 16.1 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';
export class LabelManagerComponent {
/**
* @param {?} svr
* @param {?} dialog
* @param {?} snackBar
*/
constructor(svr, dialog, snackBar) {
this.svr = svr;
this.dialog = dialog;
this.snackBar = snackBar;
this.hostClass = true;
this.hasClose = true;
this.close = new EventEmitter();
}
/**
* @param {?} val
* @return {?}
*/
set eleName(val) {
this.svr.eleName = val;
}
/**
* @param {?} val
* @return {?}
*/
set ownerBy(val) {
this.svr.ownerBy = val;
}
/**
* @param {?} val
* @return {?}
*/
set owner(val) {
this.svr.owner = val;
}
/**
* @param {?} val
* @return {?}
*/
set allColumnsWithLetter(val) {
this.svr.allColumnsWithLetter = val;
}
/**
* @param {?} val
* @return {?}
*/
set backface(val) {
this.svr.backface = val;
}
/**
* @return {?}
*/
ngOnInit() {
this.svr.fetchCategories();
}
/**
* @return {?}
*/
addCategoryClick() {
/** @type {?} */
const dialogRef = this.dialog.open(EditCategoryDialogComponent, {
width: '360px',
height: '224px',
data: {
name: '新的类别',
title: '增加新的类别'
}
});
dialogRef.afterClosed().subscribe((/**
* @param {?} result
* @return {?}
*/
(result) => {
if (result) {
this.svr.addCategory({ name: result.name }).subscribe((/**
* @return {?}
*/
() => { }), (/**
* @param {?} err
* @return {?}
*/
err => {
this.snackBar.open(err, '确定', { duration: 5000 });
}));
}
}));
}
/**
* @return {?}
*/
openHisDialog() {
this.svr.fetchCategoryLabelHis().subscribe((/**
* @param {?} v
* @return {?}
*/
v => {
this.dialog.open(ShowHistoryDialogComponent, {
width: '360px',
data: v,
position: {
top: '46px',
right: '16px'
}
});
}));
}
/**
* @param {?} event
* @return {?}
*/
drop(event) {
this.svr.setCategoryPosition(this.svr.categorys[event.previousIndex], event.currentIndex + 1);
}
/**
* @return {?}
*/
categoryDisplayTitle() {
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 = () => [
{ 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 }]
};
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFiZWwtbWFuYWdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kYndlYi1jb21tb24vIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9sYWJlbC1tYW5hZ2VyL2xhYmVsLW1hbmFnZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTNELE9BQU8sRUFBcUIsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLDJCQUEyQixFQUFjLE1BQU0sdURBQXVELENBQUM7QUFFaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFRdEUsTUFBTSxPQUFPLHFCQUFxQjs7Ozs7O0lBcUJqQyxZQUFtQixHQUF3QixFQUFTLE1BQWlCLEVBQVUsUUFBcUI7UUFBakYsUUFBRyxHQUFILEdBQUcsQ0FBcUI7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQXBCaEUsY0FBUyxHQUFHLElBQUksQ0FBQztRQWlCNUMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUVmLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ2tFLENBQUM7Ozs7O0lBbEJ4RyxJQUFhLE9BQU8sQ0FBQyxHQUFXO1FBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztJQUN4QixDQUFDOzs7OztJQUNELElBQWEsT0FBTyxDQUFDLEdBQWdCO1FBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FB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QUFLO3VCQUdMLEtBQUs7dUJBR0wsS0FBSztvQkFFTCxNQUFNOzs7O0lBbkJQLDBDQUFxRDs7SUFDckQsc0NBQXVCOztJQWdCdkIseUNBQXlCOztJQUV6QixzQ0FBcUM7O0lBQ3pCLG9DQUErQjs7SUFBRSx1Q0FBd0I7Ozs7O0lBQUUseUNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsJztcclxuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lbGV2aWV3L3R5cGVzL2NhdGVnb3J5JztcclxuaW1wb3J0IHsgQ29sdW1uc1dpdGhMZXR0ZXIsIE93bmVyQnlFbnVtIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWxldmlldy90eXBlcy9tb2RlbCc7XHJcbmltcG9ydCB7IFNob3dIaXN0b3J5RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi4vc2hvdy1oaXN0b3J5LWRpYWxvZy9zaG93LWhpc3RvcnktZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCwgRGlhbG9nRGF0YSB9IGZyb20gJy4vZWRpdC1jYXRlZ29yeS1kaWFsb2cvZWRpdC1jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQmFja0ZhY2UgfSBmcm9tICcuL3NlcnZpY2UvYmFja2ZhY2UnO1xyXG5pbXBvcnQgeyBMYWJlbE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlL2xhYmVsLW1hbmFnZXIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2NvbW1vbi1sYWJlbC1tYW5hZ2VyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vbGFiZWwtbWFuYWdlci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vbGFiZWwtbWFuYWdlci5jb21wb25lbnQuc2NzcyddLFxyXG5cdHByb3ZpZGVyczogW0xhYmVsTWFuYWdlclNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMYWJlbE1hbmFnZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cdEBIb3N0QmluZGluZygnY2xhc3MubGFiZWwtbWFuYWdlcicpIGhvc3RDbGFzcyA9IHRydWU7XHJcblx0QElucHV0KCkgdGl0bGU6IHN0cmluZztcclxuXHRASW5wdXQoKSBzZXQgZWxlTmFtZSh2YWw6IHN0cmluZykge1xyXG5cdFx0dGhpcy5zdnIuZWxlTmFtZSA9IHZhbDtcclxuXHR9XHJcblx0QElucHV0KCkgc2V0IG93bmVyQnkodmFsOiBPd25lckJ5RW51bSkge1xyXG5cdFx0dGhpcy5zdnIub3duZXJCeSA9IHZhbDtcclxuXHR9XHJcblx0QElucHV0KCkgc2V0IG93bmVyKHZhbDogc3RyaW5nKSB7XHJcblx0XHR0aGlzLnN2ci5vd25lciA9IHZhbDtcclxuXHR9XHJcblx0QElucHV0KCkgc2V0IGFsbENvbHVtbnNXaXRoTGV0dGVyKHZhbDogQ29sdW1uc1dpdGhMZXR0ZXIpIHtcclxuXHRcdHRoaXMuc3ZyLmFsbENvbHVtbnNXaXRoTGV0dGVyID0gdmFsO1xyXG5cdH1cclxuXHRASW5wdXQoKSBzZXQgYmFja2ZhY2UodmFsOiBCYWNrRmFjZSkge1xyXG5cdFx0dGhpcy5zdnIuYmFja2ZhY2UgPSB2YWw7XHJcblx0fVxyXG5cdEBJbnB1dCgpIGhhc0Nsb3NlID0gdHJ1ZTtcclxuXHJcblx0QE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyBzdnI6IExhYmVsTWFuYWdlclNlcnZpY2UsIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZywgcHJpdmF0ZSBzbmFja0JhcjogTWF0U25hY2tCYXIpIHt9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5zdnIuZmV0Y2hDYXRlZ29yaWVzKCk7XHJcblx0fVxyXG5cdGFkZENhdGVnb3J5Q2xpY2soKTogdm9pZCB7XHJcblx0XHRjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEVkaXRDYXRlZ29yeURpYWxvZ0NvbXBvbmVudCwge1xyXG5cdFx0XHR3aWR0aDogJzM2MHB4JyxcclxuXHRcdFx0aGVpZ2h0OiAnMjI0cHgnLFxyXG5cdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0bmFtZTogJ+aWsOeahOexu+WIqycsXHJcblx0XHRcdFx0dGl0bGU6ICflop7liqDmlrDnmoTnsbvliKsnXHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cclxuXHRcdGRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocmVzdWx0OiBEaWFsb2dEYXRhKSA9PiB7XHJcblx0XHRcdGlmIChyZXN1bHQpIHtcclxuXHRcdFx0XHR0aGlzLnN2ci5hZGRDYXRlZ29yeSh7IG5hbWU6IHJlc3VsdC5uYW1lIH0pLnN1YnNjcmliZShcclxuXHRcdFx0XHRcdCgpID0+IHt9LFxyXG5cdFx0XHRcdFx0ZXJyID0+IHtcclxuXHRcdFx0XHRcdFx0dGhpcy5zbmFja0Jhci5vcGVuKGVyciwgJ+ehruWumicsIHsgZHVyYXRpb246IDUwMDAgfSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cdG9wZW5IaXNEaWFsb2coKSB7XHJcblx0XHR0aGlzLnN2ci5mZXRjaENhdGVnb3J5TGFiZWxIaXMoKS5zdWJzY3JpYmUodiA9PiB7XHJcblx0XHRcdHRoaXMuZGlhbG9nLm9wZW4oU2hvd0hpc3RvcnlEaWFsb2dDb21wb25lbnQsIHtcclxuXHRcdFx0XHR3aWR0aDogJzM2MHB4JyxcclxuXHRcdFx0XHRkYXRhOiB2LFxyXG5cdFx0XHRcdHBvc2l0aW9uOiB7XHJcblx0XHRcdFx0XHR0b3A6ICc0NnB4JyxcclxuXHRcdFx0XHRcdHJpZ2h0OiAnMTZweCdcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cdGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPENhdGVnb3J5W10+KSB7XHJcblx0XHR0aGlzLnN2ci5zZXRDYXRlZ29yeVBvc2l0aW9uKHRoaXMuc3ZyLmNhdGVnb3J5c1tldmVudC5wcmV2aW91c0luZGV4XSwgZXZlbnQuY3VycmVudEluZGV4ICsgMSk7XHJcblx0fVxyXG5cdGNhdGVnb3J5RGlzcGxheVRpdGxlKCkge1xyXG5cdFx0c3dpdGNoICh0aGlzLnN2ci5vd25lckJ5KSB7XHJcblx0XHRcdGNhc2UgT3duZXJCeUVudW0ub3duZXJCeUVsZTpcclxuXHRcdFx0XHRyZXR1cm4gJ+e8uuecgSc7XHJcblx0XHRcdGNhc2UgT3duZXJCeUVudW0ub3duZXJCeURlcHQ6XHJcblx0XHRcdFx0cmV0dXJuIGAke3RoaXMuc3ZyLm93bmVyfWA7XHJcblx0XHRcdGNhc2UgT3duZXJCeUVudW0ub3duZXJCeVVzZXI6XHJcblx0XHRcdFx0cmV0dXJuICfnp4HmnIknO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iXX0=