boardsList.jade 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. template(name="boardList")
  2. .wrapper
  3. .board-list-header
  4. ul.AllBoardTeamsOrgs
  5. li.AllBoardTeams
  6. if userHasTeams
  7. select.js-AllBoardTeams#jsAllBoardTeams("multiple")
  8. option(value="-1") {{_ 'teams'}} :
  9. each teamsDatas
  10. option(value="{{teamId}}") {{_ teamDisplayName}}
  11. li.AllBoardOrgs
  12. if userHasOrgs
  13. select.js-AllBoardOrgs#jsAllBoardOrgs("multiple")
  14. option(value="-1") {{_ 'organizations'}} :
  15. each orgsDatas
  16. option(value="{{orgId}}") {{orgDisplayName}}
  17. //li.AllBoardTemplates
  18. // if userHasTemplates
  19. // select.js-AllBoardTemplates#jsAllBoardTemplates("multiple")
  20. // option(value="-1") {{_ 'templates'}} :
  21. // each templatesDatas
  22. // option(value="{{templateId}}") {{_ templateDisplayName}}
  23. li.AllBoardBtns
  24. div.AllBoardButtonsContainer
  25. if userHasOrgsOrTeams
  26. i.fa.fa-filter
  27. input#filterBtn(type="button" value="{{_ 'filter'}}")
  28. input#resetBtn(type="button" value="{{_ 'filter-clear'}}")
  29. ul.board-list.clearfix.js-boards(class="{{#if isMiniScreen}}mobile-view{{/if}}")
  30. li.js-add-board
  31. a.board-list-item.label(title="{{_ 'add-board'}}")
  32. | {{_ 'add-board'}}
  33. each boards
  34. li(class="{{_id}}" class="{{#if isStarred}}starred{{/if}}" class=colorClass).js-board
  35. if isInvited
  36. .board-list-item
  37. span.details
  38. span.board-list-item-name= title
  39. i.fa.js-star-board(
  40. class="fa-star{{#if isStarred}} is-star-active{{else}}-o{{/if}}"
  41. title="{{_ 'star-board-title'}}")
  42. p.board-list-item-desc {{_ 'just-invited'}}
  43. button.js-accept-invite.primary {{_ 'accept'}}
  44. button.js-decline-invite {{_ 'decline'}}
  45. else
  46. if $eq type "template-container"
  47. a.js-open-board.template-container.board-list-item(href="{{pathFor 'board' id=_id slug=slug}}")
  48. span.details
  49. span.board-list-item-name(title="{{_ 'template-container'}}")
  50. +viewer
  51. = title
  52. i.fa.js-star-board(
  53. class="fa-star{{#if isStarred}} is-star-active{{else}}-o{{/if}}"
  54. title="{{_ 'star-board-title'}}")
  55. p.board-list-item-desc
  56. +viewer
  57. = description
  58. if hasSpentTimeCards
  59. i.fa.js-has-spenttime-cards(
  60. class="fa-circle{{#if hasOvertimeCards}} has-overtime-card-active{{else}} no-overtime-card-active{{/if}}"
  61. title="{{#if hasOvertimeCards}}{{_ 'has-overtime-cards'}}{{else}}{{_ 'has-spenttime-cards'}}{{/if}}")
  62. if isTouchScreenOrShowDesktopDragHandles
  63. i.fa.board-handle(
  64. class="fa-arrows"
  65. title="{{_ 'drag-board'}}")
  66. else
  67. if isSandstorm
  68. i.fa.js-clone-board(
  69. class="fa-clone"
  70. title="{{_ 'duplicate-board'}}")
  71. i.fa.js-archive-board(
  72. class="fa-archive"
  73. title="{{_ 'archive-board'}}")
  74. else if isAdministrable
  75. i.fa.js-clone-board(
  76. class="fa-clone"
  77. title="{{_ 'duplicate-board'}}")
  78. i.fa.js-archive-board(
  79. class="fa-archive"
  80. title="{{_ 'archive-board'}}")
  81. else if currentUser.isAdmin
  82. i.fa.js-clone-board(
  83. class="fa-clone"
  84. title="{{_ 'duplicate-board'}}")
  85. i.fa.js-archive-board(
  86. class="fa-archive"
  87. title="{{_ 'archive-board'}}")
  88. else
  89. a.js-open-board.board-list-item(href="{{pathFor 'board' id=_id slug=slug}}")
  90. span.details
  91. span.board-list-item-name(title="{{_ 'board-drag-drop-reorder-or-click-open'}}")
  92. +viewer
  93. = title
  94. unless currentSetting.hideBoardMemberList
  95. if allowsBoardMemberList
  96. .minicard-members
  97. each member in boardMembers _id
  98. a.name
  99. +userAvatar(userId=member noRemove=true)
  100. unless currentSetting.hideCardCounterList
  101. if allowsCardCounterList
  102. .minicard-lists.flex.flex-wrap
  103. each list in boardLists _id
  104. .item
  105. | {{ list }}
  106. a.js-star-board(
  107. class="{{#if isStarred}}is-star-active{{else}}is-not-star-active{{/if}}"
  108. title="{{_ 'star-board-title'}}")
  109. | {{#if isStarred}}⭐{{else}}☆{{/if}}
  110. p.board-list-item-desc
  111. +viewer
  112. = description
  113. if hasSpentTimeCards
  114. i.fa.js-has-spenttime-cards(
  115. class="fa-circle{{#if hasOvertimeCards}} has-overtime-card-active{{else}} no-overtime-card-active{{/if}}"
  116. title="{{#if hasOvertimeCards}}{{_ 'has-overtime-cards'}}{{else}}{{_ 'has-spenttime-cards'}}{{/if}}")
  117. if isTouchScreenOrShowDesktopDragHandles
  118. i.fa.board-handle(
  119. class="fa-arrows"
  120. title="{{_ 'drag-board'}}")
  121. else
  122. if isSandstorm
  123. a.js-clone-board(
  124. class="fa-clone"
  125. title="{{_ 'duplicate-board'}}")
  126. | 📋
  127. a.js-archive-board(
  128. class="fa-archive"
  129. title="{{_ 'archive-board'}}")
  130. | 📦
  131. else if isAdministrable
  132. a.js-clone-board(
  133. class="fa-clone"
  134. title="{{_ 'duplicate-board'}}")
  135. | 📋
  136. a.js-archive-board(
  137. class="fa-archive"
  138. title="{{_ 'archive-board'}}")
  139. | 📦
  140. else if currentUser.isAdmin
  141. a.js-clone-board(
  142. class="fa-clone"
  143. title="{{_ 'duplicate-board'}}")
  144. | 📋
  145. a.js-archive-board(
  146. class="fa-archive"
  147. title="{{_ 'archive-board'}}")
  148. | 📦
  149. template(name="boardListHeaderBar")
  150. h1 {{_ title }}
  151. //.board-header-btns.right
  152. // a.board-header-btn.js-open-archived-board
  153. // i.fa.fa-archive
  154. // span {{_ 'archives'}}
  155. // a.board-header-btn(href="{{pathFor 'board' id=templatesBoardId slug=templatesBoardSlug}}")
  156. // i.fa.fa-clone
  157. // span {{_ 'templates'}}