refac controller listen

pull/1/head
Edouard Paris 5 years ago
parent cdfcb5ecd6
commit 46ebdd149c

@ -1,7 +1,6 @@
package events
const (
Quit = "quit"
InvoiceCreated = "invoice.created"
InvoiceSettled = "invoice.settled"
)

@ -13,6 +13,7 @@ import (
)
type controller struct {
logger logging.Logger
models *models.Models
views *views.Views
}
@ -67,15 +68,14 @@ func (c *controller) SetModels(ctx context.Context) error {
return c.models.RefreshChannels(ctx)
}
func (c *controller) Refresh(ctx context.Context, sub chan *events.Event) error {
func (c *controller) Listen(ctx context.Context, g *gocui.Gui, sub chan *events.Event) {
c.logger.Debug("Listening...")
for event := range sub {
if event.Type == events.Quit {
break
switch event.Type {
default:
c.logger.Info("event received", logging.String("type", event.Type))
}
c.models.App.Logger.Info("models loop", logging.String("type event", event.Type))
}
return gocui.ErrQuit
}
func quit(g *gocui.Gui, v *gocui.View) error {
@ -104,6 +104,7 @@ func (c *controller) setKeyBinding(g *gocui.Gui) error {
func newController(app *app.App) *controller {
m := models.New(app)
return &controller{
logger: app.Logger.With(logging.String("logger", "controller")),
models: m,
views: views.New(m),
}

@ -30,12 +30,7 @@ func Run(ctx context.Context, app *app.App, sub chan *events.Event) error {
return err
}
go func() {
err := ctrl.Refresh(ctx, sub)
if err != nil {
g.Update(func(*gocui.Gui) error { return err })
}
}()
go ctrl.Listen(ctx, g, sub)
err = g.MainLoop()
close(sub)

Loading…
Cancel
Save