@(issues: List[model.Issue], labels: List[model.Label], milestones: List[model.Milestone], condition: service.IssuesService.IssueSearchCondition, repository: service.RepositoryService.RepositoryInfo, isWritable: Boolean)(implicit context: app.Context) @import context._ @import view.helpers._ @html.main("Issues - " + repository.owner + "/" + repository.name){ @html.header("issues", repository) @issuestab("issues", repository) <div class="row-fluid"> <div class="span3"> <ul class="nav nav-pills nav-stacked"> <li class="active"> <a href="#"> <span class="count-right">0</span> Everyone's Issues </a> </li> @if(loginAccount.isDefined){ <li> <a href="#"> <span class="count-right">0</span> Assigned to you </a> </li> <li> <a href="#"> <span class="count-right">0</span> Created by you </a> </li> } </ul> <hr/> @if(condition.milestoneId.isEmpty){ No milestone selected } else { <span class="description">Milestone:</span> @milestones.find(_.milestoneId == condition.milestoneId.get).map(_.title) } <div class="btn-group"> <button class="btn dropdown-toggle" data-toggle="dropdown"> <i class="icon-cog"></i> <span class="caret"></span> </button> <ul class="dropdown-menu"> @milestones.map { milestone => <li><a href="@condition.copy(milestoneId = Some(milestone.milestoneId)).toURL(repository)">@milestone.title</a></li> } </ul> </div> <hr/> <strong>Labels</strong> <div> <div id="label-list"> <ul class="label-list nav nav-pills nav-stacked"> @labels.map { label => <li> <a href="@condition.copy(labels = (if(condition.labels.contains(label.labelName)) condition.labels - label.labelName else condition.labels + label.labelName)).toURL(repository)" @if(condition.labels.contains(label.labelName)){style="background-color: #@label.color; color: #@label.fontColor;"}> <span class="count-right">0</span> <span style="background-color: #@label.color;" class="label-color"> </span> @label.labelName </a> </li> } </ul> </div> </div> @if(isWritable){ <hr/> <input type="button" class="btn btn-block" id="manageLabel" data-toggle="button" value="Manage Labels"/> <br/> <strong>New label</strong> @labeledit(None, repository) } </div> <div class="span9"> @if(condition.labels.nonEmpty || condition.milestoneId.isDefined){ <a href="@(new service.IssuesService.IssueSearchCondition().toURL(repository))" id="clear-filter"> <i class="icon-remove-circle"></i> Clear milestone and label filters </a> } <div class="pagination pull-right"> <ul> <li class="disabled"><span>◀</span></li> <li class="active"><span>1</span></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li><span>…</span></li> <li><a href="#">7</a></li> <li><a href="#">▶</a></li> </ul> </div> <div class="btn-group"> <a class="btn@if(condition.state == "open"){ active}" href="@condition.copy(state = "open").toURL(repository)">1 Open</a> <a class="btn@if(condition.state == "closed"){ active}" href="@condition.copy(state = "closed").toURL(repository)">1 Closed</a> </div> <div class="btn-group"> <button class="btn dropdown-toggle" data-toggle="dropdown"> Sort: <strong> @if(condition.sort == "created" && condition.direction == "desc"){ Newest } @if(condition.sort == "created" && condition.direction == "asc" ){ Oldest } @if(condition.sort == "comments" && condition.direction == "desc"){ Most commented } @if(condition.sort == "comments" && condition.direction == "asc" ){ Least commented } @if(condition.sort == "updated" && condition.direction == "desc"){ Recently updated } @if(condition.sort == "updated" && condition.direction == "asc" ){ Least recently updated } </strong> <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="@condition.copy(sort="created", direction="desc").toURL(repository)">Newest</a></li> <li><a href="@condition.copy(sort="created", direction="asc" ).toURL(repository)">Oldest</a></li> <li><a href="@condition.copy(sort="comments", direction="desc").toURL(repository)">Most commented</a></li> <li><a href="@condition.copy(sort="comments", direction="asc" ).toURL(repository)">Least commented</a></li> <li><a href="@condition.copy(sort="updated", direction="desc").toURL(repository)">Recently updated</a></li> <li><a href="@condition.copy(sort="updated", direction="asc" ).toURL(repository)">Least recently updated</a></li> </ul> </div> <table class="table table-bordered table-hover"> @issues.map { issue => <tr><td> <a href="@path/@repository.owner/@repository.name/issues/@issue.issueId">@issue.title</a> <span class="pull-right muted">#@issue.issueId</span> <div class="small muted"> Opened by <a href="@path/@repository.owner">@issue.openedUserName</a> @datetime(issue.registeredDate) </div> </td></tr> } </table> </div> </div> } @if(isWritable){ <script> $(function(){ $('#manageLabel').click(function(){ if($(this).data('toggle-state')){ location.href = '@path/@repository.owner/@repository.name/issues'; } else { $(this).data('toggle-state', 'on'); $.get('@path/@repository.owner/@repository.name/issues/label/edit', function(data){ var parent = $('#label-list').parent(); $('#label-list').remove(); parent.append(data); }); } }); }); </script> } <style type="text/css"> ul.label-list { list-style-type: none; padding-left: 0px; margin-left: 0px; font-size: 90%; } ul.label-list a { padding-left: 6px; padding-top: 4px; padding-bottom: 4px; margin-bottom: 8px; color: #444; } span.label-color { border-radius: 2px; -webkit-border-radius: 2px; -moz-border-radius: 2px; } a#clear-filter { display: block; color: #444; font-weight: bold; margin-bottom: 10px; } </style>