activities.jade 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
  1. template(name="activities")
  2. .activities.js-sidebar-activities
  3. //- We should use Template.dynamic here but there is a bug with
  4. //- blaze-components: https://github.com/peerlibrary/meteor-blaze-components/issues/30
  5. if $eq mode "board"
  6. +boardActivities
  7. else
  8. +cardActivities
  9. template(name="boardActivities")
  10. each activityData in currentBoard.activities
  11. +activity(activity=activityData card=card mode=mode)
  12. template(name="cardActivities")
  13. each activityData in currentCard.activities
  14. +activity(activity=activityData card=card mode=mode)
  15. template(name="editOrDeleteComment")
  16. = ' - '
  17. a.js-open-inlined-form {{_ "edit"}}
  18. = ' - '
  19. a.js-delete-comment {{_ "delete"}}
  20. template(name="commentReactions")
  21. .reactions
  22. each reaction in reactions
  23. span.reaction(class="{{#if isSelected reaction.userIds}}selected{{/if}}" data-codepoint="#{reaction.reactionCodepoint}" title="{{userNames reaction.userIds}}")
  24. span.reaction-codepoint !{reaction.reactionCodepoint}
  25. span.reaction-count #{reaction.userIds.length}
  26. if (currentUser.isBoardMember)
  27. a.open-comment-reaction-popup(title="{{_ 'addReactionPopup-title'}}")
  28. i.fa.fa-smile-o
  29. i.fa.fa-plus
  30. template(name="addReactionPopup")
  31. .reactions-popup
  32. each codepoint in codepoints
  33. span.add-comment-reaction(data-codepoint="#{codepoint}") !{codepoint}
  34. template(name="activity")
  35. .activity
  36. +userAvatar(userId=activity.user._id)
  37. p.activity-desc
  38. span.activity-member
  39. +memberName(user=activity.user)
  40. //- attachment activity -------------------------------------------------
  41. if($eq activity.activityType 'deleteAttachment')
  42. | {{{_ 'activity-delete-attach' cardLink}}}.
  43. if($eq activity.activityType 'addAttachment')
  44. | {{{_ 'activity-attached' attachmentLink cardLink}}}.
  45. if($neq mode 'board')
  46. if activity.attachment.isImage
  47. img.attachment-image-preview(src=activity.attachment.url)
  48. //- board activity ------------------------------------------------------
  49. if($eq mode 'board')
  50. if($eq activity.activityType 'createBoard')
  51. | {{{_ 'activity-created' boardLabelLink}}}.
  52. if($eq activity.activityType 'importBoard')
  53. | {{{_ 'activity-imported-board' boardLabelLink sourceLink}}}.
  54. if($eq activity.activityType 'addBoardMember')
  55. | {{{_ 'activity-added' memberLink boardLabelLink}}}.
  56. if($eq activity.activityType 'removeBoardMember')
  57. | {{{_ 'activity-excluded' memberLink boardLabelLink}}}.
  58. //- card activity -------------------------------------------------------
  59. if($eq activity.activityType 'createCard')
  60. if($eq mode 'card')
  61. | {{{_ 'activity-added' cardLabelLink (sanitize activity.listName)}}}.
  62. else
  63. | {{{_ 'activity-added' cardLabelLink boardLabelLink}}}.
  64. if($eq activity.activityType 'importCard')
  65. | {{{_ 'activity-imported' cardLink boardLabelLink sourceLink}}}.
  66. if($eq activity.activityType 'moveCard')
  67. | {{{_ 'activity-moved' cardLabelLink (sanitize activity.oldList.title) (sanitize activity.list.title)}}}.
  68. if($eq activity.activityType 'moveCardBoard')
  69. | {{{_ 'activity-moved' cardLink (sanitize activity.oldBoardName) (sanitize activity.boardName)}}}.
  70. if($eq activity.activityType 'archivedCard')
  71. | {{{_ 'activity-archived' cardLink}}}.
  72. if($eq activity.activityType 'restoredCard')
  73. | {{{_ 'activity-sent' cardLink boardLabelLink}}}.
  74. //- checklist activity --------------------------------------------------
  75. if($eq activity.activityType 'addChecklist')
  76. | {{{_ 'activity-checklist-added' cardLink}}}.
  77. if($eq mode 'card')
  78. .activity-checklist
  79. +viewer
  80. = activity.checklist.title
  81. else
  82. a.activity-checklist(href="{{ activity.card.originRelativeUrl }}")
  83. +viewer
  84. = activity.checklist.title
  85. if($eq activity.activityType 'removedChecklist')
  86. | {{{_ 'activity-checklist-removed' cardLink}}}.
  87. if($eq activity.activityType 'completeChecklist')
  88. | {{{_ 'activity-checklist-completed' (sanitize activity.checklist.title) cardLink}}}.
  89. if($eq activity.activityType 'uncompleteChecklist')
  90. | {{{_ 'activity-checklist-uncompleted' (sanitize activity.checklist.title) cardLink}}}.
  91. if($eq activity.activityType 'checkedItem')
  92. | {{{_ 'activity-checked-item' (sanitize checkItem) (sanitize activity.checklist.title) cardLink}}}.
  93. if($eq activity.activityType 'uncheckedItem')
  94. | {{{_ 'activity-unchecked-item' (sanitize checkItem) (sanitize activity.checklist.title) cardLink}}}.
  95. if($eq activity.activityType 'addChecklistItem')
  96. | {{{_ 'activity-checklist-item-added' (sanitize activity.checklist.title) cardLink}}}.
  97. .activity-checklist(href="{{ activity.card.originRelativeUrl }}")
  98. +viewer
  99. = activity.checklistItem.title
  100. if($eq activity.activityType 'removedChecklistItem')
  101. | {{{_ 'activity-checklist-item-removed' (sanitize activity.checklist.title) cardLink}}}.
  102. //- comment activity ----------------------------------------------------
  103. if($eq mode 'card')
  104. //- if we are in card mode we display the comment in a way that it
  105. //- can be edited by the owner
  106. if($eq activity.activityType 'addComment')
  107. +inlinedForm(classNames='js-edit-comment')
  108. +editor(autofocus=true)
  109. = activity.comment.text
  110. .edit-controls
  111. button.primary(type="submit") {{_ 'edit'}}
  112. else
  113. .activity-comment
  114. +viewer
  115. = activity.comment.text
  116. +commentReactions(reactions=activity.comment.reactions commentId=activity.comment._id)
  117. span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}
  118. if($eq currentUser._id activity.comment.userId)
  119. +editOrDeleteComment
  120. else if currentUser.isBoardAdmin
  121. +editOrDeleteComment
  122. if($eq activity.activityType 'deleteComment')
  123. | {{{_ 'activity-deleteComment' currentData.commentId}}}.
  124. if($eq activity.activityType 'editComment')
  125. | {{{_ 'activity-editComment' currentData.commentId}}}.
  126. else
  127. //- if we are not in card mode we only display a summary of the comment
  128. if($eq activity.activityType 'addComment')
  129. | {{{_ 'activity-on' cardLink}}}
  130. a.activity-comment(href="{{ activity.card.originRelativeUrl }}")
  131. +viewer
  132. = activity.comment.text
  133. //- date activity ------------------------------------------------
  134. if($eq mode 'card')
  135. if($eq activity.activityType 'a-receivedAt')
  136. | {{{_ 'activity-receivedDate' (sanitize receivedDate) cardLink}}}.
  137. if($eq activity.activityType 'a-startAt')
  138. | {{{_ 'activity-startDate' (sanitize startDate) cardLink}}}.
  139. if($eq activity.activityType 'a-dueAt')
  140. | {{{_ 'activity-dueDate' (sanitize dueDate) cardLink}}}.
  141. if($eq activity.activityType 'a-endAt')
  142. | {{{_ 'activity-endDate' (sanitize endDate) cardLink}}}.
  143. if($eq mode 'board')
  144. if($eq activity.activityType 'a-receivedAt')
  145. | {{{_ 'activity-receivedDate' (sanitize receivedDate) cardLink}}}.
  146. if($eq activity.activityType 'a-startAt')
  147. | {{{_ 'activity-startDate' (sanitize startDate) cardLink}}}.
  148. if($eq activity.activityType 'a-dueAt')
  149. | {{{_ 'activity-dueDate' (sanitize dueDate) cardLink}}}.
  150. if($eq activity.activityType 'a-endAt')
  151. | {{{_ 'activity-endDate' (sanitize endDate) cardLink}}}.
  152. //- customField activity ------------------------------------------------
  153. if($eq mode 'board')
  154. if($eq activity.activityType 'createCustomField')
  155. | {{_ 'activity-customfield-created' customField}}.
  156. if($eq activity.activityType 'setCustomField')
  157. | {{{_ 'activity-set-customfield' (sanitize lastCustomField) (sanitize lastCustomFieldValue) cardLink}}}.
  158. if($eq activity.activityType 'unsetCustomField')
  159. | {{{_ 'activity-unset-customfield' (sanitize lastCustomField) cardLink}}}.
  160. //- label activity ------------------------------------------------------
  161. if($eq activity.activityType 'addedLabel')
  162. | {{{_ 'activity-added-label' (sanitize lastLabel) cardLink}}}.
  163. if($eq activity.activityType 'removedLabel')
  164. | {{{_ 'activity-removed-label' (sanitize lastLabel) cardLink}}}.
  165. //- list activity -------------------------------------------------------
  166. if($neq mode 'card')
  167. if($eq activity.activityType 'createList')
  168. | {{{_ 'activity-added' (sanitize listLabel) boardLabelLink}}}.
  169. if($eq activity.activityType 'importList')
  170. | {{{_ 'activity-imported' (sanitize listLabel) boardLabelLink sourceLink}}}.
  171. if($eq activity.activityType 'removeList')
  172. | {{{_ 'activity-removed' (sanitize activity.title) boardLabelLink}}}.
  173. if($eq activity.activityType 'archivedList')
  174. | {{_ 'activity-archived' (sanitize listLabel)}}.
  175. //- member activity ----------------------------------------------------
  176. if($eq activity.activityType 'joinMember')
  177. if($eq user._id activity.member._id)
  178. | {{{_ 'activity-joined' cardLink}}}.
  179. else
  180. | {{{_ 'activity-added' memberLink cardLink}}}.
  181. if($eq activity.activityType 'unjoinMember')
  182. if($eq user._id activity.member._id)
  183. | {{{_ 'activity-unjoined' cardLink}}}.
  184. else
  185. | {{{_ 'activity-removed' memberLink cardLink}}}.
  186. //- swimlane activity --------------------------------------------------
  187. if($neq mode 'card')
  188. if($eq activity.activityType 'createSwimlane')
  189. | {{_ 'activity-added' (sanitize activity.swimlane.title) boardLabelLink}}.
  190. if($eq activity.activityType 'archivedSwimlane')
  191. | {{_ 'activity-archived' (sanitize activity.swimlane.title)}}.
  192. //- I don't understand this part ----------------------------------------
  193. if(currentData.timeKey)
  194. | {{_ activity.activityType }}
  195. = ' '
  196. i(title=currentData.timeValue).activity-meta {{ moment currentData.timeValue 'LLL' }}
  197. if (currentData.timeOldValue)
  198. = ' '
  199. | {{{_ "previous_as" }}}
  200. = ' '
  201. i(title=currentData.timeOldValue).activity-meta {{ moment currentData.timeOldValue 'LLL' }}
  202. = ' @'
  203. else if(currentData.timeValue)
  204. | {{_ activity.activityType currentData.timeValue}}
  205. span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}