dbweb-common
Version:
用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上
164 lines • 19.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { animate, group, query, style, transition, trigger } from '@angular/animations';
import { Component, ElementRef, ViewChild, HostBinding } from '@angular/core';
import { RouteElementService } from 'dbweb-core';
import { filter } from 'rxjs/operators';
import { CTRL_LOGIN } from '../const';
import { HomeTabfunctionService } from './home-tabfunction.service';
import { TabsService } from './tabs.service';
var HomeComponent = /** @class */ (function () {
function HomeComponent(routerEle, eles, tabFun, tabs) {
var _this = this;
this.routerEle = routerEle;
this.eles = eles;
this.tabFun = tabFun;
this.tabs = tabs;
this.hostClass = true;
this.subs = [];
this.copystate = false;
this.subs.push(this.routerEle.currentElementListen
.pipe(filter((/**
* @param {?} ele
* @return {?}
*/
function (ele) { return ele && ele.element && ele.element.Controller !== CTRL_LOGIN; })))
.subscribe((/**
* @param {?} ele
* @return {?}
*/
function (ele) {
/** @type {?} */
var state = (/** @type {?} */ (ele.state));
if (!state) {
/** @type {?} */
var key = ele.url;
/** @type {?} */
var arr = key.split('/');
// 功能类的,需要去除子路由作为key,防止出现多余的tab
if (!ele.element.Bill && arr.length > 5) {
key = arr.slice(0, 5).join('/');
// 需要处理query
/** @type {?} */
var queryArr = arr[arr.length - 1].split('?');
if (queryArr.length > 1) {
key += '?' + queryArr[1];
}
}
state = {
url: ele.urlObj,
key: key,
title: ele.element.title()
};
}
_this.tabs.activeTab(state);
})));
this.category = this.tabFun.category;
}
/**
* @return {?}
*/
HomeComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () { };
/**
* @return {?}
*/
HomeComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.subs.forEach((/**
* @param {?} v
* @return {?}
*/
function (v) { return v.unsubscribe(); }));
};
HomeComponent.decorators = [
{ type: Component, args: [{
selector: 'common-home',
template: "<div class=\"home-container-nav\">\r\n\t<common-home-nav></common-home-nav>\r\n</div>\r\n<div class=\"home-container-content\">\r\n\t<div class=\"tab-all\">\r\n\t\t<app-router-tab #tabNav class=\"tabNav\">\r\n\t\t\t<app-router-tab-item\r\n\t\t\t\t*ngFor=\"let tab of tabs.tabs; let index = index\"\r\n\t\t\t\t[routerLink]=\"tab.url\" class=\"tabA\"\r\n\t\t\t\tlabel=\"{{ tab.titleObservable | async }}\">\r\n\t\t\t</app-router-tab-item>\r\n\t\t</app-router-tab>\r\n\t\t<div class=\"tab-nav-right\">\r\n\t\t\t<button mat-icon-button ngxClipboard [cbContent]=\"category | async\"\r\n\t\t\t\t(mousemove)=\"copystate = true\" (mouseout)=\"copystate = false\">\r\n\t\t\t\t<mat-icon class=\"\u590D\u5236\u56FE\u6807\" [class.\u590D\u5236\u60AC\u6D6E]=\"copystate\"\r\n\t\t\t\t\taria-label=\"\u590D\u5236\u7C7B\u522B\" svgIcon=\"content_copy\"></mat-icon>\r\n\t\t\t</button>\r\n\t\t\t<button mat-stroked-button class=\"\u8BED\u8A00\">Eng</button>\r\n\t\t</div>\r\n\t\t<div class=\"\u590D\u5236\u8DEF\u5F84\" [class.\u590D\u5236\u60AC\u6D6E\u72B6\u6001]=\"!copystate\">\r\n\t\t\t<span class=\"\u7C7B\u522B\">{{ category | async }}</span>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"content-home\" [@routerTransition]=\"tabs.activeIndex\">\r\n\t\t<core-router-outlet #outlet=\"coreRouterOutlet\"></core-router-outlet>\r\n\t</div>\r\n</div>",
animations: [
trigger('routerTransition', [
transition(':enter, * => -1', []),
transition(':increment', [
style({ position: 'relative', overflow: 'hidden' }),
query(':enter, :leave', style({ position: 'absolute', width: '100%', height: '100%' }), {
optional: true
}),
group([
query(':enter', [
style({ transform: 'translateX(-100%)' }),
animate('0.5s ease-in-out', style({ transform: 'translateX(0%)' }))
], { optional: true }),
query(':leave', [
style({ transform: 'translateX(0%)' }),
animate('0.5s ease-in-out', style({ transform: 'translateX(100%)' }))
], { optional: true })
])
]),
transition(':decrement', [
style({ position: 'relative', overflow: 'hidden' }),
query(':enter, :leave', style({ position: 'absolute', width: '100%', height: '100%' }), {
optional: true
}),
group([
query(':enter', [
style({ transform: 'translateX(100%)' }),
animate('0.5s ease-in-out', style({ transform: 'translateX(0%)' }))
], { optional: true }),
query(':leave', [
style({ transform: 'translateX(0%)' }),
animate('0.5s ease-in-out', style({ transform: 'translateX(-100%)' }))
], { optional: true })
])
])
])
],
styles: ["@charset \"UTF-8\";:host{width:100%;height:100%;padding:0;margin:0;display:flex;align-items:stretch}.home-container-nav{flex-shrink:0;z-index:10}.home-container-content{height:100%;display:flex;flex-direction:column;width:10%;flex-grow:1;flex-shrink:1}.home-container-content .tab-all{display:flex;height:30px}.home-container-content .tab-all .tabNav{width:10%;flex-grow:1;flex-shrink:1}.home-container-content .tab-all .tab-nav-right{height:30px;line-height:30px;font-size:12px;position:relative;display:block}.home-container-content .tab-all .tab-nav-right button{width:24px;height:24px;line-height:24px}.home-container-content .tab-all .tab-nav-right button .\u590D\u5236\u56FE\u6807{width:16px;height:16px;margin-bottom:6px}.home-container-content .tab-all .tab-nav-right .\u8BED\u8A00{font-size:12px;height:24px;width:64px;margin:0 8px;padding:0;line-height:20px;text-align:center}.home-container-content .\u590D\u5236\u8DEF\u5F84{height:32px;position:absolute;right:0;top:30px;font-size:12px;color:#fff;line-height:32px;border-radius:4px;padding:0 8px;z-index:9;text-align:center;background-color:rgba(0,0,0,.6);box-shadow:0 4px 8px 0 rgba(0,0,0,.14)}.home-container-content .\u590D\u5236\u60AC\u6D6E\u72B6\u6001{display:none}.home-container-content .content-home{width:100%;height:10%;box-sizing:border-box;flex-grow:1;flex-shrink:1}"]
}] }
];
/** @nocollapse */
HomeComponent.ctorParameters = function () { return [
{ type: RouteElementService },
{ type: RouteElementService },
{ type: HomeTabfunctionService },
{ type: TabsService }
]; };
HomeComponent.propDecorators = {
hostClass: [{ type: HostBinding, args: ['class.c-home',] }],
tabNavs: [{ type: ViewChild, args: ['tabNav', { static: true },] }]
};
return HomeComponent;
}());
export { HomeComponent };
if (false) {
/** @type {?} */
HomeComponent.prototype.hostClass;
/** @type {?} */
HomeComponent.prototype.subs;
/** @type {?} */
HomeComponent.prototype.tabNavs;
/** @type {?} */
HomeComponent.prototype.category;
/** @type {?} */
HomeComponent.prototype.copystate;
/**
* @type {?}
* @private
*/
HomeComponent.prototype.routerEle;
/** @type {?} */
HomeComponent.prototype.eles;
/**
* @type {?}
* @private
*/
HomeComponent.prototype.tabFun;
/** @type {?} */
HomeComponent.prototype.tabs;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kYndlYi1jb21tb24vIiwic291cmNlcyI6WyJsaWIvaG9tZS9ob21lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QztJQWlFQyx1QkFDUyxTQUE4QixFQUMvQixJQUF5QixFQUN4QixNQUE4QixFQUMvQixJQUFpQjtRQUp6QixpQkFpQ0M7UUFoQ1EsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBcUI7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBd0I7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBYTtRQVZJLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDOUMsU0FBSSxHQUFtQixFQUFFLENBQUM7UUFJMUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQU8xQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQjthQUNqQyxJQUFJLENBQUMsTUFBTTs7OztRQUFDLFVBQUEsR0FBRyxJQUFJLE9BQUEsR0FBRyxJQUFJ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QUEsQUF2R0QsSUF1R0M7U0E3Q1ksYUFBYTs7O0lBQ3pCLGtDQUE4Qzs7SUFDOUMsNkJBQTBCOztJQUMxQixnQ0FDb0I7O0lBQ3BCLGlDQUFjOztJQUNkLGtDQUEyQjs7Ozs7SUFFMUIsa0NBQXNDOztJQUN0Qyw2QkFBZ0M7Ozs7O0lBQ2hDLCtCQUFzQzs7SUFDdEMsNkJBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgZ3JvdXAsIHF1ZXJ5LCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlRWxlbWVudFNlcnZpY2UgfSBmcm9tICdkYndlYi1jb3JlJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ1RSTF9MT0dJTiB9IGZyb20gJy4uL2NvbnN0JztcclxuaW1wb3J0IHsgSVJvdXRlclN0YXRlIH0gZnJvbSAnLi4vcm91dGVyLXN0YXRlJztcclxuaW1wb3J0IHsgSG9tZVRhYmZ1bmN0aW9uU2VydmljZSB9IGZyb20gJy4vaG9tZS10YWJmdW5jdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGFic1NlcnZpY2UgfSBmcm9tICcuL3RhYnMuc2VydmljZSc7XHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnY29tbW9uLWhvbWUnLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9ob21lLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybHM6IFsnLi9ob21lLmNvbXBvbmVudC5zY3NzJ10sXHJcblx0YW5pbWF0aW9uczogW1xyXG5cdFx0dHJpZ2dlcigncm91dGVyVHJhbnNpdGlvbicsIFtcclxuXHRcdFx0dHJhbnNpdGlvbignOmVudGVyLCAqID0+IC0xJywgW10pLFxyXG5cdFx0XHR0cmFuc2l0aW9uKCc6aW5jcmVtZW50JywgW1xyXG5cdFx0XHRcdHN0eWxlKHsgcG9zaXRpb246ICdyZWxhdGl2ZScsIG92ZXJmbG93OiAnaGlkZGVuJyB9KSxcclxuXHRcdFx0XHRxdWVyeSgnOmVudGVyLCA6bGVhdmUnLCBzdHlsZSh7IHBvc2l0aW9uOiAnYWJzb2x1dGUnLCB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICcxMDAlJyB9KSwge1xyXG5cdFx0XHRcdFx0b3B0aW9uYWw6IHRydWVcclxuXHRcdFx0XHR9KSxcclxuXHRcdFx0XHRncm91cChbXHJcblx0XHRcdFx0XHRxdWVyeShcclxuXHRcdFx0XHRcdFx0JzplbnRlcicsXHJcblx0XHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0XHRzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9KSxcclxuXHRcdFx0XHRcdFx0XHRhbmltYXRlKCcwLjVzIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXHJcblx0XHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRcdHsgb3B0aW9uYWw6IHRydWUgfVxyXG5cdFx0XHRcdFx0KSxcclxuXHRcdFx0XHRcdHF1ZXJ5KFxyXG5cdFx0XHRcdFx0XHQnOmxlYXZlJyxcclxuXHRcdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHRcdHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pLFxyXG5cdFx0XHRcdFx0XHRcdGFuaW1hdGUoJzAuNXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMTAwJSknIH0pKVxyXG5cdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHR7IG9wdGlvbmFsOiB0cnVlIH1cclxuXHRcdFx0XHRcdClcclxuXHRcdFx0XHRdKVxyXG5cdFx0XHRdKSxcclxuXHRcdFx0dHJhbnNpdGlvbignOmRlY3JlbWVudCcsIFtcclxuXHRcdFx0XHRzdHlsZSh7IHBvc2l0aW9uOiAncmVsYXRpdmUnLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXHJcblx0XHRcdFx0cXVlcnkoJzplbnRlciwgOmxlYXZlJywgc3R5bGUoeyBwb3NpdGlvbjogJ2Fic29sdXRlJywgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfSksIHtcclxuXHRcdFx0XHRcdG9wdGlvbmFsOiB0cnVlXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0Z3JvdXAoW1xyXG5cdFx0XHRcdFx0cXVlcnkoXHJcblx0XHRcdFx0XHRcdCc6ZW50ZXInLFxyXG5cdFx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdFx0c3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSxcclxuXHRcdFx0XHRcdFx0XHRhbmltYXRlKCcwLjVzIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDAlKScgfSkpXHJcblx0XHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRcdHsgb3B0aW9uYWw6IHRydWUgfVxyXG5cdFx0XHRcdFx0KSxcclxuXHRcdFx0XHRcdHF1ZXJ5KFxyXG5cdFx0XHRcdFx0XHQnOmxlYXZlJyxcclxuXHRcdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHRcdHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pLFxyXG5cdFx0XHRcdFx0XHRcdGFuaW1hdGUoJzAuNXMgZWFzZS1pbi1vdXQnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoLTEwMCUpJyB9KSlcclxuXHRcdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFx0eyBvcHRpb25hbDogdHJ1ZSB9XHJcblx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XSlcclxuXHRcdFx0XSlcclxuXHRcdF0pXHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG9tZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLmMtaG9tZScpIGhvc3RDbGFzcyA9IHRydWU7XHJcblx0c3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHRAVmlld0NoaWxkKCd0YWJOYXYnLCB7IHN0YXRpYzogdHJ1ZSB9KVxyXG5cdHRhYk5hdnM6IEVsZW1lbnRSZWY7XHJcblx0Y2F0ZWdvcnk6IGFueTtcclxuXHRjb3B5c3RhdGU6IEJvb2xlYW4gPSBmYWxzZTtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcm91dGVyRWxlOiBSb3V0ZUVsZW1lbnRTZXJ2aWNlLFxyXG5cdFx0cHVibGljIGVsZXM6IFJvdXRlRWxlbWVudFNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHRhYkZ1bjogSG9tZVRhYmZ1bmN0aW9uU2VydmljZSxcclxuXHRcdHB1YmxpYyB0YWJzOiBUYWJzU2VydmljZVxyXG5cdCkge1xyXG5cdFx0dGhpcy5zdWJzLnB1c2goXHJcblx0XHRcdHRoaXMucm91dGVyRWxlLmN1cnJlbnRFbGVtZW50TGlzdGVuXHJcblx0XHRcdFx0LnBpcGUoZmlsdGVyKGVsZSA9PiBlbGUgJiYgZWxlLmVsZW1lbnQgJiYgZWxlLmVsZW1lbnQuQ29udHJvbGxlciAhPT0gQ1RSTF9MT0dJTikpXHJcblx0XHRcdFx0LnN1YnNjcmliZShlbGUgPT4ge1xyXG5cdFx0XHRcdFx0bGV0IHN0YXRlID0gZWxlLnN0YXRlIGFzIElSb3V0ZXJTdGF0ZTtcclxuXHRcdFx0XHRcdGlmICghc3RhdGUpIHtcclxuXHRcdFx0XHRcdFx0bGV0IGtleSA9IGVsZS51cmw7XHJcblx0XHRcdFx0XHRcdGNvbnN0IGFyciA9IGtleS5zcGxpdCgnLycpO1xyXG5cdFx0XHRcdFx0XHQvLyDlip/og73nsbvnmoTvvIzpnIDopoHljrvpmaTlrZDot6/nlLHkvZzkuLprZXnvvIzpmLLmraLlh7rnjrDlpJrkvZnnmoR0YWJcclxuXHRcdFx0XHRcdFx0aWYgKCFlbGUuZWxlbWVudC5CaWxsICYmIGFyci5sZW5ndGggPiA1KSB7XHJcblx0XHRcdFx0XHRcdFx0a2V5ID0gYXJyLnNsaWNlKDAsIDUpLmpvaW4oJy8nKTtcclxuXHRcdFx0XHRcdFx0XHQvLyDpnIDopoHlpITnkIZxdWVyeVxyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHF1ZXJ5QXJyID0gYXJyW2Fyci5sZW5ndGggLSAxXS5zcGxpdCgnPycpO1xyXG5cdFx0XHRcdFx0XHRcdGlmIChxdWVyeUFyci5sZW5ndGggPiAxKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRrZXkgKz0gJz8nICsgcXVlcnlBcnJbMV07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdHN0YXRlID0ge1xyXG5cdFx0XHRcdFx0XHRcdHVybDogZWxlLnVybE9iaixcclxuXHRcdFx0XHRcdFx0XHRrZXk6IGtleSxcclxuXHRcdFx0XHRcdFx0XHR0aXRsZTogZWxlLmVsZW1lbnQudGl0bGUoKVxyXG5cdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhpcy50YWJzLmFjdGl2ZVRhYihzdGF0ZSk7XHJcblx0XHRcdFx0fSlcclxuXHRcdCk7XHJcblx0XHR0aGlzLmNhdGVnb3J5ID0gdGhpcy50YWJGdW4uY2F0ZWdvcnk7XHJcblx0fVxyXG5cdG5nT25Jbml0KCkge31cclxuXHRuZ09uRGVzdHJveSgpIHtcclxuXHRcdHRoaXMuc3Vicy5mb3JFYWNoKHYgPT4gdi51bnN1YnNjcmliZSgpKTtcclxuXHR9XHJcbn1cclxuIl19