r1313 - in trunk: demos/draggable tests/visual ui

r1313 - in trunk: demos/draggable tests/visual ui


Author: paul.bakaus
Date: Tue Dec 30 02:05:51 2008
New Revision: 1313
Added:
trunk/demos/draggable/opacity.html
trunk/demos/draggable/revert.html
trunk/demos/draggable/scroll.html
Modified:
trunk/demos/draggable/index.html
trunk/tests/visual/draggable.scroll.html
trunk/ui/ui.draggable.js
Log:
demos: added opacity, revert and scroll demos
draggable: fixed positioning issue with relative positioned elements
relative to the body during scroll
Modified: trunk/demos/draggable/index.html
==============================================================================
--- trunk/demos/draggable/index.html    (original)
+++ trunk/demos/draggable/index.html    Tue Dec 30 02:05:51 2008
@@ -16,6 +16,9 @@
        <dd><a href="grid.html">Grid</a></dd>
        <dd><a href="handle.html">Handle</a></dd>
        <dd><a href="helper.html">Helper</a></dd>
+        <dd><a href="opacity.html">Opacity</a></dd>
+        <dd><a href="revert.html">Revert</a></dd>
+        <dd><a href="scroll.html">Scroll</a></dd>
</dl>
</body>
Added: trunk/demos/draggable/opacity.html
==============================================================================
--- (empty file)
+++ trunk/demos/draggable/opacity.html    Tue Dec 30 02:05:51 2008
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <title>jQuery UI Draggable - Opacity</title>
+    <link type="text/css" href="../demos.css" rel="stylesheet" />
+    <link type="text/css" href="../../themes/default/ui.all.css"
rel="stylesheet" />
+    <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+    <script type="text/javascript" src="../../ui/ui.core.js"></script>
+    <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+    <style type="text/css">
+    .ui-widget-content { width: 100px; height: 100px; padding: 0.5em; float:
left; margin: 5px; }
+    </style>
+    <script type="text/javascript">
+    $(function() {
+        $("#draggable").draggable({ opacity: 0.5 });
+        $("#draggable2").draggable({ opacity: 0.5, helper: 'clone' });
+    });
+    </script>
+</head>
+<body>
+
+<div id="draggable" class="ui-widget-content">
+    

Opacity set to 0.5


+</div>
+
+<div id="draggable2" class="ui-widget-content">
+    

Opacity set to 0.5, using 'clone' as helper


+</div>
+
+</body>
+</html>
Added: trunk/demos/draggable/revert.html
==============================================================================
--- (empty file)
+++ trunk/demos/draggable/revert.html    Tue Dec 30 02:05:51 2008
@@ -0,0 +1,31 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <title>jQuery UI Draggable - Revert</title>
+    <link type="text/css" href="../demos.css" rel="stylesheet" />
+    <link type="text/css" href="../../themes/default/ui.all.css"
rel="stylesheet" />
+    <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+    <script type="text/javascript" src="../../ui/ui.core.js"></script>
+    <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+    <style type="text/css">
+    .ui-widget-content { width: 100px; height: 100px; padding: 0.5em; float:
left; margin: 5px; }
+    </style>
+    <script type="text/javascript">
+    $(function() {
+        $("#draggable").draggable({ revert: true });
+        $("#draggable2").draggable({ revert: true, helper: 'clone' });
+    });
+    </script>
+</head>
+<body>
+
+<div id="draggable" class="ui-widget-content">
+    

Revert the original


+</div>
+
+<div id="draggable2" class="ui-widget-content">
+    

Revert the helper


+</div>
+
+</body>
+</html>
Added: trunk/demos/draggable/scroll.html
==============================================================================
--- (empty file)
+++ trunk/demos/draggable/scroll.html    Tue Dec 30 02:05:51 2008
@@ -0,0 +1,38 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <title>jQuery UI Draggable - Scroll</title>
+    <link type="text/css" href="../demos.css" rel="stylesheet" />
+    <link type="text/css" href="../../themes/default/ui.all.css"
rel="stylesheet" />
+    <script type="text/javascript" src="../../jquery-1.2.6.js"></script>
+    <script type="text/javascript" src="../../ui/ui.core.js"></script>
+    <script type="text/javascript" src="../../ui/ui.draggable.js"></script>
+    <style type="text/css">
+    .ui-widget-content { width: 100px; height: 100px; padding: 0.5em; float:
left; margin: 5px; }
+    </style>
+    <script type="text/javascript">
+    $(function() {
+        $("#draggable").draggable({ scroll: true });
+        $("#draggable2").draggable({ scroll: true, scrollSensitivity: 100 });
+        $("#draggable3").draggable({ scroll: true, scrollSpeed: 100 });
+    });
+    </script>
+</head>
+<body>
+
+<div id="draggable" class="ui-widget-content">
+    

Scroll set to true, default settings


+</div>
+
+<div id="draggable2" class="ui-widget-content">
+    

scrollSensitivity set to 100


+</div>
+
+<div id="draggable3" class="ui-widget-content">
+    

scrollSpeed set to 100


+</div>
+
+<div style='height: 5000px; width: 1px;'></div>
+
+</body>
+</html>
Modified: trunk/tests/visual/draggable.scroll.html
==============================================================================
--- trunk/tests/visual/draggable.scroll.html    (original)
+++ trunk/tests/visual/draggable.scroll.html    Tue Dec 30 02:05:51 2008
@@ -47,6 +47,10 @@
</head>
<body>
+<div class='draggable' style='z-index: 1000;'>Simple draggable</div>
+<br clear='both' />
+
+
<div class='container' style="overflow:scroll;">
    <div class='draggable'>(Broken in IE)</div>
    <div class='enlarge'></div>
Modified: trunk/ui/ui.draggable.js
==============================================================================
--- trunk/ui/ui.draggable.js    (original)
+++ trunk/ui/ui.draggable.js    Tue Dec 30 02:05:51 2008
@@ -588,13 +588,23 @@
-        //This is a special case where we need to modify a offset calculated on
start, since the following happened:
+        // This is a special case where we need to modify a offset calculated on
start, since the following happened:
        // 1. The position of the helper is absolute, so it's position is
calculated based on the next positioned parent
        // 2. The actual offset parent is a child of the scroll parent, and the
scroll parent isn't the document, which means that
        // the scroll is included in the initial calculation of the offset of
the parent, and never recalculated upon drag
        if(scrolled !== false && i.cssPosition == 'absolute' &&
i.scrollParent[0] != document && $.ui.contains(i.scrollParent[0],
i.offsetParent[0])) {
            i.offset.parent = i._getParentOffset();
+            
        }
+        
+        // This is another very weird special case that only happens for
relative elements:
+        // 1. If the css position is relative
+        // 2. and the scroll parent is the document or similar to the offset
parent
+        // we have to refresh the relative offset during the scroll so there are
no jumps
+        if(scrolled !== false && i.cssPosition == 'relative'
&& !(i.scrollParent[0] != document && i.scrollParent[0] !=
i.offsetParent[0])) {
+            i.offset.relative = i._getRelativeOffset();
+        }
+        
    }
});