wid_edit - Wrap loadWidgets instead of replacing it
parent
5c110a89fb
commit
3462b36f9c
|
|
@ -1,18 +1,14 @@
|
|||
Bangle.loadWidgets = function() {
|
||||
global.WIDGETS={};
|
||||
require("Storage").list(/\.wid\.js$/)
|
||||
.forEach(w=>{
|
||||
try { eval(require("Storage").read(w)); }
|
||||
catch (e) { print(w, e); }
|
||||
});
|
||||
const s = require("Storage").readJSON("wid_edit.json", 1) || {},
|
||||
c = s.custom || {};
|
||||
Bangle.loadWidgets = (o => ()=>{
|
||||
o();
|
||||
const s = require("Storage").readJSON("wid_edit.json", 1) || {};
|
||||
const c = s.custom || {};
|
||||
for (const w in c){
|
||||
if (!(w in WIDGETS)) continue; // widget no longer exists
|
||||
// store defaults of customized values in _WIDGETS
|
||||
global._WIDGETS=global._WIDGETS||{};
|
||||
_WIDGETS[w] = {};
|
||||
if (!global._WIDGETS) global._WIDGETS = {};
|
||||
if (!global._WIDGETS[w]) global._WIDGETS[w] = {};
|
||||
Object.keys(c[w]).forEach(k => _WIDGETS[w][k] = WIDGETS[w][k]);
|
||||
//overide values in widget with configured ones
|
||||
Object.assign(WIDGETS[w], c[w]);
|
||||
}
|
||||
const W = WIDGETS;
|
||||
|
|
@ -21,4 +17,4 @@ Bangle.loadWidgets = function() {
|
|||
.sort()
|
||||
.sort((a, b) => (0|W[b].sortorder)-(0|W[a].sortorder))
|
||||
.forEach(k => WIDGETS[k] = W[k]);
|
||||
}
|
||||
})(Bangle.loadWidgets);
|
||||
|
|
|
|||
Loading…
Reference in New Issue