Remove UI messages from the DOM after hide/fadeOut

pull/60/head
Aleksander Machniak 12 years ago
parent 63cf4fc823
commit ffc2d09cb4

@ -5567,14 +5567,15 @@ function rcube_webmail()
if (!this.gui_objects.message)
return;
var k, n, i, msg, m = this.messages;
var k, n, i, o, m = this.messages;
// Hide message by object, don't use for 'loading'!
if (typeof obj === 'object') {
$(obj)[fade?'fadeOut':'hide']();
msg = $(obj).data('key');
if (this.messages[msg])
delete this.messages[msg];
o = $(obj);
k = o.data('key');
this.hide_message_object(o, fade);
if (m[k])
delete m[k];
}
// Hide message by id
else {
@ -5584,7 +5585,7 @@ function rcube_webmail()
m[k].elements.splice(n, 1);
// hide DOM element if last instance is removed
if (!m[k].elements.length) {
m[k].obj[fade?'fadeOut':'hide']();
this.hide_message_object(m[k].obj, fade);
delete m[k];
}
// set pending action label for 'loading' message
@ -5605,6 +5606,15 @@ function rcube_webmail()
}
};
// hide message object and remove from the DOM
this.hide_message_object = function(o, fade)
{
if (fade)
o.fadeOut(600, function() {$(this).remove(); });
else
o.hide().remove();
};
// remove all messages immediately
this.clear_messages = function()
{
@ -5617,7 +5627,7 @@ function rcube_webmail()
for (k in m)
for (n in m[k].elements)
if (m[k].obj)
m[k].obj.hide();
this.hide_message_object(m[k].obj);
this.messages = {};
};

Loading…
Cancel
Save