summaryrefslogtreecommitdiffstats
path: root/webapp/src/app/services/alert.service.ts
diff options
context:
space:
mode:
authorSebastien Douheret <sebastien.douheret@iot.bzh>2017-11-20 17:23:04 +0100
committerSebastien Douheret <sebastien.douheret@iot.bzh>2017-11-20 23:35:27 +0100
commit38c0c21a969e621c725245ce91c78e77076c5ce7 (patch)
tree0fbc61c45dc97836ca77c1426b31764a8ff158f0 /webapp/src/app/services/alert.service.ts
parentb0d130807fb9bf36f5ac1abe21cbd558eb86d5cc (diff)
New dashboard look & feel
Dashboard is a fork of ngx-admin release v2.0.1 (sha be7649a9a2da835) Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
Diffstat (limited to 'webapp/src/app/services/alert.service.ts')
-rw-r--r--webapp/src/app/services/alert.service.ts67
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);
- }
- }
-}