@(commits: Seq[Seq[util.JGitUtil.CommitInfo]], diffs: List[util.JGitUtil.DiffInfo], origin: String, originId: String, forkedId: String, commitId: String, repository: service.RepositoryService.RepositoryInfo, originRepository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context) @import context._ @import view.helpers._ @import org.eclipse.jgit.diff.DiffEntry.ChangeType @html.main("Pull Requests - " + repository.owner + "/" + repository.name){ @html.header("pulls", repository) <div style="border: 1px solid #eee; background-color: #f8f8f8; margin-bottom: 10px; padding: 8px;"> <div id="compare-info"> <a href="#" id="edit-compare-condition" class="btn btn-mini pull-right">Edit</a> <span class="label label-info monospace">@origin:@originId</span> ... <span class="label label-info monospace">@repository.owner:@forkedId</span> </div> <div id="compare-edit" style="display: none;"> <a href="#" id="refresh-compare" class="pull-right"><i class="icon-remove-circle"></i></a> <span class="label label-info monospace">@origin/@repository.name:</span> @helper.html.dropdown(originId) { @originRepository.branchList.map { branch => <li><a href="#" class="origin-branch" data-branch="@branch">@helper.html.checkicon(branch == originId) @branch</a></li> } } ... <span class="label label-info monospace">@repository.owner/@repository.name:</span> @helper.html.dropdown(forkedId) { @repository.branchList.map { branch => <li><a href="#" class="forked-branch" data-branch="@branch">@helper.html.checkicon(branch == forkedId) @branch</a></li> } } </div> </div> <div style="margin-bottom: 10px;"> <a href="#" class="btn">Click to create a pull request for this comparison</a> </div> <div class="box"> <table class="table table-file-list" style="border: 1px solid silver;"> @commits.map { day => <tr> <th colspan="3" class="box-header" style="font-weight: normal;">@date(day.head.time)</th> </tr> @day.map { commit => <tr> <td style="width: 20%;"> @avatar(commit.committer, 20) <a href="@url(commit.committer)" class="username">@commit.committer</a> </td> <td>@commit.shortMessage</td> <td style="width: 10%; text-align: right;"> <a href="@url(repository)/commit/@commit.id" class="monospace">@commit.id.substring(0, 7)</a> </td> </tr> } } </table> </div> <div> <div class="pull-right" style="margin-bottom: 10px;"> <input id="toggle-file-list" type="button" class="btn" value="Show file list"/> </div> Showing @diffs.size changed @plural(diffs.size, "file") </div> <ul id="commit-file-list" style="display: none;"> @diffs.zipWithIndex.map { case (diff, i) => <li@if(i > 0){ class="border"}> <a href="#diff-@i"> @if(diff.changeType == ChangeType.COPY || diff.changeType == ChangeType.RENAME){ <img src="@assets/common/images/diff_move.png"/> @diff.oldPath -> @diff.newPath } @if(diff.changeType == ChangeType.ADD){ <img src="@assets/common/images/diff_add.png"/> @diff.newPath } @if(diff.changeType == ChangeType.MODIFY){ <img src="@assets/common/images/diff_edit.png"/> @diff.newPath } @if(diff.changeType == ChangeType.DELETE){ <img src="@assets/common/images/diff_delete.png"/> @diff.oldPath } </a> </li> } </ul> @helper.html.diff(diffs, repository, Some(commitId)) } <script> $(function(){ $('#edit-compare-condition').click(function(){ $('#compare-info').hide(); $('#compare-edit').show(); }); $('a.origin-branch, a.forked-branch').click(function(){ var e = $(this); e.parents('ul').find('i').attr('class', 'icon-white'); e.find('i').attr('class', 'icon-ok'); e.parents('div.btn-group').find('button strong').text(e.data('branch')); }); $('#refresh-compare').click(function(){ location.href = '@url(repository)/pulls/compare/@origin:' + $.trim($('i.icon-ok').parents('a.origin-branch').text()) + '...' + $.trim($('i.icon-ok').parents('a.forked-branch').text()); }); $('#toggle-file-list').click(function(){ $('#commit-file-list').toggle(); if($(this).val() == 'Show file list'){ $(this).val('Hide file list'); } else { $(this).val('Show file list'); } }); }); </script>