import { Input , Directive } from '@angular/core' ; import { EdaDialogCloseEvent } from './eda-dialog' ; import { EdaDialogController } from './eda-dialog-controller' ; import * as _ from 'lodash' ; @ Directive ( ) export abstract class EdaDialogAbstract { visible = false ; _controller : EdaDialogController ; @ Input ( 'controller' ) set controller ( value ) { const me = this ; me . _controller = value ; if ( ! _ . isNil ( me . _controller ) ) { me . visible = true ; } } get controller ( ) : EdaDialogController { return this . _controller ; } abstract onShow ( ) ; abstract onClose ( event , response ? ) ; }