81 lines
2.7 KiB
JavaScript
81 lines
2.7 KiB
JavaScript
window.initComponent = function (instanceID)
|
|
{
|
|
toggleLoading('#logs-panel', true);
|
|
const $picker = $('[name=component]').zui('picker');
|
|
$picker.$.clear();
|
|
|
|
$.getJSON($.createLink('instance', 'ajaxGetComponents', 'id=' + instanceID), function (items)
|
|
{
|
|
toggleLoading('#logs-panel', false);
|
|
$picker.render({items: items});
|
|
if (typeof (items) !== 'undefined')
|
|
{
|
|
$picker.$.setValue(items[0]);
|
|
}
|
|
});
|
|
};
|
|
|
|
window.changeComponent = function (instanceID, noLogsTip)
|
|
{
|
|
toggleLoading('#logs-panel', true);
|
|
const $picker = $('[name=pod]').zui('picker');
|
|
$picker.$.clear();
|
|
const target = $.createLink('instance', 'ajaxGetPods', 'id=' + instanceID);
|
|
let formData = {};
|
|
formData.component = $('[name=component]').val();
|
|
$.post(target, formData, function(items)
|
|
{
|
|
items = JSON.parse(items);
|
|
$picker.render({items: items});
|
|
if (typeof (items) !== 'undefined')
|
|
{
|
|
$picker.$.setValue(items[0]);
|
|
}
|
|
toggleLoading('#logs-panel', false);
|
|
showLogs(instanceID, noLogsTip);
|
|
startAutoRefreshLogs(instanceID, noLogsTip);
|
|
});
|
|
};
|
|
|
|
window.showLogs = function (instanceID, noLogsTip)
|
|
{
|
|
const headerHeight = document.getElementById('logs-header').offsetHeight;
|
|
document.getElementById('logs-content').style.height = `calc(100vh - ${headerHeight}px - 16px)`;
|
|
const target = $.createLink('instance', 'showlogs', 'id=' + instanceID);
|
|
let formData = {};
|
|
formData.component = $('[name=component]').val();
|
|
formData.pod = $('[name=pod]').val();
|
|
formData.previous = $('[name=previous]:checked').val() === 'on' ? 1 : 0;
|
|
$.post(target, formData, function (resp)
|
|
{
|
|
resp = JSON.parse(resp);
|
|
$('#logs-content').removeClass('dtable-empty-tip flex');
|
|
if (resp.code !== 200 || resp.data.length === 0)
|
|
{
|
|
$('#logs-content').html(noLogsTip);
|
|
$('#logs-content').addClass('dtable-empty-tip flex');
|
|
return;
|
|
}
|
|
$('#logs-content').html(resp.data.map(item => item.timestamp + ' ' + item.content).join('\n'));
|
|
$('#logs-content')[0].scrollTop = $('#logs-content')[0].scrollHeight;
|
|
});
|
|
};
|
|
|
|
let logsTimer = null;
|
|
|
|
window.startAutoRefreshLogs = function (instanceID, noLogsTip) {
|
|
if(logsTimer) clearInterval(logsTimer);
|
|
logsTimer = setInterval(function() {
|
|
showLogs(instanceID, noLogsTip);
|
|
}, 5000);
|
|
}
|
|
|
|
window.toggleAutoRefresh = function(instanceID, noLogsTip) {
|
|
const $toggleBtn = $('#autoRefreshBtn');
|
|
if(logsTimer) {
|
|
clearInterval(logsTimer);
|
|
logsTimer = null;
|
|
} else {
|
|
startAutoRefreshLogs(instanceID, noLogsTip);
|
|
}
|
|
} |