mirror of https://github.com/espruino/BangleApps
owmweather - Add settings
parent
27062fdbc0
commit
3132dcb46e
|
@ -9,6 +9,7 @@
|
||||||
"supports" : ["BANGLEJS2"],
|
"supports" : ["BANGLEJS2"],
|
||||||
"readme": "README.md",
|
"readme": "README.md",
|
||||||
"storage": [
|
"storage": [
|
||||||
{"name":"owmweather.boot.js","url":"boot.js"}
|
{"name":"owmweather.boot.js","url":"boot.js"},
|
||||||
|
{"name":"owmweather.settings.js","url":"settings.js"}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,59 @@
|
||||||
|
(function(back) {
|
||||||
|
function writeSettings(key, value) {
|
||||||
|
var s = require('Storage').readJSON(FILE, true) || {};
|
||||||
|
s[key] = value;
|
||||||
|
require('Storage').writeJSON(FILE, s);
|
||||||
|
readSettings();
|
||||||
|
}
|
||||||
|
|
||||||
|
function readSettings(){
|
||||||
|
settings = Object.assign(
|
||||||
|
require('Storage').readJSON("owmweather.default.json", true) || {},
|
||||||
|
require('Storage').readJSON(FILE, true) || {}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
var FILE="owmweather.json";
|
||||||
|
var settings;
|
||||||
|
readSettings();
|
||||||
|
|
||||||
|
function buildMainMenu(){
|
||||||
|
var mainmenu = {
|
||||||
|
'': { 'title': 'OWM weather' },
|
||||||
|
'< Back': back,
|
||||||
|
"Enabled": {
|
||||||
|
value: !!settings.enabled,
|
||||||
|
onchange: v => {
|
||||||
|
writeSettings("enabled", v);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Refresh every": {
|
||||||
|
value: settings.refresh / 60,
|
||||||
|
min: 1,
|
||||||
|
max: 48,
|
||||||
|
step: 1,
|
||||||
|
format: v=>v+"h",
|
||||||
|
onchange: v => {
|
||||||
|
writeSettings("refresh",Math.round(v * 60));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Force refresh": Bangle.pullOwmWeather
|
||||||
|
};
|
||||||
|
|
||||||
|
if (require("textinput")){
|
||||||
|
mainmenu["API key"] = function (){
|
||||||
|
require("textinput").input({text:settings.apikey}).then(result => {
|
||||||
|
if (result != "") {
|
||||||
|
settings.apikey = result;
|
||||||
|
writeSettings("apikey",result);
|
||||||
|
}
|
||||||
|
E.showMenu(buildMainMenu());
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return mainmenu;
|
||||||
|
}
|
||||||
|
|
||||||
|
E.showMenu(buildMainMenu());
|
||||||
|
});
|
Loading…
Reference in New Issue