header.pug 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. header.toolbar.toolbar-header.toolbar-with-labels(
  2. ng-cloak,
  3. ng-hide="state.loading"
  4. )
  5. .toolbar-left
  6. a.btn.btn-full-height(
  7. href,
  8. ng-click="ui.leftMenuShown = true;",
  9. )
  10. i.fa.fa-fw.fa-bars
  11. p.toolbar-label #{translate("menu")}
  12. a(
  13. href="/project"
  14. )
  15. i.fa.fa-fw.fa-level-up
  16. span(ng-controller="PdfViewToggleController")
  17. a(
  18. href,
  19. ng-show="ui.pdfLayout == 'flat' && fileTreeClosed",
  20. tooltip="PDF",
  21. tooltip-placement="bottom",
  22. tooltip-append-to-body="true",
  23. ng-click="togglePdfView()",
  24. ng-class="{ 'active': ui.view == 'pdf' }"
  25. )
  26. i.fa.fa-file-pdf-o
  27. .toolbar-center.project-name(ng-controller="ProjectNameController")
  28. span.name(
  29. ng-dblclick="!permissions.admin || startRenaming()",
  30. ng-show="!state.renaming"
  31. ) {{ project.name }}
  32. input.form-control(
  33. type="text"
  34. ng-model="inputs.name",
  35. ng-show="state.renaming",
  36. on-enter="finishRenaming()",
  37. ng-blur="finishRenaming()",
  38. select-name-when="state.renaming"
  39. )
  40. a.rename(
  41. ng-if="permissions.admin",
  42. href='#',
  43. tooltip-placement="bottom",
  44. tooltip=translate('rename'),
  45. tooltip-append-to-body="true",
  46. ng-click="startRenaming()",
  47. ng-show="!state.renaming"
  48. )
  49. i.fa.fa-pencil
  50. .toolbar-right
  51. span.online-users(
  52. ng-show="onlineUsersArray.length > 0"
  53. ng-controller="OnlineUsersController"
  54. )
  55. span(ng-if="onlineUsersArray.length < 4")
  56. span.online-user(
  57. ng-repeat="user in onlineUsersArray",
  58. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }",
  59. popover="{{ user.name }}"
  60. popover-placement="bottom"
  61. popover-append-to-body="true"
  62. popover-trigger="mouseenter"
  63. ng-click="gotoUser(user)"
  64. ) {{ user.name.slice(0,1) }}
  65. span.dropdown(dropdown, ng-if="onlineUsersArray.length >= 4")
  66. span.online-user.online-user-multi(
  67. dropdown-toggle,
  68. tooltip=translate('connected_users'),
  69. tooltip-placement="left"
  70. )
  71. strong {{ onlineUsersArray.length }}
  72. i.fa.fa-fw.fa-user
  73. ul.dropdown-menu.pull-right
  74. li.dropdown-header #{translate('connected_users')}
  75. li(ng-repeat="user in onlineUsersArray")
  76. a(href, ng-click="gotoUser(user)")
  77. span.online-user(
  78. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }"
  79. ) {{ user.name.slice(0,1) }}
  80. | {{ user.name }}
  81. a.btn.btn-full-height(
  82. href,
  83. ng-if="project.features.trackChangesVisible",
  84. ng-class="{ active: ui.reviewPanelOpen }"
  85. ng-click="toggleReviewPanel()"
  86. )
  87. i.review-icon
  88. p.toolbar-label
  89. | Review
  90. span(style="vertical-align: 20%; margin-left: 4px; padding: 2px 4px;").beta-feature-badge
  91. a.btn.btn-full-height(
  92. href,
  93. ng-if="permissions.admin",
  94. ng-click="openShareProjectModal();",
  95. ng-controller="ShareController",
  96. )
  97. i.fa.fa-fw.fa-group
  98. p.toolbar-label #{translate("share")}
  99. a.btn.btn-full-height(
  100. href,
  101. ng-click="toggleHistory();",
  102. ng-class="{ active: (ui.view == 'history') }",
  103. )
  104. i.fa.fa-fw.fa-history
  105. p.toolbar-label #{translate("history")}
  106. a.btn.btn-full-height(
  107. href,
  108. ng-class="{ active: ui.chatOpen }",
  109. ng-click="toggleChat();",
  110. ng-controller="ChatButtonController",
  111. ng-show="!anonymous",
  112. )
  113. i.fa.fa-fw.fa-comment(
  114. ng-class="{ 'bounce': unreadMessages > 0 }"
  115. )
  116. span.label.label-info(
  117. ng-show="unreadMessages > 0"
  118. ) {{ unreadMessages }}
  119. p.toolbar-label #{translate("chat")}