[E_showMenu_Q3] Add "Back" on boxed submenu

1. Add "Back"-Button on boxed selection submenu inside E_showMenu
2. Regenerated E_showMenu_Q3.min.js via IDE with "Closure  Simple Optimizations"
3. Alter ChangeLog entry
This commit is contained in:
storm64 2022-04-29 11:53:32 +02:00
parent 7070a4cc3e
commit 16fcc94436
3 changed files with 12 additions and 9 deletions

View File

@ -1,4 +1,4 @@
Bangle.js2: Add "Back"-Button on list selection submenu inside E_showMenu
Bangle.js2: Add "Back"-Button on submenus inside E_showMenu
Bangle.js2: Add ".noList" property to prevent E.showScroller inside E.showMenu
Bangle.js2: Fix issue with E.showMenu creating a global `s` variable
Bangle.js2: Recheck string wrapping after font change inside E.showMenu

View File

@ -61,7 +61,10 @@
g.fillPoly([mx,my-45, mx+15,my-30, mx-15,my-30]).fillPoly([mx,my+45, mx+15,my+30, mx-15,my+30]);
}
draw();
Bangle.setUI("updown", dir => {
Bangle.setUI({
mode: "updown",
back: show
}, dir => {
if (dir) {
v -= (dir||1)*(item.step||1);
if (item.min!==undefined && v<item.min) v = item.wrap ? item.max : item.min;

View File

@ -1,7 +1,7 @@
(function(l){function v(a,b){var h=a.step||1;if(!a.noList&&void 0!==a.min&&void 0!==a.max&&20>(a.max-a.min)/h)E.showScroller({h:40,c:(a.max+h-a.min)/h,back:p,scrollMin:-24,scroll:-24,draw:function(c,d){if(0>c)return g.setFont("12x20").setFontAlign(-1,0).drawString("\x00\f\f\u0081\x00\u00ff\u00ff\u00ff\x00\x00\x00\x00\u000f\u00ff\u00ff\u00f0\x00\x00\x00\x00\u00ff\u00ff\u00ff "+b,d.x+12,d.y+40-12);g.setColor(g.theme.bg2).fillRect({x:d.x+4,y:d.y+2,w:d.w-8,h:d.h-4,r:5});c=c*h+a.min;g.setColor(g.theme.fg2).setFont("12x20").setFontAlign(-1,
0).drawString(a.format?a.format(c):c,d.x+12,d.y+20);g.drawImage(atob(c==a.value?"FBSBAAH4AH/gHgeDgBww8MY/xmf+bH/jz/88//PP/zz/88f+Nn/mY/xjDww4AcHgeAf+AB+A":"FBSBAAH4AH/gHgeDgBwwAMYABmAAbAADwAA8AAPAADwAA8AANgAGYABjAAw4AcHgeAf+AB+A"),d.x+d.w-32,d.y+20-10)},select:function(c){if(!(0>c)){Bangle.buzz(20);a.value=a.min+c*h;if(a.onchange)a.onchange(a.value);r.scroll=n.scroll;p()}}});else{var f=function(){var c=e.x+e.w/2,d=12+e.y+e.h/2;g.reset().setColor(g.theme.bg2).fillRect({x:e.x+24,y:e.y+36,w:e.w-48,h:e.h-
48,r:5});g.setColor(g.theme.fg2).setFontVector(30).setFontAlign(0,0).drawString(a.format?a.format(k):k,c,d);g.fillPoly([c,d-45,c+15,d-30,c-15,d-30]).fillPoly([c,d+45,c+15,d+30,c-15,d+30])},e=Bangle.appRect,k=a.value;g.reset().clearRect(Bangle.appRect);g.setFont("12x20").setFontAlign(0,0).drawString("\x00\f\f\u0081\x00\u00ff\u00ff\u00ff\x00\x00\x00\x00\u000f\u00ff\u00ff\u00f0\x00\x00\x00\x00\u00ff\u00ff\u00ff "+b,e.x+e.w/2,e.y+12);f();Bangle.setUI("updown",function(c){if(c)k-=(c||1)*(a.step||1),void 0!==
a.min&&k<a.min&&(k=a.wrap?a.max:a.min),void 0!==a.max&&k>a.max&&(k=a.wrap?a.min:a.max),f();else{a.value=k;if(a.onchange)a.onchange(a.value);r.scroll=n.scroll;p()}})}}function p(){n=E.showScroller(r)}if(void 0===l)return g.clearRect(Bangle.appRect),Bangle.setUI();var q=l[""]||{};q.title||(q.title="Menu");var t=q.back||l["< Back"],m=Object.keys(l).filter(function(a){return""!=a&&"< Back"!=a});m.forEach(function(a){a=l[a];"object"!=typeof a||"boolean"!=typeof a.value||a.format||(a.format=function(b){return"\x00"+
atob(b?"EhKBAH//v/////////////5//x//j//H+eP+Mf/A//h//z//////////3//g":"EhKBAH//v//8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA///3//g")})});var u={draw:function(){return n.draw()}},r={h:40,c:m.length,scrollMin:-24,scroll:-24,back:t,draw:function(a,b){if(0>a)return g.setColor(g.theme.fg).setFont("12x20").setFontAlign(-1,0).drawString("\x00\f\f\u0081\x00\u00ff\u00ff\u00ff\x00\x00\x00\x00\u000f\u00ff\u00ff\u00f0\x00\x00\x00\x00\u00ff\u00ff\u00ff "+q.title,b.x+12,b.y+40-12);g.setColor(g.theme.bg2).fillRect({x:b.x+
4,y:b.y+2,w:b.w-8,h:b.h-4,r:5});g.setColor(g.theme.fg2).setFont("12x20");var h=24,f=l[m[a]];if("object"==typeof f){var e=f.value;f.format&&(e=f.format(e));g.stringMetrics(e).width>b.w/2&&(e=g.wrapString(e,b.w/2).join("\n"));g.setFontAlign(1,0).drawString(e,b.x+b.w-8,b.y+20);h+=g.stringWidth(e)}else"function"==typeof f&&(g.drawImage(atob("CRKBAGA4Hg8DwPB4HgcDg8PB4eHg8HAwAA=="),b.x+b.w-21,b.y+20-9),h+=16);f=g.wrapString(m[a],b.w-h);1<f.length&&(g.setFont("6x15"),f=g.wrapString(m[a],b.w-h));g.setFontAlign(-1,
0).drawString(f.join("\n"),b.x+12,b.y+20)},select:function(a){if(0>a)return t&&t();var b=l[m[a]];Bangle.buzz(20);if("function"==typeof b)b(u);else if("object"==typeof b)if("number"==typeof b.value)v(b,m[a]);else{"boolean"==typeof b.value&&(b.value=!b.value);if(b.onchange)b.onchange(b.value);n.drawItem(a)}}},n;p();return u});
(function(l){function v(a,b){var h=a.step||1;if(!a.noList&&void 0!==a.min&&void 0!==a.max&&20>(a.max-a.min)/h)E.showScroller({h:40,c:(a.max+h-a.min)/h,back:n,scrollMin:-24,scroll:-24,draw:function(c,d){if(0>c)return g.setFont("12x20").setFontAlign(-1,0).drawString("\x00\f\f\u0081\x00\u00ff\u00ff\u00ff\x00\x00\x00\x00\u000f\u00ff\u00ff\u00f0\x00\x00\x00\x00\u00ff\u00ff\u00ff "+b,d.x+12,d.y+40-12);g.setColor(g.theme.bg2).fillRect({x:d.x+4,y:d.y+2,w:d.w-8,h:d.h-4,r:5});c=c*h+a.min;g.setColor(g.theme.fg2).setFont("12x20").setFontAlign(-1,
0).drawString(a.format?a.format(c):c,d.x+12,d.y+20);g.drawImage(atob(c==a.value?"FBSBAAH4AH/gHgeDgBww8MY/xmf+bH/jz/88//PP/zz/88f+Nn/mY/xjDww4AcHgeAf+AB+A":"FBSBAAH4AH/gHgeDgBwwAMYABmAAbAADwAA8AAPAADwAA8AANgAGYABjAAw4AcHgeAf+AB+A"),d.x+d.w-32,d.y+20-10)},select:function(c){if(!(0>c)){Bangle.buzz(20);a.value=a.min+c*h;if(a.onchange)a.onchange(a.value);r.scroll=p.scroll;n()}}});else{var f=function(){var c=e.x+e.w/2,d=12+e.y+e.h/2;g.reset().setColor(g.theme.bg2).fillRect({x:e.x+24,y:e.y+36,w:e.w-48,h:e.h-
48,r:5});g.setColor(g.theme.fg2).setFontVector(30).setFontAlign(0,0).drawString(a.format?a.format(k):k,c,d);g.fillPoly([c,d-45,c+15,d-30,c-15,d-30]).fillPoly([c,d+45,c+15,d+30,c-15,d+30])},e=Bangle.appRect,k=a.value;g.reset().clearRect(Bangle.appRect);g.setFont("12x20").setFontAlign(0,0).drawString("\x00\f\f\u0081\x00\u00ff\u00ff\u00ff\x00\x00\x00\x00\u000f\u00ff\u00ff\u00f0\x00\x00\x00\x00\u00ff\u00ff\u00ff "+b,e.x+e.w/2,e.y+12);f();Bangle.setUI({mode:"updown",back:n},function(c){if(c)k-=(c||1)*
(a.step||1),void 0!==a.min&&k<a.min&&(k=a.wrap?a.max:a.min),void 0!==a.max&&k>a.max&&(k=a.wrap?a.min:a.max),f();else{a.value=k;if(a.onchange)a.onchange(a.value);r.scroll=p.scroll;n()}})}}function n(){p=E.showScroller(r)}if(void 0===l)return g.clearRect(Bangle.appRect),Bangle.setUI();var q=l[""]||{};q.title||(q.title="Menu");var t=q.back||l["< Back"],m=Object.keys(l).filter(function(a){return""!=a&&"< Back"!=a});m.forEach(function(a){a=l[a];"object"!=typeof a||"boolean"!=typeof a.value||a.format||
(a.format=function(b){return"\x00"+atob(b?"EhKBAH//v/////////////5//x//j//H+eP+Mf/A//h//z//////////3//g":"EhKBAH//v//8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA8AA///3//g")})});var u={draw:function(){return p.draw()}},r={h:40,c:m.length,scrollMin:-24,scroll:-24,back:t,draw:function(a,b){if(0>a)return g.setColor(g.theme.fg).setFont("12x20").setFontAlign(-1,0).drawString("\x00\f\f\u0081\x00\u00ff\u00ff\u00ff\x00\x00\x00\x00\u000f\u00ff\u00ff\u00f0\x00\x00\x00\x00\u00ff\u00ff\u00ff "+q.title,b.x+12,b.y+
40-12);g.setColor(g.theme.bg2).fillRect({x:b.x+4,y:b.y+2,w:b.w-8,h:b.h-4,r:5});g.setColor(g.theme.fg2).setFont("12x20");var h=24,f=l[m[a]];if("object"==typeof f){var e=f.value;f.format&&(e=f.format(e));g.stringMetrics(e).width>b.w/2&&(e=g.wrapString(e,b.w/2).join("\n"));g.setFontAlign(1,0).drawString(e,b.x+b.w-8,b.y+20);h+=g.stringWidth(e)}else"function"==typeof f&&(g.drawImage(atob("CRKBAGA4Hg8DwPB4HgcDg8PB4eHg8HAwAA=="),b.x+b.w-21,b.y+20-9),h+=16);f=g.wrapString(m[a],b.w-h);1<f.length&&(g.setFont("6x15"),
f=g.wrapString(m[a],b.w-h));g.setFontAlign(-1,0).drawString(f.join("\n"),b.x+12,b.y+20)},select:function(a){if(0>a)return t&&t();var b=l[m[a]];Bangle.buzz(20);if("function"==typeof b)b(u);else if("object"==typeof b)if("number"==typeof b.value)v(b,m[a]);else{"boolean"==typeof b.value&&(b.value=!b.value);if(b.onchange)b.onchange(b.value);p.drawItem(a)}}},p;n();return u});