import { Component, Input, Output, EventEmitter, OnInit, OnChanges } from '@angular/core';
import { RdComponent } from '../../base/rdComponent';
/**
* params
* {
* desc: "",
* title: "",
* focusText: ""
* }
*/
export interface IMegaOptionItem {
desc: string;
title: string;
focusText: string;
active?: boolean;
}
@Component({
selector: 'rd-mega-options',
template: `
`
})
export class MegaOptions extends RdComponent implements OnInit, OnChanges {
@Input("rd-items") items: Array = [];
@Input("rd-default") defaultItem;
@Input("rd-size-class") sizeClass: string = "col-lg-6";
@Output("rd-change") changeEvent: EventEmitter = new EventEmitter();
selectedOption;
ngOnInit() {
this.setActivePassive();
}
ngOnChanges(changes) {
if (changes.defaultItem) {
this.setActivePassive();
}
}
optionClick(item) {
if (this.selectedOption) this.selectedOption.active = false;
this.selectedOption = item;
this.selectedOption.active = true;
this.changeEvent.emit(item);
}
setActivePassive() {
for (let item of this.items) {
if (this.defaultItem && JSON.stringify(item) == JSON.stringify(this.defaultItem)) item.active = true;
else item.active = false;
}
}
}