aboutsummaryrefslogtreecommitdiffstats
path: root/services/context
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2024-12-30 09:57:38 +0800
committerGitHub <noreply@github.com>2024-12-30 01:57:38 +0000
commitcd1b5488a31ff208b511302905330499167faa10 (patch)
treefa13e9950c7fc3400412bd2b21a432d40e29e727 /services/context
parent1dbf0d7f0822c10b379a21c192c2d63e34fd52f9 (diff)
downloadgitea-cd1b5488a31ff208b511302905330499167faa10.tar.gz
gitea-cd1b5488a31ff208b511302905330499167faa10.zip
Refactor pagination (#33037)
I am sure the simple approach should work, let's try it in 1.24 Follow #29834 and #29841
Diffstat (limited to 'services/context')
-rw-r--r--services/context/pagination.go24
1 files changed, 2 insertions, 22 deletions
diff --git a/services/context/pagination.go b/services/context/pagination.go
index 42117cf96d..d33dd217d0 100644
--- a/services/context/pagination.go
+++ b/services/context/pagination.go
@@ -27,19 +27,13 @@ func NewPagination(total, pagingNum, current, numPages int) *Pagination {
return p
}
-// AddParamString adds a string parameter directly
-func (p *Pagination) AddParamString(key, value string) {
- urlParam := fmt.Sprintf("%s=%v", url.QueryEscape(key), url.QueryEscape(value))
- p.urlParams = append(p.urlParams, urlParam)
-}
-
func (p *Pagination) AddParamFromRequest(req *http.Request) {
for key, values := range req.URL.Query() {
- if key == "page" || len(values) == 0 {
+ if key == "page" || len(values) == 0 || (len(values) == 1 && values[0] == "") {
continue
}
for _, value := range values {
- urlParam := fmt.Sprintf("%s=%v", key, url.QueryEscape(value))
+ urlParam := fmt.Sprintf("%s=%v", url.QueryEscape(key), url.QueryEscape(value))
p.urlParams = append(p.urlParams, urlParam)
}
}
@@ -49,17 +43,3 @@ func (p *Pagination) AddParamFromRequest(req *http.Request) {
func (p *Pagination) GetParams() template.URL {
return template.URL(strings.Join(p.urlParams, "&"))
}
-
-// SetDefaultParams sets common pagination params that are often used
-func (p *Pagination) SetDefaultParams(ctx *Context) {
- if v, ok := ctx.Data["SortType"].(string); ok {
- p.AddParamString("sort", v)
- }
- if v, ok := ctx.Data["Keyword"].(string); ok {
- p.AddParamString("q", v)
- }
- if v, ok := ctx.Data["IsFuzzy"].(bool); ok {
- p.AddParamString("fuzzy", fmt.Sprint(v))
- }
- // do not add any more uncommon params here!
-}