boardHeader.jade 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. template(name="boardHeaderBar")
  2. h1.header-board-menu
  3. with currentBoard
  4. if $eq title 'Templates'
  5. | {{_ 'templates'}}
  6. else
  7. +viewer
  8. = title
  9. .board-header-btns.left
  10. unless isMiniScreen
  11. if currentBoard
  12. if currentUser
  13. with currentBoard
  14. if currentUser.isBoardAdmin
  15. a.board-header-btn(class="{{#if currentUser.isBoardAdmin}}js-edit-board-title{{else}}is-disabled{{/if}}" title="{{_ 'edit'}}" value=title)
  16. i.fa.fa-pencil-square-o
  17. a.board-header-btn.js-star-board(class="{{#if isStarred}}is-active{{/if}}"
  18. title="{{#if isStarred}}{{_ 'click-to-unstar'}}{{else}}{{_ 'click-to-star'}}{{/if}} {{_ 'starred-boards-description'}}")
  19. i.fa(class="fa-star{{#unless isStarred}}-o{{/unless}}")
  20. if showStarCounter
  21. span
  22. = currentBoard.stars
  23. a.board-header-btn(
  24. class="{{#if currentUser.isBoardAdmin}}js-change-visibility{{else}}is-disabled{{/if}}"
  25. title="{{_ currentBoard.permission}}")
  26. i.fa(class="{{#if currentBoard.isPublic}}fa-globe{{else}}fa-lock{{/if}}")
  27. span {{_ currentBoard.permission}}
  28. a.board-header-btn.js-watch-board(
  29. title="{{_ watchLevel }}")
  30. if $eq watchLevel "watching"
  31. i.fa.fa-eye
  32. if $eq watchLevel "tracking"
  33. i.fa.fa-bell
  34. if $eq watchLevel "muted"
  35. i.fa.fa-bell-slash
  36. span {{_ watchLevel}}
  37. a.board-header-btn(title="{{_ 'sort-cards'}}" class="{{#if isSortActive }}emphasis{{else}} js-sort-cards {{/if}}")
  38. i.fa.fa-sort
  39. span {{#if isSortActive }}{{_ 'sort-is-on'}}{{else}}{{_ 'sort-cards'}}{{/if}}
  40. if isSortActive
  41. a.board-header-btn-close.js-sort-reset(title="{{_ 'remove-sort'}}")
  42. i.fa.fa-times-thin
  43. else
  44. a.board-header-btn.js-log-in(
  45. title="{{_ 'log-in'}}")
  46. i.fa.fa-sign-in
  47. span {{_ 'log-in'}}
  48. .board-header-btns.right
  49. if currentBoard
  50. if isMiniScreen
  51. if currentUser
  52. with currentBoard
  53. a.board-header-btn(class="{{#if currentUser.isBoardAdmin}}js-edit-board-title{{else}}is-disabled{{/if}}" title="{{_ 'edit'}}" value=title)
  54. i.fa.fa-pencil-square-o
  55. a.board-header-btn.js-star-board(class="{{#if isStarred}}is-active{{/if}}"
  56. title="{{#if isStarred}}{{_ 'click-to-unstar'}}{{else}}{{_ 'click-to-star'}}{{/if}} {{_ 'starred-boards-description'}}")
  57. i.fa(class="fa-star{{#unless isStarred}}-o{{/unless}}")
  58. if showStarCounter
  59. span
  60. = currentBoard.stars
  61. a.board-header-btn.js-keyboard-shortcuts-toggle(
  62. title="{{#if isKeyboardShortcuts}}{{_ 'keyboard-shortcuts-enabled'}}{{else}}{{_ 'keyboard-shortcuts-disabled'}}{{/if}}")
  63. i.fa(class="fa-solid fa-keyboard")
  64. i.fa(class="fa-solid fa-{{#if isKeyboardShortcuts}}check-square-o{{else}}ban{{/if}}")
  65. a.board-header-btn(
  66. class="{{#if currentUser.isBoardAdmin}}js-change-visibility{{else}}is-disabled{{/if}}"
  67. title="{{_ currentBoard.permission}}")
  68. i.fa(class="{{#if currentBoard.isPublic}}fa-globe{{else}}fa-lock{{/if}}")
  69. span {{_ currentBoard.permission}}
  70. a.board-header-btn.js-watch-board(
  71. title="{{_ watchLevel }}")
  72. if $eq watchLevel "watching"
  73. i.fa.fa-eye
  74. if $eq watchLevel "tracking"
  75. i.fa.fa-bell
  76. if $eq watchLevel "muted"
  77. i.fa.fa-bell-slash
  78. span {{_ watchLevel}}
  79. a.board-header-btn(title="{{_ 'sort-cards'}}" class="{{#if isSortActive }}emphasis{{else}} js-sort-cards {{/if}}")
  80. i.fa.fa-sort
  81. span {{#if isSortActive }}{{_ 'sort-is-on'}}{{else}}{{_ 'sort-cards'}}{{/if}}
  82. if isSortActive
  83. a.board-header-btn-close.js-sort-reset(title="{{_ 'remove-sort'}}")
  84. i.fa.fa-times-thin
  85. else
  86. a.board-header-btn.js-log-in(
  87. title="{{_ 'log-in'}}")
  88. i.fa.fa-sign-in
  89. span {{_ 'log-in'}}
  90. if isSandstorm
  91. if currentUser
  92. a.board-header-btn.js-open-archived-board
  93. i.fa.fa-archive
  94. span {{_ 'archives'}}
  95. //if showSort
  96. // a.board-header-btn.js-open-sort-view(title="{{_ 'sort-desc'}}")
  97. // i.fa(class="{{directionClass}}")
  98. // span {{_ 'sort'}}{{_ listSortShortDesc}}
  99. a.board-header-btn.js-open-filter-view(
  100. title="{{#if Filter.isActive}}{{_ 'filter-on-desc'}}{{else}}{{_ 'filter'}}{{/if}}"
  101. class="{{#if Filter.isActive}}emphasis{{/if}}")
  102. i.fa.fa-filter
  103. span {{#if Filter.isActive}}{{_ 'filter-on'}}{{else}}{{_ 'filter'}}{{/if}}
  104. if Filter.isActive
  105. a.board-header-btn-close.js-filter-reset(title="{{_ 'filter-clear'}}")
  106. i.fa.fa-times-thin
  107. a.board-header-btn.js-open-search-view(title="{{_ 'search'}}")
  108. i.fa.fa-search
  109. span {{_ 'search'}}
  110. unless currentBoard.isTemplatesBoard
  111. a.board-header-btn.js-toggle-board-view(
  112. title="{{_ 'board-view'}}")
  113. i.fa.fa-caret-down
  114. if $eq boardView 'board-view-swimlanes'
  115. i.fa.fa-th-large
  116. if $eq boardView 'board-view-lists'
  117. i.fa.fa-trello
  118. if $eq boardView 'board-view-cal'
  119. i.fa.fa-calendar
  120. span {{#if boardView}}{{_ boardView}}{{else}}{{_ 'board-view-swimlanes'}}{{/if}}
  121. if canModifyBoard
  122. a.board-header-btn.js-multiselection-activate(
  123. title="{{#if MultiSelection.isActive}}{{_ 'multi-selection-on'}}{{else}}{{_ 'multi-selection'}}{{/if}}"
  124. class="{{#if MultiSelection.isActive}}emphasis{{/if}}")
  125. i.fa.fa-check-square-o
  126. span {{#if MultiSelection.isActive}}{{_ 'multi-selection-on'}}{{else}}{{_ 'multi-selection'}}{{/if}}
  127. if MultiSelection.isActive
  128. a.board-header-btn-close.js-multiselection-reset(title="{{_ 'filter-clear'}}")
  129. i.fa.fa-times-thin
  130. .separator
  131. a.board-header-btn.js-toggle-sidebar(title="{{_ 'sidebar-open'}} {{_ 'or'}} {{_ 'sidebar-close'}}")
  132. i.fa.fa-navicon
  133. template(name="boardVisibilityList")
  134. ul.pop-over-list
  135. li
  136. with "private"
  137. a.js-select-visibility
  138. i.fa.fa-lock.colorful
  139. | {{_ 'private'}}
  140. if visibilityCheck
  141. i.fa.fa-check
  142. span.sub-name {{_ 'private-desc'}}
  143. if notAllowPrivateVisibilityOnly
  144. li
  145. with "public"
  146. a.js-select-visibility
  147. i.fa.fa-globe.colorful
  148. | {{_ 'public'}}
  149. if visibilityCheck
  150. i.fa.fa-check
  151. span.sub-name {{_ 'public-desc'}}
  152. template(name="boardChangeVisibilityPopup")
  153. +boardVisibilityList
  154. template(name="boardChangeWatchPopup")
  155. ul.pop-over-list
  156. li
  157. with "watching"
  158. a.js-select-watch
  159. i.fa.fa-eye.colorful
  160. | {{_ 'watching'}}
  161. if watchCheck
  162. i.fa.fa-check
  163. span.sub-name {{_ 'watching-info'}}
  164. li
  165. with "tracking"
  166. a.js-select-watch
  167. i.fa.fa-bell.colorful
  168. | {{_ 'tracking'}}
  169. if watchCheck
  170. i.fa.fa-check
  171. span.sub-name {{_ 'tracking-info'}}
  172. li
  173. with "muted"
  174. a.js-select-watch
  175. i.fa.fa-bell-slash.colorful
  176. | {{_ 'muted'}}
  177. if watchCheck
  178. i.fa.fa-check
  179. span.sub-name {{_ 'muted-info'}}
  180. template(name="boardChangeViewPopup")
  181. ul.pop-over-list
  182. li
  183. with "board-view-swimlanes"
  184. a.js-open-swimlanes-view
  185. i.fa.fa-th-large.colorful
  186. | {{_ 'board-view-swimlanes'}}
  187. if $eq Utils.boardView "board-view-swimlanes"
  188. i.fa.fa-check
  189. li
  190. with "board-view-lists"
  191. a.js-open-lists-view
  192. i.fa.fa-trello.colorful
  193. | {{_ 'board-view-lists'}}
  194. if $eq Utils.boardView "board-view-lists"
  195. i.fa.fa-check
  196. li
  197. with "board-view-cal"
  198. a.js-open-cal-view
  199. i.fa.fa-calendar.colorful
  200. | {{_ 'board-view-cal'}}
  201. if $eq Utils.boardView "board-view-cal"
  202. i.fa.fa-check
  203. template(name="createBoard")
  204. form
  205. label
  206. | {{_ 'title'}}
  207. input.js-new-board-title(type="text" placeholder="{{_ 'bucket-example'}}" autofocus required)
  208. if visibilityMenuIsOpen.get
  209. +boardVisibilityList
  210. else
  211. p.quiet
  212. if $eq visibility.get 'public'
  213. span.fa.fa-globe.colorful
  214. = " "
  215. | {{{_ 'board-public-info'}}}
  216. else
  217. span.fa.fa-lock.colorful
  218. = " "
  219. | {{{_ 'board-private-info'}}}
  220. a.js-change-visibility {{_ 'change'}}.
  221. a.flex.js-toggle-add-template-container
  222. .materialCheckBox#add-template-container
  223. span {{_ 'add-template-container'}}
  224. input.primary.wide(type="submit" value="{{_ 'create'}}")
  225. span.quiet
  226. | {{_ 'or'}}
  227. a.js-import-board {{_ 'import'}}
  228. span.quiet
  229. | /
  230. a.js-board-template {{_ 'template'}}
  231. //template(name="listsortPopup")
  232. // h2
  233. // | {{_ 'list-sort-by'}}
  234. // hr
  235. // ul.pop-over-list
  236. // each value in allowedSortValues
  237. // li
  238. // a.js-sort-by(name="{{value.name}}")
  239. // if $eq sortby value.name
  240. // i(class="fa {{Direction}}")
  241. // | {{_ value.label }}{{_ value.shortLabel}}
  242. // if $eq sortby value.name
  243. // i(class="fa fa-check")
  244. template(name="boardChangeTitlePopup")
  245. form
  246. label
  247. | {{_ 'title'}}
  248. input.js-board-name(type="text" value=title autofocus dir="auto")
  249. label
  250. | {{_ 'description'}}
  251. textarea.js-board-desc(dir="auto")= description
  252. input.primary.wide(type="submit" value="{{_ 'rename'}}")
  253. template(name="boardCreateRulePopup")
  254. p {{_ 'close-board-pop'}}
  255. button.js-confirm.negate.full(type="submit") {{_ 'archive'}}
  256. template(name="cardsSortPopup")
  257. ul.pop-over-list
  258. li
  259. a.js-sort-due {{_ 'due-date'}}
  260. hr
  261. li
  262. a.js-sort-title {{_ 'title-alphabetically'}}
  263. hr
  264. li
  265. a.js-sort-created-desc {{_ 'created-at-newest-first'}}
  266. hr
  267. li
  268. a.js-sort-created-asc {{_ 'created-at-oldest-first'}}