| | |
| | | input_email.focus(); |
| | | break; |
| | | } |
| | | |
| | | |
| | | // clear empty input fields |
| | | $('input.placeholder').each(function(){ if (this.value == this._placeholder) this.value = ''; }); |
| | | } |
| | |
| | | this.goto_url('export', { _source:this.env.source, _gid:this.env.group, _search:this.env.search_request }); |
| | | } |
| | | break; |
| | | |
| | | |
| | | case 'upload-photo': |
| | | this.upload_contact_photo(props); |
| | | break; |
| | |
| | | |
| | | // user settings commands |
| | | case 'preferences': |
| | | this.goto_url(''); |
| | | break; |
| | | |
| | | case 'identities': |
| | | this.goto_url('settings/identities'); |
| | | break; |
| | | |
| | | case 'folders': |
| | | this.goto_url('settings/folders'); |
| | | this.goto_url('settings/' + command); |
| | | break; |
| | | |
| | | // unified command call (command name == function name) |
| | |
| | | var action = flags.mbox == this.env.drafts_mailbox ? 'compose' : 'show'; |
| | | var uid_param = flags.mbox == this.env.drafts_mailbox ? '_draft_uid' : '_uid'; |
| | | cols.subject = '<a href="./?_task=mail&_action='+action+'&_mbox='+urlencode(flags.mbox)+'&'+uid_param+'='+uid+'"'+ |
| | | ' onclick="return rcube_event.cancel(event)">'+cols.subject+'</a>'; |
| | | ' onclick="return rcube_event.cancel(event)" onmouseover="rcube_webmail.long_subject_title(this,'+(message.depth+1)+')">'+cols.subject+'</a>'; |
| | | } |
| | | |
| | | // add each submitted col |
| | |
| | | } |
| | | th.appendChild(tr); |
| | | thead.parentNode.replaceChild(th, thead); |
| | | thead = th; |
| | | } |
| | | |
| | | for (n=0, len=this.env.coltypes.length; n<len; n++) { |
| | |
| | | // update the mailbox count display |
| | | this.set_unread_count_display = function(mbox, set_title) |
| | | { |
| | | var reg, text_obj, item, mycount, childcount, div; |
| | | var reg, link, text_obj, item, mycount, childcount, div; |
| | | |
| | | if (item = this.get_folder_li(mbox)) { |
| | | mycount = this.env.unread_counts[mbox] ? this.env.unread_counts[mbox] : 0; |
| | | text_obj = item.getElementsByTagName('a')[0]; |
| | | link = $(item).children('a').eq(0); |
| | | text_obj = link.children('span.unreadcount'); |
| | | if (!text_obj.length && mycount) |
| | | text_obj = $('<span>').addClass('unreadcount').appendTo(link); |
| | | reg = /\s+\([0-9]+\)$/i; |
| | | |
| | | childcount = 0; |
| | |
| | | childcount += this.env.unread_counts[k]; |
| | | } |
| | | |
| | | if (mycount && text_obj.innerHTML.match(reg)) |
| | | text_obj.innerHTML = text_obj.innerHTML.replace(reg, ' ('+mycount+')'); |
| | | else if (mycount) |
| | | text_obj.innerHTML += ' ('+mycount+')'; |
| | | else |
| | | text_obj.innerHTML = text_obj.innerHTML.replace(reg, ''); |
| | | if (mycount && text_obj.length) |
| | | text_obj.html(' ('+mycount+')'); |
| | | else if (text_obj.length) |
| | | text_obj.remove(); |
| | | |
| | | // set parent's display |
| | | reg = new RegExp(RegExp.escape(this.env.delimiter) + '[^' + RegExp.escape(this.env.delimiter) + ']+$'); |
| | |
| | | |
| | | } // end object rcube_webmail |
| | | |
| | | |
| | | // some static methods |
| | | rcube_webmail.long_subject_title = function(elem, indent) |
| | | { |
| | | if (!elem.title) { |
| | | var $elem = $(elem); |
| | | if ($elem.width() + indent * 15 > $elem.parent().width()) |
| | | elem.title = $elem.html(); |
| | | } |
| | | }; |
| | | |
| | | // copy event engine prototype |
| | | rcube_webmail.prototype.addEventListener = rcube_event_engine.prototype.addEventListener; |
| | | rcube_webmail.prototype.removeEventListener = rcube_event_engine.prototype.removeEventListener; |