| | |
| | | } |
| | | |
| | | // check input before leaving compose step |
| | | if (this.task == 'mail' && this.env.action == 'compose' && $.inArray(command, this.env.compose_commands) < 0 && !this.env.server_error) { |
| | | if (this.task == 'mail' && this.env.action == 'compose' && !this.env.server_error && command != 'save-pref' |
| | | && $.inArray(command, this.env.compose_commands) < 0 |
| | | ) { |
| | | if (!this.env.is_sent && this.cmp_hash != this.compose_field_hash() && !confirm(this.get_label('notsentwarning'))) |
| | | return false; |
| | | |
| | |
| | | |
| | | // select the folder if one of its childs is currently selected |
| | | // don't select if it's virtual (#1488346) |
| | | if (!node.virtual && this.env.mailbox && this.env.mailbox.startsWith(name + this.env.delimiter)) |
| | | this.command('list', name); |
| | | if (!node.virtual && this.env.mailbox && this.env.mailbox.startsWith(node.id + this.env.delimiter)) |
| | | this.command('list', node.id); |
| | | } |
| | | else { |
| | | var reg = new RegExp('&'+urlencode(node.id)+'&'); |
| | |
| | | var oldval = input.val(), rx = new RegExp(RegExp.escape(delim) + '\\s*$'); |
| | | if (oldval && !rx.test(oldval)) |
| | | oldval += delim + ' '; |
| | | input.val(oldval + recipients.join(delim + ' ') + delim + ' '); |
| | | input.val(oldval + recipients.join(delim + ' ') + delim + ' ').change(); |
| | | this.triggerEvent('add-recipient', { field:field, recipients:recipients }); |
| | | } |
| | | |
| | |
| | | if (show) { |
| | | // truncate stack down to the one containing the ref link |
| | | for (var i = this.menu_stack.length - 1; stack && i >= 0; i--) { |
| | | if (!$(ref).parents('#'+this.menu_stack[i]).length) |
| | | if (!$(ref).parents('#'+this.menu_stack[i]).length && $(event.target).parent().attr('role') != 'menuitem') |
| | | this.hide_menu(this.menu_stack[i], event); |
| | | } |
| | | if (stack && this.menu_stack.length) { |
| | |
| | | } |
| | | |
| | | this.enable_command('set-listmode', this.env.threads && !is_multifolder); |
| | | if (list.rowcount > 0) |
| | | if (list.rowcount > 0 && !$(document.activeElement).is('input,textarea')) |
| | | list.focus(); |
| | | this.msglist_select(list); |
| | | } |
| | |
| | | this.enable_command('search-create', this.env.source == ''); |
| | | this.enable_command('search-delete', this.env.search_id); |
| | | this.update_group_commands(); |
| | | if (this.contact_list.rowcount > 0) |
| | | if (this.contact_list.rowcount > 0 && !$(document.activeElement).is('input,textarea')) |
| | | this.contact_list.focus(); |
| | | this.triggerEvent('listupdate', { folder:this.env.source, rowcount:this.contact_list.rowcount }); |
| | | } |
| | |
| | | // get the IMP mailbox of the message with the given UID |
| | | this.get_message_mailbox = function(uid) |
| | | { |
| | | var msg = this.env.messages ? this.env.messages[uid] : {}; |
| | | var msg = (this.env.messages && uid ? this.env.messages[uid] : null) || {}; |
| | | return msg.mbox || this.env.mailbox; |
| | | }; |
| | | |