diff options
Diffstat (limited to 'templates/repo/issue')
-rw-r--r-- | templates/repo/issue/alert.tmpl | 5 | ||||
-rw-r--r-- | templates/repo/issue/create.tmpl | 6 | ||||
-rw-r--r-- | templates/repo/issue/label_precolors.tmpl | 16 | ||||
-rw-r--r-- | templates/repo/issue/labels.tmpl | 111 | ||||
-rw-r--r-- | templates/repo/issue/list.tmpl | 246 | ||||
-rw-r--r-- | templates/repo/issue/milestone.tmpl | 43 | ||||
-rw-r--r-- | templates/repo/issue/milestone_edit.tmpl | 61 | ||||
-rw-r--r-- | templates/repo/issue/milestone_new.tmpl | 130 | ||||
-rw-r--r-- | templates/repo/issue/milestones.tmpl | 127 | ||||
-rw-r--r-- | templates/repo/issue/navbar.tmpl | 7 | ||||
-rw-r--r-- | templates/repo/issue/view.tmpl | 16 |
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> |