2018-11-29 04:46:30 +03:00
{{ template "base/head" . }}
2023-02-02 01:56:10 +03:00
<div role="main" aria-label=" {{ .Title }} " class="page-content repository">
2018-11-29 04:46:30 +03:00
{{ template "repo/header" . }}
<div class="ui container">
2021-05-21 00:53:55 +03:00
<div class="ui two column stackable grid">
2018-11-29 04:46:30 +03:00
<div class="column">
2021-03-20 12:36:52 +03:00
<h1> {{ .Milestone .Name }} </h1>
2018-11-29 04:46:30 +03:00
</div>
2019-01-23 21:58:38 +03:00
{{ if not .Repository .IsArchived }}
<div class="column right aligned">
2019-03-15 18:50:27 +03:00
{{ if or .CanWriteIssues .CanWritePulls }}
2022-06-27 23:58:46 +03:00
<a class="ui button" href=" {{ .RepoLink }} /milestones/ {{ .MilestoneID }} /edit"> {{ .locale .Tr "repo.milestones.edit" }} </a>
2019-03-15 18:50:27 +03:00
{{ end }}
2022-06-27 23:58:46 +03:00
<a class="ui primary button" href=" {{ .RepoLink }} /issues/new {{ if .NewIssueChooseTemplate }} /choose {{ end }} ?milestone= {{ .MilestoneID }} "> {{ .locale .Tr "repo.issues.new" }} </a>
2019-01-23 21:58:38 +03:00
</div>
{{ end }}
2018-11-29 04:46:30 +03:00
</div>
2021-05-21 00:53:55 +03:00
<div class="ui one column stackable grid">
<div class="column markup content">
{{ .Milestone .RenderedContent | Str2html }}
</div>
</div>
2021-04-11 06:46:37 +03:00
<div class="ui one column stackable grid">
<div class="column">
2022-08-31 18:58:54 +03:00
{{ $ closedDate : = TimeSinceUnix .Milestone .ClosedDateUnix $ .locale }}
2021-04-11 06:46:37 +03:00
{{ if .IsClosed }}
2022-06-27 23:58:46 +03:00
{{ svg "octicon-clock" }} {{ $ .locale .Tr "repo.milestones.closed" $ closedDate | Str2html }}
2021-04-11 06:46:37 +03:00
{{ else }}
2020-09-11 23:19:00 +03:00
{{ svg "octicon-calendar" }}
2021-04-11 06:46:37 +03:00
{{ if .Milestone .DeadlineString }}
<span {{ if .IsOverdue }} class="overdue" {{ end }} > {{ .Milestone .DeadlineString }} </span>
{{ else }}
2022-06-27 23:58:46 +03:00
{{ $ .locale .Tr "repo.milestones.no_due_date" }}
2021-04-11 06:46:37 +03:00
{{ end }}
{{ end }}
2022-06-27 23:58:46 +03:00
<b> {{ .locale .Tr "repo.milestones.completeness" .Milestone .Completeness }} </b>
2021-04-11 06:46:37 +03:00
</div>
</div>
2018-11-29 04:46:30 +03:00
<div class="ui divider"></div>
<div id="issue-filters" class="ui stackable grid">
<div class="six wide column">
2020-11-29 18:52:11 +03:00
{{ template "repo/issue/openclose" . }}
2018-11-29 04:46:30 +03:00
</div>
<div class="ten wide right aligned column">
2019-10-29 23:50:38 +03:00
<div class="ui secondary filter stackable menu labels">
2018-11-29 04:46:30 +03:00
<!-- Label -->
2019-10-29 23:50:38 +03:00
<div class="ui {{ if not .Labels }} disabled {{ end }} dropdown jump item label-filter" style="margin-left: auto">
2018-11-29 04:46:30 +03:00
<span class="text">
2022-06-27 23:58:46 +03:00
{{ .locale .Tr "repo.issues.filter_label" }}
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2018-11-29 04:46:30 +03:00
</span>
<div class="menu">
2022-09-23 08:23:24 +03:00
<div class="ui icon search input">
2023-02-13 20:59:59 +03:00
<i class="icon gt-df gt-ac gt-jc"> {{ svg "octicon-search" 1 6 }} </i>
2022-10-10 17:05:32 +03:00
<input type="text" placeholder=" {{ .locale .Tr "repo.issues.filter_label" }} ">
2022-09-23 08:23:24 +03:00
</div>
2022-06-27 23:58:46 +03:00
<span class="info"> {{ .locale .Tr "repo.issues.filter_label_exclude" | Safe }} </span>
2022-08-08 23:03:58 +03:00
<a class="item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort= {{ $ .SortType }} &state= {{ $ .State }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_label_no_select" }} </a>
2018-11-29 04:46:30 +03:00
{{ range .Labels }}
2022-08-08 23:03:58 +03:00
<a class="item label-filter-item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .QueryString }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} " data-label-id=" {{ .ID }} "> {{ if .IsExcluded }} {{ svg "octicon-circle-slash" }} {{ else if contain $ .SelLabelIDs .ID }} {{ svg "octicon-check" }} {{ end }} <span class="label color" style="background-color: {{ .Color }} "></span> {{ .Name | RenderEmoji }} </a>
{{ end }}
</div>
</div>
<!-- Author -->
<div class="ui {{ if not .Posters }} disabled {{ end }} dropdown jump item">
<span class="text">
{{ .locale .Tr "repo.issues.filter_poster" }}
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
</span>
<div class="menu">
<a class="item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} "> {{ .locale .Tr "repo.issues.filter_poster_no_select" }} </a>
{{ range .Posters }}
<a class=" {{ if eq $ .PosterID .ID }} active selected {{ end }} item" href=" {{ $ .Link }} ?type= {{ $ .ViewType }} &sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ $ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ .ID }} ">
{{ avatar . }} {{ .GetDisplayName }}
</a>
2018-11-29 04:46:30 +03:00
{{ end }}
</div>
</div>
<!-- Assignee -->
<div class="ui {{ if not .Assignees }} disabled {{ end }} dropdown jump item">
<span class="text">
2022-06-27 23:58:46 +03:00
{{ .locale .Tr "repo.issues.filter_assignee" }}
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2018-11-29 04:46:30 +03:00
</span>
<div class="menu">
2022-09-23 08:23:24 +03:00
<div class="ui icon search input">
2023-02-13 20:59:59 +03:00
<i class="icon gt-df gt-ac gt-jc"> {{ svg "octicon-search" 1 6 }} </i>
2022-10-10 17:05:32 +03:00
<input type="text" placeholder=" {{ .locale .Tr "repo.issues.filter_assignee" }} ">
2022-09-23 08:23:24 +03:00
</div>
2022-08-08 23:03:58 +03:00
<a class="item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .SelectLabels }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_assginee_no_select" }} </a>
2018-11-29 04:46:30 +03:00
{{ range .Assignees }}
2022-08-08 23:03:58 +03:00
<a class=" {{ if eq $ .AssigneeID .ID }} active selected {{ end }} item" href=" {{ $ .Link }} ?type= {{ $ .ViewType }} &sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ $ .SelectLabels }} &assignee= {{ .ID }} &poster= {{ $ .PosterID }} ">
2023-02-13 20:59:59 +03:00
{{ avatar . 2 8 "gt-mr-2" }}
2020-12-03 21:46:11 +03:00
{{ .GetDisplayName }}
</a>
2018-11-29 04:46:30 +03:00
{{ end }}
</div>
</div>
{{ if .IsSigned }}
<!-- Type -->
<div class="ui dropdown type jump item">
<span class="text">
2022-06-27 23:58:46 +03:00
{{ .locale .Tr "repo.issues.filter_type" }}
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2018-11-29 04:46:30 +03:00
</span>
<div class="menu">
2022-12-09 16:34:51 +03:00
<a class=" {{ if eq .ViewType "all" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type=all&sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_type.all_issues" }} </a>
<a class=" {{ if eq .ViewType "assigned" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type=assigned&sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_type.assigned_to_you" }} </a>
<a class=" {{ if eq .ViewType "created_by" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type=created_by&sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_type.created_by_you" }} </a>
<a class=" {{ if eq .ViewType "mentioned" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type=mentioned&sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_type.mentioning_you" }} </a>
<a class=" {{ if eq .ViewType "review_requested" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type=review_requested&sort= {{ $ .SortType }} &state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_type.review_requested" }} </a>
2018-11-29 04:46:30 +03:00
</div>
</div>
{{ end }}
<!-- Sort -->
<div class="ui dropdown type jump item">
<span class="text">
2022-06-27 23:58:46 +03:00
{{ .locale .Tr "repo.issues.filter_sort" }}
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2018-11-29 04:46:30 +03:00
</span>
<div class="menu">
2022-12-09 16:34:51 +03:00
<a class=" {{ if or ( eq .SortType "latest" ) ( not .SortType ) }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort=latest&state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_sort.latest" }} </a>
<a class=" {{ if eq .SortType "oldest" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort=oldest&state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_sort.oldest" }} </a>
<a class=" {{ if eq .SortType "recentupdate" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort=recentupdate&state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_sort.recentupdate" }} </a>
<a class=" {{ if eq .SortType "leastupdate" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort=leastupdate&state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_sort.leastupdate" }} </a>
<a class=" {{ if eq .SortType "mostcomment" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort=mostcomment&state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_sort.mostcomment" }} </a>
<a class=" {{ if eq .SortType "leastcomment" }} active {{ end }} item" href=" {{ $ .Link }} ?q= {{ $ .Keyword }} &type= {{ $ .ViewType }} &sort=leastcomment&state= {{ $ .State }} &labels= {{ .SelectLabels }} &assignee= {{ $ .AssigneeID }} &poster= {{ $ .PosterID }} "> {{ .locale .Tr "repo.issues.filter_sort.leastcomment" }} </a>
2018-11-29 04:46:30 +03:00
</div>
</div>
</div>
</div>
</div>
2019-03-15 18:50:27 +03:00
<div id="issue-actions" class="ui stackable grid hide">
2018-11-29 04:46:30 +03:00
<div class="six wide column">
2020-11-29 18:52:11 +03:00
{{ template "repo/issue/openclose" . }}
2018-11-29 04:46:30 +03:00
</div>
{{ / * Ten wide does not cope well and makes the columns stack .
This seems to be related to jQuery's hide/show: in fact, switching
issue-actions and issue-filters and having this ten wide will show
this one correctly, but not the other one. */}}
<div class="nine wide right aligned right floated column">
<div class="ui secondary filter stackable menu">
2019-03-15 18:50:27 +03:00
<!-- Action Button -->
{{ if .IsShowClosed }}
2022-06-27 23:58:46 +03:00
<div class="ui green active basic button issue-action" data-action="open" data-url=" {{ $ .RepoLink }} /issues/status" style="margin-left: auto"> {{ .locale .Tr "repo.issues.action_open" }} </div>
2019-03-15 18:50:27 +03:00
{{ else }}
2022-06-27 23:58:46 +03:00
<div class="ui red active basic button issue-action" data-action="close" data-url=" {{ $ .RepoLink }} /issues/status" style="margin-left: auto"> {{ .locale .Tr "repo.issues.action_close" }} </div>
2019-03-15 18:50:27 +03:00
{{ end }}
2018-11-29 04:46:30 +03:00
<!-- Labels -->
2019-03-15 18:50:27 +03:00
<div class="ui {{ if not .Labels }} disabled {{ end }} dropdown jump item">
2018-11-29 04:46:30 +03:00
<span class="text">
2022-06-27 23:58:46 +03:00
{{ .locale .Tr "repo.issues.action_label" }}
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2018-11-29 04:46:30 +03:00
</span>
<div class="menu">
{{ range .Labels }}
2020-05-01 20:58:45 +03:00
<div class="item issue-action" data-action="toggle" data-element-id=" {{ .ID }} " data-url=" {{ $ .RepoLink }} /issues/labels">
2020-09-11 23:19:00 +03:00
{{ if contain $ .SelLabelIDs .ID }} {{ svg "octicon-check" }} {{ end }} <span class="label color" style="background-color: {{ .Color }} "></span> {{ .Name | RenderEmoji }}
2018-11-29 04:46:30 +03:00
</div>
{{ end }}
</div>
</div>
<!-- Assignees -->
<div class="ui {{ if not .Assignees }} disabled {{ end }} dropdown jump item">
<span class="text">
2022-06-27 23:58:46 +03:00
{{ .locale .Tr "repo.issues.action_assignee" }}
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2018-11-29 04:46:30 +03:00
</span>
<div class="menu">
<div class="item issue-action" data-element-id="0" data-url=" {{ $ .Link }} /assignee">
2022-06-27 23:58:46 +03:00
{{ .locale .Tr "repo.issues.action_assignee_no_select" }}
2018-11-29 04:46:30 +03:00
</div>
{{ range .Assignees }}
<div class="item issue-action" data-element-id=" {{ .ID }} " data-url=" {{ $ .RepoLink }} /issues/assignee">
2023-02-13 20:59:59 +03:00
{{ avatar . 2 8 "gt-mr-2" }}
2020-12-03 21:46:11 +03:00
{{ .GetDisplayName }}
2018-11-29 04:46:30 +03:00
</div>
{{ end }}
</div>
</div>
</div>
</div>
</div>
2020-11-25 14:20:40 +03:00
{{ template "shared/issuelist" mergeinto . "listType" "milestone" }}
2018-11-29 04:46:30 +03:00
</div>
</div>
{{ template "base/footer" . }}