UNPKG

angular-sidebar-menu

Version:

The sources for this package are in the [Angular Sidebar Menu](https://github.com/mledour/angular-sidebar-menu) repo. Please file issues and pull requests against that repo.

67 lines (66 loc) 7.2 kB
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, HostBinding, ViewChild } from '@angular/core'; import { AnchorService } from './anchor.service'; export class AnchorComponent { constructor(anchorService) { this.anchorService = anchorService; this.disable = false; this.clickAnchor = new EventEmitter(); } get active() { var _a; return this.isActive || (!!((_a = this.routerLinActive) === null || _a === void 0 ? void 0 : _a.isActive) && !this.disable); } } AnchorComponent.decorators = [ { type: Component, args: [{ selector: 'asm-menu-anchor', changeDetection: ChangeDetectionStrategy.OnPush, template: `<ng-container [ngSwitch]="true"> <a *ngSwitchCase="!!menuItem.children" (click)="clickAnchor.emit()"> <ng-container *ngTemplateOutlet="innerItem"></ng-container> </a> <a *ngSwitchCase="!!menuItem.route || menuItem.route === ''" [routerLink]="disable ? undefined : menuItem.route" routerLinkActive #rla="routerLinkActive" [routerLinkActiveOptions]="{ exact: menuItem.linkActiveExact === undefined ? true : menuItem.linkActiveExact }" > <ng-container *ngTemplateOutlet="innerItem"></ng-container> </a> <a *ngSwitchCase="!!menuItem.url" [href]="menuItem.url" [target]="menuItem.target"> <ng-container *ngTemplateOutlet="innerItem"></ng-container> </a> </ng-container> <ng-template #innerItem> <i *ngIf="menuItem.iconClasses || anchorService.iconClasses" [class]="menuItem.iconClasses || anchorService.iconClasses" class="asm-menu-anchor__icon" ></i> <span class="asm-menu-anchor__label">{{ menuItem.label }}</span> <span *ngIf="menuItem.badges || menuItem.children" class="asm-menu-anchor__pull" [ngClass]="{ 'asm-badges': menuItem.badges, 'asm-toggle': menuItem.children }" > <span *ngFor="let badge of menuItem.badges" [class]="badge.classes" class="asm-badges__badge">{{ badge.label }}</span> <span class="asm-toggle__icon"><ng-content select="[toggleIcon]"></ng-content></span> </span> </ng-template>` },] } ]; AnchorComponent.ctorParameters = () => [ { type: AnchorService } ]; AnchorComponent.propDecorators = { menuItem: [{ type: Input }], isActive: [{ type: Input }], disable: [{ type: Input }], clickAnchor: [{ type: Output }], active: [{ type: HostBinding, args: ['class.asm-menu-anchor--active',] }], routerLinActive: [{ type: ViewChild, args: ['rla',] }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5jaG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3JjL2xpYi9pbnRlcm5hbC9hbmNob3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsdUJBQXVCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt4SCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUEwQ2pELE1BQU0sT0FBTyxlQUFlO0lBYTFCLFlBQW1CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBVnRDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFZixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFRQyxDQUFDO0lBTm5ELElBQWtELE1BQU07O1FBQ3RELE9BQU8sSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsUUFBQyxJQUFJLENBQUMsZUFBZSwwQ0FBRSxRQUFRLENBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDOzs7WUFqREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O21CQW1DTzthQUNsQjs7O1lBekNRLGFBQWE7Ozt1QkEyQ25CLEtBQUs7dUJBQ0wsS0FBSztzQkFDTCxLQUFLOzBCQUVMLE1BQU07cUJBRU4sV0FBVyxTQUFDLCtCQUErQjs4QkFJM0MsU0FBUyxTQUFDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIEhvc3RCaW5kaW5nLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlckxpbmtBY3RpdmUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJy4uL3NpZGViYXItbWVudS5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBBbmNob3JTZXJ2aWNlIH0gZnJvbSAnLi9hbmNob3Iuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FzbS1tZW51LWFuY2hvcicsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cInRydWVcIj5cbiAgICAgIDxhICpuZ1N3aXRjaENhc2U9XCIhIW1lbnVJdGVtLmNoaWxkcmVuXCIgKGNsaWNrKT1cImNsaWNrQW5jaG9yLmVtaXQoKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5uZXJJdGVtXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2E+XG4gICAgICA8YVxuICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiISFtZW51SXRlbS5yb3V0ZSB8fCBtZW51SXRlbS5yb3V0ZSA9PT0gJydcIlxuICAgICAgICBbcm91dGVyTGlua109XCJkaXNhYmxlID8gdW5kZWZpbmVkIDogbWVudUl0ZW0ucm91dGVcIlxuICAgICAgICByb3V0ZXJMaW5rQWN0aXZlXG4gICAgICAgICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcbiAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IG1lbnVJdGVtLmxpbmtBY3RpdmVFeGFjdCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG1lbnVJdGVtLmxpbmtBY3RpdmVFeGFjdCB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySXRlbVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9hPlxuICAgICAgPGEgKm5nU3dpdGNoQ2FzZT1cIiEhbWVudUl0ZW0udXJsXCIgW2hyZWZdPVwibWVudUl0ZW0udXJsXCIgW3RhcmdldF09XCJtZW51SXRlbS50YXJnZXRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlubmVySXRlbVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNpbm5lckl0ZW0+XG4gICAgICA8aVxuICAgICAgICAqbmdJZj1cIm1lbnVJdGVtLmljb25DbGFzc2VzIHx8IGFuY2hvclNlcnZpY2UuaWNvbkNsYXNzZXNcIlxuICAgICAgICBbY2xhc3NdPVwibWVudUl0ZW0uaWNvbkNsYXNzZXMgfHwgYW5jaG9yU2VydmljZS5pY29uQ2xhc3Nlc1wiXG4gICAgICAgIGNsYXNzPVwiYXNtLW1lbnUtYW5jaG9yX19pY29uXCJcbiAgICAgID48L2k+XG4gICAgICA8c3BhbiBjbGFzcz1cImFzbS1tZW51LWFuY2hvcl9fbGFiZWxcIj57eyBtZW51SXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgICpuZ0lmPVwibWVudUl0ZW0uYmFkZ2VzIHx8IG1lbnVJdGVtLmNoaWxkcmVuXCJcbiAgICAgICAgY2xhc3M9XCJhc20tbWVudS1hbmNob3JfX3B1bGxcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdhc20tYmFkZ2VzJzogbWVudUl0ZW0uYmFkZ2VzLCAnYXNtLXRvZ2dsZSc6IG1lbnVJdGVtLmNoaWxkcmVuIH1cIlxuICAgICAgPlxuICAgICAgICA8c3BhbiAqbmdGb3I9XCJsZXQgYmFkZ2Ugb2YgbWVudUl0ZW0uYmFkZ2VzXCIgW2NsYXNzXT1cImJhZGdlLmNsYXNzZXNcIiBjbGFzcz1cImFzbS1iYWRnZXNfX2JhZGdlXCI+e3tcbiAgICAgICAgICBiYWRnZS5sYWJlbFxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJhc20tdG9nZ2xlX19pY29uXCI+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW3RvZ2dsZUljb25dXCI+PC9uZy1jb250ZW50Pjwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPmAsXG59KVxuZXhwb3J0IGNsYXNzIEFuY2hvckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIG1lbnVJdGVtITogTWVudUl0ZW07XG4gIEBJbnB1dCgpIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZSA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBjbGlja0FuY2hvciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmFzbS1tZW51LWFuY2hvci0tYWN0aXZlJykgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0FjdGl2ZSB8fCAoISF0aGlzLnJvdXRlckxpbkFjdGl2ZT8uaXNBY3RpdmUgJiYgIXRoaXMuZGlzYWJsZSk7XG4gIH1cblxuICBAVmlld0NoaWxkKCdybGEnKSBwcml2YXRlIHJvdXRlckxpbkFjdGl2ZT86IFJvdXRlckxpbmtBY3RpdmU7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGFuY2hvclNlcnZpY2U6IEFuY2hvclNlcnZpY2UpIHt9XG59XG4iXX0=