Edit File by line
/home/barbar84/public_h.../wp-inclu.../js/jquery/ui
File: resizable.js
/*!
[0] Fix | Delete
* jQuery UI Resizable 1.12.1
[1] Fix | Delete
* http://jqueryui.com
[2] Fix | Delete
*
[3] Fix | Delete
* Copyright jQuery Foundation and other contributors
[4] Fix | Delete
* Released under the MIT license.
[5] Fix | Delete
* http://jquery.org/license
[6] Fix | Delete
*/
[7] Fix | Delete
[8] Fix | Delete
//>>label: Resizable
[9] Fix | Delete
//>>group: Interactions
[10] Fix | Delete
//>>description: Enables resize functionality for any element.
[11] Fix | Delete
//>>docs: http://api.jqueryui.com/resizable/
[12] Fix | Delete
//>>demos: http://jqueryui.com/resizable/
[13] Fix | Delete
//>>css.structure: ../../themes/base/core.css
[14] Fix | Delete
//>>css.structure: ../../themes/base/resizable.css
[15] Fix | Delete
//>>css.theme: ../../themes/base/theme.css
[16] Fix | Delete
[17] Fix | Delete
( function( factory ) {
[18] Fix | Delete
if ( typeof define === "function" && define.amd ) {
[19] Fix | Delete
[20] Fix | Delete
// AMD. Register as an anonymous module.
[21] Fix | Delete
define( [
[22] Fix | Delete
"jquery",
[23] Fix | Delete
"./mouse",
[24] Fix | Delete
"./core"
[25] Fix | Delete
], factory );
[26] Fix | Delete
} else {
[27] Fix | Delete
[28] Fix | Delete
// Browser globals
[29] Fix | Delete
factory( jQuery );
[30] Fix | Delete
}
[31] Fix | Delete
}( function( $ ) {
[32] Fix | Delete
[33] Fix | Delete
$.widget( "ui.resizable", $.ui.mouse, {
[34] Fix | Delete
version: "1.12.1",
[35] Fix | Delete
widgetEventPrefix: "resize",
[36] Fix | Delete
options: {
[37] Fix | Delete
alsoResize: false,
[38] Fix | Delete
animate: false,
[39] Fix | Delete
animateDuration: "slow",
[40] Fix | Delete
animateEasing: "swing",
[41] Fix | Delete
aspectRatio: false,
[42] Fix | Delete
autoHide: false,
[43] Fix | Delete
classes: {
[44] Fix | Delete
"ui-resizable-se": "ui-icon ui-icon-gripsmall-diagonal-se"
[45] Fix | Delete
},
[46] Fix | Delete
containment: false,
[47] Fix | Delete
ghost: false,
[48] Fix | Delete
grid: false,
[49] Fix | Delete
handles: "e,s,se",
[50] Fix | Delete
helper: false,
[51] Fix | Delete
maxHeight: null,
[52] Fix | Delete
maxWidth: null,
[53] Fix | Delete
minHeight: 10,
[54] Fix | Delete
minWidth: 10,
[55] Fix | Delete
[56] Fix | Delete
// See #7960
[57] Fix | Delete
zIndex: 90,
[58] Fix | Delete
[59] Fix | Delete
// Callbacks
[60] Fix | Delete
resize: null,
[61] Fix | Delete
start: null,
[62] Fix | Delete
stop: null
[63] Fix | Delete
},
[64] Fix | Delete
[65] Fix | Delete
_num: function( value ) {
[66] Fix | Delete
return parseFloat( value ) || 0;
[67] Fix | Delete
},
[68] Fix | Delete
[69] Fix | Delete
_isNumber: function( value ) {
[70] Fix | Delete
return !isNaN( parseFloat( value ) );
[71] Fix | Delete
},
[72] Fix | Delete
[73] Fix | Delete
_hasScroll: function( el, a ) {
[74] Fix | Delete
[75] Fix | Delete
if ( $( el ).css( "overflow" ) === "hidden" ) {
[76] Fix | Delete
return false;
[77] Fix | Delete
}
[78] Fix | Delete
[79] Fix | Delete
var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
[80] Fix | Delete
has = false;
[81] Fix | Delete
[82] Fix | Delete
if ( el[ scroll ] > 0 ) {
[83] Fix | Delete
return true;
[84] Fix | Delete
}
[85] Fix | Delete
[86] Fix | Delete
// TODO: determine which cases actually cause this to happen
[87] Fix | Delete
// if the element doesn't have the scroll set, see if it's possible to
[88] Fix | Delete
// set the scroll
[89] Fix | Delete
el[ scroll ] = 1;
[90] Fix | Delete
has = ( el[ scroll ] > 0 );
[91] Fix | Delete
el[ scroll ] = 0;
[92] Fix | Delete
return has;
[93] Fix | Delete
},
[94] Fix | Delete
[95] Fix | Delete
_create: function() {
[96] Fix | Delete
[97] Fix | Delete
var margins,
[98] Fix | Delete
o = this.options,
[99] Fix | Delete
that = this;
[100] Fix | Delete
this._addClass( "ui-resizable" );
[101] Fix | Delete
[102] Fix | Delete
$.extend( this, {
[103] Fix | Delete
_aspectRatio: !!( o.aspectRatio ),
[104] Fix | Delete
aspectRatio: o.aspectRatio,
[105] Fix | Delete
originalElement: this.element,
[106] Fix | Delete
_proportionallyResizeElements: [],
[107] Fix | Delete
_helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
[108] Fix | Delete
} );
[109] Fix | Delete
[110] Fix | Delete
// Wrap the element if it cannot hold child nodes
[111] Fix | Delete
if ( this.element[ 0 ].nodeName.match( /^(canvas|textarea|input|select|button|img)$/i ) ) {
[112] Fix | Delete
[113] Fix | Delete
this.element.wrap(
[114] Fix | Delete
$( "<div class='ui-wrapper' style='overflow: hidden;'></div>" ).css( {
[115] Fix | Delete
position: this.element.css( "position" ),
[116] Fix | Delete
width: this.element.outerWidth(),
[117] Fix | Delete
height: this.element.outerHeight(),
[118] Fix | Delete
top: this.element.css( "top" ),
[119] Fix | Delete
left: this.element.css( "left" )
[120] Fix | Delete
} )
[121] Fix | Delete
);
[122] Fix | Delete
[123] Fix | Delete
this.element = this.element.parent().data(
[124] Fix | Delete
"ui-resizable", this.element.resizable( "instance" )
[125] Fix | Delete
);
[126] Fix | Delete
[127] Fix | Delete
this.elementIsWrapper = true;
[128] Fix | Delete
[129] Fix | Delete
margins = {
[130] Fix | Delete
marginTop: this.originalElement.css( "marginTop" ),
[131] Fix | Delete
marginRight: this.originalElement.css( "marginRight" ),
[132] Fix | Delete
marginBottom: this.originalElement.css( "marginBottom" ),
[133] Fix | Delete
marginLeft: this.originalElement.css( "marginLeft" )
[134] Fix | Delete
};
[135] Fix | Delete
[136] Fix | Delete
this.element.css( margins );
[137] Fix | Delete
this.originalElement.css( "margin", 0 );
[138] Fix | Delete
[139] Fix | Delete
// support: Safari
[140] Fix | Delete
// Prevent Safari textarea resize
[141] Fix | Delete
this.originalResizeStyle = this.originalElement.css( "resize" );
[142] Fix | Delete
this.originalElement.css( "resize", "none" );
[143] Fix | Delete
[144] Fix | Delete
this._proportionallyResizeElements.push( this.originalElement.css( {
[145] Fix | Delete
position: "static",
[146] Fix | Delete
zoom: 1,
[147] Fix | Delete
display: "block"
[148] Fix | Delete
} ) );
[149] Fix | Delete
[150] Fix | Delete
// Support: IE9
[151] Fix | Delete
// avoid IE jump (hard set the margin)
[152] Fix | Delete
this.originalElement.css( margins );
[153] Fix | Delete
[154] Fix | Delete
this._proportionallyResize();
[155] Fix | Delete
}
[156] Fix | Delete
[157] Fix | Delete
this._setupHandles();
[158] Fix | Delete
[159] Fix | Delete
if ( o.autoHide ) {
[160] Fix | Delete
$( this.element )
[161] Fix | Delete
.on( "mouseenter", function() {
[162] Fix | Delete
if ( o.disabled ) {
[163] Fix | Delete
return;
[164] Fix | Delete
}
[165] Fix | Delete
that._removeClass( "ui-resizable-autohide" );
[166] Fix | Delete
that._handles.show();
[167] Fix | Delete
} )
[168] Fix | Delete
.on( "mouseleave", function() {
[169] Fix | Delete
if ( o.disabled ) {
[170] Fix | Delete
return;
[171] Fix | Delete
}
[172] Fix | Delete
if ( !that.resizing ) {
[173] Fix | Delete
that._addClass( "ui-resizable-autohide" );
[174] Fix | Delete
that._handles.hide();
[175] Fix | Delete
}
[176] Fix | Delete
} );
[177] Fix | Delete
}
[178] Fix | Delete
[179] Fix | Delete
this._mouseInit();
[180] Fix | Delete
},
[181] Fix | Delete
[182] Fix | Delete
_destroy: function() {
[183] Fix | Delete
[184] Fix | Delete
this._mouseDestroy();
[185] Fix | Delete
[186] Fix | Delete
var wrapper,
[187] Fix | Delete
_destroy = function( exp ) {
[188] Fix | Delete
$( exp )
[189] Fix | Delete
.removeData( "resizable" )
[190] Fix | Delete
.removeData( "ui-resizable" )
[191] Fix | Delete
.off( ".resizable" )
[192] Fix | Delete
.find( ".ui-resizable-handle" )
[193] Fix | Delete
.remove();
[194] Fix | Delete
};
[195] Fix | Delete
[196] Fix | Delete
// TODO: Unwrap at same DOM position
[197] Fix | Delete
if ( this.elementIsWrapper ) {
[198] Fix | Delete
_destroy( this.element );
[199] Fix | Delete
wrapper = this.element;
[200] Fix | Delete
this.originalElement.css( {
[201] Fix | Delete
position: wrapper.css( "position" ),
[202] Fix | Delete
width: wrapper.outerWidth(),
[203] Fix | Delete
height: wrapper.outerHeight(),
[204] Fix | Delete
top: wrapper.css( "top" ),
[205] Fix | Delete
left: wrapper.css( "left" )
[206] Fix | Delete
} ).insertAfter( wrapper );
[207] Fix | Delete
wrapper.remove();
[208] Fix | Delete
}
[209] Fix | Delete
[210] Fix | Delete
this.originalElement.css( "resize", this.originalResizeStyle );
[211] Fix | Delete
_destroy( this.originalElement );
[212] Fix | Delete
[213] Fix | Delete
return this;
[214] Fix | Delete
},
[215] Fix | Delete
[216] Fix | Delete
_setOption: function( key, value ) {
[217] Fix | Delete
this._super( key, value );
[218] Fix | Delete
[219] Fix | Delete
switch ( key ) {
[220] Fix | Delete
case "handles":
[221] Fix | Delete
this._removeHandles();
[222] Fix | Delete
this._setupHandles();
[223] Fix | Delete
break;
[224] Fix | Delete
default:
[225] Fix | Delete
break;
[226] Fix | Delete
}
[227] Fix | Delete
},
[228] Fix | Delete
[229] Fix | Delete
_setupHandles: function() {
[230] Fix | Delete
var o = this.options, handle, i, n, hname, axis, that = this;
[231] Fix | Delete
this.handles = o.handles ||
[232] Fix | Delete
( !$( ".ui-resizable-handle", this.element ).length ?
[233] Fix | Delete
"e,s,se" : {
[234] Fix | Delete
n: ".ui-resizable-n",
[235] Fix | Delete
e: ".ui-resizable-e",
[236] Fix | Delete
s: ".ui-resizable-s",
[237] Fix | Delete
w: ".ui-resizable-w",
[238] Fix | Delete
se: ".ui-resizable-se",
[239] Fix | Delete
sw: ".ui-resizable-sw",
[240] Fix | Delete
ne: ".ui-resizable-ne",
[241] Fix | Delete
nw: ".ui-resizable-nw"
[242] Fix | Delete
} );
[243] Fix | Delete
[244] Fix | Delete
this._handles = $();
[245] Fix | Delete
if ( this.handles.constructor === String ) {
[246] Fix | Delete
[247] Fix | Delete
if ( this.handles === "all" ) {
[248] Fix | Delete
this.handles = "n,e,s,w,se,sw,ne,nw";
[249] Fix | Delete
}
[250] Fix | Delete
[251] Fix | Delete
n = this.handles.split( "," );
[252] Fix | Delete
this.handles = {};
[253] Fix | Delete
[254] Fix | Delete
for ( i = 0; i < n.length; i++ ) {
[255] Fix | Delete
[256] Fix | Delete
handle = $.trim( n[ i ] );
[257] Fix | Delete
hname = "ui-resizable-" + handle;
[258] Fix | Delete
axis = $( "<div>" );
[259] Fix | Delete
this._addClass( axis, "ui-resizable-handle " + hname );
[260] Fix | Delete
[261] Fix | Delete
axis.css( { zIndex: o.zIndex } );
[262] Fix | Delete
[263] Fix | Delete
this.handles[ handle ] = ".ui-resizable-" + handle;
[264] Fix | Delete
this.element.append( axis );
[265] Fix | Delete
}
[266] Fix | Delete
[267] Fix | Delete
}
[268] Fix | Delete
[269] Fix | Delete
this._renderAxis = function( target ) {
[270] Fix | Delete
[271] Fix | Delete
var i, axis, padPos, padWrapper;
[272] Fix | Delete
[273] Fix | Delete
target = target || this.element;
[274] Fix | Delete
[275] Fix | Delete
for ( i in this.handles ) {
[276] Fix | Delete
[277] Fix | Delete
if ( this.handles[ i ].constructor === String ) {
[278] Fix | Delete
this.handles[ i ] = this.element.children( this.handles[ i ] ).first().show();
[279] Fix | Delete
} else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) {
[280] Fix | Delete
this.handles[ i ] = $( this.handles[ i ] );
[281] Fix | Delete
this._on( this.handles[ i ], { "mousedown": that._mouseDown } );
[282] Fix | Delete
}
[283] Fix | Delete
[284] Fix | Delete
if ( this.elementIsWrapper &&
[285] Fix | Delete
this.originalElement[ 0 ]
[286] Fix | Delete
.nodeName
[287] Fix | Delete
.match( /^(textarea|input|select|button)$/i ) ) {
[288] Fix | Delete
axis = $( this.handles[ i ], this.element );
[289] Fix | Delete
[290] Fix | Delete
padWrapper = /sw|ne|nw|se|n|s/.test( i ) ?
[291] Fix | Delete
axis.outerHeight() :
[292] Fix | Delete
axis.outerWidth();
[293] Fix | Delete
[294] Fix | Delete
padPos = [ "padding",
[295] Fix | Delete
/ne|nw|n/.test( i ) ? "Top" :
[296] Fix | Delete
/se|sw|s/.test( i ) ? "Bottom" :
[297] Fix | Delete
/^e$/.test( i ) ? "Right" : "Left" ].join( "" );
[298] Fix | Delete
[299] Fix | Delete
target.css( padPos, padWrapper );
[300] Fix | Delete
[301] Fix | Delete
this._proportionallyResize();
[302] Fix | Delete
}
[303] Fix | Delete
[304] Fix | Delete
this._handles = this._handles.add( this.handles[ i ] );
[305] Fix | Delete
}
[306] Fix | Delete
};
[307] Fix | Delete
[308] Fix | Delete
// TODO: make renderAxis a prototype function
[309] Fix | Delete
this._renderAxis( this.element );
[310] Fix | Delete
[311] Fix | Delete
this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) );
[312] Fix | Delete
this._handles.disableSelection();
[313] Fix | Delete
[314] Fix | Delete
this._handles.on( "mouseover", function() {
[315] Fix | Delete
if ( !that.resizing ) {
[316] Fix | Delete
if ( this.className ) {
[317] Fix | Delete
axis = this.className.match( /ui-resizable-(se|sw|ne|nw|n|e|s|w)/i );
[318] Fix | Delete
}
[319] Fix | Delete
that.axis = axis && axis[ 1 ] ? axis[ 1 ] : "se";
[320] Fix | Delete
}
[321] Fix | Delete
} );
[322] Fix | Delete
[323] Fix | Delete
if ( o.autoHide ) {
[324] Fix | Delete
this._handles.hide();
[325] Fix | Delete
this._addClass( "ui-resizable-autohide" );
[326] Fix | Delete
}
[327] Fix | Delete
},
[328] Fix | Delete
[329] Fix | Delete
_removeHandles: function() {
[330] Fix | Delete
this._handles.remove();
[331] Fix | Delete
},
[332] Fix | Delete
[333] Fix | Delete
_mouseCapture: function( event ) {
[334] Fix | Delete
var i, handle,
[335] Fix | Delete
capture = false;
[336] Fix | Delete
[337] Fix | Delete
for ( i in this.handles ) {
[338] Fix | Delete
handle = $( this.handles[ i ] )[ 0 ];
[339] Fix | Delete
if ( handle === event.target || $.contains( handle, event.target ) ) {
[340] Fix | Delete
capture = true;
[341] Fix | Delete
}
[342] Fix | Delete
}
[343] Fix | Delete
[344] Fix | Delete
return !this.options.disabled && capture;
[345] Fix | Delete
},
[346] Fix | Delete
[347] Fix | Delete
_mouseStart: function( event ) {
[348] Fix | Delete
[349] Fix | Delete
var curleft, curtop, cursor,
[350] Fix | Delete
o = this.options,
[351] Fix | Delete
el = this.element;
[352] Fix | Delete
[353] Fix | Delete
this.resizing = true;
[354] Fix | Delete
[355] Fix | Delete
this._renderProxy();
[356] Fix | Delete
[357] Fix | Delete
curleft = this._num( this.helper.css( "left" ) );
[358] Fix | Delete
curtop = this._num( this.helper.css( "top" ) );
[359] Fix | Delete
[360] Fix | Delete
if ( o.containment ) {
[361] Fix | Delete
curleft += $( o.containment ).scrollLeft() || 0;
[362] Fix | Delete
curtop += $( o.containment ).scrollTop() || 0;
[363] Fix | Delete
}
[364] Fix | Delete
[365] Fix | Delete
this.offset = this.helper.offset();
[366] Fix | Delete
this.position = { left: curleft, top: curtop };
[367] Fix | Delete
[368] Fix | Delete
this.size = this._helper ? {
[369] Fix | Delete
width: this.helper.width(),
[370] Fix | Delete
height: this.helper.height()
[371] Fix | Delete
} : {
[372] Fix | Delete
width: el.width(),
[373] Fix | Delete
height: el.height()
[374] Fix | Delete
};
[375] Fix | Delete
[376] Fix | Delete
this.originalSize = this._helper ? {
[377] Fix | Delete
width: el.outerWidth(),
[378] Fix | Delete
height: el.outerHeight()
[379] Fix | Delete
} : {
[380] Fix | Delete
width: el.width(),
[381] Fix | Delete
height: el.height()
[382] Fix | Delete
};
[383] Fix | Delete
[384] Fix | Delete
this.sizeDiff = {
[385] Fix | Delete
width: el.outerWidth() - el.width(),
[386] Fix | Delete
height: el.outerHeight() - el.height()
[387] Fix | Delete
};
[388] Fix | Delete
[389] Fix | Delete
this.originalPosition = { left: curleft, top: curtop };
[390] Fix | Delete
this.originalMousePosition = { left: event.pageX, top: event.pageY };
[391] Fix | Delete
[392] Fix | Delete
this.aspectRatio = ( typeof o.aspectRatio === "number" ) ?
[393] Fix | Delete
o.aspectRatio :
[394] Fix | Delete
( ( this.originalSize.width / this.originalSize.height ) || 1 );
[395] Fix | Delete
[396] Fix | Delete
cursor = $( ".ui-resizable-" + this.axis ).css( "cursor" );
[397] Fix | Delete
$( "body" ).css( "cursor", cursor === "auto" ? this.axis + "-resize" : cursor );
[398] Fix | Delete
[399] Fix | Delete
this._addClass( "ui-resizable-resizing" );
[400] Fix | Delete
this._propagate( "start", event );
[401] Fix | Delete
return true;
[402] Fix | Delete
},
[403] Fix | Delete
[404] Fix | Delete
_mouseDrag: function( event ) {
[405] Fix | Delete
[406] Fix | Delete
var data, props,
[407] Fix | Delete
smp = this.originalMousePosition,
[408] Fix | Delete
a = this.axis,
[409] Fix | Delete
dx = ( event.pageX - smp.left ) || 0,
[410] Fix | Delete
dy = ( event.pageY - smp.top ) || 0,
[411] Fix | Delete
trigger = this._change[ a ];
[412] Fix | Delete
[413] Fix | Delete
this._updatePrevProperties();
[414] Fix | Delete
[415] Fix | Delete
if ( !trigger ) {
[416] Fix | Delete
return false;
[417] Fix | Delete
}
[418] Fix | Delete
[419] Fix | Delete
data = trigger.apply( this, [ event, dx, dy ] );
[420] Fix | Delete
[421] Fix | Delete
this._updateVirtualBoundaries( event.shiftKey );
[422] Fix | Delete
if ( this._aspectRatio || event.shiftKey ) {
[423] Fix | Delete
data = this._updateRatio( data, event );
[424] Fix | Delete
}
[425] Fix | Delete
[426] Fix | Delete
data = this._respectSize( data, event );
[427] Fix | Delete
[428] Fix | Delete
this._updateCache( data );
[429] Fix | Delete
[430] Fix | Delete
this._propagate( "resize", event );
[431] Fix | Delete
[432] Fix | Delete
props = this._applyChanges();
[433] Fix | Delete
[434] Fix | Delete
if ( !this._helper && this._proportionallyResizeElements.length ) {
[435] Fix | Delete
this._proportionallyResize();
[436] Fix | Delete
}
[437] Fix | Delete
[438] Fix | Delete
if ( !$.isEmptyObject( props ) ) {
[439] Fix | Delete
this._updatePrevProperties();
[440] Fix | Delete
this._trigger( "resize", event, this.ui() );
[441] Fix | Delete
this._applyChanges();
[442] Fix | Delete
}
[443] Fix | Delete
[444] Fix | Delete
return false;
[445] Fix | Delete
},
[446] Fix | Delete
[447] Fix | Delete
_mouseStop: function( event ) {
[448] Fix | Delete
[449] Fix | Delete
this.resizing = false;
[450] Fix | Delete
var pr, ista, soffseth, soffsetw, s, left, top,
[451] Fix | Delete
o = this.options, that = this;
[452] Fix | Delete
[453] Fix | Delete
if ( this._helper ) {
[454] Fix | Delete
[455] Fix | Delete
pr = this._proportionallyResizeElements;
[456] Fix | Delete
ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName );
[457] Fix | Delete
soffseth = ista && this._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height;
[458] Fix | Delete
soffsetw = ista ? 0 : that.sizeDiff.width;
[459] Fix | Delete
[460] Fix | Delete
s = {
[461] Fix | Delete
width: ( that.helper.width() - soffsetw ),
[462] Fix | Delete
height: ( that.helper.height() - soffseth )
[463] Fix | Delete
};
[464] Fix | Delete
left = ( parseFloat( that.element.css( "left" ) ) +
[465] Fix | Delete
( that.position.left - that.originalPosition.left ) ) || null;
[466] Fix | Delete
top = ( parseFloat( that.element.css( "top" ) ) +
[467] Fix | Delete
( that.position.top - that.originalPosition.top ) ) || null;
[468] Fix | Delete
[469] Fix | Delete
if ( !o.animate ) {
[470] Fix | Delete
this.element.css( $.extend( s, { top: top, left: left } ) );
[471] Fix | Delete
}
[472] Fix | Delete
[473] Fix | Delete
that.helper.height( that.size.height );
[474] Fix | Delete
that.helper.width( that.size.width );
[475] Fix | Delete
[476] Fix | Delete
if ( this._helper && !o.animate ) {
[477] Fix | Delete
this._proportionallyResize();
[478] Fix | Delete
}
[479] Fix | Delete
}
[480] Fix | Delete
[481] Fix | Delete
$( "body" ).css( "cursor", "auto" );
[482] Fix | Delete
[483] Fix | Delete
this._removeClass( "ui-resizable-resizing" );
[484] Fix | Delete
[485] Fix | Delete
this._propagate( "stop", event );
[486] Fix | Delete
[487] Fix | Delete
if ( this._helper ) {
[488] Fix | Delete
this.helper.remove();
[489] Fix | Delete
}
[490] Fix | Delete
[491] Fix | Delete
return false;
[492] Fix | Delete
[493] Fix | Delete
},
[494] Fix | Delete
[495] Fix | Delete
_updatePrevProperties: function() {
[496] Fix | Delete
this.prevPosition = {
[497] Fix | Delete
top: this.position.top,
[498] Fix | Delete
left: this.position.left
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function