| | |
| | | |
| | | // flag object as complete |
| | | this.loaded = true; |
| | | this.env.lastrefresh = new Date(); |
| | | |
| | | // show message |
| | | if (this.pending_message) |
| | |
| | | // set eventhandler to status icon |
| | | if (row.icon = document.getElementById(status_icon)) { |
| | | row.icon._row = row.obj; |
| | | row.icon.onmousedown = function(e) { self.command('toggle_status', this); rcube_event.cancel(e); }; |
| | | row.icon.onclick = function(e) { self.command('toggle_status', this); return rcube_event.cancel(e); }; |
| | | } |
| | | |
| | | // save message icon position too |
| | |
| | | // set eventhandler to flag icon, if icon found |
| | | if (this.env.flagged_col != null && (row.flagicon = document.getElementById('flagicn'+row.uid))) { |
| | | row.flagicon._row = row.obj; |
| | | row.flagicon.onmousedown = function(e) { self.command('toggle_flag', this); rcube_event.cancel(e); }; |
| | | row.flagicon.onclick = function(e) { self.command('toggle_flag', this); return rcube_event.cancel(e); }; |
| | | } |
| | | |
| | | if (!row.depth && row.has_children && (expando = document.getElementById('rcmexpando'+row.uid))) { |
| | | row.expando = expando; |
| | | expando.onmousedown = function(e) { return self.expand_message_row(e, uid); }; |
| | | expando.onclick = function(e) { return self.expand_message_row(e, uid); }; |
| | | if (bw.touch) { |
| | | expando.addEventListener('touchend', function(e) { |
| | | if (e.changedTouches.length == 1) { |
| | |
| | | { |
| | | var len = a_uids.length, |
| | | i, uid, all_deleted = true, |
| | | rows = this.message_list ? this.message_list.rows : []; |
| | | rows = this.message_list ? this.message_list.rows : {}; |
| | | |
| | | if (len == 1) { |
| | | if (!rows.length || (rows[a_uids[0]] && !rows[a_uids[0]].deleted)) |
| | | if (!this.message_list || (rows[a_uids[0]] && !rows[a_uids[0]].deleted)) |
| | | this.flag_as_deleted(a_uids); |
| | | else |
| | | this.flag_as_undeleted(a_uids); |
| | |
| | | var r_uids = [], |
| | | post_data = this.selection_post_data({_uid: this.uids_to_list(a_uids), _flag: 'delete'}), |
| | | lock = this.display_message(this.get_label('markingmessage'), 'loading'), |
| | | rows = this.message_list ? this.message_list.rows : [], |
| | | rows = this.message_list ? this.message_list.rows : {}, |
| | | count = 0; |
| | | |
| | | for (var i=0, len=a_uids.length; i<len; i++) { |
| | |
| | | |
| | | // make sure there are no selected rows |
| | | if (this.env.skip_deleted && this.message_list) { |
| | | if(!this.env.display_next) |
| | | if (!this.env.display_next) |
| | | this.message_list.clear_selection(); |
| | | if (count < 0) |
| | | post_data._count = (count*-1); |
| | |
| | | this.flag_deleted_as_read = function(uids) |
| | | { |
| | | var icn_src, uid, i, len, |
| | | rows = this.message_list ? this.message_list.rows : []; |
| | | rows = this.message_list ? this.message_list.rows : {}; |
| | | |
| | | uids = String(uids).split(','); |
| | | |
| | |
| | | } |
| | | |
| | | this.env.identity = id; |
| | | this.triggerEvent('change_identity'); |
| | | return true; |
| | | }; |
| | | |
| | |
| | | // refresh the folder where sent message was saved or replied message comes from |
| | | if (folders && rc.env.task == 'mail' && rc.env.action == '' && $.inArray(rc.env.mailbox, folders) >= 0) { |
| | | // @TODO: try with 'checkmail' here when #1485186 is fixed. See also #1489249. |
| | | rc.command('list', rc.env.mailbox); |
| | | rc.command('list'); |
| | | } |
| | | } |
| | | setTimeout(function(){ window.close() }, 1000); |
| | |
| | | if (result === false) |
| | | return false; |
| | | else |
| | | query = result; |
| | | url = this.url(action, result); |
| | | } |
| | | |
| | | url += '&_remote=1'; |
| | |
| | | // post the given form to a hidden iframe |
| | | this.async_upload_form = function(form, action, onload) |
| | | { |
| | | var ts = new Date().getTime(), |
| | | var frame, ts = new Date().getTime(), |
| | | frame_name = 'rcmupload'+ts; |
| | | |
| | | // upload progress support |
| | |
| | | // have to do it this way for IE |
| | | // otherwise the form will be posted to a new window |
| | | if (document.all) { |
| | | var html = '<iframe name="'+frame_name+'" src="program/resources/blank.gif" style="width:0;height:0;visibility:hidden;"></iframe>'; |
| | | document.body.insertAdjacentHTML('BeforeEnd', html); |
| | | document.body.insertAdjacentHTML('BeforeEnd', '<iframe name="'+frame_name+'"' |
| | | + ' src="program/resources/blank.gif" style="width:0;height:0;visibility:hidden;"></iframe>'); |
| | | frame = $('iframe[name="'+frame_name+'"]'); |
| | | } |
| | | else { // for standards-compilant browsers |
| | | var frame = document.createElement('iframe'); |
| | | frame.name = frame_name; |
| | | frame.style.border = 'none'; |
| | | frame.style.width = 0; |
| | | frame.style.height = 0; |
| | | frame.style.visibility = 'hidden'; |
| | | document.body.appendChild(frame); |
| | | // for standards-compliant browsers |
| | | else { |
| | | frame = $('<iframe>').attr('name', frame_name) |
| | | .css({border: 'none', width: 0, height: 0, visibility: 'hidden'}) |
| | | .appendTo(document.body); |
| | | } |
| | | |
| | | // handle upload errors, parsing iframe content in onload |
| | | $(frame_name).bind('load', {ts:ts}, onload); |
| | | frame.bind('load', {ts:ts}, onload); |
| | | |
| | | $(form).attr({ |
| | | target: frame_name, |
| | |
| | | if (this.task == 'mail' && this.gui_objects.mailboxlist) |
| | | params = this.check_recent_params(); |
| | | |
| | | params._last = Math.floor(this.env.lastrefresh.getTime() / 1000); |
| | | this.env.lastrefresh = new Date(); |
| | | |
| | | // plugins should bind to 'requestrefresh' event to add own params |
| | | this.http_request('refresh', params, lock); |
| | | }; |