1
0
Fork 0

Added router priority to webui's list and detail page

This commit is contained in:
bendre90 2023-01-09 17:24:05 +01:00 committed by GitHub
parent cd90b9761a
commit 8cd4923e72
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 2913 additions and 131 deletions

View file

@ -22,8 +22,10 @@ type pageInfo struct {
}
type searchCriterion struct {
Search string `url:"search"`
Status string `url:"status"`
Search string `url:"search"`
Status string `url:"status"`
ServiceName string `url:"serviceName"`
MiddlewareName string `url:"middlewareName"`
}
func newSearchCriterion(query url.Values) *searchCriterion {
@ -33,12 +35,19 @@ func newSearchCriterion(query url.Values) *searchCriterion {
search := query.Get("search")
status := query.Get("status")
serviceName := query.Get("serviceName")
middlewareName := query.Get("middlewareName")
if status == "" && search == "" {
if status == "" && search == "" && serviceName == "" && middlewareName == "" {
return nil
}
return &searchCriterion{Search: search, Status: status}
return &searchCriterion{
Search: search,
Status: status,
ServiceName: serviceName,
MiddlewareName: middlewareName,
}
}
func (c *searchCriterion) withStatus(name string) bool {
@ -59,6 +68,34 @@ func (c *searchCriterion) searchIn(values ...string) bool {
return false
}
func (c *searchCriterion) filterService(name string) bool {
if c.ServiceName == "" {
return true
}
if strings.Contains(name, "@") {
return c.ServiceName == name
}
before, _, _ := strings.Cut(c.ServiceName, "@")
return before == name
}
func (c *searchCriterion) filterMiddleware(mns []string) bool {
if c.MiddlewareName == "" {
return true
}
for _, mn := range mns {
if c.MiddlewareName == mn {
return true
}
}
return false
}
func pagination(request *http.Request, max int) (pageInfo, error) {
perPage, err := getIntParam(request, "per_page", defaultPerPage)
if err != nil {