123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- {{template "base/head" .}}
- <div role="main" aria-label="{{.Title}}" class="page-content repository milestones">
- {{template "repo/header" .}}
- <div class="ui container">
- <div class="navbar">
- {{template "repo/issue/navbar" .}}
- {{if and (or .CanWriteIssues .CanWritePulls) (not .Repository.IsArchived)}}
- <div class="ui right">
- <a class="ui green button" href="{{$.Link}}/new">{{.locale.Tr "repo.milestones.new"}}</a>
- </div>
- {{end}}
- </div>
- <div class="ui divider"></div>
- {{template "base/alert" .}}
-
- <div class="ui three column stackable grid">
- <div class="column">
- <div class="ui compact tiny menu">
- <a class="item{{if not .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/milestones?state=open&q={{$.Keyword}}">
- {{svg "octicon-milestone" 16 "mr-3"}}
- {{JsPrettyNumber .OpenCount}} {{.locale.Tr "repo.issues.open_title"}}
- </a>
- <a class="item{{if .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/milestones?state=closed&q={{$.Keyword}}">
- {{svg "octicon-check" 16 "mr-3"}}
- {{JsPrettyNumber .ClosedCount}} {{.locale.Tr "repo.issues.closed_title"}}
- </a>
- </div>
- </div>
-
- <!-- Search -->
- <div class="column center aligned">
- <form class="ui form ignore-dirty">
- <div class="ui search fluid action input">
- <input type="hidden" name="state" value="{{$.State}}"/>
- <input name="q" value="{{.Keyword}}" placeholder="{{.locale.Tr "explore.search"}}...">
- <button class="ui primary button" type="submit">{{.locale.Tr "explore.search"}}</button>
- </div>
- </form>
- </div>
-
- <div class="column right aligned df ac je">
- <!-- Sort -->
- <div class="ui dropdown type jump item">
- <span class="text">
- {{.locale.Tr "repo.issues.filter_sort"}}
- {{svg "octicon-triangle-down" 14 "dropdown icon"}}
- </span>
- <div class="menu">
- <a class="{{if or (eq .SortType "closestduedate") (not .SortType)}}active {{end}}item" href="{{$.Link}}?sort=closestduedate&state={{$.State}}&q={{$.Keyword}}">{{.locale.Tr "repo.milestones.filter_sort.closest_due_date"}}</a>
- <a class="{{if eq .SortType "furthestduedate"}}active {{end}}item" href="{{$.Link}}?sort=furthestduedate&state={{$.State}}&q={{$.Keyword}}">{{.locale.Tr "repo.milestones.filter_sort.furthest_due_date"}}</a>
- <a class="{{if eq .SortType "leastcomplete"}}active {{end}}item" href="{{$.Link}}?sort=leastcomplete&state={{$.State}}&q={{$.Keyword}}">{{.locale.Tr "repo.milestones.filter_sort.least_complete"}}</a>
- <a class="{{if eq .SortType "mostcomplete"}}active {{end}}item" href="{{$.Link}}?sort=mostcomplete&state={{$.State}}&q={{$.Keyword}}">{{.locale.Tr "repo.milestones.filter_sort.most_complete"}}</a>
- <a class="{{if eq .SortType "mostissues"}}active {{end}}item" href="{{$.Link}}?sort=mostissues&state={{$.State}}&q={{$.Keyword}}">{{.locale.Tr "repo.milestones.filter_sort.most_issues"}}</a>
- <a class="{{if eq .SortType "leastissues"}}active {{end}}item" href="{{$.Link}}?sort=leastissues&state={{$.State}}&q={{$.Keyword}}">{{.locale.Tr "repo.milestones.filter_sort.least_issues"}}</a>
- </div>
- </div>
- </div>
- </div>
-
- <!-- milestone list -->
- <div class="milestone list">
- {{range .Milestones}}
- <li class="item">
- <div class="df ac sb">
- <h2 class="df ac m-0 fw">
- {{svg "octicon-milestone" 16 "mr-3"}}<a class="muted" href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a>
- </h2>
- <div class="df ac">
- <span class="mr-3">{{.Completeness}}%</span>
- <progress value="{{.Completeness}}" max="100"></progress>
- </div>
- </div>
- <div class="meta">
- {{$closedDate:= TimeSinceUnix .ClosedDateUnix $.locale}}
- {{if .IsClosed}}
- {{svg "octicon-clock"}} {{$.locale.Tr "repo.milestones.closed" $closedDate|Str2html}}
- {{else}}
- {{svg "octicon-calendar"}}
- {{if .DeadlineString}}
- <span {{if .IsOverdue}}class="overdue"{{end}}>{{.DeadlineString}}</span>
- {{else}}
- {{$.locale.Tr "repo.milestones.no_due_date"}}
- {{end}}
- {{end}}
- <span class="issue-stats">
- {{svg "octicon-issue-opened" 16 "mr-3"}}
- {{JsPrettyNumber .NumOpenIssues}} {{$.locale.Tr "repo.issues.open_title"}}
- {{svg "octicon-check" 16 "mr-3"}}
- {{JsPrettyNumber .NumClosedIssues}} {{$.locale.Tr "repo.issues.closed_title"}}
- {{if .TotalTrackedTime}}{{svg "octicon-clock"}} {{.TotalTrackedTime|Sec2Time}}{{end}}
- {{if .UpdatedUnix}}{{svg "octicon-clock"}} {{$.locale.Tr "repo.milestones.update_ago" (.TimeSinceUpdate|Sec2Time)}}{{end}}
- </span>
- </div>
- {{if and (or $.CanWriteIssues $.CanWritePulls) (not $.Repository.IsArchived)}}
- <div class="ui right operate">
- <a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}>{{svg "octicon-pencil"}} {{$.locale.Tr "repo.issues.label_edit"}}</a>
- {{if .IsClosed}}
- <a class="link-action" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check"}} {{$.locale.Tr "repo.milestones.open"}}</a>
- {{else}}
- <a class="link-action" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-x"}} {{$.locale.Tr "repo.milestones.close"}}</a>
- {{end}}
- <a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.locale.Tr "repo.issues.label_delete"}}</a>
- </div>
- {{end}}
- {{if .Content}}
- <div class="markup content">
- {{.RenderedContent|Str2html}}
- </div>
- {{end}}
- </li>
- {{end}}
-
- {{template "base/paginate" .}}
- </div>
- </div>
- </div>
-
- {{if or .CanWriteIssues .CanWritePulls}}
- <div class="ui small basic delete modal">
- <div class="ui icon header">
- {{svg "octicon-trash"}}
- {{.locale.Tr "repo.milestones.deletion"}}
- </div>
- <div class="content">
- <p>{{.locale.Tr "repo.milestones.deletion_desc"}}</p>
- </div>
- <div class="actions">
- <div class="ui red basic inverted cancel button">
- <i class="remove icon"></i>
- {{.locale.Tr "modal.no"}}
- </div>
- <div class="ui green basic inverted ok button">
- <i class="checkmark icon"></i>
- {{.locale.Tr "modal.yes"}}
- </div>
- </div>
- </div>
- {{end}}
- {{template "base/footer" .}}
|