2023-05-04 00:58:59 +03:00
{{ / * Attributes :
* root
* ContainerClasses
2024-02-09 06:59:39 +03:00
* (TODO: search "branch_dropdown" in the template directory)
2023-05-04 00:58:59 +03:00
*/}}
2023-09-14 06:54:25 +03:00
{{ $ defaultSelectedRefName : = $ .root .BranchName }}
2023-03-14 12:51:20 +03:00
{{ if and .root .IsViewTag ( not .noTag ) }}
2023-09-14 06:54:25 +03:00
{{ $ defaultSelectedRefName = .root .TagName }}
2023-03-14 12:51:20 +03:00
{{ end }}
2023-09-14 06:54:25 +03:00
{{ if eq $ defaultSelectedRefName "" }}
{{ $ defaultSelectedRefName = $ .root .Repository .DefaultBranch }}
2023-03-14 12:51:20 +03:00
{{ end }}
{{ $ type : = "" }}
{{ if and .root .IsViewTag ( not .noTag ) }}
{{ $ type = "tag" }}
{{ else if .root .IsViewBranch }}
{{ $ type = "branch" }}
{{ else }}
{{ $ type = "tree" }}
{{ end }}
2021-05-03 20:27:48 +03:00
{{ $ showBranchesInDropdown : = not .root .HideBranchesInDropdown }}
2023-03-11 13:47:09 +03:00
<script type="module">
const data = {
2023-09-25 11:56:50 +03:00
'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" }} ,
2023-03-11 13:47:09 +03:00
'mode': ' {{ if or .root .IsViewTag .isTag }} tags {{ else }} branches {{ end }} ',
'showBranchesInDropdown': {{ $ showBranchesInDropdown }} ,
2023-09-25 11:56:50 +03:00
'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 }} ...',
2023-03-11 13:47:09 +03:00
'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 }} ,
2023-09-14 06:54:25 +03:00
'defaultSelectedRefName': {{ $ defaultSelectedRefName }} ,
'repoDefaultBranch': {{ .root .Repository .DefaultBranch }} ,
2023-04-26 05:53:44 +03:00
'enableFeed': {{ .root .EnableFeed }} ,
'rssURLPrefix': ' {{ $ .root .RepoLink }} /rss/branch/',
2023-03-11 13:47:09 +03:00
'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 }} ',
2023-03-14 12:51:20 +03:00
'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 }} ',
2023-03-11 13:47:09 +03:00
'repoLink': {{ .root .RepoLink }} ,
'treePath': {{ .root .TreePath }} ,
'branchNameSubURL': {{ .root .BranchNameSubURL }} ,
2024-03-15 06:43:10 +03:00
'noResults': {{ ctx .Locale .Tr "no_results_found" }} ,
2023-03-11 13:47:09 +03:00
};
{{ if .release }}
data.release = {
'tagName': {{ .release .TagName }} ,
};
{{ end }}
window.config.pageData.branchDropdownDataList = window.config.pageData.branchDropdownDataList || [];
window.config.pageData.branchDropdownDataList.push(data);
</script>
2023-05-04 00:58:59 +03:00
<div class="js-branch-tag-selector {{ if .ContainerClasses }} {{ .ContainerClasses }} {{ end }} ">
2023-03-14 12:51:20 +03:00
{{ / * show dummy elements before Vue componment is mounted , this code must match the code in BranchTagSelector .vue * / }}
2024-05-06 10:17:22 +03:00
<div class="ui dropdown custom branch-selector-dropdown ellipsis-items-nowrap">
2024-05-02 13:45:23 +03:00
<div class="ui button branch-dropdown-button">
<span class="flex-text-block gt-ellipsis">
2023-03-14 12:51:20 +03:00
{{ if .release }}
2023-09-25 11:56:50 +03:00
{{ ctx .Locale .Tr "repo.release.compare" }}
2023-03-14 12:51:20 +03:00
{{ else }}
{{ if eq $ type "tag" }}
{{ svg "octicon-tag" }}
{{ else }}
{{ svg "octicon-git-branch" }}
{{ end }}
2024-04-16 11:52:45 +03:00
<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>
2023-03-14 12:51:20 +03:00
{{ end }}
2015-12-09 09:11:41 +03:00
</span>
2020-11-01 01:15:11 +03:00
{{ svg "octicon-triangle-down" 1 4 "dropdown icon" }}
2024-05-02 13:45:23 +03:00
</div>
2015-12-09 09:11:41 +03:00
</div>
</div>