boardHeader.jade 11 KB

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