list.tmpl 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. {{template "base/head" .}}
  2. {{template "base/navbar" .}}
  3. {{template "repo/nav" .}}
  4. {{template "repo/toolbar" .}}
  5. <div id="body" class="container">
  6. <div id="issue">
  7. <div class="col-md-3 filters">
  8. <div class="filter-list">
  9. <ul class="list-unstyled">
  10. <li><a href="{{.RepoLink}}/issues?state={{.State}}"{{if eq .ViewType "all"}} class="active"{{end}}>All Issues <strong class="pull-right">{{..IssueStats.AllCount}}</strong></a></li>
  11. <li><a href="{{.RepoLink}}/issues?type=assigned&state={{.State}}"{{if eq .ViewType "assigned"}} class="active"{{end}}>Assigned to you <strong class="pull-right">{{.IssueStats.AssignCount}}</strong></a></li>
  12. <li><a href="{{.RepoLink}}/issues?type=created_by&state={{.State}}"{{if eq .ViewType "created_by"}} class="active"{{end}}>Created by you <strong class="pull-right">{{.IssueStats.CreateCount}}</strong></a></li>
  13. <li><a href="{{.RepoLink}}/issues?type=mentioned&state={{.State}}"{{if eq .ViewType "mentioned"}} class="active"{{end}}>Mentioning you <strong class="pull-right">{{.IssueStats.MentionCount}}</strong></a></li>
  14. </ul>
  15. </div>
  16. <div class="label-filter">
  17. <h4>Label</h4>
  18. <ul class="list-unstyled" id="label-list" data-ajax="{{$.RepoLink}}/issues/labels/delete">
  19. {{range .Labels}}
  20. <li class="label-item{{if eq $.SelectLabels .Id}} label-selected{{end}}" id="label-{{.Id}}" data-id="{{.Id}}">
  21. <a href="?type={{$.ViewType}}&state={{$.State}}{{if not (eq $.SelectLabels .Id)}}&labels={{.Id}}{{end}}">
  22. <span class="pull-right count">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</span>
  23. <span class="color" style="background-color: {{.Color}}" data-color="{{.Color}}"></span>
  24. <span class="name">{{.Name}}</span>
  25. </a>
  26. <a class="del pull-right" href="#" data-id="{{.Id}}"><i class="fa fa-times-circle-o"></i></a>
  27. </li>
  28. {{end}}
  29. <li class="label-change-li" style="display: none">
  30. <form id="label-change-form" action="{{$.RepoLink}}/issues/labels/edit" method="post">
  31. {{.CsrfTokenHtml}}
  32. <div class="input-group label-change-color-picker form-group" style="margin-bottom: 2px">
  33. <input type="text" class="form-control" name="title" required="required" id="label-name-change-ipt"/>
  34. <input type="hidden" name="color" id="label-color-change-ipt" value="#444444"/>
  35. <span class="input-group-addon"><i></i></span>
  36. <input type="hidden" name="id" id="label-change-id-ipt" value="0"/>
  37. </div>
  38. <div class="form-group text-right">
  39. <input class="form-control input-sm" type="text" id="label-color-change-ipt2" value="#444444"/>
  40. <button class="btn btn-default btn-sm">Save</button>
  41. </div>
  42. </form>
  43. </li>
  44. </ul>
  45. <button class="btn btn-default btn-block label-button" id="label-manage-btn">Manage Labels</button>
  46. <hr/>
  47. <form id="label-add-form" action="{{$.RepoLink}}/issues/labels/new" method="post">
  48. {{.CsrfTokenHtml}}
  49. <h5><strong>New Label</strong></h5>
  50. <div class="input-group label-color-picker form-group">
  51. <input type="text" class="form-control" name="title" required="required" id="label-name-ipt"/>
  52. <input type="hidden" name="color" id="label-color-ipt" value="#444444"/>
  53. <span class="input-group-addon"><i></i></span>
  54. </div>
  55. <div class="form-group text-right">
  56. <input class="form-control input-sm" type="text" id="label-color-ipt2" value="#444444"/>
  57. <button class="btn btn-default btn-sm">Create</button>
  58. </div>
  59. </form>
  60. </div>
  61. </div>
  62. <div class="col-md-9">
  63. {{template "base/alert" .}}
  64. <div class="filter-option">
  65. <div class="btn-group">
  66. <a class="btn btn-default issue-open{{if not .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/issues?type={{.ViewType}}">{{.IssueStats.OpenCount}} Open</a>
  67. <a class="btn btn-default issue-close{{if .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/issues?type={{.ViewType}}&state=closed">{{.IssueStats.ClosedCount}} Closed</a>
  68. </div>
  69. </div>
  70. <div class="issues list-group">
  71. {{range .Issues}}{{if .Poster}}
  72. <div class="list-group-item issue-item{{if not .IsRead}} unread{{end}}" id="issue-{{.Id}}">
  73. <span class="number pull-right">#{{.Index}}</span>
  74. <h5 class="title">
  75. <a href="{{$.RepoLink}}/issues/{{.Index}}">{{.Name}}</a>
  76. <span class="labels">
  77. {{range .Labels}}
  78. <span class="label" style="background-color: {{.Color}}">{{.Name}}</span>
  79. {{end}}
  80. </span>
  81. </h5>
  82. <p class="info">
  83. <span class="author"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" width="20"/>
  84. <a href="/user/{{.Poster.Name}}">{{.Poster.Name}}</a></span>
  85. <span class="time">{{TimeSince .Created}}</span>
  86. <span class="comment"><i class="fa fa-comments"></i> {{.NumComments}}</span>
  87. </p>
  88. </div>
  89. {{end}}{{end}}
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. <script src="/js/bootstrap-colorpicker.min.js"></script>
  96. <script>
  97. $(function(){
  98. $('.label-color-picker').colorpicker({
  99. input: $('#label-color-ipt')
  100. }).on('changeColor', function (ev) {
  101. var $ipt = $('#label-color-ipt2');
  102. if ($ipt.val().length != 4) {
  103. $ipt.val(ev.color.toHex());
  104. }
  105. });
  106. $('.label-change-color-picker').colorpicker({
  107. input:$('#label-color-change-ipt')
  108. }).on('changeColor', function (ev) {
  109. var $ipt = $('#label-color-change-ipt2');
  110. if ($ipt.val().length != 4) {
  111. $ipt.val(ev.color.toHex());
  112. }
  113. });
  114. });
  115. </script>
  116. {{template "base/footer" .}}