DragPane.js 898 Bytes
//>>built
define(["dojo/_base/declare","dijit/_Widget","dojo/_base/html","dojo/dom-style"],function(e,f,c,d){return e("dojox.layout.DragPane",f,{invert:!0,postCreate:function(){this.connect(this.domNode,"onmousedown","_down");this.connect(this.domNode,"onmouseleave","_up");this.connect(this.domNode,"onmouseup","_up")},_down:function(b){var a=this.domNode;b.preventDefault();d.set(a,"cursor","move");this._x=b.pageX;this._y=b.pageY;this._x<a.offsetLeft+a.clientWidth&&this._y<a.offsetTop+a.clientHeight&&(c.setSelectable(a,
!1),this._mover=this.connect(a,"onmousemove","_move"))},_up:function(b){c.setSelectable(this.domNode,!0);d.set(this.domNode,"cursor","pointer");this._mover&&this.disconnect(this._mover);delete this._mover},_move:function(b){var a=this.invert?1:-1;this.domNode.scrollTop+=(this._y-b.pageY)*a;this.domNode.scrollLeft+=(this._x-b.pageX)*a;this._x=b.pageX;this._y=b.pageY}})});