diff options
author | wxiaoguang <wxiaoguang@gmail.com> | 2024-12-30 09:57:38 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-30 01:57:38 +0000 |
commit | cd1b5488a31ff208b511302905330499167faa10 (patch) | |
tree | fa13e9950c7fc3400412bd2b21a432d40e29e727 /services/context | |
parent | 1dbf0d7f0822c10b379a21c192c2d63e34fd52f9 (diff) | |
download | gitea-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.go | 24 |
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! -} |