diff --git a/apps/promenu/bootb2.js b/apps/promenu/bootb2.js index 9909d2af3..faf989597 100644 --- a/apps/promenu/bootb2.js +++ b/apps/promenu/bootb2.js @@ -28,6 +28,9 @@ E.showMenu = function (items) { y += 22; var lastIdx = 0; var selectEdit = undefined; + var scroller = { + scroll: selected, + }; var l = { draw: function (rowmin, rowmax) { var rows = 0 | Math.min((y2 - y) / fontHeight, menuItems.length); @@ -138,9 +141,11 @@ E.showMenu = function (items) { else { var lastSelected = selected; selected = (selected + dir + menuItems.length) % menuItems.length; + scroller.scroll = selected; l.draw(Math.min(lastSelected, selected), Math.max(lastSelected, selected)); } }, + scroller: scroller, }; l.draw(); var back = options.back; diff --git a/apps/promenu/bootb2.ts b/apps/promenu/bootb2.ts index 9342d2ec9..ac89f7033 100644 --- a/apps/promenu/bootb2.ts +++ b/apps/promenu/bootb2.ts @@ -35,6 +35,10 @@ E.showMenu = (items?: Menu): MenuInstance => { let lastIdx = 0; let selectEdit: undefined | ActualMenuItem = undefined; + const scroller = { + scroll: selected, + }; + const l = { draw: (rowmin?: number, rowmax?: number) => { let rows = 0|Math.min((y2 - y) / fontHeight, menuItems.length); @@ -156,9 +160,11 @@ E.showMenu = (items?: Menu): MenuInstance => { } else { const lastSelected = selected; selected = (selected + dir + /*keep +ve*/menuItems.length) % menuItems.length; + scroller.scroll = selected; l.draw(Math.min(lastSelected, selected), Math.max(lastSelected, selected)); } }, + scroller, }; l.draw();