UNPKG

dbweb-common

Version:

用`yarn add dbweb-common`安装,不要忘记修改`angular.json`里的 `architect\build\options\assets`,加上

161 lines 19.2 kB
/** * @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'; export class HomeComponent { /** * @param {?} routerEle * @param {?} eles * @param {?} tabFun * @param {?} tabs */ constructor(routerEle, eles, tabFun, tabs) { 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 {?} */ ele => ele && ele.element && ele.element.Controller !== CTRL_LOGIN))) .subscribe((/** * @param {?} ele * @return {?} */ ele => { /** @type {?} */ let state = (/** @type {?} */ (ele.state)); if (!state) { /** @type {?} */ let key = ele.url; /** @type {?} */ const arr = key.split('/'); // 功能类的,需要去除子路由作为key,防止出现多余的tab if (!ele.element.Bill && arr.length > 5) { key = arr.slice(0, 5).join('/'); // 需要处理query /** @type {?} */ const 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 {?} */ ngOnInit() { } /** * @return {?} */ ngOnDestroy() { this.subs.forEach((/** * @param {?} v * @return {?} */ v => 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 = () => [ { type: RouteElementService }, { type: RouteElementService }, { type: HomeTabfunctionService }, { type: TabsService } ]; HomeComponent.propDecorators = { hostClass: [{ type: HostBinding, args: ['class.c-home',] }], tabNavs: [{ type: ViewChild, args: ['tabNav', { static: true },] }] }; 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kYndlYi1jb21tb24vIiwic291cmNlcyI6WyJsaWIvaG9tZS9ob21lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQXFCLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRWpELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQTJEN0MsTUFBTSxPQUFPLGFBQWE7Ozs7Ozs7SUFPekIsWUFDUyxTQUE4QixFQUMvQixJQUF5QixFQUN4QixNQUE4QixFQUMvQixJQUFpQjtRQUhoQixjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFxQjtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUF3QjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFhO1FBVkksY0FBUyxHQUFHLElBQUksQ0FBQztRQUM5QyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztRQUkxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBTzFCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CO2FBQ2pDLElBQUksQ0FBQyxNQUFNOzs7O1FBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxH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QUNwQixpQ0FBYzs7SUFDZCxrQ0FBMkI7Ozs7O0lBRTFCLGtDQUFzQzs7SUFDdEMsNkJBQWdDOzs7OztJQUNoQywrQkFBc0M7O0lBQ3RDLDZCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIGdyb3VwLCBxdWVyeSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZUVsZW1lbnRTZXJ2aWNlIH0gZnJvbSAnZGJ3ZWItY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENUUkxfTE9HSU4gfSBmcm9tICcuLi9jb25zdCc7XHJcbmltcG9ydCB7IElSb3V0ZXJTdGF0ZSB9IGZyb20gJy4uL3JvdXRlci1zdGF0ZSc7XHJcbmltcG9ydCB7IEhvbWVUYWJmdW5jdGlvblNlcnZpY2UgfSBmcm9tICcuL2hvbWUtdGFiZnVuY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRhYnNTZXJ2aWNlIH0gZnJvbSAnLi90YWJzLnNlcnZpY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ2NvbW1vbi1ob21lJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vaG9tZS5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vaG9tZS5jb21wb25lbnQuc2NzcyddLFxyXG5cdGFuaW1hdGlvbnM6IFtcclxuXHRcdHRyaWdnZXIoJ3JvdXRlclRyYW5zaXRpb24nLCBbXHJcblx0XHRcdHRyYW5zaXRpb24oJzplbnRlciwgKiA9PiAtMScsIFtdKSxcclxuXHRcdFx0dHJhbnNpdGlvbignOmluY3JlbWVudCcsIFtcclxuXHRcdFx0XHRzdHlsZSh7IHBvc2l0aW9uOiAncmVsYXRpdmUnLCBvdmVyZmxvdzogJ2hpZGRlbicgfSksXHJcblx0XHRcdFx0cXVlcnkoJzplbnRlciwgOmxlYXZlJywgc3R5bGUoeyBwb3NpdGlvbjogJ2Fic29sdXRlJywgd2lkdGg6ICcxMDAlJywgaGVpZ2h0OiAnMTAwJScgfSksIHtcclxuXHRcdFx0XHRcdG9wdGlvbmFsOiB0cnVlXHJcblx0XHRcdFx0fSksXHJcblx0XHRcdFx0Z3JvdXAoW1xyXG5cdFx0XHRcdFx0cXVlcnkoXHJcblx0XHRcdFx0XHRcdCc6ZW50ZXInLFxyXG5cdFx0XHRcdFx0XHRbXHJcblx0XHRcdFx0XHRcdFx0c3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScgfSksXHJcblx0XHRcdFx0XHRcdFx0YW5pbWF0ZSgnMC41cyBlYXNlLWluLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pKVxyXG5cdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHR7IG9wdGlvbmFsOiB0cnVlIH1cclxuXHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHRxdWVyeShcclxuXHRcdFx0XHRcdFx0JzpsZWF2ZScsXHJcblx0XHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0XHRzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSxcclxuXHRcdFx0XHRcdFx0XHRhbmltYXRlKCcwLjVzIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKDEwMCUpJyB9KSlcclxuXHRcdFx0XHRcdFx0XSxcclxuXHRcdFx0XHRcdFx0eyBvcHRpb25hbDogdHJ1ZSB9XHJcblx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XSlcclxuXHRcdFx0XSksXHJcblx0XHRcdHRyYW5zaXRpb24oJzpkZWNyZW1lbnQnLCBbXHJcblx0XHRcdFx0c3R5bGUoeyBwb3NpdGlvbjogJ3JlbGF0aXZlJywgb3ZlcmZsb3c6ICdoaWRkZW4nIH0pLFxyXG5cdFx0XHRcdHF1ZXJ5KCc6ZW50ZXIsIDpsZWF2ZScsIHN0eWxlKHsgcG9zaXRpb246ICdhYnNvbHV0ZScsIHdpZHRoOiAnMTAwJScsIGhlaWdodDogJzEwMCUnIH0pLCB7XHJcblx0XHRcdFx0XHRvcHRpb25hbDogdHJ1ZVxyXG5cdFx0XHRcdH0pLFxyXG5cdFx0XHRcdGdyb3VwKFtcclxuXHRcdFx0XHRcdHF1ZXJ5KFxyXG5cdFx0XHRcdFx0XHQnOmVudGVyJyxcclxuXHRcdFx0XHRcdFx0W1xyXG5cdFx0XHRcdFx0XHRcdHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgxMDAlKScgfSksXHJcblx0XHRcdFx0XHRcdFx0YW5pbWF0ZSgnMC41cyBlYXNlLWluLW91dCcsIHN0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgwJSknIH0pKVxyXG5cdFx0XHRcdFx0XHRdLFxyXG5cdFx0XHRcdFx0XHR7IG9wdGlvbmFsOiB0cnVlIH1cclxuXHRcdFx0XHRcdCksXHJcblx0XHRcdFx0XHRxdWVyeShcclxuXHRcdFx0XHRcdFx0JzpsZWF2ZScsXHJcblx0XHRcdFx0XHRcdFtcclxuXHRcdFx0XHRcdFx0XHRzdHlsZSh7IHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoMCUpJyB9KSxcclxuXHRcdFx0XHRcdFx0XHRhbmltYXRlKCcwLjVzIGVhc2UtaW4tb3V0Jywgc3R5bGUoeyB0cmFuc2Zvcm06ICd0cmFuc2xhdGVYKC0xMDAlKScgfSkpXHJcblx0XHRcdFx0XHRcdF0sXHJcblx0XHRcdFx0XHRcdHsgb3B0aW9uYWw6IHRydWUgfVxyXG5cdFx0XHRcdFx0KVxyXG5cdFx0XHRcdF0pXHJcblx0XHRcdF0pXHJcblx0XHRdKVxyXG5cdF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEhvbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblx0QEhvc3RCaW5kaW5nKCdjbGFzcy5jLWhvbWUnKSBob3N0Q2xhc3MgPSB0cnVlO1xyXG5cdHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblx0QFZpZXdDaGlsZCgndGFiTmF2JywgeyBzdGF0aWM6IHRydWUgfSlcclxuXHR0YWJOYXZzOiBFbGVtZW50UmVmO1xyXG5cdGNhdGVnb3J5OiBhbnk7XHJcblx0Y29weXN0YXRlOiBCb29sZWFuID0gZmFsc2U7XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIHJvdXRlckVsZTogUm91dGVFbGVtZW50U2VydmljZSxcclxuXHRcdHB1YmxpYyBlbGVzOiBSb3V0ZUVsZW1lbnRTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSB0YWJGdW46IEhvbWVUYWJmdW5jdGlvblNlcnZpY2UsXHJcblx0XHRwdWJsaWMgdGFiczogVGFic1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMuc3Vicy5wdXNoKFxyXG5cdFx0XHR0aGlzLnJvdXRlckVsZS5jdXJyZW50RWxlbWVudExpc3RlblxyXG5cdFx0XHRcdC5waXBlKGZpbHRlcihlbGUgPT4gZWxlICYmIGVsZS5lbGVtZW50ICYmIGVsZS5lbGVtZW50LkNvbnRyb2xsZXIgIT09IENUUkxfTE9HSU4pKVxyXG5cdFx0XHRcdC5zdWJzY3JpYmUoZWxlID0+IHtcclxuXHRcdFx0XHRcdGxldCBzdGF0ZSA9IGVsZS5zdGF0ZSBhcyBJUm91dGVyU3RhdGU7XHJcblx0XHRcdFx0XHRpZiAoIXN0YXRlKSB7XHJcblx0XHRcdFx0XHRcdGxldCBrZXkgPSBlbGUudXJsO1xyXG5cdFx0XHRcdFx0XHRjb25zdCBhcnIgPSBrZXkuc3BsaXQoJy8nKTtcclxuXHRcdFx0XHRcdFx0Ly8g5Yqf6IO957G755qE77yM6ZyA6KaB5Y676Zmk5a2Q6Lev55Sx5L2c5Li6a2V577yM6Ziy5q2i5Ye6546w5aSa5L2Z55qEdGFiXHJcblx0XHRcdFx0XHRcdGlmICghZWxlLmVsZW1lbnQuQmlsbCAmJiBhcnIubGVuZ3RoID4gNSkge1xyXG5cdFx0XHRcdFx0XHRcdGtleSA9IGFyci5zbGljZSgwLCA1KS5qb2luKCcvJyk7XHJcblx0XHRcdFx0XHRcdFx0Ly8g6ZyA6KaB5aSE55CGcXVlcnlcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBxdWVyeUFyciA9IGFyclthcnIubGVuZ3RoIC0gMV0uc3BsaXQoJz8nKTtcclxuXHRcdFx0XHRcdFx0XHRpZiAocXVlcnlBcnIubGVuZ3RoID4gMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0a2V5ICs9ICc/JyArIHF1ZXJ5QXJyWzFdO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRzdGF0ZSA9IHtcclxuXHRcdFx0XHRcdFx0XHR1cmw6IGVsZS51cmxPYmosXHJcblx0XHRcdFx0XHRcdFx0a2V5OiBrZXksXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6IGVsZS5lbGVtZW50LnRpdGxlKClcclxuXHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHRoaXMudGFicy5hY3RpdmVUYWIoc3RhdGUpO1xyXG5cdFx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdFx0dGhpcy5jYXRlZ29yeSA9IHRoaXMudGFiRnVuLmNhdGVnb3J5O1xyXG5cdH1cclxuXHRuZ09uSW5pdCgpIHt9XHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHR0aGlzLnN1YnMuZm9yRWFjaCh2ID0+IHYudW5zdWJzY3JpYmUoKSk7XHJcblx0fVxyXG59XHJcbiJdfQ==