sidebar.jade 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. template(name="sidebar")
  2. .board-sidebar.sidebar(class="{{#if isOpen}}is-open{{/if}}")
  3. a.sidebar-tongue.js-toggle-sidebar(
  4. class="{{#if isTongueHidden}}is-hidden{{/if}}",
  5. title="{{showTongueTitle}}")
  6. i.fa.fa-angle-left
  7. .sidebar-shadow
  8. .sidebar-content.sidebar-shortcuts
  9. a.board-header-btn.js-shortcuts
  10. i.fa.fa-keyboard-o
  11. span {{_ 'keyboard-shortcuts' }}
  12. .sidebar-content.js-board-sidebar-content.js-perfect-scrollbar
  13. a.hide-btn.js-hide-sidebar
  14. i.fa.fa-angle-right
  15. unless isDefaultView
  16. h2
  17. a.fa.fa-chevron-left.js-back-home
  18. = getViewTitle
  19. +Template.dynamic(template=getViewTemplate)
  20. template(name='homeSidebar')
  21. +membersWidget
  22. hr
  23. +labelsWidget
  24. hr
  25. unless currentUser.isNoComments
  26. h3
  27. i.fa.fa-comments-o
  28. | {{_ 'activities'}}
  29. +activities(mode="board")
  30. template(name="membersWidget")
  31. .board-widget.board-widget-members
  32. h3
  33. i.fa.fa-user
  34. | {{_ 'members'}}
  35. .board-widget-content
  36. each currentBoard.activeMembers
  37. +userAvatar(userId=this.userId showStatus=true)
  38. if isSandstorm
  39. if currentUser.isBoardMember
  40. a.member.add-member.sandstorm-powerbox-request-identity
  41. i.fa.fa-plus
  42. else if currentUser.isBoardAdmin
  43. a.member.add-member.js-manage-board-members
  44. i.fa.fa-plus
  45. .clearfix
  46. if isInvited
  47. hr
  48. p
  49. i.fa.fa-exclamation-circle
  50. | {{_ 'just-invited'}}
  51. button.js-member-invite-accept.primary {{_ 'accept'}}
  52. button.js-member-invite-decline {{_ 'decline'}}
  53. template(name="labelsWidget")
  54. .board-widget.board-widget-labels
  55. h3
  56. i.fa.fa-tags
  57. | {{_ 'labels'}}
  58. .board-widget-content
  59. each currentBoard.labels
  60. a.card-label(class="card-label-{{color}}"
  61. class="{{#if currentUser.isNotCommentOnly}}js-label{{/if}}")
  62. span.card-label-name= name
  63. if currentUser.isBoardAdmin
  64. a.card-label.add-label.js-add-label
  65. i.fa.fa-plus
  66. template(name="memberPopup")
  67. .board-member-menu
  68. .miniprofile-header
  69. +userAvatar(userId=user._id showEdit=true)
  70. .info
  71. h3
  72. .js-profile= user.profile.fullname
  73. p.quiet @#{user.username}
  74. if isInvited
  75. p
  76. i.fa.fa-exclamation-circle
  77. | {{_ 'not-accepted-yet'}}
  78. ul.pop-over-list
  79. li
  80. a.js-filter-member {{_ 'filter-cards'}}
  81. if currentUser.isBoardAdmin
  82. li
  83. a.js-change-role
  84. | {{_ 'change-permissions'}}
  85. span.quiet (#{memberType})
  86. li
  87. if $eq currentUser._id userId
  88. a.js-leave-member {{_ 'leave-board'}}
  89. else if currentUser.isBoardAdmin
  90. a.js-remove-member {{_ 'remove-from-board'}}
  91. template(name="removeMemberPopup")
  92. p {{_ 'remove-member-pop' name=user.profile.fullname username=user.username boardTitle=board.title}}
  93. button.js-confirm.negate.full(type="submit") {{_ 'remove-member'}}
  94. template(name="leaveBoardPopup")
  95. p {{_ 'leave-board-pop' boardTitle=board.title}}
  96. button.js-confirm.negate.full(type="submit") {{_ 'leave-board'}}
  97. template(name="addMemberPopup")
  98. .js-search-member
  99. +esInput(index="users")
  100. if loading.get
  101. +spinner
  102. else if error.get
  103. .warning {{_ error.get}}
  104. else
  105. ul.pop-over-list
  106. +esEach(index="users")
  107. li.item.js-member-item(class="{{#if isBoardMember}}disabled{{/if}}")
  108. a.name.js-select-member(title="{{profile.fullname}} ({{username}})")
  109. +userAvatar(userId=_id esSearch=true)
  110. span.full-name
  111. = profile.fullname
  112. | (<span class="username">{{username}}</span>)
  113. if isBoardMember
  114. .quiet ({{_ 'joined'}})
  115. +ifEsIsSearching(index='users')
  116. +spinner
  117. +ifEsHasNoResults(index="users")
  118. .manage-member-section
  119. p.quiet {{_ 'no-results'}}
  120. button.js-email-invite.primary.full {{_ 'email-invite'}}
  121. template(name="changePermissionsPopup")
  122. ul.pop-over-list
  123. li
  124. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-admin{{/if}}")
  125. | {{_ 'admin'}}
  126. if isAdmin
  127. i.fa.fa-check
  128. span.sub-name {{_ 'admin-desc'}}
  129. li
  130. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-normal{{/if}}")
  131. | {{_ 'normal'}}
  132. if isNormal
  133. i.fa.fa-check
  134. span.sub-name {{_ 'normal-desc'}}
  135. li
  136. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-no-comments{{/if}}")
  137. | {{_ 'no-comments'}}
  138. if isNoComments
  139. i.fa.fa-check
  140. span.sub-name {{_ 'no-comments-desc'}}
  141. li
  142. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-comment-only{{/if}}")
  143. | {{_ 'comment-only'}}
  144. if isCommentOnly
  145. i.fa.fa-check
  146. span.sub-name {{_ 'comment-only-desc'}}
  147. if isLastAdmin
  148. hr
  149. p.quiet.bottom {{_ 'last-admin-desc'}}