From 368baf9e77606e5de8bbcda8b0348f1a6fba6d73 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Thu, 12 May 2022 21:39:02 +0800 Subject: [PATCH] Use Vue to refactor pull merge UI (#19650) * Use Vue to refactor pull merge UI * add comments * fix comments * small fine tune * fix tests * adopt new pull default messages * clean up Co-authored-by: 6543 <6543@obermui.de> --- integrations/pull_merge_test.go | 6 +- models/repo/repo_unit.go | 18 -- templates/repo/issue/view_content/pull.tmpl | 229 +++++------------- .../js/components/PullRequestMergeForm.vue | 127 ++++++++++ web_src/js/features/repo-issue-pr-form.js | 12 + web_src/js/features/repo-issue.js | 26 -- web_src/js/features/repo-legacy.js | 6 +- 7 files changed, 206 insertions(+), 218 deletions(-) create mode 100644 web_src/js/components/PullRequestMergeForm.vue create mode 100644 web_src/js/features/repo-issue-pr-form.js diff --git a/integrations/pull_merge_test.go b/integrations/pull_merge_test.go index c50913383c..cfe8b4afed 100644 --- a/integrations/pull_merge_test.go +++ b/integrations/pull_merge_test.go @@ -37,10 +37,8 @@ func testPullMerge(t *testing.T, session *TestSession, user, repo, pullnum strin req := NewRequest(t, "GET", path.Join(user, repo, "pulls", pullnum)) resp := session.MakeRequest(t, req, http.StatusOK) - // Click the little green button to create a pull htmlDoc := NewHTMLParser(t, resp.Body) - link, exists := htmlDoc.doc.Find(".ui.form." + string(mergeStyle) + "-fields > form").Attr("action") - assert.True(t, exists, "The template has changed") + link := path.Join(user, repo, "pulls", pullnum, "merge") req = NewRequestWithValues(t, "POST", link, map[string]string{ "_csrf": htmlDoc.GetCSRF(), "do": string(mergeStyle), @@ -57,7 +55,7 @@ func testPullCleanUp(t *testing.T, session *TestSession, user, repo, pullnum str // Click the little green button to create a pull htmlDoc := NewHTMLParser(t, resp.Body) link, exists := htmlDoc.doc.Find(".timeline-item .delete-button").Attr("data-url") - assert.True(t, exists, "The template has changed") + assert.True(t, exists, "The template has changed, can not find delete button url") req = NewRequestWithValues(t, "POST", link, map[string]string{ "_csrf": htmlDoc.GetCSRF(), }) diff --git a/models/repo/repo_unit.go b/models/repo/repo_unit.go index 0f6b41933d..de79eb1c9f 100644 --- a/models/repo/repo_unit.go +++ b/models/repo/repo_unit.go @@ -150,24 +150,6 @@ func (cfg *PullRequestsConfig) GetDefaultMergeStyle() MergeStyle { return MergeStyleMerge } -// AllowedMergeStyleCount returns the total count of allowed merge styles for the PullRequestsConfig -func (cfg *PullRequestsConfig) AllowedMergeStyleCount() int { - count := 0 - if cfg.AllowMerge { - count++ - } - if cfg.AllowRebase { - count++ - } - if cfg.AllowRebaseMerge { - count++ - } - if cfg.AllowSquash { - count++ - } - return count -} - // BeforeSet is invoked from XORM before setting the value of a field of this object. func (r *RepoUnit) BeforeSet(colName string, val xorm.Cell) { switch colName { diff --git a/templates/repo/issue/view_content/pull.tmpl b/templates/repo/issue/view_content/pull.tmpl index 195da6bf87..c764138fa0 100644 --- a/templates/repo/issue/view_content/pull.tmpl +++ b/templates/repo/issue/view_content/pull.tmpl @@ -322,176 +322,69 @@ {{$prUnit := .Repository.MustGetUnit $.UnitTypePullRequests}} {{$approvers := .Issue.PullRequest.GetApprovers}} {{if or $prUnit.PullRequestsConfig.AllowMerge $prUnit.PullRequestsConfig.AllowRebase $prUnit.PullRequestsConfig.AllowRebaseMerge $prUnit.PullRequestsConfig.AllowSquash}} +
- {{if $prUnit.PullRequestsConfig.AllowMerge}} - - {{end}} - {{if $prUnit.PullRequestsConfig.AllowRebase}} - - {{end}} - {{if $prUnit.PullRequestsConfig.AllowRebaseMerge}} - - {{end}} - {{if $prUnit.PullRequestsConfig.AllowSquash}} - - {{end}} - {{if and $prUnit.PullRequestsConfig.AllowManualMerge $.IsRepoAdmin}} - - {{end}} -
-
- - {{if gt $prUnit.PullRequestsConfig.AllowedMergeStyleCount 1}} - - {{end}} -
-
+ + + +
+ {{if .ShowMergeInstructions}} -
{{$.i18n.Tr "repo.pulls.merge_instruction_hint" | Safe}}
+
{{$.i18n.Tr "repo.pulls.merge_instruction_hint" | Safe}}