| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- /*!
- * jQuery UI Form Reset Mixin 1.14.1
- * https://jqueryui.com
- *
- * Copyright OpenJS Foundation and other contributors
- * Released under the MIT license.
- * https://jquery.org/license
- */
- //>>label: Form Reset Mixin
- //>>group: Core
- //>>description: Refresh input widgets when their form is reset
- //>>docs: https://api.jqueryui.com/form-reset-mixin/
- ( function( factory ) {
- "use strict";
- if ( typeof define === "function" && define.amd ) {
- // AMD. Register as an anonymous module.
- define( [
- "jquery",
- "./version"
- ], factory );
- } else {
- // Browser globals
- factory( jQuery );
- }
- } )( function( $ ) {
- "use strict";
- 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.prop( "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" );
- }
- }
- };
- } );
|