Changeset 57e38f4 in github
- Timestamp:
- Jan 9, 2011 3:24:39 AM (2 years ago)
- Branches:
- master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
- Children:
- 0ff554d
- Parents:
- 808d161
- File:
-
- 1 edited
-
program/js/app.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
program/js/app.js
ref292ef r57e38f4 4536 4536 // The same message is already displayed 4537 4537 if (this.messages[key]) { 4538 // replace label 4538 4539 if (this.messages[key].obj) 4539 4540 this.messages[key].obj.html(msg); 4541 // store label in stack 4542 if (type == 'loading') { 4543 this.messages[key].labels.push({'id': id, 'msg': msg}); 4544 } 4545 // add element and set timeout 4540 4546 this.messages[key].elements.push(id); 4541 window.setTimeout(function() { ref.hide_message(id, t rue); }, timeout);4547 window.setTimeout(function() { ref.hide_message(id, type == 'loading'); }, timeout); 4542 4548 return id; 4543 4549 } 4544 4550 4545 var obj = $('<div>').addClass(type).html(msg).data('msg', msg), 4546 cont = $(this.gui_objects.message).show(); 4551 // create DOM object and display it 4552 var obj = $('<div>').addClass(type).html(msg).data('key', key), 4553 cont = $(this.gui_objects.message).append(obj).show(); 4554 4555 this.messages[key] = {'obj': obj, 'elements': [id]}; 4547 4556 4548 4557 if (type == 'loading') { 4549 obj.appendTo(cont); 4550 this.messages[key] = {'obj': obj, 'elements': [id]}; 4551 window.setTimeout(function() { rcmail.hide_message(id); }, timeout); 4552 return id; 4558 this.messages[key].labels = [{'id': id, 'msg': msg}]; 4553 4559 } 4554 4560 else { 4555 obj. appendTo(cont).bind('mousedown', function() { return ref.hide_message(obj, true); });4556 window.setTimeout(function() { ref.hide_message(id, true); }, timeout);4557 this.messages[key] = { 'obj': obj, 'elements': [id] }; 4558 return id;4559 }4561 obj.click(function() { return ref.hide_message(obj); }); 4562 } 4563 4564 window.setTimeout(function() { ref.hide_message(id, type == 'loading'); }, timeout); 4565 return id; 4560 4566 }; 4561 4567 … … 4567 4573 return parent.rcmail.hide_message(obj, fade); 4568 4574 4575 var k, n, i, msg, m = this.messages; 4576 4577 // Hide message by object, don't use for 'loading'! 4569 4578 if (typeof(obj) == 'object') { 4570 // hide message object4571 4579 $(obj)[fade?'fadeOut':'hide'](); 4572 4573 var msg = $(obj).data('msg'); 4580 msg = $(obj).data('key'); 4574 4581 if (this.messages[msg]) 4575 4582 delete this.messages[msg]; 4576 4583 } 4584 // Hide message by id 4577 4585 else { 4578 // hide message by id4579 var k, n, m = this.messages;4580 4586 for (k in m) { 4581 4587 for (n in m[k].elements) { 4582 4588 if (m[k] && m[k].elements[n] == obj) { 4583 4589 m[k].elements.splice(n, 1); 4584 // hide domelement if last instance is removed4590 // hide DOM element if last instance is removed 4585 4591 if (!m[k].elements.length) { 4586 4592 m[k].obj[fade?'fadeOut':'hide'](); 4587 4593 delete m[k]; 4594 } 4595 // set pending action label for 'loading' message 4596 else if (k == 'loading') { 4597 for (i in m[k].labels) { 4598 if (m[k].labels[i].id == obj) { 4599 delete m[k].labels[i]; 4600 } 4601 else { 4602 msg = m[k].labels[i].msg; 4603 } 4604 m[k].obj.html(msg); 4605 } 4588 4606 } 4589 4607 }
Note: See TracChangeset
for help on using the changeset viewer.
