header.pug 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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.editor-menu-icon
  11. p.toolbar-label #{translate("menu")}
  12. a.btn.btn-full-height.header-cobranding-logo-container(
  13. ng-if="::(cobranding.isProjectCobranded && cobranding.logoImgUrl)"
  14. ng-href="{{ ::cobranding.brandVariationHomeUrl }}"
  15. target="_blank"
  16. rel="noreferrer noopener"
  17. )
  18. img.header-cobranding-logo(
  19. ng-src="{{ ::cobranding.logoImgUrl }}"
  20. alt="{{ ::cobranding.brandVariationName }}"
  21. )
  22. a.toolbar-header-back-projects(
  23. href="/project"
  24. )
  25. i.fa.fa-fw.fa-level-up
  26. span(ng-controller="PdfViewToggleController")
  27. a.btn.btn-full-height.btn-full-height-no-border(
  28. href,
  29. ng-show="ui.pdfLayout == 'flat' && fileTreeClosed",
  30. tooltip="PDF",
  31. tooltip-placement="bottom",
  32. tooltip-append-to-body="true",
  33. ng-click="togglePdfView()",
  34. ng-class="{ 'active': ui.view == 'pdf' }"
  35. )
  36. i.fa.fa-file-pdf-o
  37. .toolbar-center.project-name(ng-controller="ProjectNameController")
  38. span.name(
  39. ng-dblclick="!permissions.admin || startRenaming()",
  40. ng-show="!state.renaming"
  41. tooltip="{{ project.name }}",
  42. tooltip-class="project-name-tooltip"
  43. tooltip-placement="bottom",
  44. tooltip-append-to-body="true",
  45. tooltip-enable="state.overflowed"
  46. ) {{ project.name }}
  47. input.form-control(
  48. type="text"
  49. ng-model="inputs.name",
  50. ng-show="state.renaming",
  51. on-enter="finishRenaming()",
  52. ng-blur="finishRenaming()",
  53. select-name-when="state.renaming"
  54. )
  55. a.rename(
  56. ng-if="permissions.admin",
  57. href='#',
  58. tooltip-placement="bottom",
  59. tooltip=translate('rename'),
  60. tooltip-append-to-body="true",
  61. ng-click="startRenaming()",
  62. ng-show="!state.renaming"
  63. )
  64. i.fa.fa-pencil
  65. .toolbar-right
  66. .online-users(
  67. ng-if="onlineUsersArray.length < 4"
  68. ng-controller="OnlineUsersController"
  69. )
  70. span.online-user(
  71. ng-repeat="user in onlineUsersArray",
  72. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }",
  73. popover="{{ user.name }}"
  74. popover-placement="bottom"
  75. popover-append-to-body="true"
  76. popover-trigger="mouseenter"
  77. ng-click="gotoUser(user)"
  78. ) {{ userInitial(user) }}
  79. .online-users.dropdown(
  80. dropdown
  81. ng-if="onlineUsersArray.length >= 4"
  82. ng-controller="OnlineUsersController"
  83. )
  84. span.online-user.online-user-multi(
  85. dropdown-toggle,
  86. tooltip=translate('connected_users'),
  87. tooltip-placement="left"
  88. )
  89. strong {{ onlineUsersArray.length }}
  90. i.fa.fa-fw.fa-users
  91. ul.dropdown-menu.pull-right
  92. li.dropdown-header #{translate('connected_users')}
  93. li(ng-repeat="user in onlineUsersArray")
  94. a(href, ng-click="gotoUser(user)")
  95. span.online-user(
  96. ng-style="{ 'background-color': 'hsl({{ getHueForUserId(user.user_id) }}, 70%, 50%)' }"
  97. ) {{ user.name.slice(0,1) }}
  98. | {{ user.name }}
  99. if !isRestrictedTokenMember
  100. a.btn.btn-full-height(
  101. href,
  102. ng-if="project.features.trackChangesVisible",
  103. ng-class="{ active: ui.reviewPanelOpen && ui.view !== 'history' }"
  104. ng-disabled="ui.view === 'history'"
  105. ng-click="toggleReviewPanel()"
  106. )
  107. i.review-icon
  108. p.toolbar-label
  109. | #{translate("review")}
  110. a.btn.btn-full-height(
  111. href
  112. ng-click="openShareProjectModal(permissions.admin);"
  113. ng-controller="ShareController"
  114. )
  115. i.fa.fa-fw.fa-group
  116. p.toolbar-label #{translate("share")}
  117. != moduleIncludes('publish:button', locals)
  118. if !isRestrictedTokenMember
  119. a.btn.btn-full-height(
  120. href,
  121. ng-click="toggleHistory();",
  122. ng-class="{ active: (ui.view == 'history') }",
  123. )
  124. i.fa.fa-fw.fa-history
  125. p.toolbar-label #{translate("history")}
  126. a.btn.btn-full-height(
  127. href,
  128. ng-class="{ active: ui.chatOpen }",
  129. ng-click="toggleChat();",
  130. ng-controller="ChatButtonController",
  131. ng-show="!anonymous",
  132. )
  133. i.fa.fa-fw.fa-comment(
  134. ng-class="{ 'bounce': unreadMessages > 0 }"
  135. )
  136. span.label.label-info(
  137. ng-show="unreadMessages > 0"
  138. ) {{ unreadMessages }}
  139. p.toolbar-label #{translate("chat")}