1 import {Component, Input, OnInit, ViewChild} from '@angular/core';
2 import {ToastService, ToastMessage} from '@eg/share/toast/toast.service';
4 const EG_TOAST_TIMEOUT = 3000;
8 templateUrl: './toast.component.html',
9 styleUrls: ['./toast.component.css']
11 export class ToastComponent implements OnInit {
13 message: ToastMessage;
15 // track the most recent timeout event
18 constructor(private toast: ToastService) {
22 this.toast.messages$.subscribe(msg => this.show(msg));
25 show(msg: ToastMessage) {
26 this.dismiss(this.message);
28 this.timeout = setTimeout(
29 () => this.dismiss(this.message),
34 dismiss(msg: ToastMessage) {
37 clearTimeout(this.timeout);