summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormatthieu <matthieu.cneude@gmail.com>2021-10-26 06:36:36 +0200
committermatthieu <matthieu.cneude@gmail.com>2021-10-26 06:36:36 +0200
commitb6947e399bd201b8372c3d9c67ea489a04372927 (patch)
treee674be70c3e7fa69f4b68c5a6573de7de9eb33d9
parentae557aa5c7d066d1958ce1c3756593f4dffa8f80 (diff)
Quick clean up
Don't need to process widget sequententially
-rw-r--r--cmd/root.go2
-rw-r--r--internal/project.go64
2 files changed, 4 insertions, 62 deletions
diff --git a/cmd/root.go b/cmd/root.go
index 3cbefc4..9c84428 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -218,8 +218,6 @@ func build(file string, tui *internal.Tui) {
}
project.WithLocalhost(localhost)
- // TODO choice between concurency and non concurency
- // renderFuncs := project.CreateNonConcWidgets()
renderFuncs := project.CreateWidgets()
if !debug {
project.Render(renderFuncs)
diff --git a/internal/project.go b/internal/project.go
index 8390745..b833645 100644
--- a/internal/project.go
+++ b/internal/project.go
@@ -195,7 +195,7 @@ func (p *project) CreateWidgets() [][][]func() error {
continue
}
- go getChannelRenderers(service, serviceName, w, p.tui, ch)
+ go getRenderers(service, serviceName, w, p.tui, ch)
}
}
}
@@ -216,10 +216,9 @@ func (p *project) CreateWidgets() [][][]func() error {
return funcs
}
-// getConcurentRenderers and fetch information via different ways depending on Widget (API / SSH / ...)
-// A function to display the widget will be send to a channel.
-// One channel per widget to keep the widget order in a slice.
-func getChannelRenderers(s service, name string, w Widget, tui *Tui, c chan<- func() error) {
+// getRenderers to display the widgets.
+// One channel per widget to keep the order of widget in a slice.
+func getRenderers(s service, name string, w Widget, tui *Tui, c chan<- func() error) {
if s == nil {
c <- DisplayError(tui, errors.Errorf("can't use widget %s without service %s.", w.Name, name))
} else {
@@ -233,61 +232,6 @@ func getChannelRenderers(s service, name string, w Widget, tui *Tui, c chan<- fu
close(c)
}
-// Create all the widgets and populate them with data.
-// Return slice of widgets
-func (p *project) CreateNonConcWidgets() [][][]func() error {
- // TODO: use display.box instead of this shortcut
- err := p.addTitle(p.tui)
- if err != nil {
- err = errors.Wrapf(err, "can't add project title %s", p.name)
- DisplayError(p.tui, err)()
- }
-
- funcs := make([][][]func() error, len(p.widgets))
-
- for ir, row := range p.widgets {
- for ic, col := range row {
- funcs[ir] = append(funcs[ir], []func() error{})
- for _, w := range col {
- w = p.addDefaultTheme(w)
-
- service, err := p.mapServiceID(w.serviceID())
- if err != nil {
- funcs[ir][ic] = append(funcs[ir][ic], DisplayError(p.tui, err))
- continue
- }
-
- serviceName, err := mapServiceName(w.serviceID())
- if err != nil {
- funcs[ir][ic] = append(funcs[ir][ic], DisplayError(p.tui, err))
- continue
- }
-
- funcs[ir][ic] = append(funcs[ir][ic], getFuncRenderers(service, serviceName, w, p.tui))
- }
- }
- }
-
- return funcs
-}
-
-func getFuncRenderers(s service, name string, w Widget, tui *Tui) (f func() error) {
- if s == nil {
- f = DisplayError(tui, errors.Errorf(
- "Configuration error - you can't use the widget %s without the service %s.",
- w.Name,
- name,
- ))
- }
-
- f, err := s.CreateWidgets(w, tui)
- if err != nil {
- f = DisplayError(tui, err)
- }
-
- return f
-}
-
func (p *project) Render(funcs [][][]func() error) {
for r, row := range p.widgets {
for c, col := range row {