activities.jade 11 KB

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