You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. <form class="ui comment form stackable grid" action="{{.Link}}" method="post">
  2. {{.CsrfTokenHtml}}
  3. {{if .Flash}}
  4. <div class="sixteen wide column">
  5. {{template "base/alert" .}}
  6. </div>
  7. {{end}}
  8. <div class="twelve wide column">
  9. <div class="ui comments">
  10. <div class="comment">
  11. <a class="avatar" href="{{.SignedUser.HomeLink}}">
  12. <img src="{{.SignedUser.RelAvatarLink}}">
  13. </a>
  14. <div class="ui segment content">
  15. <div class="field">
  16. <input name="title" id="issue_title" placeholder="{{.i18n.Tr "repo.milestones.title"}}" value="{{if .TitleQuery}}{{.TitleQuery}}{{else if .IssueTemplateTitle}}{{.IssueTemplateTitle}}{{else}}{{.title}}{{end}}" tabindex="3" autofocus required maxlength="255">
  17. {{if .PageIsComparePull}}
  18. <div class="title_wip_desc" data-wip-prefixes="{{Json .PullRequestWorkInProgressPrefixes}}">{{.i18n.Tr "repo.pulls.title_wip_desc" (index .PullRequestWorkInProgressPrefixes 0| Escape) | Safe}}</div>
  19. {{end}}
  20. </div>
  21. {{template "repo/issue/comment_tab" .}}
  22. <div class="text right">
  23. <button class="ui green button" tabindex="6">
  24. {{if .PageIsComparePull}}
  25. {{.i18n.Tr "repo.pulls.create"}}
  26. {{else}}
  27. {{.i18n.Tr "repo.issues.create"}}
  28. {{end}}
  29. </button>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. <div class="four wide column">
  36. <div class="ui segment metas">
  37. {{template "repo/issue/branch_selector_field" .}}
  38. <input id="label_ids" name="label_ids" type="hidden" value="{{.label_ids}}">
  39. <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-label dropdown">
  40. <span class="text">
  41. <strong>{{.i18n.Tr "repo.issues.new.labels"}}</strong>
  42. {{if .HasIssuesOrPullsWritePermission}}
  43. {{svg "octicon-gear"}}
  44. {{end}}
  45. </span>
  46. <div class="filter menu" data-id="#label_ids">
  47. <div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_labels_title"}}</div>
  48. {{if or .Labels .OrgLabels}}
  49. <div class="ui icon search input">
  50. <i class="icon df ac jc">{{svg "octicon-search" 16}}</i>
  51. <input type="text" placeholder="{{.i18n.Tr "repo.issues.filter_labels"}}">
  52. </div>
  53. {{end}}
  54. <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_labels"}}</div>
  55. {{if or .Labels .OrgLabels}}
  56. {{range .Labels}}
  57. <a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check"}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name | RenderEmoji}}
  58. {{if .Description }}<br><small class="desc">{{.Description | RenderEmoji}}</small>{{end}}</a>
  59. {{end}}
  60. <div class="ui divider"></div>
  61. {{range .OrgLabels}}
  62. <a class="{{if .IsChecked}}checked{{end}} item" href="#" data-id="{{.ID}}" data-id-selector="#label_{{.ID}}"><span class="octicon-check {{if not .IsChecked}}invisible{{end}}">{{svg "octicon-check"}}</span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name | RenderEmoji}}
  63. {{if .Description }}<br><small class="desc">{{.Description | RenderEmoji}}</small>{{end}}</a>
  64. {{end}}
  65. {{else}}
  66. <div class="header" style="text-transform: none;font-size:14px;">{{.i18n.Tr "repo.issues.new.no_items"}}</div>
  67. {{end}}
  68. </div>
  69. </div>
  70. <div class="ui labels list">
  71. <span class="no-select item {{if .HasSelectedLabel}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_label"}}</span>
  72. {{range .Labels}}
  73. <a class="{{if not .IsChecked}}hide{{end}} item" id="label_{{.ID}}" href="{{$.RepoLink}}/issues?labels={{.ID}}"><span class="label color" style="background-color: {{.Color}}"></span> <span class="text">{{.Name | RenderEmoji}}</span></a>
  74. {{end}}
  75. {{range .OrgLabels}}
  76. <a class="{{if not .IsChecked}}hide{{end}} item" id="label_{{.ID}}" href="/issues?labels={{.ID}}"><span class="label color" style="background-color: {{.Color}}"></span> <span class="text">{{.Name | RenderEmoji}}</span></a>
  77. {{end}}
  78. </div>
  79. <div class="ui divider"></div>
  80. <input id="milestone_id" name="milestone_id" type="hidden" value="{{.milestone_id}}">
  81. <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-milestone dropdown">
  82. <span class="text">
  83. <strong>{{.i18n.Tr "repo.issues.new.milestone"}}</strong>
  84. {{if .HasIssuesOrPullsWritePermission}}
  85. {{svg "octicon-gear"}}
  86. {{end}}
  87. </span>
  88. <div class="menu">
  89. <div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_milestone_title"}}</div>
  90. {{if or .OpenMilestones .ClosedMilestones}}
  91. <div class="ui icon search input">
  92. <i class="icon df ac jc">{{svg "octicon-search" 16}}</i>
  93. <input type="text" placeholder="{{.i18n.Tr "repo.issues.filter_milestones"}}">
  94. </div>
  95. {{end}}
  96. <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_milestone"}}</div>
  97. {{if and (not .OpenMilestones) (not .ClosedMilestones)}}
  98. <div class="header" style="text-transform: none;font-size:14px;">
  99. {{.i18n.Tr "repo.issues.new.no_items"}}
  100. </div>
  101. {{else}}
  102. {{if .OpenMilestones}}
  103. <div class="divider"></div>
  104. <div class="header">
  105. {{svg "octicon-milestone"}}
  106. {{.i18n.Tr "repo.issues.new.open_milestone"}}
  107. </div>
  108. {{range .OpenMilestones}}
  109. <div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</div>
  110. {{end}}
  111. {{end}}
  112. {{if .ClosedMilestones}}
  113. <div class="divider"></div>
  114. <div class="header">
  115. {{svg "octicon-milestone"}}
  116. {{.i18n.Tr "repo.issues.new.closed_milestone"}}
  117. </div>
  118. {{range .ClosedMilestones}}
  119. <a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/issues?milestone={{.ID}}"> {{.Name}}</a>
  120. {{end}}
  121. {{end}}
  122. {{end}}
  123. </div>
  124. </div>
  125. <div class="ui select-milestone list">
  126. <span class="no-select item {{if .Milestone}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_milestone"}}</span>
  127. <div class="selected">
  128. {{if .Milestone}}
  129. <a class="item" href="{{.RepoLink}}/issues?milestone={{.Milestone.ID}}"> {{.Milestone.Name}}</a>
  130. {{end}}
  131. </div>
  132. </div>
  133. {{if .IsProjectsEnabled}}
  134. <div class="ui divider"></div>
  135. <input id="project_id" name="project_id" type="hidden" value="{{.project_id}}">
  136. <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-project dropdown">
  137. <span class="text">
  138. <strong>{{.i18n.Tr "repo.issues.new.projects"}}</strong>
  139. {{if .HasIssuesOrPullsWritePermission}}
  140. {{svg "octicon-gear"}}
  141. {{end}}
  142. </span>
  143. <div class="menu">
  144. <div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_project_title"}}</div>
  145. {{if or .OpenProjects .ClosedProjects}}
  146. <div class="ui icon search input">
  147. <i class="icon df ac jc">{{svg "octicon-search" 16}}</i>
  148. <input type="text" placeholder="{{.i18n.Tr "repo.issues.filter_projects"}}">
  149. </div>
  150. {{end}}
  151. <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_projects"}}</div>
  152. {{if and (not .OpenProjects) (not .ClosedProjects)}}
  153. <div class="header" style="text-transform: none;font-size:14px;">
  154. {{.i18n.Tr "repo.issues.new.no_items"}}
  155. </div>
  156. {{else}}
  157. {{if .OpenProjects}}
  158. <div class="divider"></div>
  159. <div class="header">
  160. {{svg "octicon-project"}}
  161. {{.i18n.Tr "repo.issues.new.open_projects"}}
  162. </div>
  163. {{range .OpenProjects}}
  164. <div class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/projects/{{.ID}}">{{.Title}}</div>
  165. {{end}}
  166. {{end}}
  167. {{if .ClosedProjects}}
  168. <div class="divider"></div>
  169. <div class="header">
  170. {{svg "octicon-project"}}
  171. {{.i18n.Tr "repo.issues.new.closed_projects"}}
  172. </div>
  173. {{range .ClosedProjects}}
  174. <a class="item" data-id="{{.ID}}" data-href="{{$.RepoLink}}/projects/{{.ID}}">{{.Title}}</a>
  175. {{end}}
  176. {{end}}
  177. {{end}}
  178. </div>
  179. </div>
  180. <div class="ui select-project list">
  181. <span class="no-select item {{if .Project}}hide{{end}}">{{.i18n.Tr "repo.issues.new.no_projects"}}</span>
  182. <div class="selected">
  183. {{if .Project}}
  184. <a class="item" href="{{.RepoLink}}/projects/{{.Project.ID}}">{{.Project.Title}}</a>
  185. {{end}}
  186. </div>
  187. </div>
  188. {{end}}
  189. <div class="ui divider"></div>
  190. <input id="assignee_ids" name="assignee_ids" type="hidden" value="{{.assignee_ids}}">
  191. <div class="ui {{if not .HasIssuesOrPullsWritePermission}}disabled{{end}} floating jump select-assignees dropdown">
  192. <span class="text">
  193. <strong>{{.i18n.Tr "repo.issues.new.assignees"}}</strong>
  194. {{if .HasIssuesOrPullsWritePermission}}
  195. {{svg "octicon-gear"}}
  196. {{end}}
  197. </span>
  198. <div class="filter menu" data-id="#assignee_ids">
  199. <div class="header" style="text-transform: none;font-size:16px;">{{.i18n.Tr "repo.issues.new.add_assignees_title"}}</div>
  200. <div class="ui icon search input">
  201. <i class="icon df ac jc">{{svg "octicon-search" 16}}</i>
  202. <input type="text" placeholder="{{.i18n.Tr "repo.issues.filter_assignees"}}">
  203. </div>
  204. <div class="no-select item">{{.i18n.Tr "repo.issues.new.clear_assignees"}}</div>
  205. {{range .Assignees}}
  206. <a class="item" href="#" data-id="{{.ID}}" data-id-selector="#assignee_{{.ID}}">
  207. <span class="octicon-check invisible">{{svg "octicon-check"}}</span>
  208. <span class="text">
  209. <img class="ui avatar image" src="{{.RelAvatarLink}}"> {{.GetDisplayName}}
  210. </span>
  211. </a>
  212. {{end}}
  213. </div>
  214. </div>
  215. <div class="ui assignees list">
  216. <span class="no-select item {{if .HasSelectedLabel}}hide{{end}}">
  217. {{.i18n.Tr "repo.issues.new.no_assignees"}}
  218. </span>
  219. {{range .Assignees}}
  220. <a style="padding: 5px;color:rgba(0, 0, 0, 0.87);" class="hide item" id="assignee_{{.ID}}" href="{{$.RepoLink}}/issues?assignee={{.ID}}">
  221. <img class="ui avatar image" src="{{.RelAvatarLink}}" style="vertical-align: middle;">&nbsp;{{.GetDisplayName}}
  222. </a>
  223. {{end}}
  224. </div>
  225. </div>
  226. </div>
  227. </form>