import { Component, Input, ContentChild, ContentChildren, TemplateRef, ElementRef, OnInit, AfterViewInit } from '@angular/core'; import { RdComponent } from '../../base/rdComponent'; import { RdLib } from '../../base/rdLib'; export type PortletToolSizes = 'small' | 'large' | 'huge'; @Component({ selector: 'rd-menu-content', template: ` ` }) export class PortletToolMenuContent extends RdComponent { @Input('rd-text') header; @ContentChild(TemplateRef) template; } @Component({ selector: 'rd-tool:[rd-type=menu]', template: ` ` }) export class PortletToolMenu extends RdComponent implements OnInit, AfterViewInit { constructor(private element: ElementRef) { super(); } @Input('rd-text') text: string; @Input('rd-size') size: PortletToolSizes = "large"; @Input('rd-icon') iconClass: string = "fas fa-cogs"; @Input('rd-icon-color') iconColor: string = "white"; @Input('rd-tooltip') tooltip = RdLib.localization.translateEn('OPERATIONS'); @ContentChildren(PortletToolMenuContent) contents; sizeCLass: string; ngOnInit() { this.iconClass += " m-dropdown__toggle dropdown-toggle"; switch (this.size) { case 'small': this.sizeCLass = "m-dropdown--small"; break; case 'large': this.sizeCLass = "m-dropdown--large"; break; case 'huge': this.sizeCLass = "m-dropdown--huge"; break; } } ngAfterViewInit() { this.jQuery(this.element.nativeElement).find("ul").addClass("m-nav"); this.jQuery(this.element.nativeElement).find("li").addClass("m-nav__item"); this.jQuery(this.element.nativeElement).find("div").addClass("m-nav__link"); // this.jQuery(this.element.nativeElement).find("i").addClass("m-nav__link-icon"); // this.jQuery(this.element.nativeElement).find("span").addClass("m-nav__link-text"); } setzIndex() { setTimeout(() => { this.jQuery(this.element.nativeElement).find(".m-dropdown__wrapper").css("z-index", "500"); }); } }