File "wizard.js"
Full path: /home/kosmetik/public_html/wp-content/plugins/really-simple-ssl/lets-encrypt/wizard/assets/js/wizard.js
File
size: 10.94 B
MIME-type: text/plain
Charset: utf-8
Download Open Edit Advanced Editor Back
jQuery(document).ready(function ($) {
'use strict';
//select2 dropdown
var select2Dropdown = $('.rsssl-select2');
if (select2Dropdown.length) {
select2Dropdown.select2({
//tags: true,
width:'400px',
placeholder: 'Select or Add',
language: {
noResults: function() {
return '<span id="rsssl-no-results-container">'+rsssl_wizard.no_results+'</span>';
},
},
escapeMarkup: function(markup) {
return markup;
},
});
}
$(document).on('click','#rsssl-no-results-container',function(){
console.log("clicked");
select2Dropdown.val('none');
select2Dropdown.trigger('change');
select2Dropdown.select2('close');
});
var copied_element = $('.rsssl-copied-feedback').html();
$(document).on('click', '.rsssl-copy-content', function () {
var type = $(this).data('item');
var success;
var data = $('.rsssl-'+type).text();
var temp_element = $("<textarea>");
$("body").append(temp_element);
temp_element.val(data).select();
try {
success = document.execCommand("copy");
} catch (e) {
success = false;
}
temp_element.remove();
if (success) {
$('<span class="rsssl-copied-feedback-container">'+copied_element+'</span>').insertAfter($(this));
setTimeout(function(){ $('.rsssl-copied-feedback-container').fadeOut('slow') }, 5000);
}
});
function maybe_show_password_delete_questions(){
var deletePasswordField = $('.field-group.store_credentials');
if (deletePasswordField.length) {
deletePasswordField.addClass('rsssl-hidden');
}
var passwordFields = $('.rsssl-password');
if (deletePasswordField.length) {
passwordFields.each(function(){
if ( !$(this).hasClass('rsssl-hidden') ) {
console.log('is hidden field');
deletePasswordField.removeClass('rsssl-hidden');
}
});
}
}
//remove alerts
window.setTimeout(function () {
$(".rsssl-hide").fadeTo(500, 0).slideUp(500, function () {
$(this).remove();
});
}, 2000);
function remove_after_change() {
$(".rsssl-panel.rsssl-remove-after-change").fadeTo(500, 0).slideUp(500, function () {
$(this).remove();
});
}
/**
*
* On multiple fields, we check if all input type=text and textareas are filled
*
* */
function rsssl_validate_multiple() {
$('.multiple-field').each(function(){
var completed=true;
$(this).find('input[type=text]').each(function () {
if ($(this).val()===''){
completed = false;
}
});
$(this).find('textarea').each(function () {
if ($(this).val()===''){
completed = false;
}
});
var icon = $(this).closest('.rsssl-panel').find('.rsssl-multiple-field-validation i');
if (completed){
icon.removeClass('fa-times');
icon.addClass('fa-check');
} else {
icon.addClass('fa-times');
icon.removeClass('fa-check');
}
});
}
rsssl_validate_multiple()
$(document).on('keyup', '.multiple-field input[type=text]', function () {
rsssl_validate_multiple();
});
$(document).on('keyup', '.multiple-field textarea', function () {
rsssl_validate_multiple();
});
//validation of checkboxes
rsssl_validate_checkboxes();
$(':checkbox').change(rsssl_validate_checkboxes);
function rsssl_validate_checkboxes() {
$('.rsssl-validate-multicheckbox').each(function (i) {
var set_required = [];
var all_unchecked = true;
$(this).find(':checkbox').each(function (i) {
set_required.push($(this));
if ($(this).is(':checked')) {
all_unchecked = false;
}
});
var container = $(this).closest('.field-group').find('.rsssl-label');
if (all_unchecked) {
container.removeClass('valid-multicheckbox');
container.addClass('invalid-multicheckbox');
$.each(set_required, function (index, item) {
item.prop('required', true);
item.addClass('is-required');
});
} else {
container.removeClass('invalid-multicheckbox');
container.addClass('valid-multicheckbox');
$.each(set_required, function (index, item) {
item.prop('required', false);
item.removeClass('is-required');
});
}
});
//now apply the required.
check_conditions();
}
$(document).on('change', 'input', function (e) {
check_conditions();
remove_after_change();
});
$(document).on('keyup', 'input', function (e) {
check_conditions();
remove_after_change();
});
$(document).on('change', 'select', function (e) {
check_conditions();
remove_after_change();
});
$(document).on('change', 'textarea', function (e) {
check_conditions();
remove_after_change();
});
$(document).on('keyup', 'textarea', function (e) {
remove_after_change();
});
$(document).on('click', 'button', function (e) {
remove_after_change();
});
if ($("input[name=step]").val() == 2) {
setTimeout(function () {
if (typeof tinymce !== 'undefined') {
for (var i = 0; i < tinymce.editors.length; i++) {
tinymce.editors[i].on('NodeChange keyup', function (ed, e) {
remove_after_change();
});
}
}
}, 5000);
}
$(document).on("rssslRenderConditions", check_conditions);
/*conditional fields*/
function check_conditions() {
var value;
var showIfConditionMet = true;
$(".condition-check-1").each(function (e) {
var i;
for (i = 1; i < 4; i++) {
var question = 'rsssl_' + $(this).data("condition-question-" + i);
var condition_type = 'AND';
if (question == 'rsssl_undefined') return;
var condition_answer = $(this).data("condition-answer-" + i);
//remove required attribute of child, and set a class.
var input = $(this).find('input[type=checkbox]');
if (!input.length) {
input = $(this).find('input');
}
if (!input.length) {
input = $(this).find('textarea');
}
if (!input.length) {
input = $(this).find('select');
}
if (input.length && input[0].hasAttribute('required')) {
input.addClass('is-required');
}
//cast into string
condition_answer += "";
if (condition_answer.indexOf('NOT ') !== -1) {
condition_answer = condition_answer.replace('NOT ', '');
showIfConditionMet = false;
} else {
showIfConditionMet = true;
}
var condition_answers = [];
if (condition_answer.indexOf(' OR ') !== -1) {
condition_answers = condition_answer.split(' OR ');
condition_type = 'OR';
} else {
condition_answers = [condition_answer];
}
var container = $(this);
var conditionMet = false;
condition_answers.forEach(function (condition_answer) {
value = get_input_value(question);
if ($('select[name=' + question + ']').length) {
value = Array($('select[name=' + question + ']').val());
}
if ($("input[name='" + question + "[" + condition_answer + "]" + "']").length) {
if ($("input[name='" + question + "[" + condition_answer + "]" + "']").is(':checked')) {
conditionMet = true;
value = [];
} else {
conditionMet = false;
value = [];
}
}
if (showIfConditionMet) {
//check if the index of the value is the condition, or, if the value is the condition
if (conditionMet || value.indexOf(condition_answer) != -1 || (value == condition_answer) || (condition_answer==='EMPTY' && value=='') ) {
container.removeClass("rsssl-hidden");
//remove required attribute of child, and set a class.
if (input.hasClass('is-required')) input.prop('required', true);
//prevent further checks if it's an or/and statement
conditionMet = true;
} else {
container.addClass("rsssl-hidden");
if (input.hasClass('is-required')) input.prop('required', false);
}
} else {
if (conditionMet || value.indexOf(condition_answer) != -1 || (value == condition_answer) || (condition_answer==='EMPTY' && value=='') ) {
container.addClass("rsssl-hidden");
if (input.hasClass('is-required')) input.prop('required', false);
} else {
container.removeClass("rsssl-hidden");
if (input.hasClass('is-required')) input.prop('required', true);
conditionMet = true;
}
}
});
if (!conditionMet) {
break;
}
}
});
maybe_show_password_delete_questions();
}
/**
get checkbox values, array proof.
*/
function get_input_value(fieldName) {
var input = $('input[name=' + fieldName + ']');
if (input.attr('type') === 'text' || input.attr('type') === 'password') {
return input.val();
} else {
var checked_boxes = [];
$('input[name=' + fieldName + ']:checked').each(function () {
checked_boxes[checked_boxes.length] = $(this).val();
});
return checked_boxes;
}
}
});