activities.jade 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  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(data-id=activity._id)
  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 activity.activityType 'createBoard')
  53. | {{{_ 'activity-created' boardLabelLink}}}.
  54. if($eq activity.activityType 'importBoard')
  55. | {{{_ 'activity-imported-board' boardLabelLink sourceLink}}}.
  56. if($eq activity.activityType 'addBoardMember')
  57. | {{{_ 'activity-added' memberLink boardLabelLink}}}.
  58. if($eq activity.activityType 'removeBoardMember')
  59. | {{{_ 'activity-excluded' memberLink boardLabelLink}}}.
  60. //- card activity -------------------------------------------------------
  61. if($eq activity.activityType 'createCard')
  62. if($eq mode 'card')
  63. | {{{_ 'activity-added' cardLabelLink (sanitize activity.listName)}}}.
  64. else
  65. | {{{_ 'activity-added' cardLabelLink boardLabelLink}}}.
  66. if($eq activity.activityType 'importCard')
  67. | {{{_ 'activity-imported' cardLink boardLabelLink sourceLink}}}.
  68. if($eq activity.activityType 'moveCard')
  69. | {{{_ 'activity-moved' cardLabelLink (sanitize activity.oldList.title) (sanitize activity.list.title)}}}.
  70. if($eq activity.activityType 'moveCardBoard')
  71. | {{{_ 'activity-moved' cardLink (sanitize activity.oldBoardName) (sanitize activity.boardName)}}}.
  72. if($eq activity.activityType 'archivedCard')
  73. | {{{_ 'activity-archived' cardLink}}}.
  74. if($eq activity.activityType 'restoredCard')
  75. | {{{_ 'activity-sent' cardLink boardLabelLink}}}.
  76. //- checklist activity --------------------------------------------------
  77. if($eq activity.activityType 'addChecklist')
  78. | {{{_ 'activity-checklist-added' cardLink}}}.
  79. if($eq mode 'card')
  80. .activity-checklist
  81. +viewer
  82. = activity.checklist.title
  83. else
  84. a.activity-checklist(href="{{ activity.card.originRelativeUrl }}")
  85. +viewer
  86. = activity.checklist.title
  87. if($eq activity.activityType 'removedChecklist')
  88. | {{{_ 'activity-checklist-removed' cardLink}}}.
  89. if($eq activity.activityType 'completeChecklist')
  90. | {{{_ 'activity-checklist-completed' (sanitize activity.checklist.title) cardLink}}}.
  91. if($eq activity.activityType 'uncompleteChecklist')
  92. | {{{_ 'activity-checklist-uncompleted' (sanitize activity.checklist.title) cardLink}}}.
  93. if($eq activity.activityType 'checkedItem')
  94. | {{{_ 'activity-checked-item' (sanitize checkItem) (sanitize activity.checklist.title) cardLink}}}.
  95. if($eq activity.activityType 'uncheckedItem')
  96. | {{{_ 'activity-unchecked-item' (sanitize checkItem) (sanitize activity.checklist.title) cardLink}}}.
  97. if($eq activity.activityType 'addChecklistItem')
  98. | {{{_ 'activity-checklist-item-added' (sanitize activity.checklist.title) cardLink}}}.
  99. .activity-checklist(href="{{ activity.card.originRelativeUrl }}")
  100. +viewer
  101. = activity.checklistItem.title
  102. if($eq activity.activityType 'removedChecklistItem')
  103. | {{{_ 'activity-checklist-item-removed' (sanitize activity.checklist.title) cardLink}}}.
  104. //- comment activity ----------------------------------------------------
  105. if($eq mode 'card')
  106. //- if we are in card mode we display the comment in a way that it
  107. //- can be edited by the owner
  108. if($eq activity.activityType 'addComment')
  109. +inlinedForm(classNames='js-edit-comment')
  110. +editor(autofocus=true)
  111. = activity.comment.text
  112. .edit-controls
  113. button.primary(type="submit") {{_ 'edit'}}
  114. .fa.fa-times-thin.js-close-inlined-form
  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' activity.commentId}}}.
  127. if($eq activity.activityType 'editComment')
  128. | {{{_ 'activity-editComment' activity.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 activity.activityType 'a-receivedAt')
  138. | {{{_ 'activity-receivedDate' (sanitize receivedDate) cardLink}}}.
  139. if($eq activity.activityType 'a-startAt')
  140. | {{{_ 'activity-startDate' (sanitize startDate) cardLink}}}.
  141. if($eq activity.activityType 'a-dueAt')
  142. | {{{_ 'activity-dueDate' (sanitize dueDate) cardLink}}}.
  143. if($eq activity.activityType 'a-endAt')
  144. | {{{_ 'activity-endDate' (sanitize endDate) cardLink}}}.
  145. //- customField activity ------------------------------------------------
  146. if($eq activity.activityType 'createCustomField')
  147. | {{_ 'activity-customfield-created' customField}}.
  148. if($eq activity.activityType 'setCustomField')
  149. | {{{_ 'activity-set-customfield' (sanitize lastCustomField) (sanitize lastCustomFieldValue) cardLink}}}.
  150. if($eq activity.activityType 'unsetCustomField')
  151. | {{{_ 'activity-unset-customfield' (sanitize lastCustomField) cardLink}}}.
  152. //- label activity ------------------------------------------------------
  153. if($eq activity.activityType 'addedLabel')
  154. | {{{_ 'activity-added-label' (sanitize lastLabel) cardLink}}}.
  155. if($eq activity.activityType 'removedLabel')
  156. | {{{_ 'activity-removed-label' (sanitize lastLabel) cardLink}}}.
  157. //- list activity -------------------------------------------------------
  158. if($neq mode 'card')
  159. if($eq activity.activityType 'createList')
  160. | {{{_ 'activity-added' (sanitize listLabel) boardLabelLink}}}.
  161. if($eq activity.activityType 'importList')
  162. | {{{_ 'activity-imported' (sanitize listLabel) boardLabelLink sourceLink}}}.
  163. if($eq activity.activityType 'removeList')
  164. | {{{_ 'activity-removed' (sanitize activity.title) boardLabelLink}}}.
  165. if($eq activity.activityType 'archivedList')
  166. | {{_ 'activity-archived' (sanitize listLabel)}}.
  167. //- member activity ----------------------------------------------------
  168. if($eq activity.activityType 'joinMember')
  169. if($eq user._id activity.member._id)
  170. | {{{_ 'activity-joined' cardLink}}}.
  171. else
  172. | {{{_ 'activity-added' memberLink cardLink}}}.
  173. if($eq activity.activityType 'unjoinMember')
  174. if($eq user._id activity.member._id)
  175. | {{{_ 'activity-unjoined' cardLink}}}.
  176. else
  177. | {{{_ 'activity-removed' memberLink cardLink}}}.
  178. //- swimlane activity --------------------------------------------------
  179. if($eq activity.activityType 'createSwimlane')
  180. | {{{_ 'activity-added' (sanitize activity.swimlane.title) boardLabelLink}}}.
  181. if($eq activity.activityType 'archivedSwimlane')
  182. | {{{_ 'activity-archived' (sanitize activity.swimlane.title)}}}.
  183. //- I don't understand this part ----------------------------------------
  184. if(currentData.timeKey)
  185. | {{_ activity.activityType }}
  186. = ' '
  187. i(title=currentData.timeValue).activity-meta {{ moment currentData.timeValue 'LLL' }}
  188. if (currentData.timeOldValue)
  189. = ' '
  190. | {{{_ "previous_as" }}}
  191. = ' '
  192. i(title=currentData.timeOldValue).activity-meta {{ moment currentData.timeOldValue 'LLL' }}
  193. = ' @'
  194. else if(currentData.timeValue)
  195. | {{_ activity.activityType currentData.timeValue}}
  196. span(title=activity.createdAt).activity-meta {{ moment activity.createdAt }}