From 28f9b55e4f488d4f5380d11a0785055183f25fb1 Mon Sep 17 00:00:00 2001 From: Sean Smith Date: Sat, 17 Aug 2019 15:58:59 -0400 Subject: [PATCH] Move jenkins filter to the data retrieval portion (#533) Per #532, we are keeping track of all items regardless of filter, meaning that selection does not work as expected --- modules/jenkins/client.go | 12 ++++++++++++ modules/jenkins/widget.go | 22 +++++++++------------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/modules/jenkins/client.go b/modules/jenkins/client.go index 803d6b9b2..24eef15a7 100644 --- a/modules/jenkins/client.go +++ b/modules/jenkins/client.go @@ -8,6 +8,7 @@ import ( "io/ioutil" "net/http" "net/url" + "regexp" "strings" ) @@ -43,6 +44,17 @@ func (widget *Widget) Create(jenkinsURL string, username string, apiKey string) view := &View{} parseJson(view, resp.Body) + jobs := []Job{} + + var validID = regexp.MustCompile(widget.settings.jobNameRegex) + for _, job := range view.Jobs { + if validID.MatchString(job.Name) { + jobs = append(jobs, job) + } + } + + view.Jobs = jobs + return view, nil } diff --git a/modules/jenkins/widget.go b/modules/jenkins/widget.go index 28b5eb0ce..74c39f882 100644 --- a/modules/jenkins/widget.go +++ b/modules/jenkins/widget.go @@ -2,7 +2,6 @@ package jenkins import ( "fmt" - "regexp" "github.com/rivo/tview" "github.com/wtfutil/wtf/utils" @@ -73,18 +72,15 @@ func (widget *Widget) Render() { func (widget *Widget) contentFrom(view *View) string { var str string for idx, job := range view.Jobs { - var validID = regexp.MustCompile(widget.settings.jobNameRegex) - - if validID.MatchString(job.Name) { - row := fmt.Sprintf( - `[%s] [%s]%-6s[white]`, - widget.RowColor(idx), - widget.jobColor(&job), - job.Name, - ) - - str += utils.HighlightableHelper(widget.View, row, idx, len(job.Name)) - } + + row := fmt.Sprintf( + `[%s] [%s]%-6s[white]`, + widget.RowColor(idx), + widget.jobColor(&job), + job.Name, + ) + + str += utils.HighlightableHelper(widget.View, row, idx, len(job.Name)) } return str