/************************************************************************************************ * @Component: Message box component * In order to use component you need to do a number of things: * 1) Inside your component constructor you need to add listener to the button trigger. * 2) Inside the listener you should write your callback logic. * * Example: * @Component({ * selector : 'some-component' * ... * }) * * export class SomeComponent { * openModal() : void { * let messageBoxData : MessageBoxData = new MessageBoxData( * "title", // modal title * "message", ModalType.alert, // modal type * [ {text:"Save", size:"'x-small'", callback: this.someFunction.bind(this), closeModal:true}, {text:"Cancel", size:"'x-small'", closeModal:true} ]); * * MessageBoxService.openModal.next(messageBoxData); // open modal * } * } ************************************************************************************************/ import { Component } from '@angular/core'; import { MessageBoxData} from './messageBox.data'; import { MessageBoxService } from './messageBox.service'; import { SdcUiServices} from "onap-ui-angular"; @Component({ selector: 'message-box', template: '
' }) export class MessageBoxComponent { modalService: SdcUiServices.ModalService; isOpened : boolean = false; constructor(modalService: SdcUiServices.ModalService, private _messageBoxService : MessageBoxService) { this.modalService = modalService; MessageBoxService.openModal.subscribe((messageBoxData: MessageBoxData) => { if(this.isOpened) return; this.isOpened = true; modalService.openModal(this._messageBoxService.setConfig(messageBoxData)).onDestroy(()=>{ this.isOpened = false; }) }); } }