mirror of https://github.com/espruino/BangleApps
menusmall: follow latest E_showMenu improvements
- remove unused variable - remove unused parameter from `select()` - shave a few bytes off `move()` If a numerical item has `item.wrap` we no longer check if `item.min/max` is set, because your menu will be broken either way. Only small optimizations, so skip the version bump.pull/873/head
parent
ed9daa139a
commit
9f8e451a24
|
@ -46,7 +46,6 @@ E.showMenu = function(items) {
|
||||||
rows = 1+rowmax-rowmin;
|
rows = 1+rowmax-rowmin;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var less = idx>0;
|
|
||||||
while (rows--) {
|
while (rows--) {
|
||||||
var name = menuItems[idx];
|
var name = menuItems[idx];
|
||||||
var item = items[name];
|
var item = items[name];
|
||||||
|
@ -77,7 +76,7 @@ E.showMenu = function(items) {
|
||||||
g.setColor((idx<menuItems.length)?g.theme.fg:g.theme.bg).fillPoly([72,166,104,166,88,174]);
|
g.setColor((idx<menuItems.length)?g.theme.fg:g.theme.bg).fillPoly([72,166,104,166,88,174]);
|
||||||
g.flip();
|
g.flip();
|
||||||
},
|
},
|
||||||
select : function(dir) {
|
select : function() {
|
||||||
var item = items[menuItems[options.selected]];
|
var item = items[menuItems[options.selected]];
|
||||||
if ("function" == typeof item) item(l);
|
if ("function" == typeof item) item(l);
|
||||||
else if ("object" == typeof item) {
|
else if ("object" == typeof item) {
|
||||||
|
@ -95,16 +94,13 @@ E.showMenu = function(items) {
|
||||||
if (l.selectEdit) {
|
if (l.selectEdit) {
|
||||||
var item = l.selectEdit;
|
var item = l.selectEdit;
|
||||||
item.value -= (dir||1)*(item.step||1);
|
item.value -= (dir||1)*(item.step||1);
|
||||||
if (item.min!==undefined && item.value<item.min)
|
if (item.min!==undefined && item.value<item.min) item.value = item.wrap ? item.max : item.min;
|
||||||
item.value = (item.wrap && item.max!==undefined) ? item.max : item.min;
|
if (item.max!==undefined && item.value>item.max) item.value = item.wrap ? item.min : item.max;
|
||||||
if (item.max!==undefined && item.value>item.max)
|
|
||||||
item.value = (item.wrap && item.min!==undefined) ? item.min : item.max;
|
|
||||||
if (item.onchange) item.onchange(item.value);
|
if (item.onchange) item.onchange(item.value);
|
||||||
l.draw(options.selected,options.selected);
|
l.draw(options.selected,options.selected);
|
||||||
} else {
|
} else {
|
||||||
var a=options.selected;
|
var a=options.selected;
|
||||||
options.selected = (dir+options.selected)%menuItems.length;
|
options.selected = (dir+options.selected+menuItems.length)%menuItems.length;
|
||||||
if (options.selected<0) options.selected += menuItems.length;
|
|
||||||
l.draw(Math.min(a,options.selected), Math.max(a,options.selected));
|
l.draw(Math.min(a,options.selected), Math.max(a,options.selected));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue