window.renderInstanceList = function (result, {col, row, value})
{
if(col.name === 'status')
{
switch(value)
{
case 'running':
var statusClass = 'text-success';
break;
case 'abnormal':
var statusClass = 'text-danger';
break;
default:
var statusClass = '';
}
result[0] = {html: '' + result[0] + ''};
}
else if(col.name === 'name')
{
if(row.data.type == 'external')
{
result[0] = {html: '' + result[0] + ''};
}
else
{
result[0] = {html: '' + result[0] + ''};
}
}
else if(col.name === 'createdAt')
{
if(value.includes('0000-00-00')) result[0] = '';
}
return result;
}
$(function()
{
if(typeof timer !== 'undefined') clearInterval(timer);
if(idList.length === 0) return;
if(inQuickon) timer = setInterval(refreshStatus, 5000);
});
window.onPageUnmount = function()
{
if(typeof timer !== 'undefined') clearInterval(timer);
}
function refreshStatus()
{
const postData = new FormData();
if(idList.length > 0)
{
idList.forEach(function(id){postData.append('idList[]', id)});
}
$.ajaxSubmit({
url: $.createLink('instance', 'ajaxStatus'),
method: 'POST',
data: postData,
onComplete: function(res)
{
if(res.result === 'success')
{
$.each(res.data, function(index, instance)
{
if(statusMap[instance.id] != instance.status)
{
loadTable();
statusMap[instance.id] = instance.status;
return;
}
});
}
}
});
}
window.bindUser = function(externalID, appName)
{
loadPage($.createLink(appName.toLowerCase(), 'bindUser', 'id=' + externalID));
}
window.editApp = function(externalID, appName)
{
if(appName == 'Nexus')
{
$('#editLinkContainer').attr('href', $.createLink('instance', 'editExternalApp', 'id=' + externalID));
}
else
{
$('#editLinkContainer').attr('href', $.createLink(appName.toLowerCase(), 'edit', 'id=' + externalID));
}
$('#editLinkContainer').trigger('click');
}