znt/module/user/js/task.ui.js

46 lines
2 KiB
JavaScript

window.renderCell = function(result, info)
{
const task = info.row.data;
if(info.col.name == 'name' && result)
{
let html = '';
if(task.team) html += "<span class='label gray-pale rounded-xl'>" + multipleAB + "</span>";
if(task.isParent > 0)
{
html += "<span class='label gray-pale rounded-xl'>" + parentAB + "</span>";
}
else if(task.parent > 0)
{
html += "<span class='label gray-pale rounded-xl'>" + childrenAB + "</span>";
}
if(html) result.unshift({html});
if(typeof task.delay != 'undefined' && task.delay > 0)
{
result[result.length] = {html:'<span class="label danger-pale ml-1 flex-none nowrap">' + delayWarning.replace('%s', task.delay) + '</span>', className:'flex items-end', style:{flexDirection:"column"}};
}
}
if(info.col.name == 'deadline' && result[0])
{
if(result[0] == '0000-00-00') return [''];
if(['done', 'cancel', 'close'].includes(task.rawStatus)) return result;
const delay = typeof(task.delay) != 'undefined' ? 'delay' : '';
const today = zui.formatDate(zui.createDate(), 'yyyy-MM-dd');
const yesterday = zui.formatDate(convertStringToDate(today) - 24 * 60 * 60 * 1000, 'yyyy-MM-dd');
if(result[0] == today) result[0] = {'html': '<span class="label warning-pale rounded-full ' + delay + ' size-sm">' + todayLabel + '</span>'};
if(result[0] == yesterday) result[0] = {'html': '<span class="label danger-pale rounded-full ' + delay + ' size-sm">' + yesterdayLabel + '</span>'};
if(result[0] < yesterday) result[0] = {'html': '<span class="label danger-pale rounded-full ' + delay + ' size-sm">' + result + '</span>'};
}
return result;
};
function convertStringToDate(dateString)
{
dateString = dateString.split('-');
dateString = dateString[1] + '/' + dateString[2] + '/' + dateString[0];
return Date.parse(dateString);
}