|
Server : LiteSpeed System : Linux server104.web-hosting.com 4.18.0-513.24.1.lve.1.el8.x86_64 #1 SMP Thu May 9 15:10:09 UTC 2024 x86_64 User : saleoqej ( 6848) PHP Version : 8.0.30 Disable Function : NONE Directory : /home/saleoqej/chijamzacademy.com/wp-content/plugins/download-plugin/assets/js/ |
jQuery(document).ready(function($) {
const modal = $('#dtwap-customizeModal');
const closeButtons = $('.dtwap-close-button');
const customizeLinks = $('.dpwap_customize_link');
const pluginSelect = $('#pluginSelect');
const form = $('#dtwap-customizeForm');
const formResponse = $('#formResponse');
const successResponse = $('#successResponse');
const failureResponse = $('#failureResponse');
const spinner = $('#spinner');
const userRequirements = $('#userRequirements');
const copyButton = $('#copyButton');
// const modalLogo = $('.modal-logo');
const modalHeadings = $('#dtwap-customizeModal h2, #dtwap-customizeModal #p3');
// Validation Error Messages
const emailError = "Please enter a valid email address.";
const customizationError = "Please provide details about your customization request.";
customizeLinks.each(function() {
$(this).on('click', function(event) {
event.preventDefault();
pluginSelect.val($(this).data('plugin'));
modal.show();
});
});
closeButtons.each(function() {
$(this).on('click', function() {
modal.hide();
});
});
$(window).on('click', function(event) {
if ($(event.target).is(modal)) {
modal.hide();
}
});
// Remove validation error on typing in customizationType field
$('#customizationType').on('input', function() {
$(this).next('.error-message').remove();
});
form.on('submit', function(event) {
event.preventDefault();
$(".spinner").css("display", "inline-block");
// Clear previous error messages
$('.error-message').remove();
// Validation Logic
const email = $('#email').val();
const customizationType = $('#customizationType').val();
let isValid = true;
// Email Validation
if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
isValid = false;
$('#email').after(`<span class="error-message" style="color: red;">${emailError}</span>`);
}
// Customization Type Validation
if (!customizationType || customizationType.trim() === '') {
isValid = false;
$('#customizationType').after(`<span class="error-message" style="color: red;">${customizationError}</span>`);
}
if (!isValid) {
$(".spinner").css("display", "none");
return; // Stop form submission if validation fails
}
// const formData = new FormData(form[0]);
const formData = new FormData();
formData.append('action', 'dpwap_customize_plugin');
formData.append('user_email', $('#email').val());
formData.append('plugin_select', $('#pluginSelect').val());
formData.append('customizationType', $('#customizationType').val());
formData.append('security', $('#customize_plugin_nonce').val());
$.ajax({
url: ajaxurl,
method: 'POST',
data: formData,
processData: false,
contentType: false,
success: function(data) {
// console.log(data);
// return;
$(".spinner").css("display", "none");
if (data.success) {
// console.log(data);
form.hide();
formResponse.show();
// formResponse.show();
// modalLogo.hide(); // Hide the logo
modalHeadings.hide(); // Hide the headings
$('.modal-logo-text').hide(); // Hide the modal logo text
successResponse.show();
} else {
form.hide();
formResponse.show();
// modalLogo.hide(); // Hide the logo
modalHeadings.hide(); // Hide the headings
$('.modal-logo-text').hide(); // Hide the modal logo text
failureResponse.show();
userRequirements.val(formData.get('customizationType'));
}
},
error: function() {
$(".spinner").css("display", "none");
form.hide();
formResponse.show();
// modalLogo.hide(); // Hide the logo
modalHeadings.hide(); // Hide the headings
$('.modal-logo-text').hide(); // Hide the modal logo text
failureResponse.show();
userRequirements.val(formData.get('customizationType'));
}
});
});
copyButton.on('click', function() {
userRequirements.select();
document.execCommand('copy');
});
closeButtons.each(function() {
$(this).on('click', function() {
form.show();
formResponse.hide();
successResponse.hide();
failureResponse.hide();
// modalLogo.show(); // Show the logo again
modalHeadings.show(); // Show the headings again
$('.modal-logo-text').show(); // Show the modal logo text again
});
});
});