aboutsummaryrefslogtreecommitdiff
path: root/templates/repo/issue
diff options
context:
space:
mode:
Diffstat (limited to 'templates/repo/issue')
-rw-r--r--templates/repo/issue/alert.tmpl5
-rw-r--r--templates/repo/issue/create.tmpl6
-rw-r--r--templates/repo/issue/label_precolors.tmpl16
-rw-r--r--templates/repo/issue/labels.tmpl111
-rw-r--r--templates/repo/issue/list.tmpl246
-rw-r--r--templates/repo/issue/milestone.tmpl43
-rw-r--r--templates/repo/issue/milestone_edit.tmpl61
-rw-r--r--templates/repo/issue/milestone_new.tmpl130
-rw-r--r--templates/repo/issue/milestones.tmpl127
-rw-r--r--templates/repo/issue/navbar.tmpl7
-rw-r--r--templates/repo/issue/view.tmpl16
11 files changed, 473 insertions, 295 deletions
diff --git a/templates/repo/issue/alert.tmpl b/templates/repo/issue/alert.tmpl
new file mode 100644
index 00000000..bdc32ce4
--- /dev/null
+++ b/templates/repo/issue/alert.tmpl
@@ -0,0 +1,5 @@
+{{if .Flash}}
+<div class="sixteen wide center aligned centered column">
+ {{template "base/alert" .}}
+</div>
+{{end}} \ No newline at end of file
diff --git a/templates/repo/issue/create.tmpl b/templates/repo/issue/create.tmpl
index ed7ba355..307be6aa 100644
--- a/templates/repo/issue/create.tmpl
+++ b/templates/repo/issue/create.tmpl
@@ -12,7 +12,7 @@
</div>
<div class="col-md-8 panel panel-default">
<div class="form-group panel-body">
- <input class="form-control input-lg" type="text" name="title" required="required" placeholder="Title" value="{{.title}}" />
+ <input class="form-control input-lg" type="text" name="title" required="required" placeholder="Title" value="{{.title}}" autofocus />
</div>
<div class="form-group panel-body">
{{if .IsRepositoryOwner}}
@@ -54,7 +54,7 @@
{{else}}
<ul class="list-unstyled">
{{range .OpenMilestones}}
- <li class="milestone-item" data-id="{{.Id}}">
+ <li class="milestone-item" data-id="{{.ID}}">
<p><strong>{{.Name}}</strong></p>
<!-- <p>due to 3 days later</p> -->
</li>
@@ -69,7 +69,7 @@
{{else}}
<ul class="list-unstyled">
{{range .ClosedMilestones}}
- <li class="milestone-item" data-id="{{.Id}}">
+ <li class="milestone-item" data-id="{{.ID}}">
<p><strong>{{.Name}}</strong></p>
<p>Closed {{TimeSince .ClosedDate $.Lang}}</p>
</li>
diff --git a/templates/repo/issue/label_precolors.tmpl b/templates/repo/issue/label_precolors.tmpl
new file mode 100644
index 00000000..378281b3
--- /dev/null
+++ b/templates/repo/issue/label_precolors.tmpl
@@ -0,0 +1,16 @@
+<a class="color" style="background-color:#e11d21" data-color-hex="#e11d21"></a>
+<a class="color" style="background-color:#eb6420" data-color-hex="#eb6420"></a>
+<a class="color" style="background-color:#fbca04" data-color-hex="#fbca04"></a>
+<a class="color" style="background-color:#009800" data-color-hex="#009800"></a>
+<a class="color" style="background-color:#006b75" data-color-hex="#006b75"></a>
+<a class="color" style="background-color:#207de5" data-color-hex="#207de5"></a>
+<a class="color" style="background-color:#0052cc" data-color-hex="#0052cc"></a>
+<a class="color" style="background-color:#53e917" data-color-hex="#53e917"></a>
+<a class="color" style="background-color:#f6c6c7" data-color-hex="#f6c6c7"></a>
+<a class="color" style="background-color:#fad8c7" data-color-hex="#fad8c7"></a>
+<a class="color" style="background-color:#fef2c0" data-color-hex="#fef2c0"></a>
+<a class="color" style="background-color:#bfe5bf" data-color-hex="#bfe5bf"></a>
+<a class="color" style="background-color:#bfdadc" data-color-hex="#bfdadc"></a>
+<a class="color" style="background-color:#c7def8" data-color-hex="#c7def8"></a>
+<a class="color" style="background-color:#bfd4f2" data-color-hex="#bfd4f2"></a>
+<a class="color" style="background-color:#d4c5f9" data-color-hex="#d4c5f9"></a> \ No newline at end of file
diff --git a/templates/repo/issue/labels.tmpl b/templates/repo/issue/labels.tmpl
new file mode 100644
index 00000000..4fcaec07
--- /dev/null
+++ b/templates/repo/issue/labels.tmpl
@@ -0,0 +1,111 @@
+{{template "base/head" .}}
+<div class="repository labels">
+ {{template "repo/header" .}}
+ <div class="ui middle page grid body">
+ <div class="navbar">
+ {{template "repo/issue/navbar" .}}
+ {{if .IsRepositoryAdmin}}
+ <form class="ui right form" action="{{$.RepoLink}}/labels/new" method="post">
+ {{.CsrfTokenHtml}}
+ <div class="ui right floated secondary menu">
+ <div class="input item">
+ <div class="ui large input">
+ <input class="new-label-input" name="title" placeholder="{{.i18n.Tr "repo.issues.new_label_placeholder"}}" required>
+ </div>
+ </div>
+ <div class="item">
+ <div class="ui large input">
+ <input class="color-picker" name="color" value="#70c24a" required>
+ </div>
+ </div>
+ <div class="item precolors">
+ {{template "repo/issue/label_precolors"}}
+ </div>
+ <button class="ui green button">{{.i18n.Tr "repo.issues.new_label"}}</button>
+ </div>
+ </form>
+ {{end}}
+ </div>
+ <div class="ui divider"></div>
+ {{template "repo/issue/alert" .}}
+ <div class="ui left">
+ <div class="ui black label">{{.i18n.Tr "repo.issues.label_count" .NumLabels}}</div>
+ </div>
+
+ <div class="sixteen wide column">
+ <div class="label list">
+ {{range .Labels}}
+ <li class="item">
+ <div class="ui label" style="background-color: {{.Color}}"><i class="octicon octicon-tag"></i> {{.Name}}</div>
+ {{if $.IsRepositoryAdmin}}
+ <a class="ui right delete-button" href="#" data-url="{{$.RepoLink}}/labels/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a>
+ <a class="ui right edit-label-button" href="#" data-id={{.ID}} data-title={{.Name}} data-color={{.Color}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a>
+ {{end}}
+ <a class="ui right open-issues" href="{{$.RepoLink}}/issues?labels={{.ID}}"><i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.label_open_issues" .NumOpenIssues}}</a>
+ </li>
+ {{end}}
+ </div>
+ </div>
+ </div>
+</div>
+
+{{if .IsRepositoryAdmin}}
+<div class="ui basic delete modal">
+ <div class="header">
+ {{.i18n.Tr "repo.issues.label_deletion"}}
+ </div>
+ <div class="content">
+ <div class="image">
+ <i class="trash icon"></i>
+ </div>
+ <div class="description">
+ <p>{{.i18n.Tr "repo.issues.label_deletion_desc"}}</p>
+ </div>
+ </div>
+ <div class="actions">
+ <div class="two fluid ui inverted buttons">
+ <div class="ui red basic inverted button">
+ <i class="remove icon"></i>
+ {{.i18n.Tr "modal.no"}}
+ </div>
+ <div class="ui green basic inverted positive button">
+ <i class="checkmark icon"></i>
+ {{.i18n.Tr "modal.yes"}}
+ </div>
+ </div>
+ </div>
+</div>
+
+<div class="ui small edit-label modal">
+ <div class="header">
+ {{.i18n.Tr "repo.issues.label_modify"}}
+ </div>
+ <div class="content">
+ <form class="ui edit-label form" action="{{$.RepoLink}}/labels/edit" method="post">
+ {{.CsrfTokenHtml}}
+ <input id="label-modal-id" name="id" type="hidden">
+ <div class="inline fields">
+ <div class="field">
+ <input id="label-modal-title" name="title" placeholder="{{.i18n.Tr "repo.issues.new_label_placeholder"}}" required>
+ </div>
+ <div class="field">
+ <input id="label-modal-color" class="color-picker" name="color" value="#70c24a" required>
+ </div>
+ <div class="field precolors">
+ {{template "repo/issue/label_precolors"}}
+ </div>
+ </div>
+ </form>
+ </div>
+ <div class="actions">
+ <div class="ui negative button">
+ {{.i18n.Tr "modal.no"}}
+ </div>
+ <div class="ui positive right labeled icon button">
+ {{.i18n.Tr "modal.modify"}}
+ <i class="checkmark icon"></i>
+ </div>
+ </div>
+</div>
+{{end}}
+{{template "base/footer" .}} \ No newline at end of file
diff --git a/templates/repo/issue/list.tmpl b/templates/repo/issue/list.tmpl
index 0c817bc1..128b3c0b 100644
--- a/templates/repo/issue/list.tmpl
+++ b/templates/repo/issue/list.tmpl
@@ -1,120 +1,128 @@
-{{template "base/head_old" .}}
-{{template "base/navbar" .}}
-{{template "repo/nav" .}}
-{{template "repo/toolbar" .}}
-<div id="body" class="container">
- <div id="issue">
- <div class="col-md-3 filters">
- <div class="filter-list">
- <ul class="list-unstyled">
- <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>
- <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>
- <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>
- <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>
- </ul>
- </div>
- <div class="label-filter">
- <h4>Label</h4>
- <ul class="list-unstyled" id="label-list" data-ajax="{{$.RepoLink}}/issues/labels/delete">
- {{range .Labels}}
- <li class="label-item{{if eq $.SelectLabels .Id}} label-selected{{end}}" id="label-{{.Id}}" data-id="{{.Id}}">
- <a href="?type={{$.ViewType}}&state={{$.State}}{{if not (eq $.SelectLabels .Id)}}&labels={{.Id}}{{end}}">
- <span class="pull-right count">{{if $.IsShowClosed}}{{.NumClosedIssues}}{{else}}{{.NumOpenIssues}}{{end}}</span>
- <span class="color" style="background-color: {{.Color}}" data-color="{{.Color}}"></span>
- <span class="name">{{.Name}}</span>
- </a>
- <a class="del pull-right" href="#" data-id="{{.Id}}"><i class="fa fa-times-circle-o"></i></a>
- </li>
- {{end}}
- {{if or .IsRepositoryOwner .IsAdmin}}
- <li class="label-change-li" style="display: none">
- <form id="label-change-form" action="{{$.RepoLink}}/issues/labels/edit" method="post">
- {{.CsrfTokenHtml}}
- <div class="input-group label-change-color-picker form-group" style="margin-bottom: 2px">
- <input type="text" class="form-control" name="title" required="required" id="label-name-change-ipt"/>
- <input type="hidden" name="color" id="label-color-change-ipt" value="#444444"/>
- <span class="input-group-addon"><i></i></span>
- <input type="hidden" name="id" id="label-change-id-ipt" value="0"/>
- </div>
- <div class="form-group text-right">
- <input class="form-control input-sm" type="text" id="label-color-change-ipt2" value="#444444"/>
- <button class="btn btn-default btn-sm">Save</button>
- </div>
- </form>
- </li>
- {{end}}
- </ul>
- {{if or .IsRepositoryOwner .IsAdmin}}
- <button class="btn btn-default btn-block label-button" id="label-manage-btn">Manage Labels</button>
- <hr/>
- <form id="label-add-form" action="{{$.RepoLink}}/issues/labels/new" method="post">
- {{.CsrfTokenHtml}}
- <h5><strong>New Label</strong></h5>
- <div class="input-group label-color-picker form-group">
- <input type="text" class="form-control" name="title" required="required" id="label-name-ipt"/>
- <input type="hidden" name="color" id="label-color-ipt" value="#444444"/>
- <span class="input-group-addon"><i></i></span>
- </div>
- <div class="form-group text-right">
- <input class="form-control input-sm" type="text" id="label-color-ipt2" value="#444444"/>
- <button class="btn btn-default btn-sm">Create</button>
- </div>
- </form>
- {{end}}
- </div>
- </div>
- <div class="col-md-9">
- {{template "base/alert" .}}
- <div class="filter-option">
- <div class="btn-group">
- <a class="btn btn-default issue-open{{if not .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/issues?type={{.ViewType}}">{{.IssueStats.OpenCount}} Open</a>
- <a class="btn btn-default issue-close{{if .IsShowClosed}} active{{end}}" href="{{.RepoLink}}/issues?type={{.ViewType}}&state=closed">{{.IssueStats.ClosedCount}} Closed</a>
- </div>
- </div>
- <div class="issues list-group">
- {{range .Issues}}{{if .Poster}}
- <div class="list-group-item issue-item{{if not .IsRead}} unread{{end}}" id="issue-{{.Id}}">
- <span class="number pull-right">#{{.Index}}</span>
- <h5 class="title">
- <a href="{{$.RepoLink}}/issues/{{.Index}}">{{.Name}}</a>
- <span class="labels">
- {{range .Labels}}
- <span class="label" style="background-color: {{.Color}}">{{.Name}}</span>
- {{end}}
- </span>
- </h5>
- <p class="info">
- <span class="author"><img class="avatar" src="{{.Poster.AvatarLink}}" alt="" width="20"/>
- <a href="{{AppSubUrl}}/{{.Poster.Name}}">{{.Poster.Name}}</a></span>
- <span class="time">{{TimeSince .Created $.Lang}}</span>
- <span class="comment"><i class="fa fa-comments"></i> {{.NumComments}}</span>
- </p>
- </div>
- {{end}}{{end}}
- </div>
- </div>
- </div>
- </div>
+{{template "base/head" .}}
+<div class="repository">
+ {{template "repo/header" .}}
+ <div class="ui middle page grid body">
+ <div class="navbar">
+ {{template "repo/issue/navbar" .}}
+ <div class="ui right floated secondary menu">
+ <a class="ui green button" href="{{$.RepoLink}}/issues/new">{{.i18n.Tr "repo.issues.new"}}</a>
+ </div>
+ </div>
+ <div class="ui divider"></div>
+ <div class="ui left">
+ <div class="ui tiny buttons">
+ <a class="ui green basic button {{if not .IsShowClosed}}active{{end}}" href="{{.RepoLink}}/issues?type={{$.ViewType}}&state=open&labels={{.SelectLabels}}&milestone={{.MilestoneID}}">
+ <i class="octicon octicon-issue-opened"></i>
+ {{.i18n.Tr "repo.issues.open_tab" .IssueStats.OpenCount}}
+ </a>
+ <a class="ui red basic button {{if .IsShowClosed}}active{{end}}" href="{{.RepoLink}}/issues?type={{.ViewType}}&state=closed&labels={{.SelectLabels}}&milestone={{.MilestoneID}}">
+ <i class="octicon octicon-issue-closed"></i>
+ {{.i18n.Tr "repo.issues.close_tab" .IssueStats.ClosedCount}}
+ </a>
+ </div>
+ </div>
+ <div class="ui right floated secondary filter menu">
+ <div class="ui {{if not .Labels}}disabled{{end}} pointing dropdown jump item">
+ <span class="text">
+ {{.i18n.Tr "repo.issues.filter_label"}}
+ <i class="dropdown icon"></i>
+ </span>
+ <div class="menu">
+ <a class="item" href="{{$.RepoLink}}/issues?type={{$.ViewType}}&state={{$.State}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_label_no_select"}}</a>
+ {{range .Labels}}
+ <a class="item" href="{{$.RepoLink}}/issues?type={{$.ViewType}}&state={{$.State}}&labels={{.ID}}&milestone={{$.MilestoneID}}"><span class="octicon {{if eq $.SelectLabels .ID}}octicon-check{{end}}"></span><span class="label color" style="background-color: {{.Color}}"></span> {{.Name}}</a>
+ {{end}}
+ </div>
+ </div>
+ <div class="ui {{if not .Milestones}}disabled{{end}} pointing dropdown jump item">
+ <span class="text">
+ {{.i18n.Tr "repo.issues.filter_milestone"}}
+ <i class="dropdown icon"></i>
+ </span>
+ <div class="menu">
+ <a class="item" href="{{$.RepoLink}}/issues?type={{$.ViewType}}&state={{$.State}}&labels={{.SelectLabels}}">{{.i18n.Tr "repo.issues.filter_milestone_no_select"}}</a>
+ {{range .Milestones}}
+ <a class="clickable item" href="{{$.RepoLink}}/issues?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}"><span class="octicon {{if eq $.MilestoneID .ID}}octicon-check{{end}}"></span> <span class="name">{{.Name}}</span></a>
+ {{end}}
+ </div>
+ </div>
+ <!-- <div class="ui {{if not .Assignees}}disabled{{end}} pointing dropdown jump item">
+ <span class="text">
+ {{.i18n.Tr "repo.issues.filter_assignee"}}
+ <i class="dropdown icon"></i>
+ </span>
+ <div class="menu">
+ {{range .Assignees}}
+ <a class="item" href="{{$.RepoLink}}/issues">{{.Name}}</a>
+ {{end}}
+ </div>
+ </div> -->
+ <div class="ui pointing dropdown type jump item">
+ <span class="text">
+ {{.i18n.Tr "repo.issues.filter_type"}}
+ <i class="dropdown icon"></i>
+ </span>
+ <div class="menu">
+ <a class="{{if eq .ViewType "all"}}active{{end}} item" href="{{$.RepoLink}}/issues?type=all&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_type.all_issues"}}</a>
+ <a class="{{if eq .ViewType "assigned"}}active{{end}} item" href="{{$.RepoLink}}/issues?type=assigned&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_type.assigned_to_you"}}</a>
+ <a class="{{if eq .ViewType "created_by"}}active{{end}} item" href="{{$.RepoLink}}/issues?type=created_by&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_type.created_by_you"}}</a>
+ <a class="{{if eq .ViewType "mentioned"}}active{{end}} item" href="{{$.RepoLink}}/issues?type=mentioned&state={{$.State}}&labels={{.SelectLabels}}&milestone={{$.MilestoneID}}">{{.i18n.Tr "repo.issues.filter_type.mentioning_you"}}</a>
+ </div>
+ </div>
+ </div>
+
+ <div class="sixteen wide column">
+ <div class="issue list">
+ {{range .Issues}}
+ {{ $timeStr:= TimeSince .Created $.Lang }}
+ <li class="item">
+ <div class="ui {{if .IsRead}}black{{else}}green{{end}} label">#{{.Index}}</div>
+ <a class="title" href="{{$.RepoLink}}/issues/{{.Index}}">{{.Name}}</a>
+
+ {{range .Labels}}
+ <a class="ui label" href="{{$.RepoLink}}/issues?type={{$.ViewType}}&state={{$.State}}&labels={{.ID}}&milestone={{$.MilestoneID}}" style="background-color: {{.Color}}">{{.Name}}</a>
+ {{end}}
+
+ {{if .NumComments}}
+ <span class="comment ui right"><i class="octicon octicon-comment"></i> {{.NumComments}}</span>
+ {{end}}
+
+ <p class="desc">
+ {{$.i18n.Tr "repo.issues.opened_by" $timeStr .Poster.Name|Str2html}}
+ {{if .Milestone}}
+ {{with .Milestone}}
+ <a class="milestone" href="{{$.RepoLink}}/issues?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{.ID}}">
+ <span class="octicon octicon-milestone"></span> {{.Name}}
+ </a>
+ {{end}}
+ {{end}}
+ </p>
+ </li>
+ {{end}}
+
+ {{with .Page}}
+ {{if gt .TotalPages 1}}
+ <div class="center page buttons">
+ <div class="ui borderless pagination menu">
+ <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&page={{.Previous}}"{{end}}>
+ <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}}
+ </a>
+ {{range .Pages}}
+ {{if eq .Num -1}}
+ <a class="disabled item">...</a>
+ {{else}}
+ <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&page={{.Num}}"{{end}}>{{.Num}}</a>
+ {{end}}
+ {{end}}
+ <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?type={{$.ViewType}}&state={{$.State}}&labels={{$.SelectLabels}}&milestone={{$.MilestoneID}}&page={{.Next}}"{{end}}>
+ {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i>
+ </a>
+ </div>
+ </div>
+ {{end}}
+ {{end}}
+ </div>
+ </div>
+ </div>
</div>
-<script src="/js/bootstrap-colorpicker.min.js"></script>
-<script>
- $(function(){
- $('.label-color-picker').colorpicker({
- input: $('#label-color-ipt')
- }).on('changeColor', function (ev) {
- var $ipt = $('#label-color-ipt2');
- if ($ipt.val().length != 4) {
- $ipt.val(ev.color.toHex());
- }
- });
- $('.label-change-color-picker').colorpicker({
- input:$('#label-color-change-ipt')
- }).on('changeColor', function (ev) {
- var $ipt = $('#label-color-change-ipt2');
- if ($ipt.val().length != 4) {
- $ipt.val(ev.color.toHex());
- }
- });
- });
-</script>
-{{template "base/footer_old" .}}
+{{template "base/footer" .}}
diff --git a/templates/repo/issue/milestone.tmpl b/templates/repo/issue/milestone.tmpl
deleted file mode 100644
index a09b2600..00000000
--- a/templates/repo/issue/milestone.tmpl
+++ /dev/null
@@ -1,43 +0,0 @@
-{{template "base/head_old" .}}
-{{template "base/navbar" .}}
-{{template "repo/nav" .}}
-{{template "repo/toolbar" .}}
-<div id="body" class="container">
- <div id="issue">
- <div class="col-md-3 filter-list">
- <ul class="list-unstyled">
- <li><a href="{{.RepoLink}}/issues/milestones"{{if eq .State "open"}} class="active"{{end}}>Open Milestones <strong class="pull-right">{{.Repository.NumOpenMilestones}}</strong></a></li>
- <li><a href="{{.RepoLink}}/issues/milestones?state=closed"{{if eq .State "closed"}} class="active"{{end}}>Close Milestones <strong class="pull-right">{{.Repository.NumClosedMilestones}}</strong></a></li>
- </ul>
- <hr/>
- <a href="{{.RepoLink}}/issues/milestones/new" class="text-center">
- <button class="btn btn-default btn-block">Create new milestone</button>
- </a>
- </div>
- <div class="col-md-9">
- <div class="milestones list-group">
- {{range .Milestones}}
- <div class="list-group-item milestone-item">
- <h4 class="title pull-left"><a href="{{$.RepoLink}}/issues?milestone={{.Index}}{{if .IsClosed}}&state=closed{{end}}">{{.Name}}</a></h4>
- <span class="issue-open label label-success">{{.NumOpenIssues}}</span>
- <span class="issue-close label label-warning">{{.NumClosedIssues}}</span>
- <p class="actions pull-right">
- <a href="{{$.RepoLink}}/issues/milestones/{{.Index}}/edit">Edit</a>
- {{if .IsClosed}}
- <a href="{{$.RepoLink}}/issues/milestones/{{.Index}}/open">Open</a>
- {{else}}
- <a href="{{$.RepoLink}}/issues/milestones/{{.Index}}/close">Close</a>
- {{end}}
- <a class="text-danger" href="{{$.RepoLink}}/issues/milestones/{{.Index}}/delete">Delete</a>
- <a href="{{$.RepoLink}}/issues?milestone={{.Index}}{{if .IsClosed}}&state=closed{{end}}">Issues</a>
- </p>
- <hr/>
- <p class="description">{{.RenderedContent | Str2html}}</p>
- </div>
- {{end}}
- </div>
- </div>
- </div>
-</div>
-</div>
-{{template "base/footer_old" .}}
diff --git a/templates/repo/issue/milestone_edit.tmpl b/templates/repo/issue/milestone_edit.tmpl
deleted file mode 100644
index f3898fa8..00000000
--- a/templates/repo/issue/milestone_edit.tmpl
+++ /dev/null
@@ -1,61 +0,0 @@
-{{template "base/head_old" .}}
-{{template "base/navbar" .}}
-{{template "repo/nav" .}}
-{{template "repo/toolbar" .}}
-<div id="body" class="container">
- <div id="issue">
- <form class="form" action="{{.RepoLink}}/issues/milestones/{{.Milestone.Index}}/edit" method="post" id="issue-create-form">
- {{.CsrfTokenHtml}}
- {{template "base/alert" .}}
- <div class="col-md-1">
- <img class="avatar" src="{{.SignedUser.AvatarLink}}" alt=""/>
- </div>
- <div class="col-md-8 panel panel-default">
- <div class="form-group panel-body">
- <input class="form-control input-lg" type="text" name="title" required="required" placeholder="Title" value="{{.Milestone.Name}}" />
- </div>
- <div class="form-group panel-body">
- <div class="md-help pull-right"><!-- todo help link -->
- Content with <a href="https://help.github.com/articles/markdown-basics">Markdown</a>
- </div>
- <ul class="nav nav-tabs" data-init="tabs">
- <li class="active issue-write"><a href="#issue-textarea" data-toggle="tab">Write</a></li>
- <li class="issue-preview"><a href="#issue-preview" data-toggle="tab" data-ajax="/api/v1/markdown" data-ajax-name="issue-preview" data-ajax-context="{{.RepoLink}}" data-ajax-method="post" data-preview="#issue-preview">Preview</a></li>
- </ul>
- <div class="tab-content">
- <div class="tab-pane" id="issue-textarea">
- <div class="form-group">
- <textarea class="form-control" name="content" id="issue-content" rows="10" placeholder="Write some content" data-ajax-rel="issue-preview" data-ajax-val="val" data-ajax-field="text">{{.Milestone.Content}}</textarea>
- </div>
- </div>
- <div class="tab-pane issue-preview-content" id="issue-preview">loading...</div>
- </div>
- </div>
- <div class="text-right panel-body">
- <div class="form-group">
- <input type="hidden" value="id" name="repo-id"/>
- <button class="btn-success btn">Update milestone</button>
- </div>
- </div>
- </div>
- <div class="col-md-3">
- <h4>Milestone Due Date</h4>
- <div class="form-group">
- <input name="due_date" type="text" class="form-control" id="milestone-due-date" value="{{.Milestone.DeadlineString}}">
- </div>
- </div>
- </form>
- </div>
-</div>
-<script src="/js/bootstrap-datepicker.js"></script>
-<script>
- $(function(){
- $('#milestone-due-date').datepicker({
- weekStart: 1,
- todayBtn: "linked",
- calendarWeeks: true,
- todayHighlight: true
- });
- });
-</script>
-{{template "base/footer_old" .}}
diff --git a/templates/repo/issue/milestone_new.tmpl b/templates/repo/issue/milestone_new.tmpl
index 2d9f60f4..8fd4d1bb 100644
--- a/templates/repo/issue/milestone_new.tmpl
+++ b/templates/repo/issue/milestone_new.tmpl
@@ -1,62 +1,70 @@
-{{template "base/head_old" .}}
-{{template "base/navbar" .}}
-{{template "repo/nav" .}}
-{{template "repo/toolbar" .}}
-<div id="body" class="container">
- <div id="issue">
- <form class="form" action="{{.RepoLink}}/issues/milestones/new" method="post" id="issue-create-form">
- {{.CsrfTokenHtml}}
- {{template "base/alert" .}}
- <div class="col-md-1">
- <img class="avatar" src="{{.SignedUser.AvatarLink}}" alt=""/>
- </div>
- <div class="col-md-8 panel panel-default">
- <div class="form-group panel-body">
- <input class="form-control input-lg" type="text" name="title" required="required" placeholder="Title" value="{{.title}}" />
- </div>
- <div class="form-group panel-body">
- <div class="md-help pull-right"><!-- todo help link -->
- Content with <a href="https://help.github.com/articles/markdown-basics">Markdown</a>
- </div>
- <ul class="nav nav-tabs" data-init="tabs">
- <li class="active issue-write"><a href="#issue-textarea" data-toggle="tab">Write</a></li>
- <li class="issue-preview"><a href="#issue-preview" data-toggle="tab" data-ajax="/api/v1/markdown" data-ajax-name="issue-preview" data-ajax-context="{{.RepoLink}}" data-ajax-method="post" data-preview="#issue-preview">Preview</a></li>
- </ul>
- <div class="tab-content">
- <div class="tab-pane" id="issue-textarea">
- <div class="form-group">
- <textarea class="form-control" name="content" id="issue-content" rows="10" placeholder="Write some content" data-ajax-rel="issue-preview" data-ajax-val="val" data-ajax-field="text">{{.content}}</textarea>
- </div>
- </div>
- <div class="tab-pane issue-preview-content" id="issue-preview">loading...</div>
- </div>
- </div>
- <div class="text-right panel-body">
- <div class="form-group">
- <input type="hidden" value="id" name="repo-id"/>
- <button class="btn-success btn">Create new milestone</button>
- </div>
- </div>
- </div>
- <div class="col-md-3">
- <h4>Milestone Due Date</h4>
-
- <div class="form-group">
- <input name="due_date" type="text" class="form-control" id="milestone-due-date">
- </div>
- </div>
- </form>
- </div>
+{{template "base/head" .}}
+<div class="repository new milestone">
+ {{template "repo/header" .}}
+ <div class="ui middle page grid body">
+ <div class="navbar">
+ {{template "repo/issue/navbar" .}}
+ {{if and .IsRepositoryAdmin .PageIsEditMilestone}}
+ <div class="ui right floated secondary menu">
+ <a class="ui green button" href="{{$.RepoLink}}/milestones/new">{{.i18n.Tr "repo.milestones.new"}}</a>
+ </div>
+ {{end}}
+ </div>
+ <div class="ui divider"></div>
+ <div class="sixteen wide column page grid">
+ <h2 class="ui dividing header">
+ {{if .PageIsEditMilestone}}
+ {{.i18n.Tr "repo.milestones.edit"}}
+ <div class="sub header">{{.i18n.Tr "repo.milestones.edit_subheader"}}</div>
+ {{else}}
+ {{.i18n.Tr "repo.milestones.new"}}
+ <div class="sub header">{{.i18n.Tr "repo.milestones.new_subheader"}}</div>
+ {{end}}
+ </h2>
+ <form class="ui form grid" action="{{.Link}}" method="post">
+ {{.CsrfTokenHtml}}
+ {{if .Flash}}
+ <div class="sixteen wide column">
+ {{template "base/alert" .}}
+ </div>
+ {{end}}
+ <div class="eleven wide column">
+ <div class="field {{if .Err_Title}}error{{end}}">
+ <label>{{.i18n.Tr "repo.milestones.title"}}</label>
+ <input name="title" placeholder="{{.i18n.Tr "repo.milestones.title"}}" value="{{.title}}" autofocus required>
+ </div>
+ <div class="field">
+ <label>{{.i18n.Tr "repo.milestones.desc"}}</label>
+ <textarea name="content">{{.content}}</textarea>
+ </div>
+ </div>
+ <div class="three wide column">
+ <div class="field {{if .Err_Deadline}}error{{end}}">
+ <label>
+ {{.i18n.Tr "repo.milestones.due_date"}}
+ <a id="clear-date" href="#">{{.i18n.Tr "repo.milestones.clear"}}</a>
+ </label>
+ <input id="deadline" name="deadline" value="{{.deadline}}">
+ </div>
+ <div class="field">
+ <input class="milestone datepicker" data-lang="{{.DateLang}}" data-start-date="{{.deadline}}">
+ </div>
+ </div>
+ <div class="ui divider"></div>
+ {{if .PageIsEditMilestone}}
+ <button class="ui right green button">
+ {{.i18n.Tr "repo.milestones.modify"}}
+ </button>
+ <a class="ui right blue basic button" href="{{.RepoLink}}/milestones">
+ {{.i18n.Tr "repo.milestones.cancel"}}
+ </a>
+ {{else}}
+ <button class="ui right green button">
+ {{.i18n.Tr "repo.milestones.create"}}
+ </button>
+ {{end}}
+ </form>
+ </div>
+ </div>
</div>
-<script src="/js/bootstrap-datepicker.js"></script>
-<script>
- $(function(){
- $('#milestone-due-date').datepicker({
- weekStart: 1,
- todayBtn: "linked",
- calendarWeeks: true,
- todayHighlight: true
- });
- });
-</script>
-{{template "base/footer_old" .}}
+{{template "base/footer" .}} \ No newline at end of file
diff --git a/templates/repo/issue/milestones.tmpl b/templates/repo/issue/milestones.tmpl
new file mode 100644
index 00000000..b9b159ea
--- /dev/null
+++ b/templates/repo/issue/milestones.tmpl
@@ -0,0 +1,127 @@
+{{template "base/head" .}}
+<div class="repository milestones">
+ {{template "repo/header" .}}
+ <div class="ui middle page grid body">
+ <div class="navbar">
+ {{template "repo/issue/navbar" .}}
+ {{if .IsRepositoryAdmin}}
+ <div class="ui right floated secondary menu">
+ <a class="ui green button" href="{{$.Link}}/new">{{.i18n.Tr "repo.milestones.new"}}</a>
+ </div>
+ {{end}}
+ </div>
+ <div class="ui divider"></div>
+ {{template "repo/issue/alert" .}}
+ <div class="ui left">
+ <div class="ui tiny buttons">
+ <a class="ui green basic button {{if not .IsShowClosed}}active{{end}}" href="{{.RepoLink}}/milestones?state=open">
+ <i class="octicon octicon-milestone"></i>
+ {{.i18n.Tr "repo.milestones.open_tab" .OpenCount}}
+ </a>
+ <a class="ui red basic button {{if .IsShowClosed}}active{{end}}" href="{{.RepoLink}}/milestones?state=closed">
+ <i class="octicon octicon-milestone"></i>
+ {{.i18n.Tr "repo.milestones.close_tab" .ClosedCount}}
+ </a>
+ </div>
+ </div>
+
+ <div class="sixteen wide column">
+ <div class="milestone list">
+ {{range .Milestones}}
+ <li class="item">
+ <i class="octicon octicon-milestone"></i> <a href="{{$.RepoLink}}/issues?state={{$.State}}&milestone={{.ID}}">{{.Name}}</a>
+ <div class="ui right blue 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:= TimeSince .ClosedDate $.Lang }}
+ {{if .IsClosed}}
+ <span class="octicon octicon-clock"></span> {{$.i18n.Tr "repo.milestones.closed" $closedDate|Str2html}}
+ {{else}}
+ <span class="octicon octicon-calendar"></span>
+ {{if .DeadlineString}}
+ <span {{if .IsOverDue}}class="overdue"{{end}}>{{.DeadlineString}}</span>
+ {{else}}
+ {{$.i18n.Tr "repo.milestones.no_due_date"}}
+ {{end}}
+ {{end}}
+ <span class="issue-stats">
+ <i class="octicon octicon-issue-opened"></i> {{$.i18n.Tr "repo.issues.open_tab" .NumOpenIssues}}
+ <i class="octicon octicon-issue-closed"></i> {{$.i18n.Tr "repo.issues.close_tab" .NumClosedIssues}}
+ </span>
+ </div>
+ {{if $.IsRepositoryAdmin}}
+ <div class="ui right operate">
+ <a href="{{$.Link}}/{{.ID}}/edit" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-pencil"></i> {{$.i18n.Tr "repo.issues.label_edit"}}</a>
+ {{if .IsClosed}}
+ <a href="{{$.Link}}/{{.ID}}/open" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-check"></i> {{$.i18n.Tr "repo.milestones.open"}}</a>
+ {{else}}
+ <a href="{{$.Link}}/{{.ID}}/close" data-id={{.ID}} data-title={{.Name}}><i class="octicon octicon-x"></i> {{$.i18n.Tr "repo.milestones.close"}}</a>
+ {{end}}
+ <a class="delete-button" href="#" data-url="{{$.RepoLink}}/milestones/delete" data-id="{{.ID}}"><i class="octicon octicon-trashcan"></i> {{$.i18n.Tr "repo.issues.label_delete"}}</a>
+ </div>
+ {{if .Content}}
+ <div class="content">
+ {{.RenderedContent|Str2html}}
+ </div>
+ {{end}}
+ {{end}}
+ </li>
+ {{end}}
+
+ {{with .Page}}
+ {{if gt .TotalPages 1}}
+ <div class="center page buttons">
+ <div class="ui borderless pagination menu">
+ <a class="{{if not .HasPrevious}}disabled{{end}} item" {{if .HasPrevious}}href="{{$.Link}}?state={{$.State}}&page={{.Previous}}"{{end}}>
+ <i class="left arrow icon"></i> {{$.i18n.Tr "repo.issues.previous"}}
+ </a>
+ {{range .Pages}}
+ {{if eq .Num -1}}
+ <a class="disabled item">...</a>
+ {{else}}
+ <a class="{{if .IsCurrent}}active{{end}} item" {{if not .IsCurrent}}href="{{$.Link}}?state={{$.State}}&page={{.Num}}"{{end}}>{{.Num}}</a>
+ {{end}}
+ {{end}}
+ <a class="{{if not .HasNext}}disabled{{end}} item" {{if .HasNext}}href="{{$.Link}}?state={{$.State}}&page={{.Next}}"{{end}}>
+ {{$.i18n.Tr "repo.issues.next"}} <i class="icon right arrow"></i>
+ </a>
+ </div>
+ </div>
+ {{end}}
+ {{end}}
+ </div>
+ </div>
+ </div>
+</div>
+
+{{if .IsRepositoryAdmin}}
+<div class="ui basic delete modal">
+ <div class="header">
+ {{.i18n.Tr "repo.milestones.deletion"}}
+ </div>
+ <div class="content">
+ <div class="image">
+ <i class="trash icon"></i>
+ </div>
+ <div class="description">
+ <p>{{.i18n.Tr "repo.milestones.deletion_desc"}}</p>
+ </div>
+ </div>
+ <div class="actions">
+ <div class="two fluid ui inverted buttons">
+ <div class="ui red basic inverted button">
+ <i class="remove icon"></i>
+ {{.i18n.Tr "modal.no"}}
+ </div>
+ <div class="ui green basic inverted positive button">
+ <i class="checkmark icon"></i>
+ {{.i18n.Tr "modal.yes"}}
+ </div>
+ </div>
+ </div>
+</div>
+{{end}}
+{{template "base/footer" .}} \ No newline at end of file
diff --git a/templates/repo/issue/navbar.tmpl b/templates/repo/issue/navbar.tmpl
new file mode 100644
index 00000000..509ee5f6
--- /dev/null
+++ b/templates/repo/issue/navbar.tmpl
@@ -0,0 +1,7 @@
+<div class="ui left">
+ <div class="ui compact menu">
+ <a class="{{if .PageIsIssueList}}active{{end}} item" href="{{.RepoLink}}/issues">{{.i18n.Tr "repo.issues"}}</a>
+ <a class="{{if .PageIsLabels}}active{{end}} item" href="{{.RepoLink}}/labels">{{.i18n.Tr "repo.labels"}}</a>
+ <a class="{{if .PageIsMilestones}}active{{end}} item" href="{{.RepoLink}}/milestones">{{.i18n.Tr "repo.milestones"}}</a>
+ </div>
+</div> \ No newline at end of file
diff --git a/templates/repo/issue/view.tmpl b/templates/repo/issue/view.tmpl
index b52ef505..61adfe61 100644
--- a/templates/repo/issue/view.tmpl
+++ b/templates/repo/issue/view.tmpl
@@ -3,15 +3,15 @@
{{template "repo/nav" .}}
{{template "repo/toolbar" .}}
<div id="body" class="container">
- <div id="issue" data-id="{{.Issue.Id}}">
- <div id="issue-{{.Issue.Id}}" class="issue-whole issue-is-opening">
+ <div id="issue" data-id="{{.Issue.ID}}">
+ <div id="issue-{{.Issue.ID}}" class="issue-whole issue-is-opening">
<div class="issue-wrap col-md-10">
<div class="issue-head clearfix">
<div class="number pull-right">#{{.Issue.Index}}</div>
<a class="author pull-left" href="{{AppSubUrl}}/{{.Issue.Poster.Name}}"><img class="avatar" src="{{.Issue.Poster.AvatarLink}}" alt="" width="30"/></a>
<h1 class="title pull-left">{{.Issue.Name}}</h1>
<input id="issue-edit-title" class="form-control input-lg pull-left hidden" type="text" value="{{.Issue.Name}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="title"/>
- <input type="hidden" value="{{.Issue.Id}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="issue_id"/>
+ <input type="hidden" value="{{.Issue.ID}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="issue_id"/>
<p class="info pull-left">
{{if .IsIssueOwner}}<a class="btn btn-default pull-right issue-edit" href="#" id="issue-edit-btn">Edit</a>
<a class="btn btn-danger pull-right issue-edit-cancel hidden" href="#">Cancel</a>
@@ -178,7 +178,7 @@
<div class="dropdown-menu dropdown-menu-right no">
<ul class="list-unstyled">
{{range .Labels}}
- <li class="{{if not .IsChecked}}no-{{end}}checked" data-id="{{.Id}}">
+ <li class="{{if not .IsChecked}}no-{{end}}checked" data-id="{{.ID}}">
{{if .IsChecked}}<span class="check pull-left"><i class="fa fa-check"></i></span>{{end}}
<span class="color" style="background-color: {{.Color}}"></span>
<span class="name">{{.Name}}</span>
@@ -191,13 +191,13 @@
<h4>Labels</h4>
{{if .Issue.Labels}}
{{range .Issue.Labels}}
- <p id="label-{{.Id}}" class="label-item label-white" style="background-color: {{.Color}}"><strong>{{.Name}}</strong></p>
+ <p id="label-{{.ID}}" class="label-item label-white" style="background-color: {{.Color}}"><strong>{{.Name}}</strong></p>
{{end}}
{{else}}
<p>None yet</p>
{{end}}
</div>
- <div class="milestone" data-milestone="{{.Milestone.Id}}" data-ajax="{{.Issue.Index}}/milestone">
+ <div class="milestone" data-milestone="{{.Milestone.ID}}" data-ajax="{{.Issue.Index}}/milestone">
<div class="pull-right action">
{{if .IsRepositoryOwner}}
<button class="btn btn-default btn-sm" data-toggle="dropdown">
@@ -219,7 +219,7 @@
{{else}}
<ul class="list-unstyled">
{{range .OpenMilestones}}
- <li class="milestone-item" data-id="{{.Id}}">
+ <li class="milestone-item" data-id="{{.ID}}">
<p><strong>{{.Name}}</strong></p>
<!-- <p>due to 3 days later</p> -->
</li>
@@ -234,7 +234,7 @@
{{else}}
<ul class="list-unstyled">
{{range .ClosedMilestones}}
- <li class="milestone-item" data-id="{{.Id}}">
+ <li class="milestone-item" data-id="{{.ID}}">
<p><strong>{{.Name}}</strong></p>
<p>Closed {{TimeSince .ClosedDate $.Lang}}</p>
</li>