Helix_Website/wp-content/plugins/wpforo/wpf-admin/js/deactivation-dialog.js

154 lines
6.5 KiB
JavaScript

jQuery(document).ready(function ($) {
var dialog = $("#wpf_deactivation_dialog_wrap");
var deactivateUrl = '';
$(document).delegate('#the-list tr[data-plugin="wpforo/wpforo.php"] .deactivate a, #the-list tr[data-plugin="wpforo/wpforo.php"] a.wpforo-uninstall', 'click', function (e) {
e.preventDefault();
dialog.fadeIn( 400, "linear" );
$('body').addClass('wpf-no-scroll');
deactivateUrl = $(this).attr('href');
return false;
});
$(document).on("click", "#wpf_deactivation_dialog_wrap #wpf_deactivation_dialog_close", function () {
if( dialog.is(':visible') ){
$('body').removeClass('wpf-no-scroll');
dialog.fadeOut( 50, "linear" );
}
});
$(document).on("keydown", dialog, function (e) {
if( dialog.is(':visible') ) {
var keycode = e.which;
if (keycode === 27){
$('body').removeClass('wpf-no-scroll');
dialog.fadeOut(50, "linear");
}
}
});
var parentItem = $('.wpf-deactivation-reason:checked').parents('.wpf-deactivation-reason-item');
$('.wpf-deactivation-reason-more-info').slideUp(500);
$('.wpf-deactivation-reason-more-info', parentItem).slideDown(500);
$(document).delegate('.wpf-deactivation-reason', 'change', function (e) {
$('.wpf-deactivation-reason-more-info').slideUp(500);
var parentItem = $(this).parents('.wpf-deactivation-reason-item');
$('.wpf-deactivation-reason-more-info', parentItem).slideDown(500);
});
$(document).delegate('.wpf-deactivate', 'click', function (e) {
if (isChecked($(this))) {
var formData = '';
if ($(this).hasClass('wpf-submit')) {
var checkedItem = $('.wpf-deactivation-reason:checked');
var parentItem = checkedItem.parents('.wpf-deactivation-reason-item');
var reasonDesc = $('textarea[name="wpforo_deactivation_reason_desc"]', parentItem);
var reasonFeedback = $('input[name="wpforo_deactivation_feedback"]', parentItem);
var reasonFeedbackEmail = $('input[name="wpforo_deactivation_feedback_email"]', parentItem);
var reasonFeedbackEmailVal = $.trim( reasonFeedbackEmail.val() );
var isValid = true;
if (reasonDesc.length && reasonDesc.is(':visible')) {
var attr = reasonDesc.attr('required');
if (typeof attr !== typeof undefined && attr !== false) {
if (reasonDesc.val().length === 0) {
isValid = false;
}
}
}
if (isValid) {
formData = 'deactivation_reason=' + checkedItem.val();
if (reasonDesc.length && reasonDesc.val().length > 0) {
formData += '&deactivation_reason_desc=' + reasonDesc.val();
}
$('.wpf-loading', this).toggleClass('wpforo-hidden');
} else {
alert(wpforo_deactivation_obj.msgReasonDescRequired);
return false;
}
if( reasonFeedbackEmailVal.length !== 0 && !reasonFeedback.is(':checked') ){
alert( wpforo_deactivation_obj.msgFeedbackHasEmailNoCheckbox );
return false;
}
if( reasonFeedback.is(':checked') ){
if( reasonFeedbackEmailVal.length === 0 ){
alert( wpforo_deactivation_obj.msgFeedbackHasCheckboxNoEmail );
return false;
}else{
if( isValidEmail( reasonFeedbackEmailVal ) ){
formData += '&deactivation_feedback_email=' + reasonFeedbackEmailVal;
}else{
alert( wpforo_deactivation_obj.msgFeedbackNotValidEmail );
return false;
}
}
}
} else {
formData = 'never_show=1';
}
if (formData) {
$.ajax({
type: 'POST',
url: ajaxurl,
data: {
action: 'wpforo_deactivate',
deactivateData: formData
}
}).done(function (response) {
try {
var r = $.parseJSON(response);
var patt = new RegExp("https?\:\/\/");
var locHref = deactivateUrl ? ( patt.test(deactivateUrl) ? deactivateUrl : wpforo_deactivation_obj.adminUrl + deactivateUrl ) : location.href;
if (r.code === 'dismiss_and_deactivate') {
setTimeout(function () {
location.href = locHref;
}, 100);
} else if (r.code === 'send_and_deactivate') {
$('.wpf-deactivation-reason-form, .wpforo-thankyou').toggleClass('wpforo-hidden');
setTimeout(function () {
location.href = locHref;
}, 1000);
}
} catch (e) {
console.log(e);
}
});
}
} else {
alert(wpforo_deactivation_obj.msgReasonRequired);
}
});
function isChecked(btn) {
if (btn.hasClass('wpf-submit')) {
var elem = $('.wpf-deactivation-reason-form input[name="wpforo_deactivation_reason"]');
for (var i = 0; i < elem.length; i++) {
if (elem[i].type === 'radio' && elem[i].checked) {
return true;
}
}
return false;
}
return true;
}
function isValid() {
if ($('.wpf_dr_more_info').is(':visible')) {
return $('.wpf_dr_more_info:visible').length;
} else {
return true;
}
}
function isValidEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
});