Files
sccs_laravel/public/js/scripts/forms/form-wizard.js
2025-11-04 16:23:40 +05:00

221 lines
6.1 KiB
JavaScript

/*=========================================================================================
File Name: form-wizard.js
Description: wizard steps page specific js
----------------------------------------------------------------------------------------
Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template
Author: PIXINVENT
Author URL: http://www.themeforest.net/user/pixinvent
==========================================================================================*/
$(function () {
'use strict';
var bsStepper = document.querySelectorAll('.bs-stepper'),
select = $('.select2'),
horizontalWizard = document.querySelector('.horizontal-wizard-example'),
verticalWizard = document.querySelector('.vertical-wizard-example'),
modernWizard = document.querySelector('.modern-wizard-example'),
modernVerticalWizard = document.querySelector('.modern-vertical-wizard-example');
// Adds crossed class
if (typeof bsStepper !== undefined && bsStepper !== null) {
for (var el = 0; el < bsStepper.length; ++el) {
bsStepper[el].addEventListener('show.bs-stepper', function (event) {
var index = event.detail.indexStep;
var numberOfSteps = $(event.target).find('.step').length - 1;
var line = $(event.target).find('.step');
// The first for loop is for increasing the steps,
// the second is for turning them off when going back
// and the third with the if statement because the last line
// can't seem to turn off when I press the first item. ¯\_(ツ)_/¯
for (var i = 0; i < index; i++) {
line[i].classList.add('crossed');
for (var j = index; j < numberOfSteps; j++) {
line[j].classList.remove('crossed');
}
}
if (event.detail.to == 0) {
for (var k = index; k < numberOfSteps; k++) {
line[k].classList.remove('crossed');
}
line[0].classList.remove('crossed');
}
});
}
}
// select2
select.each(function () {
var $this = $(this);
$this.wrap('<div class="position-relative"></div>');
$this.select2({
placeholder: 'Select value',
dropdownParent: $this.parent()
});
});
// Horizontal Wizard
// --------------------------------------------------------------------
if (typeof horizontalWizard !== undefined && horizontalWizard !== null) {
var numberedStepper = new Stepper(horizontalWizard),
$form = $(horizontalWizard).find('form');
$form.each(function () {
var $this = $(this);
$this.validate({
rules: {
username: {
required: true
},
email: {
required: true
},
password: {
required: true
},
'confirm-password': {
required: true,
equalTo: '#password'
},
'first-name': {
required: true
},
'last-name': {
required: true
},
address: {
required: true
},
landmark: {
required: true
},
country: {
required: true
},
language: {
required: true
},
twitter: {
required: true,
url: true
},
facebook: {
required: true,
url: true
},
google: {
required: true,
url: true
},
linkedin: {
required: true,
url: true
}
}
});
});
$(horizontalWizard)
.find('.btn-next')
.each(function () {
$(this).on('click', function (e) {
var isValid = $(this).parent().siblings('form').valid();
if (isValid) {
numberedStepper.next();
} else {
e.preventDefault();
}
});
});
$(horizontalWizard)
.find('.btn-prev')
.on('click', function () {
numberedStepper.previous();
});
$(horizontalWizard)
.find('.btn-submit')
.on('click', function () {
var isValid = $(this).parent().siblings('form').valid();
if (isValid) {
alert('Submitted..!!');
}
});
}
// Vertical Wizard
// --------------------------------------------------------------------
if (typeof verticalWizard !== undefined && verticalWizard !== null) {
var verticalStepper = new Stepper(verticalWizard, {
linear: false
});
$(verticalWizard)
.find('.btn-next')
.on('click', function () {
verticalStepper.next();
});
$(verticalWizard)
.find('.btn-prev')
.on('click', function () {
verticalStepper.previous();
});
$(verticalWizard)
.find('.btn-submit')
.on('click', function () {
alert('Submitted..!!');
});
}
// Modern Wizard
// --------------------------------------------------------------------
if (typeof modernWizard !== undefined && modernWizard !== null) {
var modernStepper = new Stepper(modernWizard, {
linear: false
});
$(modernWizard)
.find('.btn-next')
.on('click', function () {
modernStepper.next();
});
$(modernWizard)
.find('.btn-prev')
.on('click', function () {
modernStepper.previous();
});
$(modernWizard)
.find('.btn-submit')
.on('click', function () {
alert('Submitted..!!');
});
}
// Modern Vertical Wizard
// --------------------------------------------------------------------
if (typeof modernVerticalWizard !== undefined && modernVerticalWizard !== null) {
var modernVerticalStepper = new Stepper(modernVerticalWizard, {
linear: false
});
$(modernVerticalWizard)
.find('.btn-next')
.on('click', function () {
modernVerticalStepper.next();
});
$(modernVerticalWizard)
.find('.btn-prev')
.on('click', function () {
modernVerticalStepper.previous();
});
$(modernVerticalWizard)
.find('.btn-submit')
.on('click', function () {
alert('Submitted..!!');
});
}
});