Newer
Older
gitbucket_jkp / src / main / twirl / repo / branches.scala.html
@nazoking nazoking on 29 Jan 2015 3 KB new branches ui like GitHub.
@(branchInfo: Seq[util.JGitUtil.BranchInfo],
  hasWritePermission: Boolean,
  repository: service.RepositoryService.RepositoryInfo)(implicit context: app.Context)
@import context._
@import view.helpers._
@html.main(s"${repository.owner}/${repository.name}", Some(repository)) {
  @html.menu("code", repository){
    <h1>Branches</h1>
    <table class="table table-bordered table-hover table-issues">
      <thead>
        <tr>
          <th style="background: #f5f5f5;color: #666;">All branches</th>
        </tr>
      </thead>
      <tbody>
      @branchInfo.map { branch =>
        <tr><td style="padding: 12px;">
          <div class="branch-action">
              @branch.mergeInfo.map{ info =>
                <a href="@url(repository)/compare/@{encodeRefName(repository.repository.defaultBranch)}...@{encodeRefName(branch.name)}" class="btn btn-small">Compare</a>
                @if(hasWritePermission){
                  <a href="@url(repository)/delete/@encodeRefName(branch.name)" class="btn  @if(info.isMerged){ btn-warning }else{ btn-danger } delete-branch btn-mini" data-name="@branch.name" @if(info.isMerged){ title="merged branch" }><i class="icon icon-trash icon-white"></i></a>
                }
              }
          </div>
          <div class="branch-details">
            <a href="@url(repository)/tree/@encodeRefName(branch.name)" class="branch-name">@branch.name</a>
            <span class="branch-meta">
              <span>Updated @helper.html.datetimeago(branch.commitTime, false)
                by <span>@user(branch.committerName, branch.committerEmailAddress, "muted-link")</span>
              </span>
            </span>
          </div>
          <div class="branch-a-b-count">
            @if(branch.mergeInfo.isEmpty){
              <span class="label">Default</span>
            }else{
              @branch.mergeInfo.map{ info =>
                <div data-toggle="tooltip" title="@info.ahead commits ahead, @info.behind commits behind @repository.repository.defaultBranch">
                  <div class="a-b-count-widget">
                    <div class="count-half"><div class="count-value">@info.ahead</div></div>
                    <div class="count-half"><div class="count-value">@info.behind</div></div>
                    </div>
                  </div>
                </div>
              }
            }
          </div>
        </tr>
      }
    </table>
  }
}
<script>
$(function(){
  $('.delete-branch').click(function(e){
    var branchName = $(e.target).data('name');
    return confirm('Are you sure you want to remove the ' + branchName + ' branch?');
  });
  $('*[data-toggle=tooltip]').tooltip();
});
</script>
<style>
.muted-link{
  color: #777;
}
.muted-link:hover{
  color: #4183c4;
}
.branch-details{
  display: inline-block;
  width: 490px;
  margin-right: 10px;
}
.branch-name{
  color: #4183c4;
  display: inline-block;
  padding: 2px 6px;
  font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace;
  background-color: rgba(209,227,237,0.5);
  border-radius: 3px;
}
.branch-meta{
  color: #aaa;
  font-size: 12px;
  line-height: 20px;
}
.branch-action{
  display: inline-block;
  float: right;
  position: relative;
  top: -3px;
  height: 20px;
}
.branch-a-b-count{
  display: inline-block;
  vertical-align: middle;
  width: 181px;
  text-align: center;
  color: rgba(0,0,0,0.5);
}
.a-b-count-widget{
  font-size: 10px;
}
.a-b-count-widget .count-half{
  width:90px;
  position: relative;
  text-align: right;
  float: left;
}
.a-b-count-widget .count-half:last-child {
  text-align: left;
  border-left: 1px solid #bbb;
}
.a-b-count-widget .count-half .count-value{
  padding: 0 3px;
}

</style>