kanban.ui.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. window.getCol = function(col)
  2. {
  3. if(col.cards) col.subtitle = {html: "<span class='text-gray ml-1'>" + col.cards + "</span>"};
  4. }
  5. window.itemRender = function(info)
  6. {
  7. info.item.className.push('card-item-' + (info.item.status == 'doing' && info.item.delay ? 'delay' : info.item.status));
  8. }
  9. window.getItem = function(info)
  10. {
  11. if(info.item.delay)
  12. {
  13. info.item.suffix = delayed;
  14. info.item.suffixClass = 'label danger rounded-xl' + (info.item.status == 'doing' ? ' mr-8' : '');
  15. }
  16. if(info.item.status == 'doing') info.item.prefix = {component: 'ProgressCircle', props: {percent: info.item.progress, size: 24}};
  17. if(info.item.cardType == 'doingExecution' && privs.canViewExecution)
  18. {
  19. info.item.titleUrl = $.createLink('execution', 'task', `id=${info.item.id}`);
  20. }
  21. else if(info.item.cardType == 'doingProject' && privs.canViewProject)
  22. {
  23. info.item.titleUrl = $.createLink('project', 'index', `id=${info.item.id}`);
  24. }
  25. else if(info.item.cardType == 'unexpiredPlan' && privs.canViewPlan)
  26. {
  27. info.item.titleUrl = $.createLink('productplan', 'view', `id=${info.item.id}`);
  28. }
  29. else if(info.item.cardType == 'normalRelease' && privs.canViewRelease)
  30. {
  31. info.item.titleUrl = $.createLink('release', 'view', `id=${info.item.id}`);
  32. if(info.item.marker == '1') info.item.suffix = {html: '<i class="icon icon-flag" style="color: var(--color-danger-500)"></i>'};
  33. }
  34. info.item.titleAttrs = {'class': 'text-black clip ' + (!info.item.delay ? 'mr-8' : ''), 'title' : info.item.title};
  35. }