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");
});
}
}