Resizable: modified to allow resizing when resizables are nested.

Fixes #5025
Closes gh-1149
This commit is contained in:
Jyoti Deka 2013-12-07 01:39:34 -05:00 committed by Mike Sherov
parent dfff0346d9
commit ec5f395260
2 changed files with 34 additions and 1 deletions

View File

@ -206,4 +206,37 @@ test( "resizable stores correct size when using helper and grid (#9547)", functi
equal( target.height(), 100, "compare height" ); equal( target.height(), 100, "compare height" );
}); });
test( "nested resizable", function() {
expect( 4 );
var outer = $( "<div id='outer' style='width:50px'></div>" ),
inner = $( "<div id='inner' style='width:30px'></div>" ),
target = $( "#resizable1" ),
innerHandle,
outerHandle;
outer.appendTo( target );
inner.appendTo( outer );
inner.resizable( { handles : "e" } );
outer.resizable( { handles : "e" } );
target.resizable( { handles : "e" } );
innerHandle = $( "#inner > .ui-resizable-e" );
outerHandle = $( "#outer > .ui-resizable-e" );
TestHelpers.resizable.drag( innerHandle, 10 );
equal( inner.width(), 40, "compare width of inner element" );
TestHelpers.resizable.drag( innerHandle, -10 );
equal( inner.width(), 30, "compare width of inner element" );
TestHelpers.resizable.drag( outerHandle, 10 );
equal( outer.width(), 60, "compare width of outer element" );
TestHelpers.resizable.drag( outerHandle, -10 );
equal( outer.width(), 50, "compare width of outer element" );
inner.remove();
outer.remove();
});
})(jQuery); })(jQuery);

View File

@ -169,7 +169,7 @@ $.widget("ui.resizable", $.ui.mouse, {
for(i in this.handles) { for(i in this.handles) {
if(this.handles[i].constructor === String) { if(this.handles[i].constructor === String) {
this.handles[i] = $(this.handles[i], this.element).show(); this.handles[i] = this.element.children( this.handles[ i ] ).first().show();
} }
//Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls) //Apply pad to wrapper element, needed to fix axis position (textarea, inputs, scrolls)