| | |
| | | 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 { |
| | |
| | | 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 |
| | |
| | | } |
| | | }; |
| | | |
| | | // 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() |
| | | { |
| | |
| | | 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 = {}; |
| | | }; |