Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
META-INF.resources.scripts.vendor.plugins.wizards.jquery.form.wizard.js Maven / Gradle / Ivy
/*
* jQuery wizard plug-in 3.0.5
*
*
* Copyright (c) 2011 Jan Sundman (jan.sundman[at]aland.net)
*
* http://www.thecodemine.org
*
* Licensed under the MIT licens:
* http://www.opensource.org/licenses/mit-license.php
*
*/
(function ( a ) {
a.widget( "ui.formwizard", {_init: function () {
var e = this;
var f = this.options.formOptions.success;
var d = this.options.formOptions.complete;
var b = this.options.formOptions.beforeSend;
var g = this.options.formOptions.beforeSubmit;
var c = this.options.formOptions.beforeSerialize;
this.options.formOptions = a.extend( this.options.formOptions, {success: function ( h, j, i ) {
if ( f ) {
f( h, j, i )
}
if ( e.options.formOptions && e.options.formOptions.resetForm || !e.options.formOptions ) {
e._reset()
}
}, complete: function ( h, i ) {
if ( d ) {
d( h, i )
}
e._enableNavigation()
}, beforeSubmit: function ( i, k, j ) {
if ( g ) {
var h = g( i, k, j );
if ( !h ) {
e._enableNavigation()
}
return h
}
}, beforeSend: function ( i ) {
if ( b ) {
var h = b( i );
if ( !h ) {
e._enableNavigation()
}
return h
}
}, beforeSerialize: function ( j, i ) {
if ( c ) {
var h = c( j, i );
if ( !h ) {
e._enableNavigation()
}
return h
}
}} );
this.steps = this.element.find( ".step" ).hide();
this.firstStep = this.steps.eq( 0 ).attr( "id" );
this.activatedSteps = new Array();
this.isLastStep = false;
this.previousStep = undefined;
this.currentStep = this.steps.eq( 0 ).attr( "id" );
this.nextButton = this.element.find( this.options.next ).click( function () {
return e._next()
} );
this.nextButtonInitinalValue = this.nextButton.val();
this.nextButton.val( this.options.textNext );
this.backButton = this.element.find( this.options.back ).click( function () {
e._back();
return false
} );
this.backButtonInitinalValue = this.backButton.val();
this.backButton.val( this.options.textBack );
if ( this.options.validationEnabled && jQuery().validate == undefined ) {
this.options.validationEnabled = false;
if ( (window.console !== undefined) ) {
console.log( "%s", "validationEnabled option set, but the validation plugin is not included" )
}
} else {
if ( this.options.validationEnabled ) {
this.element.validate( this.options.validationOptions )
}
}
if ( this.options.formPluginEnabled && jQuery().ajaxSubmit == undefined ) {
this.options.formPluginEnabled = false;
if ( (window.console !== undefined) ) {
console.log( "%s", "formPluginEnabled option set but the form plugin is not included" )
}
}
if ( this.options.disableInputFields == true ) {
a( this.steps ).find( ":input:not('.wizard-ignore')" ).attr( "disabled", "disabled" )
}
if ( this.options.historyEnabled ) {
a( window ).bind( "hashchange", undefined, function ( i ) {
var h = i.getState( "_" + a( e.element ).attr( "id" ) ) || e.firstStep;
if ( h !== e.currentStep ) {
if ( e.options.validationEnabled && h === e._navigate( e.currentStep ) ) {
if ( !e.element.valid() ) {
e._updateHistory( e.currentStep );
e.element.validate().focusInvalid();
return false
}
}
if ( h !== e.currentStep ) {
e._show( h )
}
}
} )
}
this.element.addClass( "ui-formwizard" );
this.element.find( ":input" ).addClass( "ui-wizard-content" );
this.steps.addClass( "ui-formwizard-content" );
this.backButton.addClass( "ui-formwizard-button ui-wizard-content" );
this.nextButton.addClass( "ui-formwizard-button ui-wizard-content" );
if ( !this.options.disableUIStyles ) {
this.element.addClass( "ui-helper-reset ui-widget ui-widget-content ui-helper-reset ui-corner-all" );
this.element.find( ":input" ).addClass( "ui-helper-reset ui-state-default" );
this.steps.addClass( "ui-helper-reset ui-corner-all" );
this.backButton.addClass( "ui-helper-reset ui-state-default" );
this.nextButton.addClass( "ui-helper-reset ui-state-default" )
}
this._show( undefined );
return a( this )
}, _next: function () {
if ( this.options.validationEnabled ) {
if ( !this.element.valid() ) {
this.element.validate().focusInvalid();
return false
}
}
if ( this.options.remoteAjax != undefined ) {
var c = this.options.remoteAjax[this.currentStep];
var e = this;
if ( c !== undefined ) {
var f = c.success;
var d = c.beforeSend;
var b = c.complete;
c = a.extend( {}, c, {success: function ( g, h ) {
if ( (f !== undefined && f( g, h )) || (f == undefined) ) {
e._continueToNextStep()
}
}, beforeSend: function ( g ) {
e._disableNavigation();
if ( d !== undefined ) {
d( g )
}
a( e.element ).trigger( "before_remote_ajax", {currentStep: e.currentStep} )
}, complete: function ( h, g ) {
if ( b !== undefined ) {
b( h, g )
}
a( e.element ).trigger( "after_remote_ajax", {currentStep: e.currentStep} );
e._enableNavigation()
}} );
this.element.ajaxSubmit( c );
return false
}
}
return this._continueToNextStep()
}, _back: function () {
if ( this.activatedSteps.length > 0 ) {
if ( this.options.historyEnabled ) {
this._updateHistory( this.activatedSteps[this.activatedSteps.length - 2] )
} else {
this._show( this.activatedSteps[this.activatedSteps.length - 2], true )
}
}
return false
}, _continueToNextStep: function () {
if ( this.isLastStep ) {
for ( var b = 0; b < this.activatedSteps.length; b++ ) {
this.steps.filter( "#" + this.activatedSteps[b] ).find( ":input" ).not( ".wizard-ignore" ).removeAttr( "disabled" )
}
if ( !this.options.formPluginEnabled ) {
return true
} else {
this._disableNavigation();
this.element.ajaxSubmit( this.options.formOptions );
return false
}
}
var c = this._navigate( this.currentStep );
if ( c == this.currentStep ) {
return false
}
if ( this.options.historyEnabled ) {
this._updateHistory( c )
} else {
this._show( c, true )
}
return false
}, _updateHistory: function ( b ) {
var c = {};
c["_" + a( this.element ).attr( "id" )] = b;
a.bbq.pushState( c )
}, _disableNavigation: function () {
this.nextButton.attr( "disabled", "disabled" );
this.backButton.attr( "disabled", "disabled" );
if ( !this.options.disableUIStyles ) {
this.nextButton.removeClass( "ui-state-active" ).addClass( "ui-state-disabled" );
this.backButton.removeClass( "ui-state-active" ).addClass( "ui-state-disabled" )
}
}, _enableNavigation: function () {
if ( this.isLastStep ) {
this.nextButton.val( this.options.textSubmit )
} else {
this.nextButton.val( this.options.textNext )
}
if ( a.trim( this.currentStep ) !== this.steps.eq( 0 ).attr( "id" ) ) {
this.backButton.removeAttr( "disabled" );
if ( !this.options.disableUIStyles ) {
this.backButton.removeClass( "ui-state-disabled" ).addClass( "ui-state-active" )
}
}
this.nextButton.removeAttr( "disabled" );
if ( !this.options.disableUIStyles ) {
this.nextButton.removeClass( "ui-state-disabled" ).addClass( "ui-state-active" )
}
}, _animate: function ( g, c, f ) {
this._disableNavigation();
var b = this.steps.filter( "#" + g );
var e = this.steps.filter( "#" + c );
b.find( ":input" ).not( ".wizard-ignore" ).attr( "disabled", "disabled" );
e.find( ":input" ).not( ".wizard-ignore" ).removeAttr( "disabled" );
var d = this;
b.animate( d.options.outAnimation, d.options.outDuration, d.options.easing, function () {
e.animate( d.options.inAnimation, d.options.inDuration, d.options.easing, function () {
if ( d.options.focusFirstInput ) {
e.find( ":input:first" ).focus()
}
d._enableNavigation();
f.apply( d )
} );
return
} )
}, _checkIflastStep: function ( b ) {
this.isLastStep = false;
if ( a( "#" + b ).hasClass( this.options.submitStepClass ) || this.steps.filter( ":last" ).attr( "id" ) == b ) {
this.isLastStep = true
}
}, _getLink: function ( d ) {
var c = undefined;
var b = this.steps.filter( "#" + d ).find( this.options.linkClass );
if ( b != undefined ) {
if ( b.filter( ":radio,:checkbox" ).size() > 0 ) {
c = b.filter( this.options.linkClass + ":checked" ).val()
} else {
c = a( b ).val()
}
}
return c
}, _navigate: function ( d ) {
var c = this._getLink( d );
if ( c != undefined ) {
if ( (c != "" && c != null && c != undefined) && this.steps.filter( "#" + c ).attr( "id" ) != undefined ) {
return c
}
return this.currentStep
} else {
if ( c == undefined && !this.isLastStep ) {
var b = this.steps.filter( "#" + d ).next().attr( "id" );
return b
}
}
}, _show: function ( d ) {
var b = false;
var c = d !== undefined;
if ( d == undefined || d == "" ) {
this.activatedSteps.pop();
d = this.firstStep;
this.activatedSteps.push( d )
} else {
if ( a.inArray( d, this.activatedSteps ) > -1 ) {
b = true;
this.activatedSteps.pop()
} else {
this.activatedSteps.push( d )
}
}
if ( this.currentStep !== d || d === this.firstStep ) {
this.previousStep = this.currentStep;
this._checkIflastStep( d );
this.currentStep = d;
var e = function () {
if ( c ) {
a( this.element ).trigger( "step_shown", a.extend( {isBackNavigation: b}, this._state() ) )
}
};
this._animate( this.previousStep, d, e )
}
}, _reset: function () {
this.element.resetForm();
a( "label,:input,textarea", this ).removeClass( "error" );
for ( var b = 0; b < this.activatedSteps.length; b++ ) {
this.steps.filter( "#" + this.activatedSteps[b] ).hide().find( ":input" ).attr( "disabled", "disabled" )
}
this.activatedSteps = new Array();
this.previousStep = undefined;
this.isLastStep = false;
if ( this.options.historyEnabled ) {
this._updateHistory( this.firstStep )
} else {
this._show( this.firstStep )
}
}, _state: function ( c ) {
var b = {settings: this.options, activatedSteps: this.activatedSteps, isLastStep: this.isLastStep, isFirstStep: this.currentStep === this.firstStep, previousStep: this.previousStep, currentStep: this.currentStep, backButton: this.backButton, nextButton: this.nextButton, steps: this.steps, firstStep: this.firstStep};
if ( c !== undefined ) {
return b[c]
}
return b
}, show: function ( b ) {
if ( this.options.historyEnabled ) {
this._updateHistory( b )
} else {
this._show( b )
}
}, state: function ( b ) {
return this._state( b )
}, reset: function () {
this._reset()
}, next: function () {
this._next()
}, back: function () {
this._back()
}, destroy: function () {
this.element.find( "*" ).removeAttr( "disabled" ).show();
this.nextButton.unbind( "click" ).val( this.nextButtonInitinalValue ).removeClass( "ui-state-disabled" ).addClass( "ui-state-active" );
this.backButton.unbind( "click" ).val( this.backButtonInitinalValue ).removeClass( "ui-state-disabled" ).addClass( "ui-state-active" );
this.backButtonInitinalValue = undefined;
this.nextButtonInitinalValue = undefined;
this.activatedSteps = undefined;
this.previousStep = undefined;
this.currentStep = undefined;
this.isLastStep = undefined;
this.options = undefined;
this.nextButton = undefined;
this.backButton = undefined;
this.formwizard = undefined;
this.element = undefined;
this.steps = undefined;
this.firstStep = undefined
}, update_steps: function () {
this.steps = this.element.find( ".step" ).addClass( "ui-formwizard-content" );
this.steps.not( "#" + this.currentStep ).hide().find( ":input" ).addClass( "ui-wizard-content" ).attr( "disabled", "disabled" );
this._checkIflastStep( this.currentStep );
this._enableNavigation();
if ( !this.options.disableUIStyles ) {
this.steps.addClass( "ui-helper-reset ui-corner-all" );
this.steps.find( ":input" ).addClass( "ui-helper-reset ui-state-default" )
}
}, options: {historyEnabled: false, validationEnabled: false, validationOptions: undefined, formPluginEnabled: false, linkClass: ".link", submitStepClass: "submit_step", back: ":reset", next: ":submit", textSubmit: "Submit", textNext: "Next", textBack: "Back", remoteAjax: undefined, inAnimation: {opacity: "show"}, outAnimation: {opacity: "hide"}, inDuration: 400, outDuration: 400, easing: "swing", focusFirstInput: false, disableInputFields: true, formOptions: {reset: true, success: function ( b ) {
if ( (window.console !== undefined) ) {
console.log( "%s", "form submit successful" )
}
}, disableUIStyles: false}}} )
})( jQuery );