mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
63 lines
1.4 KiB
JavaScript
63 lines
1.4 KiB
JavaScript
|
( function( factory ) {
|
||
|
if ( typeof define === "function" && define.amd ) {
|
||
|
|
||
|
// AMD. Register as an anonymous module.
|
||
|
define( [
|
||
|
"jquery",
|
||
|
"ui/core"
|
||
|
], 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" );
|
||
|
}
|
||
|
}
|
||
|
};
|
||
|
|
||
|
} ) );
|