summaryrefslogtreecommitdiffstats
path: root/templates/repo/branch_dropdown.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'templates/repo/branch_dropdown.tmpl')
-rw-r--r--templates/repo/branch_dropdown.tmpl89
1 files changed, 89 insertions, 0 deletions
diff --git a/templates/repo/branch_dropdown.tmpl b/templates/repo/branch_dropdown.tmpl
new file mode 100644
index 00000000..dcb17924
--- /dev/null
+++ b/templates/repo/branch_dropdown.tmpl
@@ -0,0 +1,89 @@
+{{/* Attributes:
+* root
+* ContainerClasses
+* (TODO: search "branch_dropdown" in the template directory)
+*/}}
+{{$defaultSelectedRefName := $.root.BranchName}}
+{{if and .root.IsViewTag (not .noTag)}}
+ {{$defaultSelectedRefName = .root.TagName}}
+{{end}}
+{{if eq $defaultSelectedRefName ""}}
+ {{$defaultSelectedRefName = $.root.Repository.DefaultBranch}}
+{{end}}
+
+{{$type := ""}}
+{{if and .root.IsViewTag (not .noTag)}}
+ {{$type = "tag"}}
+{{else if .root.IsViewBranch}}
+ {{$type = "branch"}}
+{{else}}
+ {{$type = "tree"}}
+{{end}}
+
+{{$showBranchesInDropdown := not .root.HideBranchesInDropdown}}
+
+<script type="module">
+ const data = {
+ 'textReleaseCompare': {{ctx.Locale.Tr "repo.release.compare"}},
+ 'textCreateTag': {{ctx.Locale.Tr "repo.tag.create_tag"}},
+ 'textCreateBranch': {{ctx.Locale.Tr "repo.branch.create_branch"}},
+ 'textCreateBranchFrom': {{ctx.Locale.Tr "repo.branch.create_from"}},
+ 'textBranches': {{ctx.Locale.Tr "repo.branches"}},
+ 'textTags': {{ctx.Locale.Tr "repo.tags"}},
+ 'textDefaultBranchLabel': {{ctx.Locale.Tr "repo.default_branch_label"}},
+
+ 'mode': '{{if or .root.IsViewTag .isTag}}tags{{else}}branches{{end}}',
+ 'showBranchesInDropdown': {{$showBranchesInDropdown}},
+ 'searchFieldPlaceholder': '{{if $.noTag}}{{ctx.Locale.Tr "repo.pulls.filter_branch"}}{{else if $showBranchesInDropdown}}{{ctx.Locale.Tr "repo.filter_branch_and_tag"}}{{else}}{{ctx.Locale.Tr "repo.find_tag"}}{{end}}...',
+ 'branchForm': {{$.branchForm}},
+ 'disableCreateBranch': {{if .disableCreateBranch}}{{.disableCreateBranch}}{{else}}{{not .root.CanCreateBranch}}{{end}},
+ 'setAction': {{.setAction}},
+ 'submitForm': {{.submitForm}},
+ 'viewType': {{$type}},
+ 'refName': {{if and .root.IsViewTag (not .noTag)}}{{.root.TagName}}{{else if .root.IsViewBranch}}{{.root.BranchName}}{{else}}{{ShortSha .root.CommitID}}{{end}},
+ 'commitIdShort': {{ShortSha .root.CommitID}},
+ 'tagName': {{.root.TagName}},
+ 'branchName': {{.root.BranchName}},
+ 'noTag': {{.noTag}},
+ 'defaultSelectedRefName': {{$defaultSelectedRefName}},
+ 'repoDefaultBranch': {{.root.Repository.DefaultBranch}},
+ 'enableFeed': {{.root.EnableFeed}},
+ 'rssURLPrefix': '{{$.root.RepoLink}}/rss/branch/',
+ 'branchURLPrefix': '{{if .branchURLPrefix}}{{.branchURLPrefix}}{{else}}{{$.root.RepoLink}}/{{if $.root.PageIsCommits}}commits{{else}}src{{end}}/branch/{{end}}',
+ 'branchURLSuffix': '{{if .branchURLSuffix}}{{.branchURLSuffix}}{{else}}{{if $.root.TreePath}}/{{PathEscapeSegments $.root.TreePath}}{{end}}{{end}}',
+ 'tagURLPrefix': '{{if .tagURLPrefix}}{{.tagURLPrefix}}{{else if .release}}{{$.root.RepoLink}}/compare/{{else}}{{$.root.RepoLink}}/{{if $.root.PageIsCommits}}commits{{else}}src{{end}}/tag/{{end}}',
+ 'tagURLSuffix': '{{if .tagURLSuffix}}{{.tagURLSuffix}}{{else if .release}}...{{if .release.IsDraft}}{{PathEscapeSegments .release.Target}}{{else}}{{if .release.TagName}}{{PathEscapeSegments .release.TagName}}{{else}}{{PathEscapeSegments .release.Sha1}}{{end}}{{end}}{{else}}{{if $.root.TreePath}}/{{PathEscapeSegments $.root.TreePath}}{{end}}{{end}}',
+ 'repoLink': {{.root.RepoLink}},
+ 'treePath': {{.root.TreePath}},
+ 'branchNameSubURL': {{.root.BranchNameSubURL}},
+ 'noResults': {{ctx.Locale.Tr "repo.pulls.no_results"}},
+ };
+ {{if .release}}
+ data.release = {
+ 'tagName': {{.release.TagName}},
+ };
+ {{end}}
+ window.config.pageData.branchDropdownDataList = window.config.pageData.branchDropdownDataList || [];
+ window.config.pageData.branchDropdownDataList.push(data);
+</script>
+
+<div class="js-branch-tag-selector {{if .ContainerClasses}}{{.ContainerClasses}}{{end}}">
+ {{/* show dummy elements before Vue componment is mounted, this code must match the code in BranchTagSelector.vue */}}
+ <div class="ui dropdown custom">
+ <button class="branch-dropdown-button gt-ellipsis ui basic small compact button tw-flex tw-m-0">
+ <span class="text tw-flex tw-items-center tw-mr-1 gt-ellipsis">
+ {{if .release}}
+ {{ctx.Locale.Tr "repo.release.compare"}}
+ {{else}}
+ {{if eq $type "tag"}}
+ {{svg "octicon-tag"}}
+ {{else}}
+ {{svg "octicon-git-branch"}}
+ {{end}}
+ <strong ref="dropdownRefName" class="tw-ml-2 tw-inline-block gt-ellipsis">{{if and .root.IsViewTag (not .noTag)}}{{.root.TagName}}{{else if .root.IsViewBranch}}{{.root.BranchName}}{{else}}{{ShortSha .root.CommitID}}{{end}}</strong>
+ {{end}}
+ </span>
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+ </button>
+ </div>
+</div>