src/directives/dialog.directive.ts
Used for opening popups and alert messages
selector | [ngfbDialog] |
component
|
Type: |
Defined in src/directives/dialog.directive.ts:13
|
data
|
Type: |
Defined in src/directives/dialog.directive.ts:12
|
disableClose
|
Type:
Default value: |
Defined in src/directives/dialog.directive.ts:14
|
onDialogResult
|
$event type: EventEmitter
|
Defined in src/directives/dialog.directive.ts:15
|
constructor(dialog: MdDialog)
|
Defined in src/directives/dialog.directive.ts:15
|
openDialog |
openDialog()
|
Defined in src/directives/dialog.directive.ts:19
|
Returns:
void
|
dialog |
dialog: |
import {Component, Input, Output, EventEmitter, HostListener, Directive } from '@angular/core';
import {MdDialogRef, MdDialog, ComponentType, MdDialogConfig} from "@angular/material";
/**
* Used for opening popups and alert messages
*/
@Directive({
selector: '[ngfbDialog]'
})
export class DialogDirective {
@Input() public data: any;
@Input() public component: Component;
@Input() public disableClose: boolean = false;
@Output() public onDialogResult = new EventEmitter<any>();
constructor(public dialog: MdDialog) { }
@HostListener("click", ["$event"]) openDialog() {
const ref: MdDialogRef<Component> = this.dialog.open(
this.component as ComponentType<Component>,
{
disableClose: this.disableClose
} as MdDialogConfig
);
ref.componentInstance['data'] = this.data;
ref.afterClosed().subscribe(result => this.onDialogResult.emit(result));
}
}