mirror of
https://github.com/jesseduffield/lazydocker.git
synced 2026-07-25 08:31:03 +00:00
allow click events in menu
This commit is contained in:
parent
7025468f43
commit
0e76f61359
4 changed files with 14 additions and 2 deletions
|
|
@ -384,7 +384,7 @@ func (gui *Gui) GetInitialKeybindings() []*Binding {
|
||||||
nextLine func(*gocui.Gui, *gocui.View) error
|
nextLine func(*gocui.Gui, *gocui.View) error
|
||||||
focus func(*gocui.Gui, *gocui.View) error
|
focus func(*gocui.Gui, *gocui.View) error
|
||||||
}{
|
}{
|
||||||
"menu": {prevLine: gui.handleMenuPrevLine, nextLine: gui.handleMenuNextLine, focus: gui.handleMenuSelect},
|
"menu": {prevLine: gui.handleMenuPrevLine, nextLine: gui.handleMenuNextLine, focus: gui.handleMenuClick},
|
||||||
"services": {prevLine: gui.handleServicesPrevLine, nextLine: gui.handleServicesNextLine, focus: gui.handleServicesClick},
|
"services": {prevLine: gui.handleServicesPrevLine, nextLine: gui.handleServicesNextLine, focus: gui.handleServicesClick},
|
||||||
"containers": {prevLine: gui.handleContainersPrevLine, nextLine: gui.handleContainersNextLine, focus: gui.handleContainersClick},
|
"containers": {prevLine: gui.handleContainersPrevLine, nextLine: gui.handleContainersNextLine, focus: gui.handleContainersClick},
|
||||||
"images": {prevLine: gui.handleImagesPrevLine, nextLine: gui.handleImagesNextLine, focus: gui.handleImagesClick},
|
"images": {prevLine: gui.handleImagesPrevLine, nextLine: gui.handleImagesNextLine, focus: gui.handleImagesClick},
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,14 @@ func (gui *Gui) handleMenuNextLine(g *gocui.Gui, v *gocui.View) error {
|
||||||
return gui.handleMenuSelect(g, v)
|
return gui.handleMenuSelect(g, v)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (gui *Gui) handleMenuClick(g *gocui.Gui, v *gocui.View) error {
|
||||||
|
itemCount := gui.State.MenuItemCount
|
||||||
|
handleSelect := gui.handleMenuSelect
|
||||||
|
selectedLine := &gui.State.Panels.Menu.SelectedLine
|
||||||
|
|
||||||
|
return gui.handleClick(v, itemCount, selectedLine, handleSelect)
|
||||||
|
}
|
||||||
|
|
||||||
func (gui *Gui) handleMenuPrevLine(g *gocui.Gui, v *gocui.View) error {
|
func (gui *Gui) handleMenuPrevLine(g *gocui.Gui, v *gocui.View) error {
|
||||||
panelState := gui.State.Panels.Menu
|
panelState := gui.State.Panels.Menu
|
||||||
gui.changeSelectedLine(&panelState.SelectedLine, v.LinesHeight(), true)
|
gui.changeSelectedLine(&panelState.SelectedLine, v.LinesHeight(), true)
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,10 @@ func (gui *Gui) getBindings(v *gocui.View) []*Binding {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gui *Gui) handleCreateOptionsMenu(g *gocui.Gui, v *gocui.View) error {
|
func (gui *Gui) handleCreateOptionsMenu(g *gocui.Gui, v *gocui.View) error {
|
||||||
|
if v.Name() == "menu" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
bindings := gui.getBindings(v)
|
bindings := gui.getBindings(v)
|
||||||
|
|
||||||
handleMenuPress := func(index int) error {
|
handleMenuPress := func(index int) error {
|
||||||
|
|
|
||||||
|
|
@ -385,7 +385,7 @@ func (gui *Gui) clearMainView() {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gui *Gui) handleClick(v *gocui.View, itemCount int, selectedLine *int, handleSelect func(*gocui.Gui, *gocui.View) error) error {
|
func (gui *Gui) handleClick(v *gocui.View, itemCount int, selectedLine *int, handleSelect func(*gocui.Gui, *gocui.View) error) error {
|
||||||
if gui.popupPanelFocused() {
|
if gui.popupPanelFocused() && v != nil && !gui.isPopupPanel(v.Name()) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue