/*========================================================================================= 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('
'); $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..!!'); }); } });