UNPKG

@vismaux/ngx-nordic-cool

Version:
67 lines 10.7 kB
import { Component, ChangeDetectionStrategy, TemplateRef, ViewChild, Input, Output, EventEmitter, Optional, Self, } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "@angular/common"; export class NcISidebarItem { } export class NcSidebarItemComponent extends NcISidebarItem { constructor(activeRouterLink, router, cdRef) { super(); this.activeRouterLink = activeRouterLink; this.router = router; this.cdRef = cdRef; this.click = new EventEmitter(); } get activeDirty() { const activeDirty = this._activeDirty; this._activeDirty = false; return activeDirty; } get hasRouterLink() { return !!this.routerLink && !!this.router; } set active(value) { this._active = value; this._activeDirty = value; } get active() { return this._active ?? this._routerLinkActive; } ngDoCheck() { // Currently, no other way to get the new value of activeRouterLink.isActive this.checkActiveLink(); } checkActiveLink() { if (this._routerLinkActive !== this.activeRouterLink?.isActive) { this._routerLinkActive = this.activeRouterLink?.isActive; this._activeDirty = !!this.activeRouterLink?.isActive; this.cdRef.detectChanges(); } } } NcSidebarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NcSidebarItemComponent, deps: [{ token: i1.RouterLinkActive, optional: true, self: true }, { token: i1.Router, optional: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); NcSidebarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NcSidebarItemComponent, selector: "nc-sidebar-item", inputs: { routerLink: "routerLink", disabled: "disabled", href: "href", active: "active" }, outputs: { click: "click" }, providers: [{ provide: NcISidebarItem, useExisting: NcSidebarItemComponent }], viewQueries: [{ propertyName: "contentTpl", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <li [class.active]=\"active\" [class.disabled]=\"disabled\">\n <a *ngIf=\"!hasRouterLink\" [attr.href]=\"href\" (click)=\"click.emit($event)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </a>\n\n <a *ngIf=\"hasRouterLink\" [routerLink]=\"routerLink\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </a>\n\n <ng-template #content><ng-content></ng-content></ng-template>\n </li>\n</ng-template>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NcSidebarItemComponent, decorators: [{ type: Component, args: [{ selector: 'nc-sidebar-item', providers: [{ provide: NcISidebarItem, useExisting: NcSidebarItemComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <li [class.active]=\"active\" [class.disabled]=\"disabled\">\n <a *ngIf=\"!hasRouterLink\" [attr.href]=\"href\" (click)=\"click.emit($event)\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </a>\n\n <a *ngIf=\"hasRouterLink\" [routerLink]=\"routerLink\">\n <ng-template [ngTemplateOutlet]=\"content\"></ng-template>\n </a>\n\n <ng-template #content><ng-content></ng-content></ng-template>\n </li>\n</ng-template>\n" }] }], ctorParameters: function () { return [{ type: i1.RouterLinkActive, decorators: [{ type: Optional }, { type: Self }] }, { type: i1.Router, decorators: [{ type: Optional }] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { routerLink: [{ type: Input }], disabled: [{ type: Input }], href: [{ type: Input }], active: [{ type: Input }], click: [{ type: Output }], contentTpl: [{ type: ViewChild, args: [TemplateRef] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub3JkaWMtY29vbC9zcmMvbGliL3NpZGViYXIvc2lkZWJhci1pdGVtL3NpZGViYXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9yZGljLWNvb2wvc3JjL2xpYi9zaWRlYmFyL3NpZGViYXItaXRlbS9zaWRlYmFyLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsV0FBVyxFQUNYLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWixRQUFRLEVBQ1IsSUFBSSxHQUdMLE1BQU0sZUFBZSxDQUFDOzs7O0FBR3ZCLE1BQU0sT0FBZ0IsY0FBYztDQUVuQztBQVFELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxjQUFjO0lBK0J4RCxZQUM4QixnQkFBa0MsRUFDMUMsTUFBYyxFQUMxQixLQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUpvQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzFDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDMUIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFQZixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztJQVUxRCxDQUFDO0lBaENELElBQUksV0FBVztRQUNiLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDMUIsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDNUMsQ0FBQztJQUtELElBQ0ksTUFBTSxDQUFDLEtBQWM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsQ0FBQztJQWNELFNBQVM7UUFDUCw0RUFBNEU7UUFDNUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFTyxlQUFlO1FBQ3JCLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUU7WUFDOUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUM7WUFDekQsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQztZQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzVCO0lBQ0gsQ0FBQzs7bUhBbERVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG1LQUh0QixDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQyxzRUFnQ2xFLFdBQVcsdUVDdER4Qiw0ZEFhQTsyRkRZYSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsaUJBQWlCLGFBRWhCLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFdBQVcsd0JBQXdCLEVBQUUsQ0FBQyxtQkFDNUQsdUJBQXVCLENBQUMsTUFBTTs7MEJBa0M1QyxRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs0RUFsQkYsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFRixNQUFNO3NCQURULEtBQUs7Z0JBU2EsS0FBSztzQkFBdkIsTUFBTTtnQkFFMEIsVUFBVTtzQkFBMUMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPcHRpb25hbCxcbiAgU2VsZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERvQ2hlY2ssXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyLCBSb3V0ZXJMaW5rQWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5jSVNpZGViYXJJdGVtIHtcbiAgY29udGVudFRwbDogVGVtcGxhdGVSZWY8YW55Pjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmMtc2lkZWJhci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGViYXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTmNJU2lkZWJhckl0ZW0sIHVzZUV4aXN0aW5nOiBOY1NpZGViYXJJdGVtQ29tcG9uZW50IH1dLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmNTaWRlYmFySXRlbUNvbXBvbmVudCBleHRlbmRzIE5jSVNpZGViYXJJdGVtIGltcGxlbWVudHMgRG9DaGVjayB7XG4gIHByaXZhdGUgX2FjdGl2ZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfcm91dGVyTGlua0FjdGl2ZTogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfYWN0aXZlRGlydHk6IGJvb2xlYW47XG5cbiAgZ2V0IGFjdGl2ZURpcnR5KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGFjdGl2ZURpcnR5ID0gdGhpcy5fYWN0aXZlRGlydHk7XG4gICAgdGhpcy5fYWN0aXZlRGlydHkgPSBmYWxzZTtcbiAgICByZXR1cm4gYWN0aXZlRGlydHk7XG4gIH1cblxuICBnZXQgaGFzUm91dGVyTGluaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLnJvdXRlckxpbmsgJiYgISF0aGlzLnJvdXRlcjtcbiAgfVxuXG4gIEBJbnB1dCgpIHJvdXRlckxpbms6IGFueVtdIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGhyZWY6IHN0cmluZztcbiAgQElucHV0KClcbiAgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FjdGl2ZSA9IHZhbHVlO1xuICAgIHRoaXMuX2FjdGl2ZURpcnR5ID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlID8/IHRoaXMuX3JvdXRlckxpbmtBY3RpdmU7XG4gIH1cblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgcmVhZG9ubHkgY29udGVudFRwbDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgYWN0aXZlUm91dGVyTGluazogUm91dGVyTGlua0FjdGl2ZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ0RvQ2hlY2soKTogdm9pZCB7XG4gICAgLy8gQ3VycmVudGx5LCBubyBvdGhlciB3YXkgdG8gZ2V0IHRoZSBuZXcgdmFsdWUgb2YgYWN0aXZlUm91dGVyTGluay5pc0FjdGl2ZVxuICAgIHRoaXMuY2hlY2tBY3RpdmVMaW5rKCk7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrQWN0aXZlTGluaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcm91dGVyTGlua0FjdGl2ZSAhPT0gdGhpcy5hY3RpdmVSb3V0ZXJMaW5rPy5pc0FjdGl2ZSkge1xuICAgICAgdGhpcy5fcm91dGVyTGlua0FjdGl2ZSA9IHRoaXMuYWN0aXZlUm91dGVyTGluaz8uaXNBY3RpdmU7XG4gICAgICB0aGlzLl9hY3RpdmVEaXJ0eSA9ICEhdGhpcy5hY3RpdmVSb3V0ZXJMaW5rPy5pc0FjdGl2ZTtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlPlxuICA8bGkgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8YSAqbmdJZj1cIiFoYXNSb3V0ZXJMaW5rXCIgW2F0dHIuaHJlZl09XCJocmVmXCIgKGNsaWNrKT1cImNsaWNrLmVtaXQoJGV2ZW50KVwiPlxuICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbnRlbnRcIj48L25nLXRlbXBsYXRlPlxuICAgIDwvYT5cblxuICAgIDxhICpuZ0lmPVwiaGFzUm91dGVyTGlua1wiIFtyb3V0ZXJMaW5rXT1cInJvdXRlckxpbmtcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2E+XG5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvbmctdGVtcGxhdGU+XG4gIDwvbGk+XG48L25nLXRlbXBsYXRlPlxuIl19