mirror of https://github.com/espruino/BangleApps
promenu: only run onchange/draw if value changes
parent
d9bc0aaffa
commit
1fa407b305
|
@ -136,6 +136,8 @@ E.showMenu = (items?: Menu): MenuInstance => {
|
||||||
const item = selectEdit;
|
const item = selectEdit;
|
||||||
|
|
||||||
if (typeof item === "object" && typeof item.value === "number") {
|
if (typeof item === "object" && typeof item.value === "number") {
|
||||||
|
const orig = item.value;
|
||||||
|
|
||||||
item.value += (-dir||1) * (item.step||1);
|
item.value += (-dir||1) * (item.step||1);
|
||||||
|
|
||||||
if (item.min && item.value < item.min)
|
if (item.min && item.value < item.min)
|
||||||
|
@ -144,10 +146,12 @@ E.showMenu = (items?: Menu): MenuInstance => {
|
||||||
if ("max" in item && item.value > item.max)
|
if ("max" in item && item.value > item.max)
|
||||||
item.value = item.wrap ? item.min as number : item.max;
|
item.value = item.wrap ? item.min as number : item.max;
|
||||||
|
|
||||||
if (item.onchange)
|
if (item.value !== orig) {
|
||||||
item.onchange(item.value);
|
if (item.onchange)
|
||||||
|
item.onchange(item.value);
|
||||||
|
|
||||||
l.draw(selected, selected);
|
l.draw(selected, selected);
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
const lastSelected = selected;
|
const lastSelected = selected;
|
||||||
|
|
Loading…
Reference in New Issue