mirror of
https://github.com/anotherhadi/spilltea.git
synced 2026-05-20 01:32:33 +02:00
Implement prevpage nextpage
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
This commit is contained in:
@@ -289,6 +289,60 @@ func (m Model) updateNormalMode(msg tea.KeyPressMsg, cmds *[]tea.Cmd) (tea.Model
|
|||||||
m.refreshListViewport()
|
m.refreshListViewport()
|
||||||
m.refreshResponseListViewport()
|
m.refreshResponseListViewport()
|
||||||
m.refreshBody()
|
m.refreshBody()
|
||||||
|
|
||||||
|
case key.Matches(msg, keys.Keys.Global.PrevPage):
|
||||||
|
if onResponses {
|
||||||
|
step := m.responsePager.PerPage
|
||||||
|
if step < 1 {
|
||||||
|
step = 1
|
||||||
|
}
|
||||||
|
m.responseCursor -= step
|
||||||
|
if m.responseCursor < 0 {
|
||||||
|
m.responseCursor = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
step := m.pager.PerPage
|
||||||
|
if step < 1 {
|
||||||
|
step = 1
|
||||||
|
}
|
||||||
|
m.cursor -= step
|
||||||
|
if m.cursor < 0 {
|
||||||
|
m.cursor = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.refreshListViewport()
|
||||||
|
m.refreshResponseListViewport()
|
||||||
|
m.refreshBody()
|
||||||
|
|
||||||
|
case key.Matches(msg, keys.Keys.Global.NextPage):
|
||||||
|
if onResponses {
|
||||||
|
step := m.responsePager.PerPage
|
||||||
|
if step < 1 {
|
||||||
|
step = 1
|
||||||
|
}
|
||||||
|
m.responseCursor += step
|
||||||
|
if m.responseCursor >= len(m.responseQueue) {
|
||||||
|
m.responseCursor = len(m.responseQueue) - 1
|
||||||
|
if m.responseCursor < 0 {
|
||||||
|
m.responseCursor = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
step := m.pager.PerPage
|
||||||
|
if step < 1 {
|
||||||
|
step = 1
|
||||||
|
}
|
||||||
|
m.cursor += step
|
||||||
|
if m.cursor >= len(m.queue) {
|
||||||
|
m.cursor = len(m.queue) - 1
|
||||||
|
if m.cursor < 0 {
|
||||||
|
m.cursor = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.refreshListViewport()
|
||||||
|
m.refreshResponseListViewport()
|
||||||
|
m.refreshBody()
|
||||||
}
|
}
|
||||||
|
|
||||||
return m, tea.Batch(*cmds...)
|
return m, tea.Batch(*cmds...)
|
||||||
|
|||||||
@@ -128,6 +128,35 @@ func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
|
|||||||
m.textarea.Focus()
|
m.textarea.Focus()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case key.Matches(msg, g.PrevPage):
|
||||||
|
step := m.pager.PerPage
|
||||||
|
if step < 1 {
|
||||||
|
step = 1
|
||||||
|
}
|
||||||
|
m.cursor -= step
|
||||||
|
if m.cursor < 0 {
|
||||||
|
m.cursor = 0
|
||||||
|
}
|
||||||
|
m.recalcSizes()
|
||||||
|
m.syncTextarea()
|
||||||
|
m.detailViewport.GotoTop()
|
||||||
|
|
||||||
|
case key.Matches(msg, g.NextPage):
|
||||||
|
step := m.pager.PerPage
|
||||||
|
if step < 1 {
|
||||||
|
step = 1
|
||||||
|
}
|
||||||
|
m.cursor += step
|
||||||
|
if m.cursor >= len(m.filtered) {
|
||||||
|
m.cursor = len(m.filtered) - 1
|
||||||
|
if m.cursor < 0 {
|
||||||
|
m.cursor = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
m.recalcSizes()
|
||||||
|
m.syncTextarea()
|
||||||
|
m.detailViewport.GotoTop()
|
||||||
|
|
||||||
case key.Matches(msg, g.ScrollUp):
|
case key.Matches(msg, g.ScrollUp):
|
||||||
step := m.detailViewport.Height() / 2
|
step := m.detailViewport.Height() / 2
|
||||||
if step < 1 {
|
if step < 1 {
|
||||||
|
|||||||
Reference in New Issue
Block a user