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.
		
		
		
		
		
			
		
			
				
					
					
						
							134 lines
						
					
					
						
							5.9 KiB
						
					
					
				
			
		
		
	
	
							134 lines
						
					
					
						
							5.9 KiB
						
					
					
				| {{template "base/head" .}}
 | |
| <div 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">{{.i18n.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"}}
 | |
| 						{{.i18n.Tr "repo.milestones.open_tab" .OpenCount}}
 | |
| 					</a>
 | |
| 					<a class="item{{if .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/milestones?state=closed&q={{$.Keyword}}">
 | |
| 						{{svg "octicon-milestone" 16 "mr-3"}}
 | |
| 						{{.i18n.Tr "repo.milestones.close_tab" .ClosedCount}}
 | |
| 					</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="{{.i18n.Tr "explore.search"}}...">
 | |
| 						<button class="ui blue button" type="submit">{{.i18n.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">
 | |
| 						{{.i18n.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}}">{{.i18n.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}}">{{.i18n.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}}">{{.i18n.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}}">{{.i18n.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}}">{{.i18n.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}}">{{.i18n.Tr "repo.milestones.filter_sort.least_issues"}}</a>
 | |
| 					</div>
 | |
| 				</div>
 | |
| 			</div>
 | |
| 		</div>
 | |
| 
 | |
| 		<!-- milestone list -->
 | |
| 		<div class="milestone list">
 | |
| 			{{range .Milestones}}
 | |
| 				<li class="item">
 | |
| 					{{svg "octicon-milestone" 16 "mr-2"}} <a href="{{$.RepoLink}}/milestone/{{.ID}}">{{.Name}}</a>
 | |
| 					<div class="ui right green progress" data-percent="{{.Completeness}}">
 | |
| 						<div class="bar" {{if not .Completeness}}style="background-color: transparent"{{end}}>
 | |
| 							<div class="progress"></div>
 | |
| 						</div>
 | |
| 					</div>
 | |
| 					<div class="meta">
 | |
| 						{{ $closedDate:= TimeSinceUnix .ClosedDateUnix $.i18n.Lang }}
 | |
| 						{{if .IsClosed}}
 | |
| 							{{svg "octicon-clock"}} {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
 | |
| 						{{else}}
 | |
| 							{{svg "octicon-calendar"}}
 | |
| 							{{if .DeadlineString}}
 | |
| 								<span {{if .IsOverdue}}class="overdue"{{end}}>{{.DeadlineString}}</span>
 | |
| 							{{else}}
 | |
| 								{{$.i18n.Tr "repo.milestones.no_due_date"}}
 | |
| 							{{end}}
 | |
| 						{{end}}
 | |
| 						<span class="issue-stats">
 | |
| 							{{svg "octicon-issue-opened"}} {{$.i18n.Tr "repo.issues.open_tab" .NumOpenIssues}}
 | |
| 							{{svg "octicon-issue-closed"}} {{$.i18n.Tr "repo.issues.close_tab" .NumClosedIssues}}
 | |
| 							{{if .TotalTrackedTime}}{{svg "octicon-clock"}} {{.TotalTrackedTime|Sec2Time}}{{end}}
 | |
| 							{{if .UpdatedUnix}}{{svg "octicon-clock"}} {{$.i18n.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"}} {{$.i18n.Tr "repo.issues.label_edit"}}</a>
 | |
| 							{{if .IsClosed}}
 | |
| 								<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/open">{{svg "octicon-check"}} {{$.i18n.Tr "repo.milestones.open"}}</a>
 | |
| 							{{else}}
 | |
| 								<a class="link-action" href data-url="{{$.Link}}/{{.ID}}/close">{{svg "octicon-x"}} {{$.i18n.Tr "repo.milestones.close"}}</a>
 | |
| 							{{end}}
 | |
| 							<a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}">{{svg "octicon-trash"}} {{$.i18n.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"}}
 | |
| 			{{.i18n.Tr "repo.milestones.deletion"}}
 | |
| 		</div>
 | |
| 		<div class="content">
 | |
| 			<p>{{.i18n.Tr "repo.milestones.deletion_desc"}}</p>
 | |
| 		</div>
 | |
| 		<div class="actions">
 | |
| 			<div class="ui red basic inverted cancel button">
 | |
| 				<i class="remove icon"></i>
 | |
| 				{{.i18n.Tr "modal.no"}}
 | |
| 			</div>
 | |
| 			<div class="ui green basic inverted ok button">
 | |
| 				<i class="checkmark icon"></i>
 | |
| 				{{.i18n.Tr "modal.yes"}}
 | |
| 			</div>
 | |
| 		</div>
 | |
| 	</div>
 | |
| {{end}}
 | |
| {{template "base/footer" .}}
 | |
| 
 |