mirror of
https://github.com/anotherhadi/spilltea.git
synced 2026-07-06 20:42:33 +02:00
fix: jumping cursor on tick when filter is set
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
@@ -76,14 +76,28 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case SearchResultMsg:
|
case SearchResultMsg:
|
||||||
|
var selectedID int64
|
||||||
|
if m.cursor >= 0 && m.cursor < len(m.entries) {
|
||||||
|
selectedID = m.entries[m.cursor].ID
|
||||||
|
}
|
||||||
m.entries = msg.Entries
|
m.entries = msg.Entries
|
||||||
m.cursor = 0
|
m.cursor = 0
|
||||||
|
if selectedID != 0 {
|
||||||
|
for i, e := range m.entries {
|
||||||
|
if e.ID == selectedID {
|
||||||
|
m.cursor = i
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
m.searchErr = ""
|
m.searchErr = ""
|
||||||
m.pager.SetTotalPages(len(m.entries))
|
m.pager.SetTotalPages(len(m.entries))
|
||||||
m.refreshListViewport()
|
m.refreshListViewport()
|
||||||
m.refreshBody()
|
m.refreshBody()
|
||||||
m.bodyViewport.SetYOffset(0)
|
if selectedID == 0 {
|
||||||
m.bodyViewport.SetXOffset(0)
|
m.bodyViewport.SetYOffset(0)
|
||||||
|
m.bodyViewport.SetXOffset(0)
|
||||||
|
}
|
||||||
if m.searchKind == searchKindSQL {
|
if m.searchKind == searchKindSQL {
|
||||||
m.acceptSearch()
|
m.acceptSearch()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user