@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
51 lines • 8.6 kB
JavaScript
import { Component, Input, ViewChild, EventEmitter, Output } from '@angular/core';
import { UserMenuService } from './user-menu.service';
import { HeaderService } from '../header/header.service';
import * as i0 from "@angular/core";
import * as i1 from "./user-menu.service";
import * as i2 from "../header/header.service";
import * as i3 from "@angular/common";
import * as i4 from "../i18n/c8y-translate.pipe";
export class UserMenuItemComponent {
constructor(userService, headerService) {
this.userService = userService;
this.headerService = headerService;
this.priority = 0;
this.click = new EventEmitter();
this.open$ = this.headerService.rightDrawerOpen$;
}
ngAfterViewInit() {
this.viewInitTimeout = setTimeout(() => this.userService.add(this));
}
ngOnDestroy() {
clearTimeout(this.viewInitTimeout);
this.userService.remove(this);
}
onClick() {
this.click.emit(this);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserMenuItemComponent, deps: [{ token: i1.UserMenuService }, { token: i2.HeaderService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserMenuItemComponent, selector: "c8y-user-menu-item", inputs: { icon: "icon", label: "label", link: "link", target: "target", priority: "priority", dataCy: "dataCy" }, outputs: { click: "click" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true }], ngImport: i0, template: "<ng-template #template>\n <li>\n <a\n class=\"c8y-right-drawer__link\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n (click)=\"onClick()\"\n [attr.data-cy]=\"dataCy\"\n *ngIf=\"link\"\n [attr.href]=\"link\"\n [attr.target]=\"target\"\n >\n {{ label | translate }}\n <ng-content></ng-content>\n </a>\n <button\n class=\"c8y-right-drawer__link\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n type=\"button\"\n *ngIf=\"!link\"\n (click)=\"onClick()\"\n [attr.data-cy]=\"dataCy\"\n >\n {{ label | translate }}\n <ng-content></ng-content>\n </button>\n </li>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserMenuItemComponent, decorators: [{
type: Component,
args: [{ selector: 'c8y-user-menu-item', template: "<ng-template #template>\n <li>\n <a\n class=\"c8y-right-drawer__link\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n (click)=\"onClick()\"\n [attr.data-cy]=\"dataCy\"\n *ngIf=\"link\"\n [attr.href]=\"link\"\n [attr.target]=\"target\"\n >\n {{ label | translate }}\n <ng-content></ng-content>\n </a>\n <button\n class=\"c8y-right-drawer__link\"\n [attr.tabindex]=\"(open$ | async) ? '0' : '-1'\"\n type=\"button\"\n *ngIf=\"!link\"\n (click)=\"onClick()\"\n [attr.data-cy]=\"dataCy\"\n >\n {{ label | translate }}\n <ng-content></ng-content>\n </button>\n </li>\n</ng-template>\n" }]
}], ctorParameters: () => [{ type: i1.UserMenuService }, { type: i2.HeaderService }], propDecorators: { icon: [{
type: Input
}], label: [{
type: Input
}], link: [{
type: Input
}], target: [{
type: Input
}], priority: [{
type: Input
}], dataCy: [{
type: Input
}], template: [{
type: ViewChild,
args: ['template', { static: false }]
}], click: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS91c2VyL3VzZXItbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2NvcmUvdXNlci91c2VyLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFRekQsTUFBTSxPQUFPLHFCQUFxQjtJQW9CaEMsWUFDVSxXQUE0QixFQUM1QixhQUE0QjtRQUQ1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFDNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFadEMsYUFBUSxHQUFHLENBQUMsQ0FBQztRQU9iLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQU92QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7SUFDbkQsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFvQixDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQsV0FBVztRQUNULFlBQVksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBb0IsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQzsrR0F0Q1UscUJBQXFCO21HQUFyQixxQkFBcUIsK1NDWGxDLG9yQkEyQkE7OzRGRGhCYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0Usb0JBQW9CO2dIQUs5QixJQUFJO3NCQURILEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHb0MsUUFBUTtzQkFBakQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO2dCQUd4QyxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVc2VyTWVudUl0ZW0gfSBmcm9tICcuL3VzZXIubW9kZWwnO1xuaW1wb3J0IHsgVXNlck1lbnVTZXJ2aWNlIH0gZnJvbSAnLi91c2VyLW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBIZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vaGVhZGVyL2hlYWRlci5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN1cHBvcnRlZEljb25zU3VnZ2VzdGlvbnMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2ljb24tc2VsZWN0b3IvaWNvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktdXNlci1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlci1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFVzZXJNZW51SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIFVzZXJNZW51SXRlbSB7XG4gIEBJbnB1dCgpXG4gIGljb246IFN1cHBvcnRlZEljb25zU3VnZ2VzdGlvbnM7XG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIGxpbms6IHN0cmluZztcbiAgQElucHV0KClcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIEBJbnB1dCgpXG4gIHByaW9yaXR5ID0gMDtcbiAgQElucHV0KClcbiAgZGF0YUN5OiBzdHJpbmc7XG4gIG9wZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KSB0ZW1wbGF0ZTogYW55O1xuXG4gIEBPdXRwdXQoKVxuICBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8VXNlck1lbnVJdGVtPigpO1xuICBwcml2YXRlIHZpZXdJbml0VGltZW91dDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyTWVudVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBoZWFkZXJTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMub3BlbiQgPSB0aGlzLmhlYWRlclNlcnZpY2UucmlnaHREcmF3ZXJPcGVuJDtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnZpZXdJbml0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy51c2VyU2VydmljZS5hZGQodGhpcyBhcyBVc2VyTWVudUl0ZW0pKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGNsZWFyVGltZW91dCh0aGlzLnZpZXdJbml0VGltZW91dCk7XG4gICAgdGhpcy51c2VyU2VydmljZS5yZW1vdmUodGhpcyBhcyBVc2VyTWVudUl0ZW0pO1xuICB9XG5cbiAgb25DbGljaygpIHtcbiAgICB0aGlzLmNsaWNrLmVtaXQodGhpcyk7XG4gIH1cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxsaT5cbiAgICA8YVxuICAgICAgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19saW5rXCJcbiAgICAgIFthdHRyLnRhYmluZGV4XT1cIihvcGVuJCB8IGFzeW5jKSA/ICcwJyA6ICctMSdcIlxuICAgICAgKGNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICBbYXR0ci5kYXRhLWN5XT1cImRhdGFDeVwiXG4gICAgICAqbmdJZj1cImxpbmtcIlxuICAgICAgW2F0dHIuaHJlZl09XCJsaW5rXCJcbiAgICAgIFthdHRyLnRhcmdldF09XCJ0YXJnZXRcIlxuICAgID5cbiAgICAgIHt7IGxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9hPlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlcl9fbGlua1wiXG4gICAgICBbYXR0ci50YWJpbmRleF09XCIob3BlbiQgfCBhc3luYykgPyAnMCcgOiAnLTEnXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKm5nSWY9XCIhbGlua1wiXG4gICAgICAoY2xpY2spPVwib25DbGljaygpXCJcbiAgICAgIFthdHRyLmRhdGEtY3ldPVwiZGF0YUN5XCJcbiAgICA+XG4gICAgICB7eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvYnV0dG9uPlxuICA8L2xpPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==