ng-metamagic-extensions
Version:
[](https://badge.fury.io/js/ng-metamagic-extensions) []() [ • 3.04 kB
text/typescript
import {AfterContentInit, Component, ContentChildren, Input, OnInit, QueryList} from '@angular/core';
import {ButtonGroupActionComponent} from "./buttongroup.action.component";
export class ButtonGroupComponent implements OnInit,AfterContentInit {
size : string;
btnGroupStyleClass : string;
elementId : any;
buttonData : any[];
buttonComponentRef : QueryList<ButtonGroupActionComponent>;
constructor() {
this.elementId = 'button-group' + new Date().getTime() + Math.random();
}
ngAfterContentInit() {
this.createConfig();
}
ngOnInit() {
this.btnGroupStyleClass = 'btn-group ';
if(this.size != null){
if(this.size == 'large')
this.btnGroupStyleClass = this.btnGroupStyleClass.concat(' btn-group-lg');
else if(this.size == 'small')
this.btnGroupStyleClass = this.btnGroupStyleClass.concat(' btn-group-sm');
else if(this.size == 'xsmall')
this.btnGroupStyleClass = this.btnGroupStyleClass.concat(' btn-group-xs');
}
}
createConfig(){
this.buttonData = [];
this.createButtonConfig();
}
buttonClick(event : any,btnObj : any){
btnObj.onClick.emit(event);
if(btnObj.onClickRoute !=null){
// this.router.navigate([this.onClickRoute]);
}
}
createButtonConfig(){
let buttonRefArray = [];
buttonRefArray = this.buttonComponentRef.toArray();
for(let cr =0 ; cr<buttonRefArray.length;cr++){
let buttonConfig = buttonRefArray[cr];
let data : any = {label : buttonConfig.label,onClick : buttonConfig.onClick,icon : buttonConfig.icon,type:buttonConfig.type,tooltipMessage:buttonConfig.tooltipMessage,onClickRoute:buttonConfig.onClickRoute,disabled:buttonConfig.disabled,
isLoading:buttonConfig.isLoading,fieldName:buttonConfig.fieldName,btnStyleClass:buttonConfig.btnStyleClass,iconStyleClass:buttonConfig.iconStyleClass,
btnSizeStyleClass:buttonConfig.btnSizeStyleClass,hasToolTip:buttonConfig.hasToolTip,elementId:buttonConfig.elementId};
this.buttonData.push(data);
}
console.log(this.buttonData);
}
}