From d93fef4c61db20dd9e2bb535c2fbb742cdbed60a Mon Sep 17 00:00:00 2001 From: Jesse Duffield Date: Sat, 19 Mar 2022 09:31:52 +1100 Subject: use generics to DRY up context code --- pkg/gui/context/reflog_commits_context.go | 34 +++---------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) (limited to 'pkg/gui/context/reflog_commits_context.go') diff --git a/pkg/gui/context/reflog_commits_context.go b/pkg/gui/context/reflog_commits_context.go index fa136a7d4..815805515 100644 --- a/pkg/gui/context/reflog_commits_context.go +++ b/pkg/gui/context/reflog_commits_context.go @@ -3,12 +3,11 @@ package context import ( "github.com/jesseduffield/gocui" "github.com/jesseduffield/lazygit/pkg/commands/models" - "github.com/jesseduffield/lazygit/pkg/gui/context/traits" "github.com/jesseduffield/lazygit/pkg/gui/types" ) type ReflogCommitsContext struct { - *ReflogCommitsViewModel + *BasicViewModel[*models.Commit] *ListContextTrait } @@ -25,10 +24,10 @@ func NewReflogCommitsContext( c *types.HelperCommon, ) *ReflogCommitsContext { - viewModel := NewReflogCommitsViewModel(getModel) + viewModel := NewBasicViewModel(getModel) return &ReflogCommitsContext{ - ReflogCommitsViewModel: viewModel, + BasicViewModel: viewModel, ListContextTrait: &ListContextTrait{ Context: NewSimpleContext(NewBaseContext(NewBaseContextOpts{ ViewName: "commits", @@ -71,30 +70,3 @@ func (self *ReflogCommitsContext) GetSelectedRefName() string { return item.RefName() } - -type ReflogCommitsViewModel struct { - *traits.ListCursor - getModel func() []*models.Commit -} - -func NewReflogCommitsViewModel(getModel func() []*models.Commit) *ReflogCommitsViewModel { - self := &ReflogCommitsViewModel{ - getModel: getModel, - } - - self.ListCursor = traits.NewListCursor(self) - - return self -} - -func (self *ReflogCommitsViewModel) GetItemsLength() int { - return len(self.getModel()) -} - -func (self *ReflogCommitsViewModel) GetSelected() *models.Commit { - if self.GetItemsLength() == 0 { - return nil - } - - return self.getModel()[self.GetSelectedLineIdx()] -} -- cgit v1.2.3