2015-04-06 18:33:25 +00:00
|
|
|
define( [
|
|
|
|
"jquery",
|
2015-04-07 14:55:52 +00:00
|
|
|
"./helper",
|
2015-07-15 02:05:00 +00:00
|
|
|
"ui/widgets/resizable"
|
2015-04-07 14:30:07 +00:00
|
|
|
], function( $, testHelper ) {
|
2009-02-02 14:36:08 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
module( "resizable: core" );
|
2009-02-02 14:36:08 +00:00
|
|
|
|
2009-02-04 04:47:39 +00:00
|
|
|
/*
|
|
|
|
test("element types", function() {
|
2012-12-26 13:08:48 +00:00
|
|
|
var typeNames = ("p,h1,h2,h3,h4,h5,h6,blockquote,ol,ul,dl,div,form"
|
|
|
|
+ ",table,fieldset,address,ins,del,em,strong,q,cite,dfn,abbr"
|
|
|
|
+ ",acronym,code,samp,kbd,var,img,object,hr"
|
|
|
|
+ ",input,button,label,select,iframe").split(",");
|
2009-02-04 04:47:39 +00:00
|
|
|
|
|
|
|
$.each(typeNames, function(i) {
|
|
|
|
var typeName = typeNames[i];
|
2012-12-26 13:08:48 +00:00
|
|
|
el = $(document.createElement(typeName)).appendTo("body");
|
|
|
|
(typeName == "table" && el.append("<tr><td>content</td></tr>"));
|
2009-02-04 04:47:39 +00:00
|
|
|
el.resizable();
|
2012-12-26 13:08:48 +00:00
|
|
|
ok(true, "$('<" + typeName + "/>').resizable()");
|
2009-02-04 04:47:39 +00:00
|
|
|
el.resizable("destroy");
|
|
|
|
el.remove();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
*/
|
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "n", function() {
|
|
|
|
expect( 4 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-n", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 0, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.height(), 150, "compare height" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 0, 50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.height(), 100, "compare height" );
|
2012-07-10 08:02:25 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( target[ 0 ].style.left, "", "left should not be modified" );
|
|
|
|
equal( target[ 0 ].style.width, "", "width should not be modified" );
|
|
|
|
} );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "s", function() {
|
|
|
|
expect( 5 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-s", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 0, 50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.height(), 150, "compare height" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 0, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.height(), 100, "compare height" );
|
2012-07-10 08:02:25 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( target[ 0 ].style.top, "", "top should not be modified" );
|
|
|
|
equal( target[ 0 ].style.left, "", "left should not be modified" );
|
|
|
|
equal( target[ 0 ].style.width, "", "width should not be modified" );
|
|
|
|
} );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "e", function() {
|
|
|
|
expect( 5 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-e", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50 );
|
|
|
|
equal( target.width(), 150, "compare width" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
2012-07-10 08:02:25 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( target[ 0 ].style.height, "", "height should not be modified" );
|
|
|
|
equal( target[ 0 ].style.top, "", "top should not be modified" );
|
|
|
|
equal( target[ 0 ].style.left, "", "left should not be modified" );
|
|
|
|
} );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "w", function() {
|
|
|
|
expect( 4 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-w", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 150, "compare width" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
2012-07-10 08:02:25 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( target[ 0 ].style.height, "", "height should not be modified" );
|
|
|
|
equal( target[ 0 ].style.top, "", "top should not be modified" );
|
|
|
|
} );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "ne", function() {
|
|
|
|
expect( 5 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-ne", target = $( "#resizable1" ).css( { overflow: "hidden" } ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, -50, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 50, "compare width" );
|
|
|
|
equal( target.height(), 150, "compare height" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50, 50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
|
|
|
equal( target.height(), 100, "compare height" );
|
2012-07-10 08:02:25 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( target[ 0 ].style.left, "", "left should not be modified" );
|
|
|
|
} );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "se", function() {
|
|
|
|
expect( 6 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-se", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50, 50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 150, "compare width" );
|
|
|
|
equal( target.height(), 150, "compare height" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, -50, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
|
|
|
equal( target.height(), 100, "compare height" );
|
2012-07-10 08:02:25 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( target[ 0 ].style.top, "", "top should not be modified" );
|
|
|
|
equal( target[ 0 ].style.left, "", "left should not be modified" );
|
|
|
|
} );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "sw", function() {
|
|
|
|
expect( 5 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-sw", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, -50, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 150, "compare width" );
|
|
|
|
equal( target.height(), 50, "compare height" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50, 50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
|
|
|
equal( target.height(), 100, "compare height" );
|
2012-07-10 08:02:25 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( target[ 0 ].style.top, "", "top should not be modified" );
|
|
|
|
} );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "nw", function() {
|
|
|
|
expect( 4 );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-nw", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, -50, -50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 150, "compare width" );
|
|
|
|
equal( target.height(), 150, "compare height" );
|
2009-02-04 04:47:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50, 50 );
|
2012-02-28 14:56:32 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
|
|
|
equal( target.height(), 100, "compare height" );
|
2015-08-24 12:58:35 +00:00
|
|
|
} );
|
2009-02-02 14:36:08 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "handle with complex markup (#8756)", function() {
|
|
|
|
expect( 2 );
|
2012-11-02 08:59:46 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
$( "#resizable1" )
|
2012-11-02 08:59:46 +00:00
|
|
|
.append(
|
2015-08-24 12:58:35 +00:00
|
|
|
$( "<div>" )
|
|
|
|
.addClass( "ui-resizable-handle" )
|
|
|
|
.addClass( "ui-resizable-w" )
|
|
|
|
.append( $( "<div>" ) )
|
2012-11-02 08:59:46 +00:00
|
|
|
);
|
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
var handle = ".ui-resizable-w div", target = $( "#resizable1" ).resizable( { handles: "all" } );
|
2012-11-17 06:29:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, -50 );
|
2012-11-02 08:59:46 +00:00
|
|
|
equal( target.width(), 150, "compare width" );
|
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50 );
|
2012-11-02 08:59:46 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
2015-08-24 12:58:35 +00:00
|
|
|
} );
|
2012-11-02 08:59:46 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
test( "resizable accounts for scroll position correctly (#3815)", function() {
|
2014-03-11 10:50:12 +00:00
|
|
|
expect( 4 );
|
2012-11-17 06:29:39 +00:00
|
|
|
|
|
|
|
var position, top, left,
|
2015-08-24 12:58:35 +00:00
|
|
|
container = $( "<div style='overflow:scroll;height:300px;width:300px;position:relative;'></div>" ).appendTo( "#qunit-fixture" ),
|
|
|
|
overflowed = $( "<div style='width: 1000px; height: 1000px;'></div>" ).appendTo( container ),
|
|
|
|
el = $( "<div style='height:100px;width:100px;position:absolute;top:10px;left:10px;'></div>" ).appendTo( overflowed ).resizable( { handles: "all" } ),
|
2014-03-11 10:50:12 +00:00
|
|
|
handle = ".ui-resizable-e",
|
2015-08-24 12:58:35 +00:00
|
|
|
handlePosition = $( handle ).position().left;
|
2012-11-17 06:29:39 +00:00
|
|
|
|
|
|
|
container.scrollLeft( 100 ).scrollTop( 100 );
|
|
|
|
|
|
|
|
position = el.position();
|
2015-08-24 12:58:35 +00:00
|
|
|
left = el.css( "left" );
|
|
|
|
top = el.css( "top" );
|
2012-11-17 06:29:39 +00:00
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
testHelper.drag( handle, 50, 50 );
|
2012-11-17 06:29:39 +00:00
|
|
|
deepEqual( el.position(), position, "position stays the same when resized" );
|
2015-08-24 12:58:35 +00:00
|
|
|
equal( el.css( "left" ), left, "css('left') stays the same when resized" );
|
|
|
|
equal( el.css( "top" ), top, "css('top') stays the same when resized" );
|
|
|
|
equal( $( handle ).position().left, handlePosition + 50, "handle also moved" );
|
|
|
|
} );
|
2012-11-17 06:29:39 +00:00
|
|
|
|
2013-10-16 02:40:49 +00:00
|
|
|
test( "resizable stores correct size when using helper and grid (#9547)", function() {
|
|
|
|
expect( 2 );
|
|
|
|
|
|
|
|
var handle = ".ui-resizable-se",
|
2015-08-24 12:58:35 +00:00
|
|
|
target = $( "#resizable1" ).resizable( {
|
2013-10-16 02:40:49 +00:00
|
|
|
handles: "all",
|
|
|
|
helper: "ui-resizable-helper",
|
|
|
|
grid: [ 10, 10 ]
|
2015-08-24 12:58:35 +00:00
|
|
|
} );
|
2013-10-16 02:40:49 +00:00
|
|
|
|
2015-04-07 14:30:07 +00:00
|
|
|
testHelper.drag( handle, 1, 1 );
|
2013-10-16 02:40:49 +00:00
|
|
|
equal( target.width(), 100, "compare width" );
|
|
|
|
equal( target.height(), 100, "compare height" );
|
2015-08-24 12:58:35 +00:00
|
|
|
} );
|
2013-10-16 02:40:49 +00:00
|
|
|
|
2013-12-07 06:39:34 +00:00
|
|
|
test( "nested resizable", function() {
|
|
|
|
expect( 4 );
|
2014-03-11 10:50:12 +00:00
|
|
|
|
2013-12-07 06:39:34 +00:00
|
|
|
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 );
|
|
|
|
|
2015-08-24 12:58:35 +00:00
|
|
|
inner.resizable( { handles: "e" } );
|
|
|
|
outer.resizable( { handles: "e" } );
|
|
|
|
target.resizable( { handles: "e" } );
|
2013-12-07 06:39:34 +00:00
|
|
|
|
|
|
|
innerHandle = $( "#inner > .ui-resizable-e" );
|
|
|
|
outerHandle = $( "#outer > .ui-resizable-e" );
|
2014-03-11 10:50:12 +00:00
|
|
|
|
2015-04-07 14:30:07 +00:00
|
|
|
testHelper.drag( innerHandle, 10 );
|
2013-12-07 06:39:34 +00:00
|
|
|
equal( inner.width(), 40, "compare width of inner element" );
|
2015-04-07 14:30:07 +00:00
|
|
|
testHelper.drag( innerHandle, -10 );
|
2013-12-07 06:39:34 +00:00
|
|
|
equal( inner.width(), 30, "compare width of inner element" );
|
|
|
|
|
2015-04-07 14:30:07 +00:00
|
|
|
testHelper.drag( outerHandle, 10 );
|
2013-12-07 06:39:34 +00:00
|
|
|
equal( outer.width(), 60, "compare width of outer element" );
|
2015-04-07 14:30:07 +00:00
|
|
|
testHelper.drag( outerHandle, -10 );
|
2013-12-07 06:39:34 +00:00
|
|
|
equal( outer.width(), 50, "compare width of outer element" );
|
|
|
|
|
|
|
|
inner.remove();
|
|
|
|
outer.remove();
|
2015-08-24 12:58:35 +00:00
|
|
|
} );
|
2013-12-07 06:39:34 +00:00
|
|
|
|
2015-04-06 18:33:25 +00:00
|
|
|
} );
|