diff options
Diffstat (limited to 'templates/repo/branch/list.tmpl')
-rw-r--r-- | templates/repo/branch/list.tmpl | 262 |
1 files changed, 262 insertions, 0 deletions
diff --git a/templates/repo/branch/list.tmpl b/templates/repo/branch/list.tmpl new file mode 100644 index 0000000..f5bffb0 --- /dev/null +++ b/templates/repo/branch/list.tmpl @@ -0,0 +1,262 @@ +{{template "base/head" .}} +<div role="main" aria-label="{{.Title}}" class="page-content ui repository branches"> + {{template "repo/header" .}} + <div class="ui container"> + {{template "base/alert" .}} + {{template "repo/sub_menu" .}} + {{if .DefaultBranchBranch}} + <h4 class="ui top attached header"> + {{ctx.Locale.Tr "repo.default_branch"}} + {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}} + <a role="button" class="right" href="{{.RepoLink}}/settings/branches" data-tooltip-content="{{ctx.Locale.Tr "repo.settings.branches.switch_default_branch"}}"> + {{svg "octicon-arrow-switch"}} + </a> + {{end}} + </h4> + + <div class="ui attached table segment"> + <table class="ui very basic striped fixed table single line"> + <tbody> + <tr> + <td> + <div class="flex-text-block"> + <a class="gt-ellipsis" href="{{.RepoLink}}/src/branch/{{PathEscapeSegments .DefaultBranchBranch.DBBranch.Name}}">{{.DefaultBranchBranch.DBBranch.Name}}</a> + {{if .DefaultBranchBranch.IsProtected}} + <span data-tooltip-content="{{ctx.Locale.Tr "repo.settings.protected_branch"}}">{{svg "octicon-shield-lock"}}</span> + {{end}} + <button class="btn interact-fg tw-px-1" data-clipboard-text="{{.DefaultBranchBranch.DBBranch.Name}}" data-tooltip-content="{{ctx.Locale.Tr "copy_branch"}}">{{svg "octicon-copy" 14}}</button> + {{template "repo/commit_statuses" dict "Status" (index $.CommitStatus .DefaultBranchBranch.DBBranch.CommitID) "Statuses" (index $.CommitStatuses .DefaultBranchBranch.DBBranch.CommitID)}} + </div> + <p class="info tw-flex tw-items-center tw-my-1">{{svg "octicon-git-commit" 16 "tw-mr-1"}}<a href="{{.RepoLink}}/commit/{{PathEscape .DefaultBranchBranch.DBBranch.CommitID}}">{{ShortSha .DefaultBranchBranch.DBBranch.CommitID}}</a> · <span class="commit-message">{{RenderCommitMessage $.Context .DefaultBranchBranch.DBBranch.CommitMessage (.Repository.ComposeMetas ctx)}}</span> · {{ctx.Locale.Tr "org.repo_updated" (TimeSince .DefaultBranchBranch.DBBranch.CommitTime.AsTime ctx.Locale)}} {{if .DefaultBranchBranch.DBBranch.Pusher}} {{template "shared/user/avatarlink" dict "user" .DefaultBranchBranch.DBBranch.Pusher}}{{template "shared/user/namelink" .DefaultBranchBranch.DBBranch.Pusher}}{{end}}</p> + </td> + <td class="right aligned middle aligned overflow-visible"> + {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}} + <button class="btn interact-bg show-create-branch-modal tw-p-2" + data-modal="#create-branch-modal" + data-branch-from="{{$.DefaultBranchBranch.DBBranch.Name}}" + data-branch-from-urlcomponent="{{PathEscapeSegments $.DefaultBranchBranch.DBBranch.Name}}" + data-tooltip-content="{{ctx.Locale.Tr "repo.branch.new_branch_from" ($.DefaultBranchBranch.DBBranch.Name)}}" + > + {{svg "octicon-git-branch"}} + </button> + {{end}} + {{if .EnableFeed}} + <a role="button" class="btn interact-bg tw-p-2" href="{{$.FeedURL}}/rss/branch/{{PathEscapeSegments .DefaultBranchBranch.DBBranch.Name}}" data-tooltip-content="{{ctx.Locale.Tr "rss_feed"}}">{{svg "octicon-rss"}}</a> + {{end}} + {{if not $.DisableDownloadSourceArchives}} + <div class="ui dropdown btn interact-bg tw-p-2" data-tooltip-content="{{ctx.Locale.Tr "repo.branch.download" ($.DefaultBranchBranch.DBBranch.Name)}}"> + {{svg "octicon-download"}} + <div class="menu"> + <a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.DefaultBranchBranch.DBBranch.Name}}.zip" rel="nofollow">{{svg "octicon-file-zip"}} ZIP</a> + <a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments $.DefaultBranchBranch.DBBranch.Name}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip"}} TAR.GZ</a> + </div> + </div> + {{end}} + {{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted) (not $.IsMirror)}} + <button class="btn interact-bg tw-p-2 show-modal show-rename-branch-modal" + data-is-default-branch="true" + data-modal="#rename-branch-modal" + data-old-branch-name="{{$.DefaultBranchBranch.DBBranch.Name}}" + data-tooltip-content="{{ctx.Locale.Tr "repo.branch.rename" ($.DefaultBranchBranch.DBBranch.Name)}}" + > + {{svg "octicon-pencil"}} + </button> + {{end}} + </td> + </tr> + </tbody> + </table> + </div> + {{end}} + + <h4 class="ui top attached header tw-flex tw-items-center tw-justify-between"> + <div class="tw-flex tw-items-center"> + {{ctx.Locale.Tr "repo.branches"}} + </div> + </h4> + + <div class="ui attached segment"> + <form class="ignore-dirty" method="get"> + {{template "shared/search/combo" dict "Value" .Keyword "Placeholder" (ctx.Locale.Tr "search.branch_kind")}} + </form> + </div> + + <div class="ui attached table segment"> + <table class="ui very basic striped fixed table single line"> + <tbody> + {{range .Branches}} + <tr> + <td class="eight wide"> + {{if .DBBranch.IsDeleted}} + <div class="flex-text-block"> + <span class="gt-ellipsis">{{.DBBranch.Name}}</span> + <button class="btn interact-fg tw-px-1" data-clipboard-text="{{.DBBranch.Name}}" data-tooltip-content="{{ctx.Locale.Tr "copy_branch"}}">{{svg "octicon-copy" 14}}</button> + </div> + <p class="info">{{ctx.Locale.Tr "repo.branch.deleted_by" .DBBranch.DeletedBy.Name}} {{TimeSinceUnix .DBBranch.DeletedUnix ctx.Locale}}</p> + {{else}} + <div class="flex-text-block"> + <a class="gt-ellipsis" href="{{$.RepoLink}}/src/branch/{{PathEscapeSegments .DBBranch.Name}}">{{.DBBranch.Name}}</a> + {{if .IsProtected}} + <span data-tooltip-content="{{ctx.Locale.Tr "repo.settings.protected_branch"}}">{{svg "octicon-shield-lock"}}</span> + {{end}} + <button class="btn interact-fg tw-px-1" data-clipboard-text="{{.DBBranch.Name}}" data-tooltip-content="{{ctx.Locale.Tr "copy_branch"}}">{{svg "octicon-copy" 14}}</button> + {{template "repo/commit_statuses" dict "Status" (index $.CommitStatus .DBBranch.CommitID) "Statuses" (index $.CommitStatuses .DBBranch.CommitID)}} + </div> + <p class="info tw-flex tw-items-center tw-my-1">{{svg "octicon-git-commit" 16 "tw-mr-1"}}<a href="{{$.RepoLink}}/commit/{{PathEscape .DBBranch.CommitID}}">{{ShortSha .DBBranch.CommitID}}</a> · <span class="commit-message">{{RenderCommitMessage $.Context .DBBranch.CommitMessage ($.Repository.ComposeMetas ctx)}}</span> · {{ctx.Locale.Tr "org.repo_updated" (TimeSince .DBBranch.CommitTime.AsTime ctx.Locale)}} {{if .DBBranch.Pusher}} {{template "shared/user/avatarlink" dict "user" .DBBranch.Pusher}} {{template "shared/user/namelink" .DBBranch.Pusher}}{{end}}</p> + {{end}} + </td> + <td class="two wide ui"> + {{if and (not .DBBranch.IsDeleted) $.DefaultBranchBranch}} + <div class="commit-divergence"> + <div class="bar-group"> + <div class="count count-behind">{{.CommitsBehind}}</div> + {{/* old code bears 0/0.0 = NaN output, so it might output invalid "width: NaNpx", it just works and doesn't cause any problem. */}} + <div class="bar bar-behind" style="width: {{Eval 100 "*" .CommitsBehind "/" "(" .CommitsBehind "+" .CommitsAhead "+" 0.0 ")"}}%"></div> + </div> + <div class="bar-group"> + <div class="count count-ahead">{{.CommitsAhead}}</div> + <div class="bar bar-ahead" style="width: {{Eval 100 "*" .CommitsAhead "/" "(" .CommitsBehind "+" .CommitsAhead "+" 0.0 ")"}}%"></div> + </div> + </div> + {{end}} + </td> + <td class="two wide right aligned"> + {{if not .LatestPullRequest}} + {{if .IsIncluded}} + <span class="ui orange large label" data-tooltip-content="{{ctx.Locale.Tr "repo.branch.included_desc"}}"> + {{svg "octicon-git-pull-request"}} {{ctx.Locale.Tr "repo.branch.included"}} + </span> + {{else if and (not .DBBranch.IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}} + <a href="{{$.RepoLink}}/compare/{{PathEscapeSegments $.DefaultBranchBranch.DBBranch.Name}}...{{if ne $.Repository.Owner.Name $.Owner.Name}}{{PathEscape $.Owner.Name}}:{{end}}{{PathEscapeSegments .DBBranch.Name}}"> + <button id="new-pull-request" class="ui compact basic button tw-mr-0">{{if $.CanPull}}{{ctx.Locale.Tr "repo.pulls.compare_changes"}}{{else}}{{ctx.Locale.Tr "action.compare_branch"}}{{end}}</button> + </a> + {{end}} + {{else if and .LatestPullRequest.HasMerged .MergeMovedOn}} + {{if and (not .DBBranch.IsDeleted) $.AllowsPulls (gt .CommitsAhead 0)}} + <a href="{{$.RepoLink}}/compare/{{PathEscapeSegments $.DefaultBranchBranch.DBBranch.Name}}...{{if ne $.Repository.Owner.Name $.Owner.Name}}{{PathEscape $.Owner.Name}}:{{end}}{{PathEscapeSegments .DBBranch.Name}}"> + <button id="new-pull-request" class="ui compact basic button tw-mr-0">{{if $.CanPull}}{{ctx.Locale.Tr "repo.pulls.compare_changes"}}{{else}}{{ctx.Locale.Tr "action.compare_branch"}}{{end}}</button> + </a> + {{end}} + {{else}} + <a href="{{.LatestPullRequest.Issue.Link}}" class="tw-align-middle ref-issue">{{if not .LatestPullRequest.IsSameRepo}}{{.LatestPullRequest.BaseRepo.FullName}}{{end}}#{{.LatestPullRequest.Issue.Index}}</a> + {{if .LatestPullRequest.HasMerged}} + <a href="{{.LatestPullRequest.Issue.Link}}" class="ui purple large label">{{svg "octicon-git-merge" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.pulls.merged"}}</a> + {{else if .LatestPullRequest.Issue.IsClosed}} + <a href="{{.LatestPullRequest.Issue.Link}}" class="ui red large label">{{svg "octicon-git-pull-request-closed" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.issues.closed_title"}}</a> + {{else if .LatestPullRequest.IsWorkInProgress ctx}} + <a href="{{.LatestPullRequest.Issue.Link}}" class="ui grey large label">{{svg "octicon-git-pull-request-draft" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.issues.draft_title"}}</a> + {{else}} + <a href="{{.LatestPullRequest.Issue.Link}}" class="ui green large label">{{svg "octicon-git-pull-request" 16 "tw-mr-1"}}{{ctx.Locale.Tr "repo.issues.open_title"}}</a> + {{end}} + {{end}} + </td> + <td class="three wide right aligned overflow-visible"> + {{if and $.IsWriter (not $.Repository.IsArchived) (not .DBBranch.IsDeleted)}} + <button class="btn interact-bg tw-p-2 show-modal show-create-branch-modal" + data-branch-from="{{.DBBranch.Name}}" + data-branch-from-urlcomponent="{{PathEscapeSegments .DBBranch.Name}}" + data-tooltip-content="{{ctx.Locale.Tr "repo.branch.new_branch_from" .DBBranch.Name}}" + data-modal="#create-branch-modal" data-name="{{.DBBranch.Name}}" + > + {{svg "octicon-git-branch"}} + </button> + {{end}} + {{if $.EnableFeed}} + <a role="button" class="btn interact-bg tw-p-2" href="{{$.FeedURL}}/rss/branch/{{PathEscapeSegments .DBBranch.Name}}" data-tooltip-content="{{ctx.Locale.Tr "rss_feed"}}">{{svg "octicon-rss"}}</a> + {{end}} + {{if and (not .DBBranch.IsDeleted) (not $.DisableDownloadSourceArchives)}} + <div class="ui dropdown btn interact-bg tw-p-2" data-tooltip-content="{{ctx.Locale.Tr "repo.branch.download" (.DBBranch.Name)}}"> + {{svg "octicon-download"}} + <div class="menu"> + <a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments .DBBranch.Name}}.zip" rel="nofollow">{{svg "octicon-file-zip"}} ZIP</a> + <a class="item archive-link" href="{{$.RepoLink}}/archive/{{PathEscapeSegments .DBBranch.Name}}.tar.gz" rel="nofollow">{{svg "octicon-file-zip"}} TAR.GZ</a> + </div> + </div> + {{end}} + {{if and $.IsWriter (not $.Repository.IsArchived) (not .DBBranch.IsDeleted) (not $.IsMirror)}} + <button class="btn interact-bg tw-p-2 show-modal show-rename-branch-modal" + data-is-default-branch="false" + data-old-branch-name="{{.DBBranch.Name}}" + data-modal="#rename-branch-modal" + data-tooltip-content="{{ctx.Locale.Tr "repo.branch.rename" (.DBBranch.Name)}}" + > + {{svg "octicon-pencil"}} + </button> + {{end}} + {{if and $.IsWriter (not $.IsMirror) (not $.Repository.IsArchived) (not .IsProtected)}} + {{if .DBBranch.IsDeleted}} + <button class="btn interact-bg tw-p-2 link-action restore-branch-button" data-url="{{$.Link}}/restore?branch_id={{.DBBranch.ID}}&name={{.DBBranch.Name}}&page={{$.Page.Paginater.Current}}" data-tooltip-content="{{ctx.Locale.Tr "repo.branch.restore" (.DBBranch.Name)}}"> + <span class="text blue"> + {{svg "octicon-reply"}} + </span> + </button> + {{else}} + <button class="btn interact-bg tw-p-2 delete-button delete-branch-button" data-url="{{$.Link}}/delete?name={{.DBBranch.Name}}&page={{$.Page.Paginater.Current}}" data-tooltip-content="{{ctx.Locale.Tr "repo.branch.delete" (.DBBranch.Name)}}" data-name="{{.DBBranch.Name}}"> + {{svg "octicon-trash"}} + </button> + {{end}} + {{end}} + </td> + </tr> + {{end}} + </tbody> + </table> + </div> + {{template "base/paginate" .}} + </div> +</div> + +<div class="ui g-modal-confirm delete modal"> + <div class="header"> + {{svg "octicon-trash"}} + {{ctx.Locale.Tr "repo.branch.delete_html"}} <span class="name"></span> + </div> + <div class="content"> + <p>{{ctx.Locale.Tr "repo.branch.delete_desc"}}</p> + </div> + {{template "base/modal_actions_confirm" .}} +</div> + +<div class="ui mini modal" id="create-branch-modal"> + <div class="header"> + {{ctx.Locale.Tr "repo.branch.new_branch"}} + </div> + + <form class="ui form" id="create-branch-form" action="" data-base-action="{{.Link}}/_new/branch/" method="post"> + <div class="content"> + {{.CsrfTokenHtml}} + <div class="field"> + {{ctx.Locale.Tr "repo.branch.create_new_branch"}} + <span id="modal-create-branch-from-span"></span> + </div> + <div class="required field"> + <label for="new_branch_name">{{ctx.Locale.Tr "repo.branch.name"}}</label> + <input id="new_branch_name" name="new_branch_name" required> + </div> + </div> + {{template "base/modal_actions_confirm" (dict "ModalButtonTypes" "confirm")}} + </form> +</div> + +<div class="ui mini modal" id="rename-branch-modal"> + <div class="header"> + {{ctx.Locale.Tr "repo.settings.rename_branch"}} + </div> + <form class="ui form" action="{{$.Repository.Link}}/settings/rename_branch" method="post"> + <div class="content"> + {{.CsrfTokenHtml}} + <div class="field default-branch-warning"> + <span class="text red">{{ctx.Locale.Tr "repo.branch.warning_rename_default_branch"}}</span> + </div> + <div class="field"> + <span class="text" data-rename-branch-to="{{ctx.Locale.Tr "repo.branch.rename_branch_to"}}"></span> + </div> + <input name="from" type="hidden" required> + <div class="required field"> + <input name="to" required> + </div> + </div> + {{template "base/modal_actions_confirm" (dict "ModalButtonTypes" "confirm")}} + </form> +</div> +{{template "base/footer" .}} |