minicard.jade 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. template(name="minicard")
  2. .minicard(
  3. class="{{#if isLinkedCard}}linked-card{{/if}}"
  4. class="{{#if isLinkedBoard}}linked-board{{/if}}"
  5. class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}")
  6. if isMiniScreenOrShowDesktopDragHandles
  7. .handle
  8. .fa.fa-arrows
  9. if cover
  10. .minicard-cover(style="background-image: url('{{cover.link 'original' '/'}}?dummyReloadAfterSessionEstablished={{sess}}');")
  11. if labels
  12. .minicard-labels(class="{{#if hiddenMinicardLabelText}}minicard-labels-no-text{{/if}}")
  13. each labels
  14. unless hiddenMinicardLabelText
  15. span.js-card-label.card-label(class="card-label-{{color}}" title=name)
  16. +viewer
  17. = name
  18. if hiddenMinicardLabelText
  19. .minicard-label(class="card-label-{{color}}" title="{{name}}")
  20. .minicard-title
  21. if $eq 'prefix-with-full-path' currentBoard.presentParentTask
  22. .parent-prefix
  23. | {{ parentString ' > ' }}
  24. if $eq 'prefix-with-parent' currentBoard.presentParentTask
  25. .parent-prefix
  26. | {{ parentCardName }}
  27. if isLinkedBoard
  28. a.js-linked-link
  29. span.linked-icon.fa.fa-folder
  30. else if isLinkedCard
  31. a.js-linked-link
  32. span.linked-icon.fa.fa-id-card
  33. if getArchived
  34. span.linked-icon.linked-archived.fa.fa-archive
  35. +viewer
  36. if currentBoard.allowsCardNumber
  37. span.card-number
  38. | ##{getCardNumber}
  39. = getTitle
  40. if $eq 'subtext-with-full-path' currentBoard.presentParentTask
  41. .parent-subtext
  42. | {{ parentString ' > ' }}
  43. if $eq 'subtext-with-parent' currentBoard.presentParentTask
  44. .parent-subtext
  45. | {{ parentCardName }}
  46. .dates
  47. if getReceived
  48. unless getStart
  49. unless getDue
  50. unless getEnd
  51. .date
  52. +minicardReceivedDate
  53. if getStart
  54. .date
  55. +minicardStartDate
  56. if getDue
  57. .date
  58. +minicardDueDate
  59. if getEnd
  60. +minicardEndDate
  61. if getSpentTime
  62. .date
  63. +cardSpentTime
  64. .minicard-custom-fields
  65. each customFieldsWD
  66. if definition.showOnCard
  67. if trueValue
  68. .minicard-custom-field
  69. if definition.showLabelOnMiniCard
  70. .minicard-custom-field-item
  71. +viewer
  72. = definition.name
  73. .minicard-custom-field-item
  74. if $eq definition.type "currency"
  75. +viewer
  76. = formattedCurrencyCustomFieldValue(definition)
  77. else if $eq definition.type "date"
  78. .date
  79. +minicardCustomFieldDate
  80. else if $eq definition.type "checkbox"
  81. .materialCheckBox(class="{{#if value }}is-checked{{/if}}")
  82. else if $eq definition.type "stringtemplate"
  83. +viewer
  84. = formattedStringtemplateCustomFieldValue(definition)
  85. else
  86. +viewer
  87. = trueValue
  88. if showAssignee
  89. if getAssignees
  90. .minicard-assignees.js-minicard-assignees
  91. each getAssignees
  92. +userAvatar(userId=this)
  93. if showMembers
  94. if getMembers
  95. .minicard-members.js-minicard-members
  96. each getMembers
  97. +userAvatar(userId=this)
  98. if showCreator
  99. .minicard-creator
  100. +userAvatar(userId=this.userId noRemove=true)
  101. .badges
  102. unless currentUser.isNoComments
  103. if comments.count
  104. .badge(title="{{_ 'card-comments-title' comments.count }}")
  105. span.badge-icon.fa.fa-comment-o.badge-comment
  106. = ' '
  107. = comments.count
  108. //span.badge-comment.badge-text
  109. //| {{_ 'comment'}}
  110. if getDescription
  111. .badge.badge-state-image-only(title=getDescription)
  112. span.badge-icon.fa.fa-align-left
  113. if getVoteQuestion
  114. .badge.badge-state-image-only(title=getVoteQuestion)
  115. span.badge-icon.fa.fa-thumbs-up(class="{{#if voteState}}text-green{{/if}}")
  116. span.badge-text {{ voteCountPositive }}
  117. span.badge-icon.fa.fa-thumbs-down(class="{{#if $eq voteState false}}text-red{{/if}}")
  118. span.badge-text {{ voteCountNegative }}
  119. if getPokerQuestion
  120. .badge.badge-state-image-only(title=getPokerQuestion)
  121. span.badge-icon.fa.fa-check(class="{{#if pokerState}}text-green{{/if}}")
  122. if expiredPoker
  123. span.badge-text {{ getPokerEstimation }}
  124. if attachments.length
  125. .badge
  126. span.badge-icon.fa.fa-paperclip
  127. span.badge-text= attachments.length
  128. if checklists.count
  129. .badge(class="{{#if checklistFinished}}is-finished{{/if}}")
  130. span.badge-icon.fa.fa-check-square-o
  131. span.badge-text.check-list-text {{checklistFinishedCount}}/{{checklistItemCount}}
  132. if allSubtasks.count
  133. .badge
  134. span.badge-icon.fa.fa-sitemap
  135. span.badge-text.check-list-text {{subtasksFinishedCount}}/{{allSubtasksCount}}
  136. //{{subtasksFinishedCount}}/{{subtasksCount}} does not work because when a subtaks is archived, the count goes down
  137. if currentBoard.allowsCardSortingByNumber
  138. .badge
  139. span.badge-icon.fa.fa-sort
  140. span.badge-text.check-list-sort {{ sort }}
  141. template(name="editCardSortOrderPopup")
  142. input.js-edit-card-sort-popup(type='text' autofocus value=sort dir="auto")
  143. .edit-controls.clearfix
  144. button.primary.confirm.js-submit-edit-card-sort-popup(type="submit") {{_ 'save'}}