From 14be462646af7f8c4fd60b1212d27cc165c966dd Mon Sep 17 00:00:00 2001 From: Kerwin Bryant <kerwin612@qq.com> Date: Tue, 4 Mar 2025 04:58:19 +0800 Subject: [PATCH] Refactor initRepoBranchTagSelector to use new init framework (#33776) Make "initRepoBranchTagSelector" to use new init framework and fix the abused "js-branch-tag-selector" styles --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> --- templates/repo/branch_dropdown.tmpl | 3 ++- templates/repo/release/list.tmpl | 1 + web_src/css/repo/release-tag.css | 2 +- web_src/js/features/repo-legacy.ts | 9 +++++---- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/templates/repo/branch_dropdown.tmpl b/templates/repo/branch_dropdown.tmpl index 6efed3427f..f679b8744b 100644 --- a/templates/repo/branch_dropdown.tmpl +++ b/templates/repo/branch_dropdown.tmpl @@ -14,7 +14,8 @@ Search "repo/branch_dropdown" in the template directory to find all occurrences. */}} -<div class="js-branch-tag-selector {{if .ContainerClasses}}{{.ContainerClasses}}{{end}}" +<div class="{{if .ContainerClasses}}{{.ContainerClasses}}{{end}}" + data-global-init="initRepoBranchTagSelector" data-text-release-compare="{{ctx.Locale.Tr "repo.release.compare"}}" data-text-branches="{{ctx.Locale.Tr "repo.branches"}}" data-text-tags="{{ctx.Locale.Tr "repo.tags"}}" diff --git a/templates/repo/release/list.tmpl b/templates/repo/release/list.tmpl index 88bd85ef4d..432c3309ce 100644 --- a/templates/repo/release/list.tmpl +++ b/templates/repo/release/list.tmpl @@ -21,6 +21,7 @@ {{$compareTarget = $release.Sha1}} {{end}} {{template "repo/branch_dropdown" dict + "ContainerClasses" "release-branch-tag-selector" "Repository" $.Repository "ShowTabTags" true "DropdownFixedText" (ctx.Locale.Tr "repo.release.compare") diff --git a/web_src/css/repo/release-tag.css b/web_src/css/repo/release-tag.css index 32027dd886..bf8c1312f1 100644 --- a/web_src/css/repo/release-tag.css +++ b/web_src/css/repo/release-tag.css @@ -45,7 +45,7 @@ display: flex; align-items: center; } - #release-list .js-branch-tag-selector { + #release-list .release-branch-tag-selector { margin-left: auto; } #release-list .branch-selector-dropdown .menu { /* open menu to left */ diff --git a/web_src/js/features/repo-legacy.ts b/web_src/js/features/repo-legacy.ts index a1b53c1f41..f5a0af175a 100644 --- a/web_src/js/features/repo-legacy.ts +++ b/web_src/js/features/repo-legacy.ts @@ -1,3 +1,4 @@ +import {registerGlobalInitFunc} from '../modules/observer.ts'; import { initRepoCommentFormAndSidebar, initRepoIssueBranchSelect, initRepoIssueCodeCommentCancel, initRepoIssueCommentDelete, @@ -20,10 +21,10 @@ import {initRepoNew} from './repo-new.ts'; import {createApp} from 'vue'; import RepoBranchTagSelector from '../components/RepoBranchTagSelector.vue'; -function initRepoBranchTagSelector(selector: string) { - for (const elRoot of document.querySelectorAll(selector)) { +function initRepoBranchTagSelector() { + registerGlobalInitFunc('initRepoBranchTagSelector', async (elRoot: HTMLInputElement) => { createApp(RepoBranchTagSelector, {elRoot}).mount(elRoot); - } + }); } export function initBranchSelectorTabs() { @@ -42,7 +43,7 @@ export function initRepository() { const pageContent = document.querySelector('.page-content.repository'); if (!pageContent) return; - initRepoBranchTagSelector('.js-branch-tag-selector'); + initRepoBranchTagSelector(); initRepoCommentFormAndSidebar(); // Labels