sidebar.jade 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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. unless isSandstorm
  82. if currentUser.isBoardAdmin
  83. li
  84. a.js-change-role
  85. | {{_ 'change-permissions'}}
  86. span.quiet (#{memberType})
  87. li
  88. if $eq currentUser._id userId
  89. a.js-leave-member {{_ 'leave-board'}}
  90. else if currentUser.isBoardAdmin
  91. a.js-remove-member {{_ 'remove-from-board'}}
  92. template(name="removeMemberPopup")
  93. p {{_ 'remove-member-pop' name=user.profile.fullname username=user.username boardTitle=board.title}}
  94. button.js-confirm.negate.full(type="submit") {{_ 'remove-member'}}
  95. template(name="leaveBoardPopup")
  96. p {{_ 'leave-board-pop' boardTitle=board.title}}
  97. button.js-confirm.negate.full(type="submit") {{_ 'leave-board'}}
  98. template(name="addMemberPopup")
  99. .js-search-member
  100. +esInput(index="users")
  101. if loading.get
  102. +spinner
  103. else if error.get
  104. .warning {{_ error.get}}
  105. else
  106. ul.pop-over-list
  107. +esEach(index="users")
  108. li.item.js-member-item(class="{{#if isBoardMember}}disabled{{/if}}")
  109. a.name.js-select-member(title="{{profile.fullname}} ({{username}})")
  110. +userAvatar(userId=_id esSearch=true)
  111. span.full-name
  112. = profile.fullname
  113. | (<span class="username">{{username}}</span>)
  114. if isBoardMember
  115. .quiet ({{_ 'joined'}})
  116. +ifEsIsSearching(index='users')
  117. +spinner
  118. +ifEsHasNoResults(index="users")
  119. .manage-member-section
  120. p.quiet {{_ 'no-results'}}
  121. button.js-email-invite.primary.full {{_ 'email-invite'}}
  122. template(name="changePermissionsPopup")
  123. ul.pop-over-list
  124. li
  125. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-admin{{/if}}")
  126. | {{_ 'admin'}}
  127. if isAdmin
  128. i.fa.fa-check
  129. span.sub-name {{_ 'admin-desc'}}
  130. li
  131. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-normal{{/if}}")
  132. | {{_ 'normal'}}
  133. if isNormal
  134. i.fa.fa-check
  135. span.sub-name {{_ 'normal-desc'}}
  136. li
  137. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-no-comments{{/if}}")
  138. | {{_ 'no-comments'}}
  139. if isNoComments
  140. i.fa.fa-check
  141. span.sub-name {{_ 'no-comments-desc'}}
  142. li
  143. a(class="{{#if isLastAdmin}}disabled{{else}}js-set-comment-only{{/if}}")
  144. | {{_ 'comment-only'}}
  145. if isCommentOnly
  146. i.fa.fa-check
  147. span.sub-name {{_ 'comment-only-desc'}}
  148. if isLastAdmin
  149. hr
  150. p.quiet.bottom {{_ 'last-admin-desc'}}