Permalink
Browse files

Resizable: Keep user defined handles on _setOption

Fixes #15084
Closes gh-1795
  • Loading branch information...
1 parent a3b9129 commit 278d1e1108e6c12d35be9edce2a9efcab1946229 @kdinev kdinev committed with scottgonzalez Feb 24, 2017
Showing with 26 additions and 10 deletions.
  1. +20 −8 tests/unit/resizable/options.js
  2. +6 −2 ui/widgets/resizable.js
@@ -434,11 +434,20 @@ QUnit.test( "zIndex, applied to all handles", function( assert ) {
} );
QUnit.test( "setOption handles", function( assert ) {
- assert.expect( 11 );
-
- var target = $( "<div></div>" ).resizable();
-
- function checkHandles( expectedHandles ) {
+ assert.expect( 15 );
+
+ var target = $( "<div></div>" ).resizable(),
+ target2 = $( "<div>" +
+ "<div class='ui-resizable-handle ui-resizable-e'></div>" +
+ "<div class='ui-resizable-handle ui-resizable-w'></div>" +
+ "</div>" ).resizable( {
+ handles: {
+ "e": "ui-resizable-e",
+ "w": "ui-resizable-w"
+ }
+ } );
+
+ function checkHandles( target, expectedHandles ) {
expectedHandles = $.map( expectedHandles, function( value ) {
return ".ui-resizable-" + value;
} );
@@ -451,13 +460,16 @@ QUnit.test( "setOption handles", function( assert ) {
} );
}
- checkHandles( [ "e", "s", "se" ] );
+ checkHandles( target, [ "e", "s", "se" ] );
target.resizable( "option", "handles", "n, w, nw" );
- checkHandles( [ "n", "w", "nw" ] );
+ checkHandles( target, [ "n", "w", "nw" ] );
target.resizable( "option", "handles", "s, w" );
- checkHandles( [ "s", "w" ] );
+ checkHandles( target, [ "s", "w" ] );
+
+ target2.resizable( "option", "handles", "e, s, w" );
+ checkHandles( target2, [ "e", "s", "w" ] );
} );
QUnit.test( "alsoResize + containment", function( assert ) {
View
@@ -250,6 +250,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
} );
this._handles = $();
+ this._addedHandles = $();
if ( this.handles.constructor === String ) {
if ( this.handles === "all" ) {
@@ -269,7 +270,10 @@ $.widget( "ui.resizable", $.ui.mouse, {
axis.css( { zIndex: o.zIndex } );
this.handles[ handle ] = ".ui-resizable-" + handle;
- this.element.append( axis );
+ if ( !this.element.children( this.handles[ handle ] ).length ) {
+ this.element.append( axis );
+ this._addedHandles = this._addedHandles.add( axis );
+ }
}
}
@@ -335,7 +339,7 @@ $.widget( "ui.resizable", $.ui.mouse, {
},
_removeHandles: function() {
- this._handles.remove();
+ this._addedHandles.remove();
},
_mouseCapture: function( event ) {

0 comments on commit 278d1e1

Please sign in to comment.