From 8abc1aae4ab5b03be0bcbdd390bb903b54ccd21a Mon Sep 17 00:00:00 2001
From: yp05327 <576951401@qq.com>
Date: Wed, 18 Oct 2023 09:03:42 +0900
Subject: [PATCH] Improve the list header in milestone page (#27302)
The ui of list header in milestone page is not same as issue and pr list
page.
And they are using different template codes which can be merged into
one.
Before:
![image](https://github.com/go-gitea/gitea/assets/18380374/29eb426c-2dd6-4cf2-96e0-82339fb631bb)
![image](https://github.com/go-gitea/gitea/assets/18380374/b36c4dff-469a-4395-8a02-a8c54e17ab21)
![image](https://github.com/go-gitea/gitea/assets/18380374/d882c74a-451b-431d-b58e-3635a15d9718)
![image](https://github.com/go-gitea/gitea/assets/18380374/292cd38d-1b50-47f1-b32c-9b5de90ce5fb)
After:
![image](https://github.com/go-gitea/gitea/assets/18380374/4529234e-67dc-4e17-9440-e638be4fbc41)
![image](https://github.com/go-gitea/gitea/assets/18380374/c15b4d86-0762-497b-b28d-72d09443d629)
---------
Co-authored-by: puni9869 <80308335+puni9869@users.noreply.github.com>
---
routers/web/repo/issue.go | 17 +-
routers/web/repo/milestone.go | 6 +
templates/repo/issue/filter_list.tmpl | 206 +++++++++++++++++
templates/repo/issue/filters.tmpl | 209 +-----------------
.../repo/issue/milestone/filter_list.tmpl | 15 ++
templates/repo/issue/milestones.tmpl | 46 +---
templates/repo/issue/openclose.tmpl | 12 +-
templates/repo/issue/search.tmpl | 14 +-
8 files changed, 264 insertions(+), 261 deletions(-)
create mode 100644 templates/repo/issue/filter_list.tmpl
create mode 100644 templates/repo/issue/milestone/filter_list.tmpl
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go
index 279214bcf..3fd25f81f 100644
--- a/routers/web/repo/issue.go
+++ b/routers/web/repo/issue.go
@@ -246,6 +246,8 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
isShowClosed = true
}
+ archived := ctx.FormBool("archived")
+
page := ctx.FormInt("page")
if page <= 1 {
page = 1
@@ -417,6 +419,15 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
ctx.Data["PinnedIssues"] = pinned
ctx.Data["IsRepoAdmin"] = ctx.IsSigned && (ctx.Repo.IsAdmin() || ctx.Doer.IsAdmin)
ctx.Data["IssueStats"] = issueStats
+ ctx.Data["OpenCount"] = issueStats.OpenCount
+ ctx.Data["ClosedCount"] = issueStats.ClosedCount
+ linkStr := "%s?q=%s&type=%s&sort=%s&state=%s&labels=%s&milestone=%d&project=%d&assignee=%d&poster=%d&archived=%t"
+ ctx.Data["OpenLink"] = fmt.Sprintf(linkStr, ctx.Link,
+ url.QueryEscape(keyword), url.QueryEscape(viewType), url.QueryEscape(sortType), "open", url.QueryEscape(selectLabels),
+ mentionedID, projectID, assigneeID, posterID, archived)
+ ctx.Data["ClosedLink"] = fmt.Sprintf(linkStr, ctx.Link,
+ url.QueryEscape(keyword), url.QueryEscape(viewType), url.QueryEscape(sortType), "closed", url.QueryEscape(selectLabels),
+ mentionedID, projectID, assigneeID, posterID, archived)
ctx.Data["SelLabelIDs"] = labelIDs
ctx.Data["SelectLabels"] = selectLabels
ctx.Data["ViewType"] = viewType
@@ -432,6 +443,7 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
} else {
ctx.Data["State"] = "open"
}
+ ctx.Data["ShowArchivedLabels"] = archived
pager.AddParam(ctx, "q", "Keyword")
pager.AddParam(ctx, "type", "ViewType")
@@ -442,11 +454,8 @@ func issues(ctx *context.Context, milestoneID, projectID int64, isPullOption uti
pager.AddParam(ctx, "project", "ProjectID")
pager.AddParam(ctx, "assignee", "AssigneeID")
pager.AddParam(ctx, "poster", "PosterID")
+ pager.AddParam(ctx, "archived", "ShowArchivedLabels")
- if ctx.FormBool("archived") {
- ctx.Data["ShowArchivedLabels"] = true
- pager.AddParam(ctx, "archived", "ShowArchivedLabels")
- }
ctx.Data["Page"] = pager
}
diff --git a/routers/web/repo/milestone.go b/routers/web/repo/milestone.go
index 32cbc29c6..4db02fce9 100644
--- a/routers/web/repo/milestone.go
+++ b/routers/web/repo/milestone.go
@@ -4,6 +4,7 @@
package repo
import (
+ "fmt"
"net/http"
"net/url"
"time"
@@ -72,6 +73,11 @@ func Milestones(ctx *context.Context) {
}
ctx.Data["OpenCount"] = stats.OpenCount
ctx.Data["ClosedCount"] = stats.ClosedCount
+ linkStr := "%s/milestones?state=%s&q=%s&sort=%s"
+ ctx.Data["OpenLink"] = fmt.Sprintf(linkStr, ctx.Repo.RepoLink, "open",
+ url.QueryEscape(keyword), url.QueryEscape(sortType))
+ ctx.Data["ClosedLink"] = fmt.Sprintf(linkStr, ctx.Repo.RepoLink, "closed",
+ url.QueryEscape(keyword), url.QueryEscape(sortType))
if ctx.Repo.Repository.IsTimetrackerEnabled(ctx) {
if err := miles.LoadTotalTrackedTimes(ctx); err != nil {
diff --git a/templates/repo/issue/filter_list.tmpl b/templates/repo/issue/filter_list.tmpl
new file mode 100644
index 000000000..511ef7f39
--- /dev/null
+++ b/templates/repo/issue/filter_list.tmpl
@@ -0,0 +1,206 @@
+
+
+
+ {{ctx.Locale.Tr "repo.issues.filter_label"}}
+
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+
+
+
+{{if not .Milestone}}
+
+
+
+ {{ctx.Locale.Tr "repo.issues.filter_milestone"}}
+
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+
+
+{{end}}
+
+
+
+
+ {{ctx.Locale.Tr "repo.issues.filter_project"}}
+
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+
+
+
+
+
+
+ {{ctx.Locale.Tr "repo.issues.filter_poster"}}
+
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+
+
+
+
+
+
+ {{ctx.Locale.Tr "repo.issues.filter_assignee"}}
+
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+
+
+
+{{if .IsSigned}}
+
+
+
+ {{ctx.Locale.Tr "repo.issues.filter_type"}}
+
+ {{svg "octicon-triangle-down" 14 "dropdown icon"}}
+
+
+{{end}}
+
+
+
diff --git a/templates/repo/issue/filters.tmpl b/templates/repo/issue/filters.tmpl
index 15a90869b..8645ff9d5 100644
--- a/templates/repo/issue/filters.tmpl
+++ b/templates/repo/issue/filters.tmpl
@@ -7,212 +7,11 @@
diff --git a/templates/repo/issue/milestone/filter_list.tmpl b/templates/repo/issue/milestone/filter_list.tmpl
new file mode 100644
index 000000000..0eea42d6e
--- /dev/null
+++ b/templates/repo/issue/milestone/filter_list.tmpl
@@ -0,0 +1,15 @@
+
+
diff --git a/templates/repo/issue/milestones.tmpl b/templates/repo/issue/milestones.tmpl
index ff89d4073..3d4bbfd8b 100644
--- a/templates/repo/issue/milestones.tmpl
+++ b/templates/repo/issue/milestones.tmpl
@@ -2,53 +2,17 @@
{{template "repo/header" .}}
-
+ {{template "base/alert" .}}
+
+
- {{template "base/alert" .}}
-
+ {{template "repo/issue/filters" .}}
diff --git a/templates/repo/issue/openclose.tmpl b/templates/repo/issue/openclose.tmpl
index ad8de4013..ff5ec3c5a 100644
--- a/templates/repo/issue/openclose.tmpl
+++ b/templates/repo/issue/openclose.tmpl
@@ -1,14 +1,16 @@
diff --git a/templates/repo/issue/search.tmpl b/templates/repo/issue/search.tmpl
index 822700c65..361f16fd3 100644
--- a/templates/repo/issue/search.tmpl
+++ b/templates/repo/issue/search.tmpl
@@ -1,12 +1,14 @@