summaryrefslogtreecommitdiff
path: root/lib/dojo/dnd/autoscroll.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dojo/dnd/autoscroll.js')
-rw-r--r--lib/dojo/dnd/autoscroll.js98
1 files changed, 2 insertions, 96 deletions
diff --git a/lib/dojo/dnd/autoscroll.js b/lib/dojo/dnd/autoscroll.js
index d2c99cf30..3d3a57b30 100644
--- a/lib/dojo/dnd/autoscroll.js
+++ b/lib/dojo/dnd/autoscroll.js
@@ -4,99 +4,5 @@
see: http://dojotoolkit.org/license for details
*/
-
-if(!dojo._hasResource["dojo.dnd.autoscroll"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dojo.dnd.autoscroll"] = true;
-dojo.provide("dojo.dnd.autoscroll");
-dojo.require("dojo.window");
-
-dojo.getObject("dnd", true, dojo);
-
-dojo.dnd.getViewport = dojo.window.getBox;
-
-dojo.dnd.V_TRIGGER_AUTOSCROLL = 32;
-dojo.dnd.H_TRIGGER_AUTOSCROLL = 32;
-
-dojo.dnd.V_AUTOSCROLL_VALUE = 16;
-dojo.dnd.H_AUTOSCROLL_VALUE = 16;
-
-dojo.dnd.autoScroll = function(e){
- // summary:
- // a handler for onmousemove event, which scrolls the window, if
- // necesary
- // e: Event
- // onmousemove event
-
- // FIXME: needs more docs!
- var v = dojo.window.getBox(), dx = 0, dy = 0;
- if(e.clientX < dojo.dnd.H_TRIGGER_AUTOSCROLL){
- dx = -dojo.dnd.H_AUTOSCROLL_VALUE;
- }else if(e.clientX > v.w - dojo.dnd.H_TRIGGER_AUTOSCROLL){
- dx = dojo.dnd.H_AUTOSCROLL_VALUE;
- }
- if(e.clientY < dojo.dnd.V_TRIGGER_AUTOSCROLL){
- dy = -dojo.dnd.V_AUTOSCROLL_VALUE;
- }else if(e.clientY > v.h - dojo.dnd.V_TRIGGER_AUTOSCROLL){
- dy = dojo.dnd.V_AUTOSCROLL_VALUE;
- }
- window.scrollBy(dx, dy);
-};
-
-dojo.dnd._validNodes = {"div": 1, "p": 1, "td": 1};
-dojo.dnd._validOverflow = {"auto": 1, "scroll": 1};
-
-dojo.dnd.autoScrollNodes = function(e){
- // summary:
- // a handler for onmousemove event, which scrolls the first avaialble
- // Dom element, it falls back to dojo.dnd.autoScroll()
- // e: Event
- // onmousemove event
-
- // FIXME: needs more docs!
- for(var n = e.target; n;){
- if(n.nodeType == 1 && (n.tagName.toLowerCase() in dojo.dnd._validNodes)){
- var s = dojo.getComputedStyle(n);
- if(s.overflow.toLowerCase() in dojo.dnd._validOverflow){
- var b = dojo._getContentBox(n, s), t = dojo.position(n, true);
- //console.log(b.l, b.t, t.x, t.y, n.scrollLeft, n.scrollTop);
- var w = Math.min(dojo.dnd.H_TRIGGER_AUTOSCROLL, b.w / 2),
- h = Math.min(dojo.dnd.V_TRIGGER_AUTOSCROLL, b.h / 2),
- rx = e.pageX - t.x, ry = e.pageY - t.y, dx = 0, dy = 0;
- if(dojo.isWebKit || dojo.isOpera){
- // FIXME: this code should not be here, it should be taken into account
- // either by the event fixing code, or the dojo.position()
- // FIXME: this code doesn't work on Opera 9.5 Beta
- rx += dojo.body().scrollLeft;
- ry += dojo.body().scrollTop;
- }
- if(rx > 0 && rx < b.w){
- if(rx < w){
- dx = -w;
- }else if(rx > b.w - w){
- dx = w;
- }
- }
- //console.log("ry =", ry, "b.h =", b.h, "h =", h);
- if(ry > 0 && ry < b.h){
- if(ry < h){
- dy = -h;
- }else if(ry > b.h - h){
- dy = h;
- }
- }
- var oldLeft = n.scrollLeft, oldTop = n.scrollTop;
- n.scrollLeft = n.scrollLeft + dx;
- n.scrollTop = n.scrollTop + dy;
- if(oldLeft != n.scrollLeft || oldTop != n.scrollTop){ return; }
- }
- }
- try{
- n = n.parentNode;
- }catch(x){
- n = null;
- }
- }
- dojo.dnd.autoScroll(e);
-};
-
-}
+//>>built
+define("dojo/dnd/autoscroll",["../main","../window"],function(_1){_1.getObject("dnd",true,_1);_1.dnd.getViewport=_1.window.getBox;_1.dnd.V_TRIGGER_AUTOSCROLL=32;_1.dnd.H_TRIGGER_AUTOSCROLL=32;_1.dnd.V_AUTOSCROLL_VALUE=16;_1.dnd.H_AUTOSCROLL_VALUE=16;_1.dnd.autoScroll=function(e){var v=_1.window.getBox(),dx=0,dy=0;if(e.clientX<_1.dnd.H_TRIGGER_AUTOSCROLL){dx=-_1.dnd.H_AUTOSCROLL_VALUE;}else{if(e.clientX>v.w-_1.dnd.H_TRIGGER_AUTOSCROLL){dx=_1.dnd.H_AUTOSCROLL_VALUE;}}if(e.clientY<_1.dnd.V_TRIGGER_AUTOSCROLL){dy=-_1.dnd.V_AUTOSCROLL_VALUE;}else{if(e.clientY>v.h-_1.dnd.V_TRIGGER_AUTOSCROLL){dy=_1.dnd.V_AUTOSCROLL_VALUE;}}window.scrollBy(dx,dy);};_1.dnd._validNodes={"div":1,"p":1,"td":1};_1.dnd._validOverflow={"auto":1,"scroll":1};_1.dnd.autoScrollNodes=function(e){var b,t,w,h,rx,ry,dx=0,dy=0,_2,_3;for(var n=e.target;n;){if(n.nodeType==1&&(n.tagName.toLowerCase() in _1.dnd._validNodes)){var s=_1.getComputedStyle(n),_4=(s.overflow.toLowerCase() in _1.dnd._validOverflow),_5=(s.overflowX.toLowerCase() in _1.dnd._validOverflow),_6=(s.overflowY.toLowerCase() in _1.dnd._validOverflow);if(_4||_5||_6){b=_1._getContentBox(n,s);t=_1.position(n,true);}if(_4||_5){w=Math.min(_1.dnd.H_TRIGGER_AUTOSCROLL,b.w/2);rx=e.pageX-t.x;if(_1.isWebKit||_1.isOpera){rx+=_1.body().scrollLeft;}dx=0;if(rx>0&&rx<b.w){if(rx<w){dx=-w;}else{if(rx>b.w-w){dx=w;}}_2=n.scrollLeft;n.scrollLeft=n.scrollLeft+dx;}}if(_4||_6){h=Math.min(_1.dnd.V_TRIGGER_AUTOSCROLL,b.h/2);ry=e.pageY-t.y;if(_1.isWebKit||_1.isOpera){ry+=_1.body().scrollTop;}dy=0;if(ry>0&&ry<b.h){if(ry<h){dy=-h;}else{if(ry>b.h-h){dy=h;}}_3=n.scrollTop;n.scrollTop=n.scrollTop+dy;}}if(dx||dy){return;}}try{n=n.parentNode;}catch(x){n=null;}}_1.dnd.autoScroll(e);};return _1.dnd;}); \ No newline at end of file