import { Injectable } from '@angular/core'; import { Subject } from 'rxjs/Subject'; import { Observable } from 'rxjs/Observable'; import { Confirmation } from './confirmation'; @Injectable() export class ConfirmationService { private requireConfirmationSource = new Subject(); private acceptConfirmationSource = new Subject(); requireConfirmation$ = this.requireConfirmationSource.asObservable(); accept = this.acceptConfirmationSource.asObservable(); confirm(confirmation: Confirmation) { this.requireConfirmationSource.next(confirmation); return this; } onAccept() { this.acceptConfirmationSource.next(); } }