define([
'angular', 'lodash'
], function (angular, _) {
'use strict'; var module = angular.module('kibana.services'); module.service('alertSrv', function($timeout) { var self = this; // List of all alert objects this.list = []; this.set = function(title,text,severity,timeout) { var _a = { title: title || '', text: text || '', severity: severity || 'info', }, _ca = angular.toJson(_a), _clist = _.map(self.list,function(alert){return angular.toJson(alert);}); // If we already have this alert, remove it and add a new one // Why do this instead of skipping the add because it resets the timer if(_.contains(_clist,_ca)) { _.remove(self.list,_.indexOf(_clist,_ca)); } self.list.push(_a); if (timeout > 0) { $timeout(function() { self.list = _.without(self.list,_a); }, timeout); } return(_a); }; this.clear = function(alert) { self.list = _.without(self.list,alert); }; this.clearAll = function() { self.list = []; }; });
});