]> source.dussan.org Git - jquery-ui.git/commitdiff
Resizable: Fix containment calculation with relative parent 1304/head
authorMike Sherov <mike.sherov@gmail.com>
Mon, 4 Aug 2014 12:18:35 +0000 (08:18 -0400)
committerMike Sherov <mike.sherov@gmail.com>
Mon, 4 Aug 2014 12:18:35 +0000 (08:18 -0400)
Remove an incorrect fix introduced in 47cd5b6f that causes
width calculations to be incorrect once the correct fix
was introduced in c03cb807

Fixes #10140

tests/unit/resizable/resizable_options.js
ui/resizable.js

index 34fef47f02e4ab46f50ad8d47b0dc192f42bb14a..d0f9f5f051aecdd85903514ab693e9a14121b205 100644 (file)
@@ -155,7 +155,8 @@ test( "aspectRatio: Resizing can move objects", function() {
 });
 
 test( "containment", function() {
-       expect( 6 );
+       expect( 8 );
+
        var element = $( "#resizable1" ).resizable({
                containment: "#container"
        });
@@ -180,6 +181,19 @@ test( "containment", function() {
 
        TestHelpers.resizable.drag( ".ui-resizable-s", 0, 300 );
        equal( element.height(), 400, "element able to resize itself to max allowable height within container" );
+
+       // http://bugs.jqueryui.com/ticket/10140 - Resizable: Width calculation is wrong
+       // when containment element is "position: relative"
+       element = $( "#child" ).resizable({
+               containment: "parent",
+               handles: "all"
+       });
+
+       TestHelpers.resizable.drag( ".ui-resizable-e", 300, 0 );
+       equal( element.width(), 300, "element able to resize itself to max allowable width within container" );
+
+       TestHelpers.resizable.drag( ".ui-resizable-s", 0, 300 );
+       equal( element.height(), 300, "element able to resize itself to max allowable height within container" );
 });
 
 test("grid", function() {
index b2e3a66265cd357a3fbe607c0a893663b3159e36..8c65a12c8ecee5d13747f2e2cb0e3e30b40c0ca2 100644 (file)
@@ -774,7 +774,7 @@ $.ui.plugin.add( "resizable", "containment", {
        },
 
        resize: function( event ) {
-               var woset, hoset, isParent, isOffsetRelative,
+               var woset, hoset,
                        that = $( this ).resizable( "instance" ),
                        o = that.options,
                        co = that.containerOffset,
@@ -815,13 +815,6 @@ $.ui.plugin.add( "resizable", "containment", {
                woset = Math.abs( ( that._helper ? that.offset.left - cop.left : ( that.offset.left - co.left ) ) + that.sizeDiff.width );
                hoset = Math.abs( ( that._helper ? that.offset.top - cop.top : ( that.offset.top - co.top ) ) + that.sizeDiff.height );
 
-               isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 );
-               isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) );
-
-               if ( isParent && isOffsetRelative ) {
-                       woset -= Math.abs( that.parentData.left );
-               }
-
                if ( woset + that.size.width >= that.parentData.width ) {
                        that.size.width = that.parentData.width - woset;
                        if ( pRatio ) {