X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=program%2Fjs%2Flist.js;fp=program%2Fjs%2Flist.js;h=5792ff907c20234e79c07607dc7e5211eff9f803;hb=4212156c5c79d2f58342feb0d3ed1893f177bcab;hp=8bd9aac88e876d45195aa989262a5073a70f42c5;hpb=e8a0682b96f5b7f297e58d101735ba20a0cc3a89;p=roundcube.git diff --git a/program/js/list.js b/program/js/list.js index 8bd9aac..5792ff9 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -1,588 +1,40 @@ -function rcube_list_widget(_1,p){ -this.ENTER_KEY=13; -this.DELETE_KEY=46; -this.BACKSPACE_KEY=8; -this.list=_1?_1:null; -this.frame=null; -this.rows=[]; -this.selection=[]; -this.rowcount=0; -this.subject_col=-1; -this.shiftkey=false; -this.multiselect=false; -this.multi_selecting=false; -this.draggable=false; -this.keyboard=false; -this.toggleselect=false; -this.dont_select=false; -this.drag_active=false; -this.last_selected=0; -this.shift_start=0; -this.in_selection_before=false; -this.focused=false; -this.drag_mouse_start=null; -this.dblclick_time=600; -this.row_init=function(){ -}; -if(p&&typeof (p)=="object"){ -for(var n in p){ -this[n]=p[n]; -} -} -}; -rcube_list_widget.prototype={init:function(){ -if(this.list&&this.list.tBodies[0]){ -this.rows=new Array(); -this.rowcount=0; -var _4; -for(var r=0;r=0;i--){ -if(_2e[i].id&&String(_2e[i].id).match(/rcmrow([a-z0-9\-_=\+\/]+)/i)&&this.rows[RegExp.$1]!=null){ -return RegExp.$1; -} -} -} -return null; -},select_row:function(id,_31,_32){ -var _33=this.selection.join(","); -if(!this.multiselect){ -_31=0; -} -if(!this.shift_start){ -this.shift_start=id; -} -if(!_31){ -this.shift_start=id; -this.highlight_row(id,false); -this.multi_selecting=false; -}else{ -switch(_31){ -case SHIFT_KEY: -this.shift_select(id,false); -break; -case CONTROL_KEY: -if(!_32){ -this.highlight_row(id,true); -} -break; -case CONTROL_SHIFT_KEY: -this.shift_select(id,true); -break; -default: -this.highlight_row(id,false); -break; -} -this.multi_selecting=true; -} -if(this.selection.join(",")!=_33){ -this.triggerEvent("select"); -} -if(this.last_selected!=0&&this.rows[this.last_selected]){ -$(this.rows[this.last_selected].obj).removeClass("focused"); -} -if(this.toggleselect&&this.last_selected==id){ -this.clear_selection(); -id=null; -}else{ -$(this.rows[id].obj).addClass("focused"); -} -if(!this.selection.length){ -this.shift_start=null; -} -this.last_selected=id; -},select:function(id){ -this.select_row(id,false); -this.scrollto(id); -},select_next:function(){ -var _35=this.get_next_row(); -var _36=this.get_prev_row(); -var _37=(_35)?_35:_36; -if(_37){ -this.select_row(_37.uid,false,false); -} -},select_first:function(){ -var _38=this.get_first_row(); -if(_38){ -this.select_row(_38,false,false); -} -},shift_select:function(id,_3a){ -if(!this.rows[this.shift_start]||!this.selection.length){ -this.shift_start=id; -} -var _3b=this.rows[this.shift_start].obj.rowIndex; -var _3c=this.rows[id].obj.rowIndex; -var i=((_3b<_3c)?_3b:_3c); -var j=((_3b>_3c)?_3b:_3c); -for(var n in this.rows){ -if((this.rows[n].obj.rowIndex>=i)&&(this.rows[n].obj.rowIndex<=j)){ -if(!this.in_selection(n)){ -this.highlight_row(n,true); -} -}else{ -if(this.in_selection(n)&&!_3a){ -this.highlight_row(n,true); -} -} -} -},in_selection:function(id){ -for(var n in this.selection){ -if(this.selection[n]==id){ -return true; -} -} -return false; -},select_all:function(_42){ -if(!this.rows||!this.rows.length){ -return false; -} -var _43=this.selection.join(","); -this.selection=new Array(); -for(var n in this.rows){ -if(!_42||(this.rows[n]&&this.rows[n][_42]==true)){ -this.last_selected=n; -this.highlight_row(n,true); -}else{ -if(this.rows[n]){ -$(this.rows[n].obj).removeClass("selected").removeClass("unfocused"); -} -} -} -if(this.selection.join(",")!=_43){ -this.triggerEvent("select"); -} -this.focus(); -return true; -},invert_selection:function(){ -if(!this.rows||!this.rows.length){ -return false; -} -var _45=this.selection.join(","); -for(var n in this.rows){ -this.highlight_row(n,true); -} -if(this.selection.join(",")!=_45){ -this.triggerEvent("select"); -} -this.focus(); -return true; -},clear_selection:function(id){ -var _48=this.selection.length; -if(id){ -for(var n=0;n1||!this.in_selection(id)){ -this.clear_selection(); -this.selection[0]=id; -$(this.rows[id].obj).addClass("selected"); -} -}else{ -if(this.rows[id]){ -if(!this.in_selection(id)){ -this.selection[this.selection.length]=id; -$(this.rows[id].obj).addClass("selected"); -}else{ -var p=find_in_array(id,this.selection); -var _4d=this.selection.slice(0,p); -var _4e=this.selection.slice(p+1,this.selection.length); -this.selection=_4d.concat(_4e); -$(this.rows[id].obj).removeClass("selected").removeClass("unfocused"); -} -} -} -},key_press:function(e){ -if(this.focused!=true){ -return true; -} -var _50=rcube_event.get_keycode(e); -var _51=rcube_event.get_modifier(e); -switch(_50){ -case 40: -case 38: -case 63233: -case 63232: -rcube_event.cancel(e); -return this.use_arrow_key(_50,_51); -default: -this.shiftkey=e.shiftKey; -this.key_pressed=_50; -this.triggerEvent("keypress"); -if(this.key_pressed==this.BACKSPACE_KEY){ -return rcube_event.cancel(e); -} -} -return true; -},key_down:function(e){ -switch(rcube_event.get_keycode(e)){ -case 27: -if(this.drag_active){ -return this.drag_mouse_up(e); -} -case 40: -case 38: -case 63233: -case 63232: -if(!rcube_event.get_modifier(e)&&this.focused){ -return rcube_event.cancel(e); -} -default: -} -return true; -},use_arrow_key:function(_53,_54){ -var _55; -if(_53==40||_53==63233){ -_55=this.get_next_row(); -}else{ -if(_53==38||_53==63232){ -_55=this.get_prev_row(); -} -} -if(_55){ -this.select_row(_55.uid,_54,true); -this.scrollto(_55.uid); -} -return false; -},scrollto:function(id){ -var row=this.rows[id].obj; -if(row&&this.frame){ -var _58=Number(row.offsetTop); -if(_58Number(this.frame.scrollTop)+Number(this.frame.offsetHeight)){ -this.frame.scrollTop=(_58+Number(row.offsetHeight))-Number(this.frame.offsetHeight); -} -} -} -},drag_mouse_move:function(e){ -if(this.drag_start){ -var m=rcube_event.get_mouse_pos(e); -if(!this.drag_mouse_start||(Math.abs(m.x-this.drag_mouse_start.x)<3&&Math.abs(m.y-this.drag_mouse_start.y)<3)){ -return false; -} -if(!this.draglayer){ -this.draglayer=$("
").attr("id","rcmdraglayer").css({position:"absolute",display:"none","z-index":2000}).appendTo(document.body); -} -var _5b=""; -var c,i,_5e,_5f,obj; -for(var n=0;n12){ -_5b+="..."; -break; -} -if(this.rows[this.selection[n]].obj){ -obj=this.rows[this.selection[n]].obj; -_5f=""; -for(c=0,i=0;i=0&&this.subject_col==c))){ -if(n==0){ -if(_5e.nodeType==3){ -this.drag_start_pos=$(obj.childNodes[i]).offset(); -}else{ -this.drag_start_pos=$(_5e).offset(); -} -} -_5f=_5e.nodeType==3?_5e.data:_5e.innerHTML; -_5f=_5f.replace(/^\s+/i,""); -_5b+=(_5f.length>50?_5f.substring(0,50)+"...":_5f)+"
"; -break; -} -c++; -} -} -} -} -this.draglayer.html(_5b); -this.draglayer.show(); -this.drag_active=true; -this.triggerEvent("dragstart"); -} -if(this.drag_active&&this.draglayer){ -var pos=rcube_event.get_mouse_pos(e); -this.draglayer.css({left:(pos.x+20)+"px",top:(pos.y-5+(bw.ie?document.documentElement.scrollTop:0))+"px"}); -this.triggerEvent("dragmove",e?e:window.event); -} -this.drag_start=false; -return false; -},drag_mouse_up:function(e){ -document.onmousemove=null; -if(this.draglayer&&this.draglayer.is(":visible")){ -if(this.drag_start_pos){ -this.draglayer.animate(this.drag_start_pos,300,"swing").hide(20); -}else{ -this.draglayer.hide(); -} -} -this.drag_active=false; -this.triggerEvent("dragend"); -rcube_event.remove_listener({element:document,event:"mousemove",object:this,method:"drag_mouse_move"}); -rcube_event.remove_listener({element:document,event:"mouseup",object:this,method:"drag_mouse_up"}); -var _64=document.getElementsByTagName("iframe"); -for(var n in _64){ -var _66; -if(_64[n].contentDocument){ -_66=_64[n].contentDocument; -}else{ -if(_64[n].contentWindow){ -_66=_64[n].contentWindow.document; -}else{ -if(_64[n].document){ -_66=_64[n].document; -} -} -} -if(_66){ -if(this.iframe_events[n]){ -if(_66.removeEventListener){ -_66.removeEventListener("mousemove",this.iframe_events[n],false); -}else{ -if(_66.detachEvent){ -_66.detachEvent("onmousemove",this.iframe_events[n]); -}else{ -_66["onmousemove"]=null; -} -} -} -rcube_event.remove_listener({element:_66,event:"mouseup",object:this,method:"drag_mouse_up"}); -} -} -return rcube_event.cancel(e); -},set_background_mode:function(_67){ -if(_67){ -this.background=document.createElement("tbody"); -}else{ -if(this.background){ -this.list.replaceChild(this.background,this.list.tBodies[0]); -this.background=null; -} -} -}}; -rcube_list_widget.prototype.addEventListener=rcube_event_engine.prototype.addEventListener; -rcube_list_widget.prototype.removeEventListener=rcube_event_engine.prototype.removeEventListener; +function rcube_list_widget(a,b){this.ENTER_KEY=13;this.DELETE_KEY=46;this.BACKSPACE_KEY=8;this.list=a?a:null;this.frame=null;this.rows=[];this.selection=[];this.colcount=this.rowcount=0;this.subject_col=-1;this.col_drag_active=this.drag_active=this.dont_select=this.toggleselect=this.keyboard=this.column_movable=this.draggable=this.multi_selecting=this.multiexpand=this.multiselect=this.shiftkey=false;this.column_fixed=null;this.shift_start=this.last_selected=0;this.focused=this.in_selection_before= +false;this.drag_mouse_start=null;this.dblclick_time=600;this.row_init=function(){};if(b&&typeof b=="object")for(var c in b)this[c]=b[c]} +rcube_list_widget.prototype={init:function(){if(this.list&&this.list.tBodies[0]){this.rows=[];this.rowcount=0;var a,b,c=this.list.tBodies[0].rows;a=0;for(b=c.length;a1){this.drag_start=true;this.drag_mouse_start=rcube_event.get_mouse_pos(a);rcube_event.add_listener({event:"mousemove", +object:this,method:"column_drag_mouse_move"});rcube_event.add_listener({event:"mouseup",object:this,method:"column_drag_mouse_up"});this.add_dragfix();for(var c=0;c=f.depth-1){d=f.depth;$(c).css("display","");e.expanded=true;this.triggerEvent("expandcollapse",{uid:e.uid,expanded:e.expanded})}}else if(a&&(!f||f.depth<= +b))break}}}c=c.nextSibling}return false},collapse_all:function(a){var b,c,d;if(a){a.expanded=false;b=a.depth;c=a.obj.nextSibling;this.update_expando(a.uid);this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded});if(b&&this.multiexpand)return false}else{c=this.list.tBodies[0].firstChild;b=0}for(;c;){if(c.nodeType==1)if(d=this.rows[c.uid]){if(a&&(!d.depth||d.depth<=b))break;if(a||d.depth)$(c).css("display","none");if(d.has_children&&d.expanded){d.expanded=false;this.update_expando(d.uid, +false);this.triggerEvent("expandcollapse",{uid:d.uid,expanded:d.expanded})}}c=c.nextSibling}return false},expand_all:function(a){var b,c,d;if(a){a.expanded=true;b=a.depth;c=a.obj.nextSibling;this.update_expando(a.uid,true);this.triggerEvent("expandcollapse",{uid:a.uid,expanded:a.expanded})}else{c=this.list.tBodies[0].firstChild;b=0}for(;c;){if(c.nodeType==1)if(d=this.rows[c.uid]){if(a&&d.depth<=b)break;$(c).css("display","");if(d.has_children&&!d.expanded){d.expanded=true;this.update_expando(d.uid, +true);this.triggerEvent("expandcollapse",{uid:d.uid,expanded:d.expanded})}}c=c.nextSibling}return false},update_expando:function(a,b){var c=document.getElementById("rcmexpando"+a);if(c)c.className=b?"expanded":"collapsed"},get_next_row:function(){if(!this.rows)return false;var a=this.rows[this.last_selected];for(a=a?a.obj.nextSibling:null;a&&(a.nodeType!=1||a.style.display=="none");)a=a.nextSibling;return a},get_prev_row:function(){if(!this.rows)return false;var a=this.rows[this.last_selected];for(a= +a?a.obj.previousSibling:null;a&&(a.nodeType!=1||a.style.display=="none");)a=a.previousSibling;return a},get_first_row:function(){if(this.rowcount){var a,b,c=this.list.tBodies[0].rows;a=0;for(b=c.length-1;a=0;a--)if(b[a].id&&String(b[a].id).match(/rcmrow([a-z0-9\-_=\+\/]+)/i)&& +this.rows[RegExp.$1]!=null)return RegExp.$1}return null},select_row:function(a,b,c){var d=this.selection.join(",");this.multiselect||(b=0);if(!this.shift_start)this.shift_start=a;if(b){switch(b){case SHIFT_KEY:this.shift_select(a,false);break;case CONTROL_KEY:c||this.highlight_row(a,true);break;case CONTROL_SHIFT_KEY:this.shift_select(a,true);break;default:this.highlight_row(a,false)}this.multi_selecting=true}else{this.shift_start=a;this.highlight_row(a,false);this.multi_selecting=false}this.selection.join(",")!= +d&&this.triggerEvent("select");this.last_selected!=0&&this.rows[this.last_selected]&&$(this.rows[this.last_selected].obj).removeClass("focused");if(this.toggleselect&&this.last_selected==a){this.clear_selection();a=null}else $(this.rows[a].obj).addClass("focused");if(!this.selection.length)this.shift_start=null;this.last_selected=a},select:function(a){this.select_row(a,false);this.scrollto(a)},select_next:function(){var a=this.get_next_row(),b=this.get_prev_row();(a=a?a:b)&&this.select_row(a.uid, +false,false)},select_first:function(a){var b=this.get_first_row();if(b&&a){this.shift_select(b,a);this.triggerEvent("select");this.scrollto(b)}else b&&this.select(b)},select_last:function(a){var b=this.get_last_row();if(b&&a){this.shift_select(b,a);this.triggerEvent("select");this.scrollto(b)}else b&&this.select(b)},select_childs:function(a){if(this.rows[a]&&this.rows[a].has_children){var b=this.rows[a].depth;for(a=this.rows[a].obj.nextSibling;a;){if(a.nodeType==1)if(r=this.rows[a.uid]){if(!r.depth|| +r.depth<=b)break;this.in_selection(r.uid)||this.select_row(r.uid,CONTROL_KEY)}a=a.nextSibling}}},shift_select:function(a,b){if(!this.rows[this.shift_start]||!this.selection.length)this.shift_start=a;var c=this.rows[this.shift_start].obj.rowIndex,d=this.rows[a].obj.rowIndex,e=cd?c:d;for(var f in this.rows)if(this.rows[f].obj.rowIndex>=e&&this.rows[f].obj.rowIndex<=c)this.in_selection(f)||this.highlight_row(f,true);else this.in_selection(f)&&!b&&this.highlight_row(f,true)},in_selection:function(a){for(var b in this.selection)if(this.selection[b]== +a)return true;return false},select_all:function(a){if(!this.rows||!this.rows.length)return false;var b=this.selection.join(",");this.selection=[];for(var c in this.rows)if(!a||this.rows[c][a]==true){this.last_selected=c;this.highlight_row(c,true)}else $(this.rows[c].obj).removeClass("selected").removeClass("unfocused");this.selection.join(",")!=b&&this.triggerEvent("select");this.focus();return true},invert_selection:function(){if(!this.rows||!this.rows.length)return false;var a=this.selection.join(","), +b;for(b in this.rows)this.highlight_row(b,true);this.selection.join(",")!=a&&this.triggerEvent("select");this.focus();return true},clear_selection:function(a){var b=this.selection.length;if(a)for(var c in this.selection){if(this.selection[c]==a){this.selection.splice(c,1);break}}else{for(c in this.selection)this.rows[this.selection[c]]&&$(this.rows[this.selection[c]].obj).removeClass("selected").removeClass("unfocused");this.selection=[]}b&&!this.selection.length&&this.triggerEvent("select")},get_selection:function(){return this.selection}, +get_single_selection:function(){return this.selection.length==1?this.selection[0]:null},highlight_row:function(a,b){if(this.rows[a]&&!b){if(this.selection.length>1||!this.in_selection(a)){this.clear_selection();this.selection[0]=a;$(this.rows[a].obj).addClass("selected")}}else if(this.rows[a])if(this.in_selection(a)){var c=$.inArray(a,this.selection),d=this.selection.slice(0,c);c=this.selection.slice(c+1,this.selection.length);this.selection=d.concat(c);$(this.rows[a].obj).removeClass("selected").removeClass("unfocused")}else{this.selection[this.selection.length]= +a;$(this.rows[a].obj).addClass("selected")}},key_press:function(a){if(this.focused!=true)return true;var b=rcube_event.get_keycode(a),c=rcube_event.get_modifier(a);switch(b){case 40:case 38:case 63233:case 63232:rcube_event.cancel(a);return this.use_arrow_key(b,c);case 61:case 107:case 109:case 32:rcube_event.cancel(a);a=this.use_plusminus_key(b,c);this.key_pressed=b;this.triggerEvent("keypress");return a;case 36:this.select_first(c);return rcube_event.cancel(a);case 35:this.select_last(c);return rcube_event.cancel(a); +default:this.shiftkey=a.shiftKey;this.key_pressed=b;this.triggerEvent("keypress");if(this.key_pressed==this.BACKSPACE_KEY)return rcube_event.cancel(a)}return true},key_down:function(a){switch(rcube_event.get_keycode(a)){case 27:if(this.drag_active)return this.drag_mouse_up(a);if(this.col_drag_active){this.selected_column=null;return this.column_drag_mouse_up(a)}case 40:case 38:case 63233:case 63232:case 61:case 107:case 109:case 32:if(!rcube_event.get_modifier(a)&&this.focused)return rcube_event.cancel(a)}return true}, +use_arrow_key:function(a,b){var c;if(a==40||a==63233)c=this.get_next_row();else if(a==38||a==63232)c=this.get_prev_row();if(c){this.select_row(c.uid,b,true);this.scrollto(c.uid)}return false},use_plusminus_key:function(a,b){var c=this.rows[this.last_selected];if(c){if(a==32)a=c.expanded?109:61;if(a==61||a==107)b==CONTROL_KEY||this.multiexpand?this.expand_all(c):this.expand(c);else b==CONTROL_KEY||this.multiexpand?this.collapse_all(c):this.collapse(c);this.update_expando(c.uid,c.expanded);return false}}, +scrollto:function(a){var b=this.rows[a].obj;if(b&&this.frame){var c=Number(b.offsetTop);if(!c&&this.rows[a].parent_uid){this.expand_all(this.rows[this.find_root(this.rows[a].uid)]);c=Number(b.offsetTop)}if(cNumber(this.frame.scrollTop)+Number(this.frame.offsetHeight))this.frame.scrollTop=c+Number(b.offsetHeight)-Number(this.frame.offsetHeight)}},drag_mouse_move:function(a){if(a.type=="touchmove")if(a.changedTouches.length== +1)a=rcube_event.touchevent(a.changedTouches[0]);else return rcube_event.cancel(a);if(this.drag_start){var b=rcube_event.get_mouse_pos(a);if(!this.drag_mouse_start||Math.abs(b.x-this.drag_mouse_start.x)<3&&Math.abs(b.y-this.drag_mouse_start.y)<3)return false;if(!this.draglayer)this.draglayer=$("
").attr("id","rcmdraglayer").css({position:"absolute",display:"none","z-index":2E3}).appendTo(document.body);var c,d,e=$.merge([],this.selection);for(c in e){d=e[c];this.rows[d].has_children&&!this.rows[d].expanded&& +this.select_childs(d)}this.draglayer.html("");for(c=0;c12){this.draglayer.append("...");break}if(e=this.rows[this.selection[c]].obj)for(d=b=0;d=0&&this.subject_col==b){var f,g,h=e.childNodes[d].childNodes;for(b=0;b50?d.substring(0,50)+"...":d;this.draglayer.append($("
").text(d));break}b++}}this.draglayer.show();this.drag_active=true;this.triggerEvent("dragstart")}if(this.drag_active&&this.draglayer){c=rcube_event.get_mouse_pos(a);this.draglayer.css({left:c.x+20+"px",top:c.y-5+(bw.ie?document.documentElement.scrollTop:0)+"px"});this.triggerEvent("dragmove",a?a:window.event)}return this.drag_start=false},drag_mouse_up:function(a){document.onmousemove=null;if(a.type== +"touchend")if(a.changedTouches.length!=1)return rcube_event.cancel(a);if(this.draglayer&&this.draglayer.is(":visible"))this.drag_start_pos?this.draglayer.animate(this.drag_start_pos,300,"swing").hide(20):this.draglayer.hide();this.drag_active&&this.focus();this.drag_active=false;rcube_event.remove_listener({event:"mousemove",object:this,method:"drag_mouse_move"});rcube_event.remove_listener({event:"mouseup",object:this,method:"drag_mouse_up"});if(bw.iphone||bw.ipad){rcube_event.remove_listener({event:"touchmove", +object:this,method:"drag_mouse_move"});rcube_event.remove_listener({event:"touchend",object:this,method:"drag_mouse_up"})}this.del_dragfix();this.triggerEvent("dragend");return rcube_event.cancel(a)},column_drag_mouse_move:function(a){if(this.drag_start){var b;b=rcube_event.get_mouse_pos(a);if(!this.drag_mouse_start||Math.abs(b.x-this.drag_mouse_start.x)<3&&Math.abs(b.y-this.drag_mouse_start.y)<3)return false;if(!this.col_draglayer){b=$(this.list).offset();var c=this.list.tHead.rows[0].cells;this.col_draglayer= +$("
").attr("id","rcmcoldraglayer").css(b).css({position:"absolute","z-index":2001,"background-color":"white",opacity:0.75,height:this.frame.offsetHeight-2+"px",width:this.frame.offsetWidth-2+"px"}).appendTo(document.body).append($("
").attr("id","rcmcolumnindicator").css({position:"absolute","border-right":"2px dotted #555","z-index":2002,height:this.frame.offsetHeight-2+"px"}));this.cols=[];this.list_pos=this.list_min_pos=b.left;for(b=0;b=this.cols[b]/2+this.list_pos+c)c+=this.cols[b];else break;if(b==0&&this.list_min_pos>d.x)c=this.list_min_pos-this.list_pos;else if(!this.list.rowcount&&b==this.cols.length)c-=2;$("#rcmcolumnindicator").css({width:c+"px"});this.triggerEvent("column_dragmove", +a?a:window.event)}return this.drag_start=false},column_drag_mouse_up:function(a){document.onmousemove=null;if(this.col_draglayer){this.col_draglayer.remove();this.col_draglayer=null}this.col_drag_active&&this.focus();this.col_drag_active=false;rcube_event.remove_listener({event:"mousemove",object:this,method:"column_drag_mouse_move"});rcube_event.remove_listener({event:"mouseup",object:this,method:"column_drag_mouse_up"});this.del_dragfix();if(this.selected_column!==null&&this.cols&&this.cols.length){var b, +c=0,d=rcube_event.get_mouse_pos(a);for(b=0;b=this.cols[b]/2+this.list_pos+c)c+=this.cols[b];else break;b!=this.selected_column&&b!=this.selected_column+1&&this.column_replace(this.selected_column,b)}this.triggerEvent("column_dragend");return rcube_event.cancel(a)},add_dragfix:function(){$("iframe").each(function(){$('
').css({background:"#fff",width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001", +zIndex:1E3}).css($(this).offset()).appendTo(document.body)})},del_dragfix:function(){$("div.iframe-dragdrop-fix").each(function(){this.parentNode.removeChild(this)})},column_replace:function(a,b){var c=this.list.tHead.rows[0].cells,d=c[a],e=c[b],f=document.createElement("td");e?c[0].parentNode.insertBefore(f,e):c[0].parentNode.appendChild(f);c[0].parentNode.replaceChild(d,f);for(r=0;ra?b-1:b;else if(this.subject_cola&&b>=this.subject_col&&this.subject_col--;this.triggerEvent("column_replace")}};rcube_list_widget.prototype.addEventListener=rcube_event_engine.prototype.addEventListener;rcube_list_widget.prototype.removeEventListener=rcube_event_engine.prototype.removeEventListener; rcube_list_widget.prototype.triggerEvent=rcube_event_engine.prototype.triggerEvent; -