1
0
Fork 0
mirror of synced 2024-07-15 19:36:08 +12:00
appwrite/public/scripts/services/alerts.js

42 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-05-09 18:54:39 +12:00
(function (window) {
"use strict";
2019-05-09 20:01:51 +12:00
window.ls.container.set('alerts', function (window) {
2019-08-08 08:35:20 +12:00
return {
list: [],
counter: 0,
add: function (message, time) {
var scope = this;
message.id = this.counter++;
scope.list.unshift(message);
if (time > 0) { // When 0 alert is unlimited in time
window.setTimeout(function (message) {
return function () {
scope.remove(message.id)
}
}(message), time);
}
return message.id;
},
remove: function (id) {
let scope = this;
for (let index = 0; index < scope.list.length; index++) {
let obj = scope.list[index];
if (obj.id === parseInt(id)) {
if (typeof obj.callback === "function") {
obj.callback();
}
scope.list.splice(index, 1);
};
}
2019-05-09 18:54:39 +12:00
}
};
2019-08-08 08:35:20 +12:00
}, true, true);
2019-05-09 18:54:39 +12:00
})(window);