UNPKG

dzxstatic

Version:

The static files of Discuz! X

1 lines 6.79 kB
var Drags=[],nDrags=1,mouseOffset=null,iMouseDown=!1,lMouseState=!1,dragObject=null,DragDrops=[],curTarget=null,lastTarget=null,dragHelper=null,tempDiv=null,rootParent=null,rootSibling=null,D1Target=null;function CreateDragContainer(){var t=DragDrops.length;DragDrops[t]=[];for(var e=0;e<arguments.length;e++){var r=arguments[e];DragDrops[t].push(r),r.setAttribute("DropObj",t);for(var o=0;o<r.childNodes.length;o++)"#text"!=r.childNodes[o].nodeName&&r.childNodes[o].setAttribute("DragObj",t)}}function getPosition(t){for(var e=0,r=0;t.offsetParent;)e+=t.offsetLeft+(t.currentStyle?parseInt(t.currentStyle.borderLeftWidth).NaN0():0),r+=t.offsetTop+(t.currentStyle?parseInt(t.currentStyle.borderTopWidth).NaN0():0),t=t.offsetParent;return{x:e+=t.offsetLeft+(t.currentStyle?parseInt(t.currentStyle.borderLeftWidth).NaN0():0),y:r+=t.offsetTop+(t.currentStyle?parseInt(t.currentStyle.borderTopWidth).NaN0():0)}}function mouseCoords(t){return t.pageX||t.pageY?{x:t.pageX,y:t.pageY}:{x:t.clientX+document.body.scrollLeft-document.body.clientLeft,y:t.clientY+document.body.scrollTop-document.body.clientTop}}function writeHistory(t,e){if(t&&t.parentNode&&"unknown"!=typeof t.parentNode.getAttribute&&t.parentNode.getAttribute){var r=t.parentNode.getAttribute("history");r&&((r=document.getElementById(r)).appendChild(document.createTextNode(t.id+": "+e)),r.appendChild(document.createElement("BR")),r.scrollTop+=50)}}function getMouseOffset(t,e){e=e||window.event;var r=getPosition(t),o=mouseCoords(e);return{x:o.x-r.x,y:o.y-r.y}}function mouseMove(ev){ev=ev||window.event;var target=ev.target||ev.srcElement,mousePos=mouseCoords(ev);if(Drags[0]){if(lastTarget&&target!==lastTarget){writeHistory(lastTarget,"Mouse Out Fired");var origClass=lastTarget.getAttribute("origClass");origClass&&(lastTarget.className=origClass)}var dragObj=target.getAttribute("DragObj");if(null!=dragObj){if(target!=lastTarget){writeHistory(target,"Mouse Over Fired");var oClass=target.getAttribute("overClass");oClass&&(target.setAttribute("origClass",target.className),target.className=oClass)}if(iMouseDown&&!lMouseState){writeHistory(target,"Start Dragging"),curTarget=target,rootParent=curTarget.parentNode,rootSibling=curTarget.nextSibling,mouseOffset=getMouseOffset(target,ev);for(var i=0;i<dragHelper.childNodes.length;i++)dragHelper.removeChild(dragHelper.childNodes[i]);dragHelper.appendChild(curTarget.cloneNode(!0)),dragHelper.style.display="block";var dragClass=curTarget.getAttribute("dragClass");dragClass&&(dragHelper.firstChild.className=dragClass),dragHelper.firstChild.removeAttribute("DragObj");var dragConts=DragDrops[dragObj];curTarget.setAttribute("startWidth",parseInt(curTarget.offsetWidth)),curTarget.setAttribute("startHeight",parseInt(curTarget.offsetHeight)),curTarget.style.display="none";for(var i=0;i<dragConts.length;i++){with(dragConts[i]){var pos=getPosition(dragConts[i]);setAttribute("startWidth",parseInt(offsetWidth)),setAttribute("startHeight",parseInt(offsetHeight)),setAttribute("startLeft",pos.x),setAttribute("startTop",pos.y)}for(var j=0;j<dragConts[i].childNodes.length;j++)with(dragConts[i].childNodes[j]){if("#text"==nodeName||dragConts[i].childNodes[j]==curTarget)continue;var pos=getPosition(dragConts[i].childNodes[j]);setAttribute("startWidth",parseInt(offsetWidth)),setAttribute("startHeight",parseInt(offsetHeight)),setAttribute("startLeft",pos.x),setAttribute("startTop",pos.y)}}}}if(curTarget){dragHelper.style.top=mousePos.y-mouseOffset.y+"px",dragHelper.style.left=mousePos.x-mouseOffset.x+"px";for(var dragConts=DragDrops[curTarget.getAttribute("DragObj")],activeCont=null,xPos=mousePos.x-mouseOffset.x+parseInt(curTarget.getAttribute("startWidth"))/2,yPos=mousePos.y-mouseOffset.y+parseInt(curTarget.getAttribute("startHeight"))/2,i=0;i<dragConts.length;i++)with(dragConts[i])if(parseInt(getAttribute("startLeft"))<xPos&&parseInt(getAttribute("startTop"))<yPos&&parseInt(getAttribute("startLeft"))+parseInt(getAttribute("startWidth"))>xPos&&parseInt(getAttribute("startTop"))+parseInt(getAttribute("startHeight"))>yPos){activeCont=dragConts[i];break}if(activeCont){activeCont!=curTarget.parentNode&&writeHistory(curTarget,"Moved into "+activeCont.id);for(var beforeNode=null,i=activeCont.childNodes.length-1;i>=0;i--)with(activeCont.childNodes[i]){if("#text"==nodeName)continue;curTarget!=activeCont.childNodes[i]&&parseInt(getAttribute("startLeft"))+parseInt(getAttribute("startWidth"))>xPos&&parseInt(getAttribute("startTop"))+parseInt(getAttribute("startHeight"))>yPos&&(beforeNode=activeCont.childNodes[i])}beforeNode?beforeNode!=curTarget.nextSibling&&(writeHistory(curTarget,"Inserted Before "+beforeNode.id),activeCont.insertBefore(curTarget,beforeNode)):(curTarget.nextSibling||curTarget.parentNode!=activeCont)&&(writeHistory(curTarget,"Inserted at end of "+activeCont.id),activeCont.appendChild(curTarget)),setTimeout((function(){var t=getPosition(activeCont);activeCont.setAttribute("startWidth",parseInt(activeCont.offsetWidth)),activeCont.setAttribute("startHeight",parseInt(activeCont.offsetHeight)),activeCont.setAttribute("startLeft",t.x),activeCont.setAttribute("startTop",t.y)}),5),""!=curTarget.style.display&&(writeHistory(curTarget,"Made Visible"),curTarget.style.display="",curTarget.style.visibility="hidden")}else"none"!=curTarget.style.display&&(writeHistory(curTarget,"Hidden"),curTarget.style.display="none")}lMouseState=iMouseDown,lastTarget=target}if(dragObject&&(dragObject.style.position="absolute",dragObject.style.top=mousePos.y-mouseOffset.y,dragObject.style.left=mousePos.x-mouseOffset.x),lMouseState=iMouseDown,curTarget||dragObject)return!1}function mouseUp(t){Drags[0]&&(curTarget&&(writeHistory(curTarget,"Mouse Up Fired"),dragHelper.style.display="none","none"==curTarget.style.display&&(rootSibling?rootParent.insertBefore(curTarget,rootSibling):rootParent.appendChild(curTarget)),curTarget.style.display="",curTarget.style.visibility="visible"),curTarget=null),dragObject=null,iMouseDown=!1}function mouseDown(t){mousedown(t);var e=(t=t||window.event).target||t.srcElement;if(iMouseDown=!0,Drags[0]&&lastTarget&&writeHistory(lastTarget,"Mouse Down Fired"),e.onmousedown||e.getAttribute("DragObj"))return!1}function makeDraggable(t){t&&(t.onmousedown=function(t){return dragObject=this,mouseOffset=getMouseOffset(this,t),!1})}function init_drag2(){if(document.onmousemove=mouseMove,document.onmousedown=mouseDown,document.onmouseup=mouseUp,Drags[0]=$("Drags0"),Drags[0]&&CreateDragContainer($("DragContainer0")),Drags[0]){var t=$("applistcontent");(dragHelper=document.createElement("div")).style.cssName="apps dragable",dragHelper.style.cssText="position:absolute;display:none;width:777px;",t.parentNode.insertBefore(dragHelper,t)}}function mousedown(t){}Number.prototype.NaN0=function(){return isNaN(this)?0:this};