You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.8 KiB
78 lines
1.8 KiB
5 years ago
|
/*!
|
||
|
* jQuery UI Form Reset Mixin 1.12.1
|
||
|
* http://jqueryui.com
|
||
|
*
|
||
|
* Copyright jQuery Foundation and other contributors
|
||
|
* Released under the MIT license.
|
||
|
* http://jquery.org/license
|
||
|
*/
|
||
|
|
||
|
//>>label: Form Reset Mixin
|
||
|
//>>group: Core
|
||
|
//>>description: Refresh input widgets when their form is reset
|
||
|
//>>docs: http://api.jqueryui.com/form-reset-mixin/
|
||
|
|
||
|
( function( factory ) {
|
||
|
if ( typeof define === "function" && define.amd ) {
|
||
|
|
||
|
// AMD. Register as an anonymous module.
|
||
|
define( [
|
||
|
"jquery",
|
||
|
"./form",
|
||
|
"./version"
|
||
|
], factory );
|
||
|
} else {
|
||
|
|
||
|
// Browser globals
|
||
|
factory( jQuery );
|
||
|
}
|
||
|
}( function( $ ) {
|
||
|
|
||
|
return $.ui.formResetMixin = {
|
||
|
_formResetHandler: function() {
|
||
|
var form = $( this );
|
||
|
|
||
|
// Wait for the form reset to actually happen before refreshing
|
||
|
setTimeout( function() {
|
||
|
var instances = form.data( "ui-form-reset-instances" );
|
||
|
$.each( instances, function() {
|
||
|
this.refresh();
|
||
|
} );
|
||
|
} );
|
||
|
},
|
||
|
|
||
|
_bindFormResetHandler: function() {
|
||
|
this.form = this.element.form();
|
||
|
if ( !this.form.length ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var instances = this.form.data( "ui-form-reset-instances" ) || [];
|
||
|
if ( !instances.length ) {
|
||
|
|
||
|
// We don't use _on() here because we use a single event handler per form
|
||
|
this.form.on( "reset.ui-form-reset", this._formResetHandler );
|
||
|
}
|
||
|
instances.push( this );
|
||
|
this.form.data( "ui-form-reset-instances", instances );
|
||
|
},
|
||
|
|
||
|
_unbindFormResetHandler: function() {
|
||
|
if ( !this.form.length ) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
var instances = this.form.data( "ui-form-reset-instances" );
|
||
|
instances.splice( $.inArray( this, instances ), 1 );
|
||
|
if ( instances.length ) {
|
||
|
this.form.data( "ui-form-reset-instances", instances );
|
||
|
} else {
|
||
|
this.form
|
||
|
.removeData( "ui-form-reset-instances" )
|
||
|
.off( "reset.ui-form-reset" );
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
} ) );
|