jQuery(document).ready(function(){
jQuery(document).on('elementor/popup/show', function(event, popupID){
wppbElementor_handleElementorPopupForm(event, popupID);
});
})
function wppbElementor_handleElementorPopupForm(event, popupID){
let elementorPopup=jQuery('#elementor-popup-modal-' + popupID),
wppbElement=elementorPopup.find('.wppb-user-forms');
if(wppbElement.length===0){
return;
}
let form=wppbElement.is('form') ? wppbElement:wppbElement.find('form'),
formID=form.attr('id'),
elementorWidgetContainer=wppbElement.closest('.elementor-widget-container').parent().attr('data-id');
if(form.find('.wppb-datepicker .custom_field_datepicker').length > 0){
jQuery('.wppb-datepicker .custom_field_datepicker').on('focus', function (){
if(!jQuery(this).next().is('#ui-datepicker-div')){
jQuery(this).after(jQuery('#ui-datepicker-div'));
}});
}
form.on('submit', function(submitEvent){
submitEvent.preventDefault();
let formData=new FormData(this),
submitButton=form.find('input[type="submit"]');
submitButton.prop('disabled', true).val('Processing...').css('opacity', '0.5');
submitButton.siblings('p.error-message').remove();
jQuery.ajax({
url: form.attr('action'),
method: form.attr('method'),
data: formData,
contentType: false,
processData: false,
success: function(response, status, responseData){
let formContainer=jQuery(response).find('[data-id="' + elementorWidgetContainer + '"]'),
fromErrorMessage=formContainer.find('.wppb-error, .wppb-warning');
if(formContainer.length > 0){
jQuery('[data-id="' + elementorWidgetContainer + '"]').html(formContainer.html());
}
submitButton.prop('disabled', false).val('Submit').css('opacity', '');
wppbElementor_handleElementorPopupForm(event, popupID);
if(fromErrorMessage.length===0&&(formID==='wppb-loginform'||formID==='wppb-register-user')){
let autoLogin=jQuery(response).find('p.redirect_message a').attr('href'),
formRedirect=formData.get('redirect_to');
if(autoLogin&&formID==='wppb-register-user')
formRedirect=autoLogin;
window.location.href=formRedirect;
}},
error: function(xhr, status, error){
let errorMessage=jQuery('<p>').addClass('error-message').css('color', '#C62828').text('Something went wrong! Please try again...');
submitButton.after(errorMessage);
submitButton.prop('disabled', false).val('Submit').css('opacity', '');
}});
});
wppbElementor_bindFormFieldEvents(elementorPopup);
}
function wppbElementor_bindFormFieldEvents(elementorPopup){
if(typeof handleFormFields==='function')
handleFormFields();
if(elementorPopup.find('.wppb-datepicker').length > 0){
jQuery('.wppb-user-forms *').removeClass('hasDatepicker');
wppb_initialize_datepicker();
}
if(elementorPopup.find('.wppb-colorpicker').length > 0)
wppb_initialize_colorpicker();
if(elementorPopup.find('.wppb-phone').length > 0)
wppb_initialize_phone_field();
if(elementorPopup.find('.wppb-map').length > 0)
wppb_initialize_map();
let select2Fields=elementorPopup.find('.wppb-select2, .wppb-select2-multiple');
if(select2Fields.length > 0&&(typeof wppb_select2_initialize==="function") ){
select2Fields.each(function(){
jQuery('.select2-container').remove();
});
wppb_select2_initialize();
}
let selectCPTFields=elementorPopup.find('.wppb-select-cpt');
if(selectCPTFields.length > 0){
selectCPTFields.each(function(){
jQuery('.wppb-select-cpt .select2-container').remove();
});
jQuery('.custom_field_cpt_select').each(function(){
var currentCptSelect=this;
jQuery(currentCptSelect).select2();
});
}
if(elementorPopup.find('#select_user_to_edit_form').length > 0)
wppb_select_user_to_edit_initialize();
if(elementorPopup.find('.wppb_simple_upload').length > 0)
validate_simple_upload();
jQuery('button.wppb-toggle-pw').on('click', wppb_password_visibility_toggle);
if(typeof check_pass_strength==='function'){
elementorPopup.find('.wppb-user-forms').each(function (){
var form=this;
jQuery(form).find('#passw1, #passw2').val('').on('keyup change', function(){
check_pass_strength(form);
});
jQuery(form).find('#pass-strength-result').show();
});
}};