UNPKG

ngx-bit

Version:

A flexible NG-ZORRO helper library

38 lines 4.86 kB
import { Component, Input } from '@angular/core'; import { BitRouterService } from '../bit-router.service'; import { BitService } from 'ngx-bit'; export class BitSiderComponent { constructor(bit, router) { this.bit = bit; this.router = router; this.collapsed = false; this.data = []; } /** * 返回层级 */ level(data) { let deep = 0; while (data.hasOwnProperty('parentNode')) { deep++; data = data.parentNode; } return deep * 24; } } BitSiderComponent.decorators = [ { type: Component, args: [{ selector: 'bit-sider', template: "<nz-sider nzCollapsible [(nzCollapsed)]=\"collapsed\" [nzBreakpoint]=\"'lg'\">\n <div class=\"scroll-bar\">\n <ul\n nz-menu\n [nzTheme]=\"'dark'\"\n [nzInlineCollapsed]=\"collapsed\"\n [nzMode]=\"collapsed ? 'vertical' : 'inline'\"\n >\n <ng-container *ngTemplateOutlet=\"navTemplate; context: { $implicit: data }\"></ng-container>\n <ng-template #navTemplate let-navs>\n <ng-container *ngFor=\"let nav of navs\">\n <ng-container *ngIf=\"nav.router; else notRouter\">\n <li\n nz-menu-item\n [nzPaddingLeft]=\"level(nav)\"\n [bitOpen]=\"[nav.key]\"\n [nzSelected]=\"router.navActive.includes(nav.key)\"\n >\n <i nz-icon [nzType]=\"nav.icon\"></i>\n <span class=\"nav-text\">{{ nav.name | object: bit.locale }}</span>\n </li>\n </ng-container>\n <ng-template #notRouter>\n <li\n nz-submenu\n [nzOpen]=\"router.navActive.includes(nav.key)\"\n [nzPaddingLeft]=\"level(nav)\"\n >\n <span title>\n <i nz-icon [nzType]=\"nav.icon\"></i>\n <span>{{ nav.name | object: bit.locale }}</span>\n </span>\n <ul>\n <ng-container\n *ngTemplateOutlet=\"navTemplate; context: { $implicit: nav.children }\"\n ></ng-container>\n </ul>\n </li>\n </ng-template>\n </ng-container>\n </ng-template>\n </ul>\n </div>\n</nz-sider>\n", styles: ["nz-sider{overflow:hidden;height:100%;position:fixed;left:0}nz-sider .scroll-bar{height:calc(100% - 48px);overflow:auto}"] },] } ]; BitSiderComponent.ctorParameters = () => [ { type: BitService }, { type: BitRouterService } ]; BitSiderComponent.propDecorators = { collapsed: [{ type: Input }], data: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LXNpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaXQvcm91dGVyL2JpdC1zaWRlci9iaXQtc2lkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFPckMsTUFBTSxPQUFPLGlCQUFpQjtJQUk1QixZQUNTLEdBQWUsRUFDZixNQUF3QjtRQUR4QixRQUFHLEdBQUgsR0FBRyxDQUFZO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFMeEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixTQUFJLEdBQVUsRUFBRSxDQUFDO0lBTTFCLENBQUM7SUFFRDs7T0FFRztJQUNILEtBQUssQ0FBQyxJQUFTO1FBQ2IsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3hDLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDeEI7UUFDRCxPQUFPLElBQUksR0FBRyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7O1lBekJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsMGxEQUF5Qzs7YUFFMUM7OztZQU5RLFVBQVU7WUFEVixnQkFBZ0I7Ozt3QkFTdEIsS0FBSzttQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCaXRSb3V0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vYml0LXJvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml0U2VydmljZSB9IGZyb20gJ25neC1iaXQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXQtc2lkZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iaXQtc2lkZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JpdC1zaWRlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaXRTaWRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY29sbGFwc2VkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGF0YTogYW55W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgYml0OiBCaXRTZXJ2aWNlLFxyXG4gICAgcHVibGljIHJvdXRlcjogQml0Um91dGVyU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICog6L+U5Zue5bGC57qnXHJcbiAgICovXHJcbiAgbGV2ZWwoZGF0YTogYW55KTogbnVtYmVyIHtcclxuICAgIGxldCBkZWVwID0gMDtcclxuICAgIHdoaWxlIChkYXRhLmhhc093blByb3BlcnR5KCdwYXJlbnROb2RlJykpIHtcclxuICAgICAgZGVlcCsrO1xyXG4gICAgICBkYXRhID0gZGF0YS5wYXJlbnROb2RlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRlZXAgKiAyNDtcclxuICB9XHJcbn1cclxuIl19