diff options
Diffstat (limited to 'webapp/src/app/services/alert.service.ts')
-rw-r--r-- | webapp/src/app/services/alert.service.ts | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/webapp/src/app/services/alert.service.ts b/webapp/src/app/services/alert.service.ts deleted file mode 100644 index aee5827..0000000 --- a/webapp/src/app/services/alert.service.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { Injectable, SecurityContext } from '@angular/core'; -import { DomSanitizer } from '@angular/platform-browser'; -import { Observable } from 'rxjs/Observable'; -import { Subject } from 'rxjs/Subject'; - - -export type AlertType = 'danger' | 'warning' | 'info' | 'success'; - -export interface IAlert { - type: AlertType; - msg: string; - show?: boolean; - dismissible?: boolean; - dismissTimeout?: number; // close alert after this time (in seconds) - id?: number; -} - -@Injectable() -export class AlertService { - public alerts: Observable<IAlert[]>; - - private _alerts: IAlert[]; - private alertsSubject = <Subject<IAlert[]>>new Subject(); - private uid = 0; - private defaultDismissTmo = 5; // in seconds - - constructor(private sanitizer: DomSanitizer) { - this.alerts = this.alertsSubject.asObservable(); - this._alerts = []; - this.uid = 0; - } - - public error(msg: string, dismissTime?: number) { - this.add({ - type: 'danger', msg: msg, dismissible: true, dismissTimeout: dismissTime - }); - } - - public warning(msg: string, dismissible?: boolean) { - this.add({ type: 'warning', msg: msg, dismissible: true, dismissTimeout: (dismissible ? this.defaultDismissTmo : 0) }); - } - - public info(msg: string) { - this.add({ type: 'info', msg: msg, dismissible: true, dismissTimeout: this.defaultDismissTmo }); - } - - public add(al: IAlert) { - const msg = String(al.msg).replace('\n', '<br>'); - this._alerts.push({ - show: true, - type: al.type, - msg: this.sanitizer.sanitize(SecurityContext.HTML, msg), - dismissible: al.dismissible || true, - dismissTimeout: (al.dismissTimeout * 1000) || 0, - id: this.uid, - }); - this.uid += 1; - this.alertsSubject.next(this._alerts); - } - - public del(al: IAlert) { - const idx = this._alerts.findIndex((a) => a.id === al.id); - if (idx > -1) { - this._alerts.splice(idx, 1); - } - } -} |