elibmain-menu
Version:
main-menu
49 lines • 7.12 kB
JavaScript
import { Component, HostBinding } from '@angular/core';
import { mainMenu } from '../data/header-main-menu';
import { HeaderService } from '../services/header.service';
export class ElibmainMenuComponent {
constructor(header) {
this.header = header;
this.items = mainMenu;
this.items1 = [];
this.hoveredItem = null;
this.classMainMenu = true;
console.log(" items :", this.items);
}
onItemEnter(item) {
this.hoveredItem = item;
}
onItemLeave(item) {
if (this.hoveredItem === item) {
this.hoveredItem = null;
}
}
onItemClick() {
this.hoveredItem = null;
}
ngOnInit() {
this.items1 = [
{ name: 'Angular', active: true },
{ name: 'React', active: true },
{ name: 'Typescript', active: true },
{ name: 'FoxPro', active: false },
{ name: 'Javascript', active: true },
{ name: 'ASP.NET Core', active: true },
{ name: 'DBase', active: false }
];
}
}
ElibmainMenuComponent.decorators = [
{ type: Component, args: [{
selector: 'lib-elibmain-menu',
template: "<ul class=\"main-menu__list\">\r\n\r\n <ng-container *ngFor=\"let item of items;\">\r\n\r\n <li\r\n *ngIf=\"!item.customFields?.ignoreIn?.includes(header.desktopLayout)\"\r\n class=\"main-menu__item\"\r\n [class.main-menu__item--has-submenu]=\"item.submenu\"\r\n [class.main-menu__item--submenu--menu]=\"item.submenu?.type === 'menu'\"\r\n [class.main-menu__item--submenu--megamenu]=\"item.submenu?.type === 'megamenu'\"\r\n [class.main-menu__item--hover]=\"item === hoveredItem\"\r\n (mouseenter)=\"onItemEnter(item)\"\r\n (mouseleave)=\"onItemLeave(item)\"\r\n >\r\n <ng-template #linkContent>\r\n {{ item.title }}\r\n <lib-elib-icon *ngIf=\"item.submenu\" icon=\"arrow-down-sm-7x5\"></lib-elib-icon>\r\n </ng-template>\r\n \r\n <a *ngIf=\"!item.external\" [routerLink]=\"item.url\" class=\"main-menu__link\" (click)=\"onItemClick()\">\r\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\r\n </a>\r\n <a *ngIf=\"item.external\" [href]=\"item.url\" class=\"main-menu__link\" target=\"_blank\" (click)=\"onItemClick()\">\r\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\r\n </a>\r\n\r\n <div *ngIf=\"item.submenu\" class=\"main-menu__submenu\">\r\n <lib-elibmenu *ngIf=\"item.submenu.type === 'menu'\" [items]=\"item.submenu.links\" (itemClick)=\"onItemClick()\"></lib-elibmenu>\r\n <div \r\n *ngIf=\"item.submenu.type === 'megamenu'\"\r\n class=\"main-menu__megamenu main-menu__megamenu--size--{{ item.submenu.size }}\"\r\n >\r\n <lib-elibmegamenu [menu]=\"item.submenu\" (itemClick)=\"onItemClick()\"></lib-elibmegamenu>\r\n </div>\r\n </div> \r\n </li>\r\n </ng-container>\r\n</ul>\r\n",
styles: [""]
},] }
];
ElibmainMenuComponent.ctorParameters = () => [
{ type: HeaderService }
];
ElibmainMenuComponent.propDecorators = {
classMainMenu: [{ type: HostBinding, args: ['class.main-menu',] }]
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpYm1haW4tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiRDovRUNPTUVSQ0UtUFJPSkVDVC9lY29tbWVyY2VsaWIvZWNvbWxpYi9wcm9qZWN0cy9lbGlibWFpbi1tZW51L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbGlibWFpbi1tZW51LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTzNELE1BQU0sT0FBTyxxQkFBcUI7SUFRaEMsWUFDVyxNQUFxQjtRQUFyQixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBUmhDLFVBQUssR0FBbUIsUUFBUSxDQUFDO1FBRWpDLFdBQU0sR0FBQyxFQUFFLENBQUM7UUFDVixnQkFBVyxHQUFzQixJQUFJLENBQUM7UUFFTixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUtuRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7SUFHcEMsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFTO1FBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBUztRQUNqQixJQUFLLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxFQUFHO1lBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUTtRQUNQLElBQUksQ0FBQyxNQUFNLEdBQUU7WUFDWixFQUFFLElBQUksRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFDLElBQUksRUFBQztZQUM5QixFQUFFLElBQUksRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLElBQUksRUFBQztZQUM1QixFQUFFLElBQUksRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFDLElBQUksRUFBQztZQUNqQyxFQUFFLElBQUksRUFBQyxRQUFRLEVBQUUsTUFBTSxFQUFDLEtBQUssRUFBQztZQUM5QixFQUFFLElBQUksRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFDLElBQUksRUFBQztZQUNqQyxFQUFFLElBQUksRUFBQyxjQUFjLEVBQUUsTUFBTSxFQUFDLElBQUksRUFBQztZQUNuQyxFQUFFLElBQUksRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLEtBQUssRUFBQztTQUM5QixDQUFBO0lBRUQsQ0FBQzs7O1lBOUNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QiwrOURBQTJDOzthQUU1Qzs7O1lBTlEsYUFBYTs7OzRCQWFuQixXQUFXLFNBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LE9uSW5pdCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1haW5NZW51IH0gZnJvbSAnLi4vZGF0YS9oZWFkZXItbWFpbi1tZW51JztcbmltcG9ydCB7IE1haW5NZW51TGluayB9IGZyb20gJy4uL2ludGVyZmFjZXMvbWFpbi1tZW51LWxpbmsnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2hlYWRlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWVsaWJtYWluLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJ2VsaWJtYWluLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxuICAgICBzdHlsZVVybHM6IFsnLi9tYWluLW1lbnUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRWxpYm1haW5NZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgaXRlbXM6IE1haW5NZW51TGlua1tdID0gbWFpbk1lbnU7XG4gXG4gIGl0ZW1zMT1bXTtcbiAgaG92ZXJlZEl0ZW06IE1haW5NZW51TGlua3xudWxsID0gbnVsbDtcbiBcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tYWluLW1lbnUnKSBjbGFzc01haW5NZW51ID0gdHJ1ZTtcbiBcbiAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgaGVhZGVyOiBIZWFkZXJTZXJ2aWNlLFxuICApIHtcbiAgICBjb25zb2xlLmxvZyhcIiBpdGVtcyA6XCIsdGhpcy5pdGVtcylcblxuXG4gIH1cblxuICBvbkl0ZW1FbnRlcihpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBpdGVtO1xuICB9XG5cbiAgb25JdGVtTGVhdmUoaXRlbTogYW55KTogdm9pZCB7XG4gICAgICBpZiAoIHRoaXMuaG92ZXJlZEl0ZW0gPT09IGl0ZW0gKSB7XG4gICAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbSA9IG51bGw7XG4gICAgICB9XG4gIH1cblxuICBvbkl0ZW1DbGljaygpOiB2b2lkIHtcbiAgICAgIHRoaXMuaG92ZXJlZEl0ZW0gPSBudWxsO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICB0aGlzLml0ZW1zMT0gW1xuICAgIHsgbmFtZTonQW5ndWxhcicsIGFjdGl2ZTp0cnVlfSxcbiAgICB7IG5hbWU6J1JlYWN0JywgYWN0aXZlOnRydWV9LFxuICAgIHsgbmFtZTonVHlwZXNjcmlwdCcsIGFjdGl2ZTp0cnVlfSxcbiAgICB7IG5hbWU6J0ZveFBybycsIGFjdGl2ZTpmYWxzZX0sXG4gICAgeyBuYW1lOidKYXZhc2NyaXB0JywgYWN0aXZlOnRydWV9LFxuICAgIHsgbmFtZTonQVNQLk5FVCBDb3JlJywgYWN0aXZlOnRydWV9LFxuICAgIHsgbmFtZTonREJhc2UnLCBhY3RpdmU6ZmFsc2V9XG4gIF1cbiAgICBcbiAgfVxuXG59XG4iXX0=