task.ui.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. window.renderCell = function(result, info)
  2. {
  3. const task = info.row.data;
  4. if(info.col.name == 'name' && result)
  5. {
  6. let html = '';
  7. if(task.team) html += "<span class='label gray-pale rounded-xl'>" + multipleAB + "</span>";
  8. if(task.isParent > 0)
  9. {
  10. html += "<span class='label gray-pale rounded-xl'>" + parentAB + "</span>";
  11. }
  12. else if(task.parent > 0)
  13. {
  14. html += "<span class='label gray-pale rounded-xl'>" + childrenAB + "</span>";
  15. }
  16. if(html) result.unshift({html});
  17. if(typeof task.delay != 'undefined' && task.delay > 0)
  18. {
  19. 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"}};
  20. }
  21. }
  22. if(info.col.name == 'deadline' && result[0])
  23. {
  24. if(result[0] == '0000-00-00') return [''];
  25. if(['done', 'cancel', 'close'].includes(task.rawStatus)) return result;
  26. const delay = typeof(task.delay) != 'undefined' ? 'delay' : '';
  27. const today = zui.formatDate(zui.createDate(), 'yyyy-MM-dd');
  28. const yesterday = zui.formatDate(convertStringToDate(today) - 24 * 60 * 60 * 1000, 'yyyy-MM-dd');
  29. if(result[0] == today) result[0] = {'html': '<span class="label warning-pale rounded-full ' + delay + ' size-sm">' + todayLabel + '</span>'};
  30. if(result[0] == yesterday) result[0] = {'html': '<span class="label danger-pale rounded-full ' + delay + ' size-sm">' + yesterdayLabel + '</span>'};
  31. if(result[0] < yesterday) result[0] = {'html': '<span class="label danger-pale rounded-full ' + delay + ' size-sm">' + result + '</span>'};
  32. }
  33. return result;
  34. };
  35. function convertStringToDate(dateString)
  36. {
  37. dateString = dateString.split('-');
  38. dateString = dateString[1] + '/' + dateString[2] + '/' + dateString[0];
  39. return Date.parse(dateString);
  40. }