-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathmessages_list.js
36 lines (34 loc) · 996 Bytes
/
messages_list.js
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
Template.flashMessages.helpers({
messages: function () {
if (flashMessages.find().count() && FlashMessages.options.autoScroll)
$('html, body').animate({
scrollTop: 0
}, 200);
var messages = flashMessages.find().fetch();
$.each(messages, function(index, value) {
value.group = value.message instanceof Array;
});
return messages;
}
});
Template.flashMessageItem.rendered = function () {
var message = this.data;
Meteor.defer(function() {
flashMessages.update(message._id, {$set: {seen: true}});
});
if (message.options && message.options.autoHide) {
var $alert = $(this.find('.alert'));
Meteor.setTimeout(function() {
$alert.fadeOut(400, function() {
flashMessages.remove({_id: message._id});
});
},
message.options.hideDelay);
}
};
Template.flashMessageItem.events({
"click .close": function (e, tmpl) {
e.preventDefault();
flashMessages.remove(tmpl.data._id);
}
});