90 lines
2.8 KiB
JavaScript
90 lines
2.8 KiB
JavaScript
jQuery(function($) {
|
|
function w3tcnr_update_apply_state() {
|
|
var $apply = $('.w3tcnr_apply_configuration');
|
|
if (!$apply.length) {
|
|
return;
|
|
}
|
|
|
|
var hasApm = $('.w3tcnr_apm option').length > 0;
|
|
var hasBrowser = $('.w3tcnr_browser option').length > 0;
|
|
|
|
// No apps at all, keep disabled.
|
|
if (!hasApm && !hasBrowser) {
|
|
$apply.prop('disabled', true);
|
|
return;
|
|
}
|
|
|
|
var monitoring = $('input[name="monitoring_type"]:checked').val();
|
|
var selected = '';
|
|
if (monitoring === 'apm') {
|
|
selected = $('.w3tcnr_apm').val();
|
|
} else if (monitoring === 'browser') {
|
|
selected = $('.w3tcnr_browser').val();
|
|
}
|
|
|
|
$apply.prop('disabled', !(monitoring && selected));
|
|
}
|
|
|
|
// Initialize button state on load.
|
|
w3tcnr_update_apply_state();
|
|
|
|
$('body')
|
|
.on('click', '.w3tcnr_configure', function() {
|
|
W3tc_Lightbox.open({
|
|
id:'w3tc-overlay',
|
|
close: '',
|
|
width: 800,
|
|
height: 400,
|
|
url: ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce +
|
|
'&w3tc_action=newrelic_popup',
|
|
callback: function(lightbox) {
|
|
lightbox.resize();
|
|
}
|
|
});
|
|
})
|
|
|
|
|
|
|
|
.on('click', '.w3tcnr_list_applications', function() {
|
|
var url = ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce +
|
|
'&w3tc_action=newrelic_list_applications&api_key=' +
|
|
encodeURIComponent($('.w3tcnr_api_key').val());
|
|
W3tc_Lightbox.load(url);
|
|
})
|
|
|
|
|
|
|
|
.on('change', 'input[name="monitoring_type"], .w3tcnr_apm, .w3tcnr_browser', function() {
|
|
w3tcnr_update_apply_state();
|
|
})
|
|
|
|
.on('click', '.w3tcnr_apply_configuration', function() {
|
|
// Prevent submit if disabled.
|
|
if ($(this).prop('disabled')) {
|
|
return;
|
|
}
|
|
|
|
var url = ajaxurl + '?action=w3tc_ajax&_wpnonce=' + w3tc_nonce +
|
|
'&w3tc_action=newrelic_apply_configuration';
|
|
$('.w3tcnr_form').find('input').each(function(i) {
|
|
var name = $(this).attr('name');
|
|
var type = $(this).attr('type');
|
|
if (type == 'radio') {
|
|
if (!$(this).prop('checked'))
|
|
return;
|
|
}
|
|
|
|
if (name)
|
|
url += '&' + encodeURIComponent(name) + '=' +
|
|
encodeURIComponent($(this).val());
|
|
});
|
|
$('.w3tcnr_form').find('select').each(function(i) {
|
|
var name = $(this).attr('name');
|
|
url += '&' + encodeURIComponent(name) + '=' +
|
|
encodeURIComponent($(this).val());
|
|
});
|
|
|
|
W3tc_Lightbox.load(url);
|
|
});
|
|
});
|