NotifyServ.js
3.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
angular.module('NotifyServ', [])
.service('NotifyServ', function () {
$.notifyDefaults({
placement: {
from: 'bottom',
align: 'left'
},
animate: {
enter: 'animated bounceInUp',
exit: 'animated bounceOutDown'
},
newest_on_top: false,
showProgressbar: false,
delay: 3000
});
return {
notify: $.notify,
info: function (message) {
this.notify({
message: message
}, {
type: 'info'
});
},
success: function (message) {
this.notify({
message: message
}, {
type: 'success'
});
},
warn: function (message) {
this.notify({
message: message
}, {
type: 'warning'
});
console.warn(message);
},
error: function (context, error) {
if (!error) {
error = '';
}
this.notify({
title: context,
message: error
}, {
type: 'danger'
});
console.error(context, error);
},
promise: function (message) {
if (!message) {
message = "Opération en cours...";
}
var not = this.notify({
message: message
}, {
delay: 0
});
return {
update: function (commands) {
not.update(commands);
$('[data-notify=message]', not.$ele).addClass('animated flash');
},
finally: function (commands) {
this.update(commands);
_this = this;
setTimeout(function () {
not.close();
}, $.notifyDefaults().delay);
},
success: function (message) {
this.finally({
message: message,
type: 'success'
});
},
warn: function (message) {
this.finally({
message: message,
type: 'warning'
});
},
error: function (context, error) {
if (!error) {
error = '';
}
commands = {
title: context,
message: error,
type: 'danger'
};
console.error(context, error);
this.finally(commands);
}
};
}
};
});