header.jade 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380
  1. div(ng-if="!shouldABTestHeaderLabels")
  2. header.toolbar.toolbar-header(
  3. ng-cloak,
  4. ng-hide="state.loading"
  5. )
  6. a.btn.btn-full-height(
  7. href,
  8. ng-click="ui.leftMenuShown = true"
  9. tooltip='#{translate("menu")}',
  10. tooltip-placement="bottom",
  11. tooltip-append-to-body="true",
  12. )
  13. i.fa.fa-fw.fa-bars
  14. a(
  15. href="/project"
  16. tooltip="#{translate('back_to_projects')}",
  17. tooltip-placement="bottom",
  18. tooltip-append-to-body="true"
  19. )
  20. i.fa.fa-fw.fa-level-up
  21. span(ng-controller="PdfViewToggleController")
  22. a(
  23. href,
  24. ng-show="ui.pdfLayout == 'flat' && fileTreeClosed",
  25. tooltip="PDF",
  26. tooltip-placement="bottom",
  27. tooltip-append-to-body="true",
  28. ng-click="togglePdfView()",
  29. ng-class="{ 'active': ui.view == 'pdf' }"
  30. )
  31. i.fa.fa-file-pdf-o
  32. .toolbar-center.project-name(ng-controller="ProjectNameController")
  33. span.name(
  34. ng-dblclick="!permissions.admin || startRenaming()",
  35. ng-show="!state.renaming"
  36. ) {{ project.name }}
  37. input.form-control(
  38. type="text"
  39. ng-model="inputs.name",
  40. ng-show="state.renaming",
  41. on-enter="finishRenaming()",
  42. ng-blur="finishRenaming()",
  43. select-name-when="state.renaming"
  44. )
  45. a.rename(
  46. ng-if="permissions.admin",
  47. href='#',
  48. tooltip-placement="bottom",
  49. tooltip="#{translate('rename')}",
  50. tooltip-append-to-body="true",
  51. ng-click="startRenaming()",
  52. ng-show="!state.renaming"
  53. )
  54. i.fa.fa-pencil
  55. .toolbar-right
  56. span.online-users(
  57. ng-show="onlineUsersArray.length > 0"
  58. ng-controller="OnlineUsersController"
  59. )
  60. span(ng-if="onlineUsersArray.length < 4")
  61. span.online-user(
  62. ng-repeat="user in onlineUsersArray",
  63. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }",
  64. popover="{{ user.name }}"
  65. popover-placement="bottom"
  66. popover-append-to-body="true"
  67. popover-trigger="mouseenter"
  68. ng-click="gotoUser(user)"
  69. ) {{ user.name.slice(0,1) }}
  70. span.dropdown(dropdown, ng-if="onlineUsersArray.length >= 4")
  71. span.online-user.online-user-multi(
  72. dropdown-toggle,
  73. tooltip="#{translate('connected_users')}",
  74. tooltip-placement="left"
  75. )
  76. strong {{ onlineUsersArray.length }}
  77. i.fa.fa-fw.fa-user
  78. ul.dropdown-menu.pull-right
  79. li.dropdown-header #{translate('connected_users')}
  80. li(ng-repeat="user in onlineUsersArray")
  81. a(href, ng-click="gotoUser(user)")
  82. span.online-user(
  83. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }"
  84. ) {{ user.name.slice(0,1) }}
  85. | {{ user.name }}
  86. a.btn.btn-full-height(
  87. href,
  88. ng-if="permissions.admin",
  89. tooltip="#{translate('share')}",
  90. tooltip-placement="bottom",
  91. ng-click="openShareProjectModal()",
  92. ng-controller="ShareController",
  93. )
  94. i.fa.fa-fw.fa-group
  95. a.btn.btn-full-height(
  96. href,
  97. ng-click="toggleHistory()",
  98. ng-class="{ active: (ui.view == 'history') }"
  99. tooltip="#{translate('recent_changes')}",
  100. tooltip-placement="bottom",
  101. )
  102. i.fa.fa-fw.fa-history
  103. a.btn.btn-full-height(
  104. href,
  105. tooltip="#{translate('chat')}",
  106. tooltip-placement="bottom",
  107. ng-class="{ active: ui.chatOpen }",
  108. ng-click="toggleChat()",
  109. ng-controller="ChatButtonController",
  110. ng-show="!anonymous",
  111. )
  112. i.fa.fa-fw.fa-comment(
  113. ng-class="{ 'bounce': unreadMessages > 0 }"
  114. )
  115. span.label.label-info(
  116. ng-show="unreadMessages > 0"
  117. ) {{ unreadMessages }}
  118. div(ng-if="shouldABTestHeaderLabels")
  119. div(sixpack-switch="editor-header")
  120. header.toolbar.toolbar-header(
  121. ng-cloak,
  122. ng-hide="state.loading"
  123. sixpack-default
  124. )
  125. a.btn.btn-full-height(
  126. href,
  127. ng-click="ui.leftMenuShown = true; trackABTestConversion('menu');"
  128. tooltip='#{translate("menu")}',
  129. tooltip-placement="bottom",
  130. tooltip-append-to-body="true",
  131. sixpack-convert="editor-header"
  132. )
  133. i.fa.fa-fw.fa-bars
  134. a(
  135. href="/project"
  136. tooltip="#{translate('back_to_projects')}",
  137. tooltip-placement="bottom",
  138. tooltip-append-to-body="true"
  139. )
  140. i.fa.fa-fw.fa-level-up
  141. span(ng-controller="PdfViewToggleController")
  142. a(
  143. href,
  144. ng-show="ui.pdfLayout == 'flat' && fileTreeClosed",
  145. tooltip="PDF",
  146. tooltip-placement="bottom",
  147. tooltip-append-to-body="true",
  148. ng-click="togglePdfView()",
  149. ng-class="{ 'active': ui.view == 'pdf' }"
  150. )
  151. i.fa.fa-file-pdf-o
  152. .toolbar-center.project-name(ng-controller="ProjectNameController")
  153. span.name(
  154. ng-dblclick="!permissions.admin || startRenaming()",
  155. ng-show="!state.renaming"
  156. ) {{ project.name }}
  157. input.form-control(
  158. type="text"
  159. ng-model="inputs.name",
  160. ng-show="state.renaming",
  161. on-enter="finishRenaming()",
  162. ng-blur="finishRenaming()",
  163. select-name-when="state.renaming"
  164. )
  165. a.rename(
  166. ng-if="permissions.admin",
  167. href='#',
  168. tooltip-placement="bottom",
  169. tooltip="#{translate('rename')}",
  170. tooltip-append-to-body="true",
  171. ng-click="startRenaming()",
  172. ng-show="!state.renaming"
  173. )
  174. i.fa.fa-pencil
  175. .toolbar-right
  176. span.online-users(
  177. ng-show="onlineUsersArray.length > 0"
  178. ng-controller="OnlineUsersController"
  179. )
  180. span(ng-if="onlineUsersArray.length < 4")
  181. span.online-user(
  182. ng-repeat="user in onlineUsersArray",
  183. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }",
  184. popover="{{ user.name }}"
  185. popover-placement="bottom"
  186. popover-append-to-body="true"
  187. popover-trigger="mouseenter"
  188. ng-click="gotoUser(user)"
  189. ) {{ user.name.slice(0,1) }}
  190. span.dropdown(dropdown, ng-if="onlineUsersArray.length >= 4")
  191. span.online-user.online-user-multi(
  192. dropdown-toggle,
  193. tooltip="#{translate('connected_users')}",
  194. tooltip-placement="left"
  195. )
  196. strong {{ onlineUsersArray.length }}
  197. i.fa.fa-fw.fa-user
  198. ul.dropdown-menu.pull-right
  199. li.dropdown-header #{translate('connected_users')}
  200. li(ng-repeat="user in onlineUsersArray")
  201. a(href, ng-click="gotoUser(user)")
  202. span.online-user(
  203. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }"
  204. ) {{ user.name.slice(0,1) }}
  205. | {{ user.name }}
  206. a.btn.btn-full-height(
  207. href,
  208. ng-if="permissions.admin",
  209. tooltip="#{translate('share')}",
  210. tooltip-placement="bottom",
  211. ng-click="openShareProjectModal(); trackABTestConversion('share');",
  212. ng-controller="ShareController",
  213. sixpack-convert="editor-header"
  214. )
  215. i.fa.fa-fw.fa-group
  216. a.btn.btn-full-height(
  217. href,
  218. ng-click="toggleHistory(); trackABTestConversion('history');",
  219. ng-class="{ active: (ui.view == 'history') }"
  220. tooltip="#{translate('recent_changes')}",
  221. tooltip-placement="bottom",
  222. sixpack-convert="editor-header"
  223. )
  224. i.fa.fa-fw.fa-history
  225. a.btn.btn-full-height(
  226. href,
  227. tooltip="#{translate('chat')}",
  228. tooltip-placement="bottom",
  229. ng-class="{ active: ui.chatOpen }",
  230. ng-click="toggleChat(); trackABTestConversion('chat');",
  231. ng-controller="ChatButtonController",
  232. ng-show="!anonymous",
  233. sixpack-convert="editor-header"
  234. )
  235. i.fa.fa-fw.fa-comment(
  236. ng-class="{ 'bounce': unreadMessages > 0 }"
  237. )
  238. span.label.label-info(
  239. ng-show="unreadMessages > 0"
  240. ) {{ unreadMessages }}
  241. header.toolbar.toolbar-header.toolbar-with-labels(
  242. ng-cloak,
  243. ng-hide="state.loading"
  244. sixpack-when="labels"
  245. )
  246. .toolbar-left
  247. a.btn.btn-full-height(
  248. href,
  249. ng-click="ui.leftMenuShown = true; trackABTestConversion('menu');",
  250. sixpack-convert="editor-header"
  251. )
  252. i.fa.fa-fw.fa-bars
  253. p.toolbar-label #{translate("menu")}
  254. a(
  255. href="/project"
  256. )
  257. i.fa.fa-fw.fa-level-up
  258. span(ng-controller="PdfViewToggleController")
  259. a(
  260. href,
  261. ng-show="ui.pdfLayout == 'flat' && fileTreeClosed",
  262. tooltip="PDF",
  263. tooltip-placement="bottom",
  264. tooltip-append-to-body="true",
  265. ng-click="togglePdfView()",
  266. ng-class="{ 'active': ui.view == 'pdf' }"
  267. )
  268. i.fa.fa-file-pdf-o
  269. .toolbar-center.project-name(ng-controller="ProjectNameController")
  270. span.name(
  271. ng-dblclick="!permissions.admin || startRenaming()",
  272. ng-show="!state.renaming"
  273. ) {{ project.name }}
  274. input.form-control(
  275. type="text"
  276. ng-model="inputs.name",
  277. ng-show="state.renaming",
  278. on-enter="finishRenaming()",
  279. ng-blur="finishRenaming()",
  280. select-name-when="state.renaming"
  281. )
  282. a.rename(
  283. ng-if="permissions.admin",
  284. href='#',
  285. tooltip-placement="bottom",
  286. tooltip="#{translate('rename')}",
  287. tooltip-append-to-body="true",
  288. ng-click="startRenaming()",
  289. ng-show="!state.renaming"
  290. )
  291. i.fa.fa-pencil
  292. .toolbar-right
  293. span.online-users(
  294. ng-show="onlineUsersArray.length > 0"
  295. ng-controller="OnlineUsersController"
  296. )
  297. span(ng-if="onlineUsersArray.length < 4")
  298. span.online-user(
  299. ng-repeat="user in onlineUsersArray",
  300. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }",
  301. popover="{{ user.name }}"
  302. popover-placement="bottom"
  303. popover-append-to-body="true"
  304. popover-trigger="mouseenter"
  305. ng-click="gotoUser(user)"
  306. ) {{ user.name.slice(0,1) }}
  307. span.dropdown(dropdown, ng-if="onlineUsersArray.length >= 4")
  308. span.online-user.online-user-multi(
  309. dropdown-toggle,
  310. tooltip="#{translate('connected_users')}",
  311. tooltip-placement="left"
  312. )
  313. strong {{ onlineUsersArray.length }}
  314. i.fa.fa-fw.fa-user
  315. ul.dropdown-menu.pull-right
  316. li.dropdown-header #{translate('connected_users')}
  317. li(ng-repeat="user in onlineUsersArray")
  318. a(href, ng-click="gotoUser(user)")
  319. span.online-user(
  320. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }"
  321. ) {{ user.name.slice(0,1) }}
  322. | {{ user.name }}
  323. a.btn.btn-full-height(
  324. href,
  325. ng-if="permissions.admin",
  326. ng-click="openShareProjectModal(); trackABTestConversion('share');",
  327. ng-controller="ShareController",
  328. sixpack-convert="editor-header"
  329. )
  330. i.fa.fa-fw.fa-group
  331. p.toolbar-label #{translate("share")}
  332. a.btn.btn-full-height(
  333. href,
  334. ng-click="toggleHistory(); trackABTestConversion('history');",
  335. ng-class="{ active: (ui.view == 'history') }",
  336. sixpack-convert="editor-header"
  337. )
  338. i.fa.fa-fw.fa-history
  339. p.toolbar-label #{translate("history")}
  340. a.btn.btn-full-height(
  341. href,
  342. ng-class="{ active: ui.chatOpen }",
  343. ng-click="toggleChat(); trackABTestConversion('chat');",
  344. ng-controller="ChatButtonController",
  345. ng-show="!anonymous",
  346. sixpack-convert="editor-header"
  347. )
  348. i.fa.fa-fw.fa-comment(
  349. ng-class="{ 'bounce': unreadMessages > 0 }"
  350. )
  351. span.label.label-info(
  352. ng-show="unreadMessages > 0"
  353. ) {{ unreadMessages }}
  354. p.toolbar-label #{translate("chat")}