activities.jade 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  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. .fa.fa-times-thin.js-close-inlined-form
  116. else
  117. .activity-comment
  118. +viewer
  119. = activity.comment.text
  120. +commentReactions(reactions=activity.comment.reactions commentId=activity.comment._id)
  121. span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}
  122. if($eq currentUser._id activity.comment.userId)
  123. +editOrDeleteComment
  124. else if currentUser.isBoardAdmin
  125. +editOrDeleteComment
  126. if($eq activity.activityType 'deleteComment')
  127. | {{{_ 'activity-deleteComment' currentData.commentId}}}.
  128. if($eq activity.activityType 'editComment')
  129. | {{{_ 'activity-editComment' currentData.commentId}}}.
  130. else
  131. //- if we are not in card mode we only display a summary of the comment
  132. if($eq activity.activityType 'addComment')
  133. | {{{_ 'activity-on' cardLink}}}
  134. a.activity-comment(href="{{ activity.card.originRelativeUrl }}")
  135. +viewer
  136. = activity.comment.text
  137. //- date activity ------------------------------------------------
  138. if($eq mode 'card')
  139. if($eq activity.activityType 'a-receivedAt')
  140. | {{{_ 'activity-receivedDate' (sanitize receivedDate) cardLink}}}.
  141. if($eq activity.activityType 'a-startAt')
  142. | {{{_ 'activity-startDate' (sanitize startDate) cardLink}}}.
  143. if($eq activity.activityType 'a-dueAt')
  144. | {{{_ 'activity-dueDate' (sanitize dueDate) cardLink}}}.
  145. if($eq activity.activityType 'a-endAt')
  146. | {{{_ 'activity-endDate' (sanitize endDate) cardLink}}}.
  147. if($eq mode 'board')
  148. if($eq activity.activityType 'a-receivedAt')
  149. | {{{_ 'activity-receivedDate' (sanitize receivedDate) cardLink}}}.
  150. if($eq activity.activityType 'a-startAt')
  151. | {{{_ 'activity-startDate' (sanitize startDate) cardLink}}}.
  152. if($eq activity.activityType 'a-dueAt')
  153. | {{{_ 'activity-dueDate' (sanitize dueDate) cardLink}}}.
  154. if($eq activity.activityType 'a-endAt')
  155. | {{{_ 'activity-endDate' (sanitize endDate) cardLink}}}.
  156. //- customField activity ------------------------------------------------
  157. if($eq mode 'board')
  158. if($eq activity.activityType 'createCustomField')
  159. | {{_ 'activity-customfield-created' customField}}.
  160. if($eq activity.activityType 'setCustomField')
  161. | {{{_ 'activity-set-customfield' (sanitize lastCustomField) (sanitize lastCustomFieldValue) cardLink}}}.
  162. if($eq activity.activityType 'unsetCustomField')
  163. | {{{_ 'activity-unset-customfield' (sanitize lastCustomField) cardLink}}}.
  164. //- label activity ------------------------------------------------------
  165. if($eq activity.activityType 'addedLabel')
  166. | {{{_ 'activity-added-label' (sanitize lastLabel) cardLink}}}.
  167. if($eq activity.activityType 'removedLabel')
  168. | {{{_ 'activity-removed-label' (sanitize lastLabel) cardLink}}}.
  169. //- list activity -------------------------------------------------------
  170. if($neq mode 'card')
  171. if($eq activity.activityType 'createList')
  172. | {{{_ 'activity-added' (sanitize listLabel) boardLabelLink}}}.
  173. if($eq activity.activityType 'importList')
  174. | {{{_ 'activity-imported' (sanitize listLabel) boardLabelLink sourceLink}}}.
  175. if($eq activity.activityType 'removeList')
  176. | {{{_ 'activity-removed' (sanitize activity.title) boardLabelLink}}}.
  177. if($eq activity.activityType 'archivedList')
  178. | {{_ 'activity-archived' (sanitize listLabel)}}.
  179. //- member activity ----------------------------------------------------
  180. if($eq activity.activityType 'joinMember')
  181. if($eq user._id activity.member._id)
  182. | {{{_ 'activity-joined' cardLink}}}.
  183. else
  184. | {{{_ 'activity-added' memberLink cardLink}}}.
  185. if($eq activity.activityType 'unjoinMember')
  186. if($eq user._id activity.member._id)
  187. | {{{_ 'activity-unjoined' cardLink}}}.
  188. else
  189. | {{{_ 'activity-removed' memberLink cardLink}}}.
  190. //- swimlane activity --------------------------------------------------
  191. if($neq mode 'card')
  192. if($eq activity.activityType 'createSwimlane')
  193. | {{_ 'activity-added' (sanitize activity.swimlane.title) boardLabelLink}}.
  194. if($eq activity.activityType 'archivedSwimlane')
  195. | {{_ 'activity-archived' (sanitize activity.swimlane.title)}}.
  196. //- I don't understand this part ----------------------------------------
  197. if(currentData.timeKey)
  198. | {{_ activity.activityType }}
  199. = ' '
  200. i(title=currentData.timeValue).activity-meta {{ moment currentData.timeValue 'LLL' }}
  201. if (currentData.timeOldValue)
  202. = ' '
  203. | {{{_ "previous_as" }}}
  204. = ' '
  205. i(title=currentData.timeOldValue).activity-meta {{ moment currentData.timeOldValue 'LLL' }}
  206. = ' @'
  207. else if(currentData.timeValue)
  208. | {{_ activity.activityType currentData.timeValue}}
  209. span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}