| | |
| | | this.set_env('collapsed_folders', this.env.collapsed_folders+'&'+escape(id)+'&'); |
| | | } |
| | | this.http_post('save-pref', '_name=collapsed_folders&_value='+escape(this.env.collapsed_folders)); |
| | | this.set_unread_count_display(id, false); |
| | | } |
| | | } |
| | | |
| | |
| | | var reg, text_obj, item; |
| | | if (item = this.get_folder_li(mbox)) |
| | | { |
| | | // set new text |
| | | item.setAttribute('count', count); |
| | | this.set_unread_count_display(mbox, set_title); |
| | | } |
| | | } |
| | | |
| | | |
| | | // update the mailbox count display |
| | | this.set_unread_count_display = function(mbox, set_title) |
| | | { |
| | | var reg, text_obj, item, count, div, children; |
| | | if (item = this.get_folder_li(mbox)) |
| | | { |
| | | count = parseInt(item.getAttribute('count') ? item.getAttribute('count') : 0); |
| | | text_obj = item.getElementsByTagName('a')[0]; |
| | | reg = /\s+\([0-9]+\)$/i; |
| | | |
| | | div = item.getElementsByTagName('div')[0]; |
| | | if (div.className.match(/collapsed/)) |
| | | { |
| | | // add children's counters |
| | | children = item.getElementsByTagName('li'); |
| | | for (var i=0; i<children.length; i++) |
| | | count = count+parseInt(children[i].getAttribute('count') ? children[i].getAttribute('count') : 0); |
| | | } |
| | | |
| | | if (count && text_obj.innerHTML.match(reg)) |
| | | text_obj.innerHTML = text_obj.innerHTML.replace(reg, ' ('+count+')'); |
| | |
| | | else |
| | | text_obj.innerHTML = text_obj.innerHTML.replace(reg, ''); |
| | | |
| | | // set parent's display |
| | | reg = new RegExp(RegExp.escape(this.env.delimiter) + '[^' + RegExp.escape(this.env.delimiter) + ']+'); |
| | | if (mbox.match(reg)) |
| | | this.set_unread_count_display(mbox.replace(reg, ''), false); |
| | | |
| | | // set the right classes |
| | | this.set_classname(item, 'unread', count>0 ? true : false); |
| | | } |