header.pug 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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.btn.btn-full-height.btn-full-height-no-border(
  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. tooltip="{{ project.name }}",
  32. tooltip-class="project-name-tooltip"
  33. tooltip-placement="bottom",
  34. tooltip-append-to-body="true",
  35. tooltip-enable="state.overflowed"
  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="project.features.trackChangesVisible",
  89. ng-class="{ active: ui.reviewPanelOpen }"
  90. ng-click="toggleReviewPanel()"
  91. )
  92. i.review-icon
  93. p.toolbar-label
  94. | #{translate("review")}
  95. a.btn.btn-full-height(
  96. href,
  97. ng-if="permissions.admin",
  98. ng-click="openShareProjectModal();",
  99. ng-controller="ShareController",
  100. )
  101. i.fa.fa-fw.fa-group
  102. p.toolbar-label #{translate("share")}
  103. a.btn.btn-full-height(
  104. href,
  105. ng-click="toggleHistory();",
  106. ng-class="{ active: (ui.view == 'history') }",
  107. )
  108. i.fa.fa-fw.fa-history
  109. p.toolbar-label #{translate("history")}
  110. a.btn.btn-full-height(
  111. href,
  112. ng-class="{ active: ui.chatOpen }",
  113. ng-click="toggleChat();",
  114. ng-controller="ChatButtonController",
  115. ng-show="!anonymous",
  116. )
  117. i.fa.fa-fw.fa-comment(
  118. ng-class="{ 'bounce': unreadMessages > 0 }"
  119. )
  120. span.label.label-info(
  121. ng-show="unreadMessages > 0"
  122. ) {{ unreadMessages }}
  123. p.toolbar-label #{translate("chat")}