userdash_master.html 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. {% extends "master.html" %}
  2. {% from "_projectstring.html" import projectstring, projecticon %}
  3. {% block title %}{{
  4. repo.namespace + '/' if repo.namespace }}{{ repo.name }}{% endblock %}
  5. {% set tag = "home" %}
  6. {% block header %}
  7. <link type="text/css" rel="stylesheet" nonce="{{ g.nonce }}" href="{{
  8. url_for('static', filename='vendor/selectize/selectize.bootstrap3.css') }}?version={{ g.version}}"/>
  9. {% endblock %}
  10. {% block content %}
  11. <div class="container">
  12. <div class="row">
  13. <div class="col userdash-tabs">
  14. <ul class="nav nav-tabs nav-sidetabs flex-column border-bottom-0">
  15. <li class="pl-3 pb-3 font-weight-bold">
  16. {{ g.fas_user.username | avatar(20) | safe }} {{g.fas_user.username}}
  17. </li>
  18. <li class="pr-2 py-3 font-size-09">
  19. <form action="{{url_for('ui_ns.search')}}" id="userdash_searchform">
  20. <select id="userdash-search" name="term" placeholder="find {{projectstring(plural=True)}} &amp; forks"></select>
  21. <input type="hidden" name="direct" readonly value="1">
  22. </form>
  23. </li>
  24. <li class="nav-item text-dark">
  25. <a class="nav-link d-flex align-items-center {{'active' if select=='projects'}}"
  26. href="{{ url_for('ui_ns.index')}}">
  27. <span>
  28. <i class="fa {{projecticon()}} fa-fw text-muted"></i>
  29. <span class="d-none d-md-inline">{{projectstring(plural=True)}}&nbsp;</span>
  30. </span>
  31. <div class="ml-auto">
  32. <span class="badge badge-secondary">
  33. {{ userdash_counts['repos_length'] }}
  34. </span>
  35. </div>
  36. </a>
  37. </li>
  38. {% if userdash_counts['forks_length'] > 0 %}
  39. <li class="nav-item text-dark">
  40. <a class="nav-link d-flex align-items-center {{'active' if select=='forks'}}"
  41. href="{{ url_for('ui_ns.userdash_forks')}}">
  42. <span>
  43. <i class="fa fa-fw text-muted fa-code-fork"></i>
  44. <span class="d-none d-md-inline">Forks&nbsp;</span>
  45. </span>
  46. <div class="ml-auto">
  47. <span class="badge badge-secondary">
  48. {{ userdash_counts['forks_length'] }}
  49. </span>
  50. </div>
  51. </a>
  52. </li>
  53. {% endif %}
  54. <li class="mt-4"></li>
  55. <li class="nav-item text-dark">
  56. <a class="nav-link d-flex align-items-center {{'active' if select=='activity'}}"
  57. href="{{ url_for('ui_ns.userdash_activity')}}">
  58. <span>
  59. <i class="fa fa-fw text-muted fa-users"></i>
  60. <span class="d-none d-md-inline">Activity&nbsp;</span>
  61. </span>
  62. </a>
  63. </li>
  64. {% if userdash_counts['groups_length'] > 0 %}
  65. <li class="nav-item text-dark">
  66. <a class="nav-link d-flex align-items-center {{'active' if select=='groups'}}"
  67. href="{{ url_for('ui_ns.userdash_groups')}}">
  68. <span>
  69. <i class="fa fa-fw text-muted fa-users"></i>
  70. <span class="d-none d-md-inline">Groups&nbsp;</span>
  71. </span>
  72. <div class="ml-auto">
  73. <span class="badge badge-secondary">
  74. {{ userdash_counts['groups_length'] }}
  75. </span>
  76. </div>
  77. </a>
  78. </li>
  79. {% endif %}
  80. <li class="nav-item text-dark">
  81. <a class="nav-link d-flex align-items-center {{'active' if select=='watchlist'}}"
  82. href="{{ url_for('ui_ns.userdash_watchlist')}}">
  83. <span>
  84. <i class="fa fa-fw text-muted fa-eye"></i>
  85. <span class="d-none d-md-inline">Watchlist&nbsp;</span>
  86. </span>
  87. <div class="ml-auto">
  88. <span class="badge badge-secondary">
  89. {{ userdash_counts['watchlist_length'] }}
  90. </span>
  91. </div>
  92. </a>
  93. </li>
  94. </ul>
  95. </div>
  96. <div class="col-9">
  97. {% block userdash %}
  98. {% endblock %}
  99. </div>
  100. </div>
  101. </div>
  102. {% endblock %}
  103. {% block jscripts %}
  104. {{ super() }}
  105. <script type="text/javascript" nonce="{{ g.nonce }}" src="{{
  106. url_for('static', filename='vendor/selectize/selectize.min.js') }}?version={{ g.version}}"></script>
  107. <script type="text/javascript" nonce="{{ g.nonce }}">
  108. $('#userdash-search').selectize({
  109. persist: false,
  110. maxItems: 1,
  111. create: false,
  112. openOnFocus: false,
  113. valueField: 'repo_fullname',
  114. labelField: 'repo_displayname',
  115. searchField: ['repo_displayname'],
  116. onChange: function(value){
  117. if (value != ""){
  118. $('#userdash_searchform').submit();
  119. }
  120. },
  121. options: [
  122. {% for repo in search_data %}
  123. {% set displayname = "" %}
  124. {% if repo.is_fork %}{% set displayname = displayname+repo.user.user+"/" %}{%endif%}
  125. {% if repo.namespace %}{% set displayname = displayname+repo.namespace+"/" %}{%endif%}
  126. {% set displayname = displayname+repo.name %}
  127. {% if repo.fullname[:6] == "forks/" %}
  128. {% set repo_fullname = "fork/"+repo.fullname[6:] %}
  129. {% else %}
  130. {% set repo_fullname = repo.fullname %}
  131. {% endif %}
  132. {repo_fullname: '{{repo_fullname}}', repo_displayname: '{{displayname}}', is_fork: '{{repo.is_fork}}'},
  133. {% endfor %}
  134. ],
  135. render: {
  136. option: function(item, escape) {
  137. return '<div>' +
  138. (item.is_fork == "True" ? '<span class="fa fa-fw fa-code-fork"></span>' : '<i class="fa fa-fw {{projecticon()}}"></i> ') +
  139. '<span class="label">' + escape(item.repo_displayname) + '</span>' +
  140. '</div>';
  141. }
  142. },
  143. });
  144. </script>
  145. {% endblock %}