Fix scrolling table with PageDown and PageUp

Resolves #402.
This commit is contained in:
Trevor Slocum 2020-02-13 10:00:20 -08:00
parent e8d1520774
commit 5c7d71700b
1 changed files with 14 additions and 4 deletions

View File

@ -1101,27 +1101,37 @@ func (t *Table) InputHandler() func(event *tcell.EventKey, setFocus func(p Primi
}
pageDown = func() {
offsetAmount := t.visibleRows - t.fixedRows
if offsetAmount < 0 {
offsetAmount = 0
}
if t.rowsSelectable {
t.selectedRow += t.visibleRows
t.selectedRow += offsetAmount
if t.selectedRow >= len(t.cells) {
t.selectedRow = len(t.cells) - 1
}
next()
} else {
t.rowOffset += t.visibleRows
t.rowOffset += offsetAmount
}
}
pageUp = func() {
offsetAmount := t.visibleRows - t.fixedRows
if offsetAmount < 0 {
offsetAmount = 0
}
if t.rowsSelectable {
t.selectedRow -= t.visibleRows
t.selectedRow -= offsetAmount
if t.selectedRow < 0 {
t.selectedRow = 0
}
previous()
} else {
t.trackEnd = false
t.rowOffset -= t.visibleRows
t.rowOffset -= offsetAmount
}
}
)