mirror of https://github.com/espruino/BangleApps
promenu: return a scroller (fixes alarms app)
parent
3a18309f9a
commit
5dac7b2624
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in New Issue