AdrianZelada
5/2/2017 - 5:04 AM

ng-alerts

ng-alerts

@Injectable()

export class NgAlertsService{

  eventAlerts:BehaviorSubject<any> = new BehaviorSubject<any>(null);
  eventOptions:BehaviorSubject<any>= new BehaviorSubject<any>(null);
  private defaultOptions: AlertModel= new AlertModel();

  constructor(options?:AlertModel){
    Object.assign(this.defaultOptions,options);
    this.eventOptions.next(this.defaultOptions);
  }

  pushAlert(alert){
    this.eventAlerts.next({
      type:alert.type || 'success',
      msg:alert.msg || 'Undefined',
      timeout:alert.timeout || this.defaultOptions.timeout
    })
  }

  getOptions(){
    return this.defaultOptions;
  }

  setOptions(options : AlertModel){
    Object.assign(this.defaultOptions,options);
    this.eventOptions.next(this.defaultOptions);
  }

}