Files
wp-multisite-waas/assets/js/view-logs.js
2024-11-30 18:24:12 -07:00

103 lines
1.9 KiB
JavaScript

/* global ajaxurl, wu_block_ui, ClipboardJS, wu_log_payload, wu_view_logs, Vue */
(function($) {
$(document).ready(function() {
wu_log_payload = new Vue({
el: '#wu_payload',
data() {
return {
payload: '',
log: $('select[name=log_file]').val(),
loading: true,
};
},
watch: {
log() {
this.get_log_payload();
},
},
methods: {
get_log_payload() {
const block = wu_block_ui('#wu_payload_content');
const app = this;
app.loading = true;
$.ajax({
method: 'post',
// eslint-disable-next-line no-undef
url: ajaxurl,
data: {
action: 'wu_handle_view_logs',
file: app.log,
},
success(response) {
app.payload = response.data.contents;
app.loading = false;
block.unblock();
try {
history.pushState({}, null, '?' + 'page=wp-ultimo-view-logs&log_file=' + app.log);
} catch (err) {
// eslint-disable-next-line no-console
console.warn('Browser does not support pushState.', err);
} // end try;
},
});
},
},
mounted() {
this.get_log_payload();
},
});
$(document).on('change', 'select[name=log_file]', function() {
wu_log_payload.log = $('select[name=log_file]').val();
});
// eslint-disable-next-line no-unused-vars
const clipboard = new ClipboardJS('.btn-clipboard');
clipboard.on('success', function(e) {
const target = $(e.trigger);
const default_text = target.text();
target.attr('disabled', 'disabled').text(wu_view_logs.i18n.copied);
setTimeout(function() {
target.text(default_text).removeAttr('disabled');
}, 3000);
});
});
}(jQuery));