Server IP : 150.95.80.236 / Your IP : 18.226.200.172 Web Server : Apache System : Linux host-150-95-80-236 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64 User : social-telecare ( 10000) PHP Version : 7.4.33 Disable Function : opcache_get_status MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/vhosts/pcu.in.th/sc.pcu.in.th/demo15/src/js/custom/modals/ |
Upload File : |
"use strict"; // Class definition var KTModalTwoFactorAuthentication = function () { // Private variables var modal; var modalObject; var optionsWrapper; var optionsSelectButton; var smsWrapper; var smsForm; var smsSubmitButton; var smsCancelButton; var smsValidator; var appsWrapper; var appsForm; var appsSubmitButton; var appsCancelButton; var appsValidator; // Private functions var handleOptionsForm = function() { // Handle options selection optionsSelectButton.addEventListener('click', function (e) { e.preventDefault(); var option = optionsWrapper.querySelector('[name="auth_option"]:checked'); optionsWrapper.classList.add('d-none'); if (option.value == 'sms') { smsWrapper.classList.remove('d-none'); } else { appsWrapper.classList.remove('d-none'); } }); } var showOptionsForm = function() { optionsWrapper.classList.remove('d-none'); smsWrapper.classList.add('d-none'); appsWrapper.classList.add('d-none'); } var handleSMSForm = function() { // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ smsValidator = FormValidation.formValidation( smsForm, { fields: { 'mobile': { validators: { notEmpty: { message: 'Mobile no is required' } } } }, plugins: { trigger: new FormValidation.plugins.Trigger(), bootstrap: new FormValidation.plugins.Bootstrap5({ rowSelector: '.fv-row', eleInvalidClass: '', eleValidClass: '' }) } } ); // Handle apps submition smsSubmitButton.addEventListener('click', function (e) { e.preventDefault(); // Validate form before submit if (smsValidator) { smsValidator.validate().then(function (status) { console.log('validated!'); if (status == 'Valid') { // Show loading indication smsSubmitButton.setAttribute('data-kt-indicator', 'on'); // Disable button to avoid multiple click smsSubmitButton.disabled = true; // Simulate ajax process setTimeout(function() { // Remove loading indication smsSubmitButton.removeAttribute('data-kt-indicator'); // Enable button smsSubmitButton.disabled = false; // Show success message. For more info check the plugin's official documentation: https://sweetalert2.github.io/ Swal.fire({ text: "Mobile number has been successfully submitted!", icon: "success", buttonsStyling: false, confirmButtonText: "Ok, got it!", customClass: { confirmButton: "btn btn-primary" } }).then(function (result) { if (result.isConfirmed) { modalObject.hide(); showOptionsForm(); } }); //smsForm.submit(); // Submit form }, 2000); } else { // Show error message. Swal.fire({ text: "Sorry, looks like there are some errors detected, please try again.", icon: "error", buttonsStyling: false, confirmButtonText: "Ok, got it!", customClass: { confirmButton: "btn btn-primary" } }); } }); } }); // Handle sms cancelation smsCancelButton.addEventListener('click', function (e) { e.preventDefault(); var option = optionsWrapper.querySelector('[name="auth_option"]:checked'); optionsWrapper.classList.remove('d-none'); smsWrapper.classList.add('d-none'); }); } var handleAppsForm = function() { // Init form validation rules. For more info check the FormValidation plugin's official documentation:https://formvalidation.io/ appsValidator = FormValidation.formValidation( appsForm, { fields: { 'code': { validators: { notEmpty: { message: 'Code is required' } } } }, plugins: { trigger: new FormValidation.plugins.Trigger(), bootstrap: new FormValidation.plugins.Bootstrap5({ rowSelector: '.fv-row', eleInvalidClass: '', eleValidClass: '' }) } } ); // Handle apps submition appsSubmitButton.addEventListener('click', function (e) { e.preventDefault(); // Validate form before submit if (appsValidator) { appsValidator.validate().then(function (status) { console.log('validated!'); if (status == 'Valid') { appsSubmitButton.setAttribute('data-kt-indicator', 'on'); // Disable button to avoid multiple click appsSubmitButton.disabled = true; setTimeout(function() { appsSubmitButton.removeAttribute('data-kt-indicator'); // Enable button appsSubmitButton.disabled = false; // Show success message. Swal.fire({ text: "Code has been successfully submitted!", icon: "success", buttonsStyling: false, confirmButtonText: "Ok, got it!", customClass: { confirmButton: "btn btn-primary" } }).then(function (result) { if (result.isConfirmed) { modalObject.hide(); showOptionsForm(); } }); //appsForm.submit(); // Submit form }, 2000); } else { // Show error message. Swal.fire({ text: "Sorry, looks like there are some errors detected, please try again.", icon: "error", buttonsStyling: false, confirmButtonText: "Ok, got it!", customClass: { confirmButton: "btn btn-primary" } }); } }); } }); // Handle apps cancelation appsCancelButton.addEventListener('click', function (e) { e.preventDefault(); var option = optionsWrapper.querySelector('[name="auth_option"]:checked'); optionsWrapper.classList.remove('d-none'); appsWrapper.classList.add('d-none'); }); } // Public methods return { init: function () { // Elements modal = document.querySelector('#kt_modal_two_factor_authentication'); if (!modal) { return; } modalObject = new bootstrap.Modal(modal); optionsWrapper = modal.querySelector('[data-kt-element="options"]'); optionsSelectButton = modal.querySelector('[data-kt-element="options-select"]'); smsWrapper = modal.querySelector('[data-kt-element="sms"]'); smsForm = modal.querySelector('[data-kt-element="sms-form"]'); smsSubmitButton = modal.querySelector('[data-kt-element="sms-submit"]'); smsCancelButton = modal.querySelector('[data-kt-element="sms-cancel"]'); appsWrapper = modal.querySelector('[data-kt-element="apps"]'); appsForm = modal.querySelector('[data-kt-element="apps-form"]'); appsSubmitButton = modal.querySelector('[data-kt-element="apps-submit"]'); appsCancelButton = modal.querySelector('[data-kt-element="apps-cancel"]'); // Handle forms handleOptionsForm(); handleSMSForm(); handleAppsForm(); } } }(); // On document ready KTUtil.onDOMContentLoaded(function() { KTModalTwoFactorAuthentication.init(); });