| | |
| | | }); |
| | | |
| | | // unload fix |
| | | $(window).bind('beforeunload', function() { ref.unload = true; }); |
| | | $(window).on('beforeunload', function() { ref.unload = true; }); |
| | | |
| | | // set environment variable(s) |
| | | this.set_env = function(p, value) |
| | |
| | | if (this.gui_objects.responseslist) { |
| | | $('a.insertresponse', this.gui_objects.responseslist) |
| | | .attr('unselectable', 'on') |
| | | .mousedown(function(e){ return rcube_event.cancel(e); }) |
| | | .bind('mouseup keypress', function(e){ |
| | | .mousedown(function(e) { return rcube_event.cancel(e); }) |
| | | .on('mouseup keypress', function(e) { |
| | | if (e.type == 'mouseup' || rcube_event.get_keycode(e) == 13) { |
| | | ref.command('insert-response', $(this).attr('rel')); |
| | | $(document.body).trigger('mouseup'); // hides the menu |
| | |
| | | input_user = $('#rcmloginuser'), |
| | | input_tz = $('#rcmlogintz'); |
| | | |
| | | input_user.bind('keyup', function(e) { return ref.login_user_keyup(e); }); |
| | | input_user.keyup(function(e) { return ref.login_user_keyup(e); }); |
| | | |
| | | if (input_user.val() == '') |
| | | input_user.focus(); |
| | |
| | | |
| | | // activate html5 file drop feature (if browser supports it and if configured) |
| | | if (this.gui_objects.filedrop && this.env.filedrop && ((window.XMLHttpRequest && XMLHttpRequest.prototype && XMLHttpRequest.prototype.sendAsBinary) || window.FormData)) { |
| | | $(document.body).bind('dragover dragleave drop', function(e){ return ref.document_drag_hover(e, e.type == 'dragover'); }); |
| | | $(document.body).on('dragover dragleave drop', function(e) { return ref.document_drag_hover(e, e.type == 'dragover'); }); |
| | | $(this.gui_objects.filedrop).addClass('droptarget') |
| | | .bind('dragover dragleave', function(e){ return ref.file_drag_hover(e, e.type == 'dragover'); }) |
| | | .get(0).addEventListener('drop', function(e){ return ref.file_dropped(e); }, false); |
| | | .on('dragover dragleave', function(e) { return ref.file_drag_hover(e, e.type == 'dragover'); }) |
| | | .get(0).addEventListener('drop', function(e) { return ref.file_dropped(e); }, false); |
| | | } |
| | | |
| | | // catch document (and iframe) mouse clicks |
| | | var body_mouseup = function(e){ return ref.doc_mouse_up(e); }; |
| | | $(document.body) |
| | | .bind('mouseup', body_mouseup) |
| | | .bind('keydown', function(e){ return ref.doc_keypress(e); }); |
| | | .mouseup(body_mouseup) |
| | | .keydown(function(e){ return ref.doc_keypress(e); }); |
| | | |
| | | $('iframe').on('load', function(e) { |
| | | try { $(this.contentDocument || this.contentWindow).on('mouseup', body_mouseup); } |
| | |
| | | // removes messages that doesn't exists from list selection array |
| | | this.update_selection = function() |
| | | { |
| | | var selected = this.message_list.selection, |
| | | rows = this.message_list.rows, |
| | | var list = this.message_list, |
| | | selected = list.selection, |
| | | rows = list.rows, |
| | | i, selection = []; |
| | | |
| | | for (i in selected) |
| | | if (rows[selected[i]]) |
| | | selection.push(selected[i]); |
| | | |
| | | this.message_list.selection = selection; |
| | | list.selection = selection; |
| | | |
| | | // reset preview frame, if currently previewed message is not selected (has been removed) |
| | | try { |
| | | var win = this.get_frame_window(this.env.contentframe), |
| | | id = win.rcmail.env.uid; |
| | | |
| | | if (id && $.inArray(id, selection) < 0) |
| | | if (id && !list.in_selection(id)) |
| | | this.show_contentframe(false); |
| | | } |
| | | catch (e) {}; |
| | |
| | | $('#'+r.id+' .leaf:first') |
| | | .attr('id', 'rcmexpando' + r.id) |
| | | .attr('class', (r.obj.style.display != 'none' ? 'expanded' : 'collapsed')) |
| | | .bind('mousedown', {uid: r.uid}, |
| | | function(e) { return ref.expand_message_row(e, e.data.uid); }); |
| | | .mousedown({uid: r.uid}, function(e) { |
| | | return ref.expand_message_row(e, e.data.uid); |
| | | }); |
| | | |
| | | r.unread_children = 0; |
| | | roots.push(r); |
| | |
| | | } |
| | | else if (action == 'compose') { |
| | | this.env.compose_commands.push('compose-encrypted'); |
| | | // display the toolbar button |
| | | $('#' + this.buttons['compose-encrypted'][0].id).show(); |
| | | |
| | | var is_html = $('input[name="_is_html"]').val() > 0; |
| | | |
| | |
| | | .attr('tabindex', '0') |
| | | .html(this.quote_html(response.name)) |
| | | .appendTo(li) |
| | | .mousedown(function(e){ |
| | | .mousedown(function(e) { |
| | | return rcube_event.cancel(e); |
| | | }) |
| | | .bind('mouseup keypress', function(e){ |
| | | .on('mouseup keypress', function(e) { |
| | | if (e.type == 'mouseup' || rcube_event.get_keycode(e) == 13) { |
| | | ref.command('insert-response', $(this).attr('rel')); |
| | | $(document.body).trigger('mouseup'); // hides the menu |
| | |
| | | if (!this.local_save_timer && window.localStorage && this.env.save_localstorage) { |
| | | // track typing activity and only save on changes |
| | | this.compose_type_activity = this.compose_type_activity_last = 0; |
| | | $(document).bind('keypress', function(e){ ref.compose_type_activity++; }); |
| | | $(document).keypress(function(e) { ref.compose_type_activity++; }); |
| | | |
| | | this.local_save_timer = setInterval(function(){ |
| | | if (ref.compose_type_activity > ref.compose_type_activity_last) { |
| | |
| | | } |
| | | |
| | | // handle upload errors by parsing iframe content in onload |
| | | frame.bind('load', {ts:ts}, onload); |
| | | frame.on('load', {ts:ts}, onload); |
| | | |
| | | $(form).attr({ |
| | | target: frame_name, |