Files
wrapartamenty.pl/wp-content/plugins/wp-optimize-premium/js/wpo-cache-premium.js
Roman Pyrih d6241cfa7a first commit
2024-12-19 15:27:13 +01:00

83 lines
2.2 KiB
JavaScript

jQuery(function($) {
var send_command = wp_optimize.send_command;
/**
* Handle delete from cache on the Advanced settings tab.
*/
$('.wpo-exclude-from-cache').on('click', function () {
var btn = $(this),
post_id = btn.data('id');
send_command('change_post_disable_option', {
post_id: post_id,
meta_key: '_wpo_disable_caching',
disable: 0
}, function (response) {
if (response.result) {
var row = btn.closest('tr');
row.fadeOut('fast', function () {
if (!(row.prev().is('tr') || row.next().is('tr'))) {
row.closest('table').remove();
}
row.remove();
});
}
});
});
/**
* Check the response from save cache settings.
*/
$(document).on('validate_cloudflare_settings', function(event, response) {
if (response && response.hasOwnProperty('cloudflare_error')) {
$('.wpo-error__cloudflare-cache').removeClass('wpo_hidden').find('p').text(response.cloudflare_error);
} else {
$('.wpo-error__cloudflare-cache').addClass('wpo_hidden').find('p').text('');
}
});
/**
* Handle change "Purge Cloudflare cached pages" checkbox state.
*/
$('#purge_cloudflare_cache').on('change', function() {
var checkbox = $(this),
cloudflare_credentials_div = $('#wpo_cloudflare_credentials');
if (checkbox.prop('checked')) {
cloudflare_credentials_div.show();
} else {
cloudflare_credentials_div.hide();
}
});
/**
* Allow select only one element from group of elements with .wpo-select-group class.
*/
$('.wpo-select-group').on('change', function() {
var current = $(this);
if (current.hasClass('wpo-select-group-processing')) return;
update_select_group_view(current);
});
if ($('.wpo-select-group:checked').length > 0) {
update_select_group_view($('.wpo-select-group:checked').first());
}
/**
* Update .wpo-select-group elements state.
*
* @param {Object} current
*/
function update_select_group_view(current) {
$('.wpo-select-group').each(function() {
var el = $(this);
if (current[0] != el[0]) {
el.prop('checked', false)
.addClass('wpo-select-group-processing')
.trigger('change')
.removeClass('wpo-select-group-processing')
.prop('disabled', current.prop('checked'));
}
});
}
});