r1765 - trunk/ui

r1765 - trunk/ui


Author: paul.bakaus
Date: Fri Jan 23 05:10:17 2009
New Revision: 1765
Modified:
trunk/ui/ui.draggable.js
Log:
draggable: draggable should not scroll when constrained in one axis (fixes
#3868)
Modified: trunk/ui/ui.draggable.js
==============================================================================
--- trunk/ui/ui.draggable.js    (original)
+++ trunk/ui/ui.draggable.js    Fri Jan 23 05:10:17 2009
@@ -606,28 +606,36 @@
        if(i.scrollParent[0] != document && i.scrollParent[0].tagName != 'HTML')
{
-            if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) -
event.pageY < o.scrollSensitivity)
-                i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop +
o.scrollSpeed;
-            else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity)
-                i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop -
o.scrollSpeed;
-
-            if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) -
event.pageX < o.scrollSensitivity)
-                i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft
+ o.scrollSpeed;
-            else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity)
-                i.scrollParent[0].scrollLeft = scrolled = i.scrollParent[0].scrollLeft
- o.scrollSpeed;
+            if(!o.axis || o.axis != 'x') {
+                if((i.overflowOffset.top + i.scrollParent[0].offsetHeight) -
event.pageY < o.scrollSensitivity)
+                    i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop
+ o.scrollSpeed;
+                else if(event.pageY - i.overflowOffset.top < o.scrollSensitivity)
+                    i.scrollParent[0].scrollTop = scrolled = i.scrollParent[0].scrollTop
- o.scrollSpeed;
+            }
+            
+            if(!o.axis || o.axis != 'y') {
+                if((i.overflowOffset.left + i.scrollParent[0].offsetWidth) -
event.pageX < o.scrollSensitivity)
+                    i.scrollParent[0].scrollLeft = scrolled =
i.scrollParent[0].scrollLeft + o.scrollSpeed;
+                else if(event.pageX - i.overflowOffset.left < o.scrollSensitivity)
+                    i.scrollParent[0].scrollLeft = scrolled =
i.scrollParent[0].scrollLeft - o.scrollSpeed;
+            }
        } else {
-
-            if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
-                scrolled = $(document).scrollTop($(document).scrollTop() -
o.scrollSpeed);
-            else if($(window).height() - (event.pageY - $(document).scrollTop()) <
o.scrollSensitivity)
-                scrolled = $(document).scrollTop($(document).scrollTop() +
o.scrollSpeed);
-
-            if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
-                scrolled = $(document).scrollLeft($(document).scrollLeft() -
o.scrollSpeed);
-            else if($(window).width() - (event.pageX - $(document).scrollLeft()) <
o.scrollSensitivity)
-                scrolled = $(document).scrollLeft($(document).scrollLeft() +
o.scrollSpeed);
-
+            
+            if(!o.axis || o.axis != 'x') {
+                if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
+                    scrolled = $(document).scrollTop($(document).scrollTop() -
o.scrollSpeed);
+                else if($(window).height() - (event.pageY - $(document).scrollTop()) <
o.scrollSensitivity)
+                    scrolled = $(document).scrollTop($(document).scrollTop() +
o.scrollSpeed);
+            }
+            
+            if(!o.axis || o.axis != 'y') {
+                if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
+                    scrolled = $(document).scrollLeft($(document).scrollLeft() -
o.scrollSpeed);
+                else if($(window).width() - (event.pageX - $(document).scrollLeft()) <
o.scrollSensitivity)
+                    scrolled = $(document).scrollLeft($(document).scrollLeft() +
o.scrollSpeed);
+            }
+            
        }
        if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)