Add missing clearAfter to listview
This commit is contained in:
parent
10fda87de5
commit
5bbd42d461
17
listview.lua
17
listview.lua
|
@ -1,4 +1,5 @@
|
|||
local backingList = {}
|
||||
local length = 0
|
||||
local paginationOffset = 1
|
||||
local frame = term.current()
|
||||
local drawLine = nil
|
||||
|
@ -27,9 +28,24 @@ end
|
|||
|
||||
local function updateItemAt(idx, item)
|
||||
backingList[idx] = item
|
||||
if idx > length then
|
||||
length = idx
|
||||
end
|
||||
redrawLine(idx)
|
||||
end
|
||||
|
||||
local function clearAfter(idx)
|
||||
local tw, th = frame.getSize()
|
||||
for j = length, idx+1, -1 do
|
||||
backingList[j] = nil
|
||||
end
|
||||
length = idx
|
||||
for y = paginationOffset-idx+2, th, 1 do
|
||||
frame.setCursorPos(1, y)
|
||||
frame.clearLine()
|
||||
end
|
||||
end
|
||||
|
||||
local function redraw()
|
||||
if drawLine then
|
||||
local tw, th = frame.getSize()
|
||||
|
@ -56,6 +72,7 @@ return {
|
|||
setDrawLineFunc=setDrawLineFunc,
|
||||
itemAt=itemAt,
|
||||
updateItemAt=updateItemAt,
|
||||
clearAfter=clearAfter,
|
||||
redraw=redraw,
|
||||
updatePage=updatePage,
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue