BangleApps/apps/widbt_notify/settings.js

57 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

2022-07-01 21:01:48 +00:00
(function(back) {
var filename = "widbt_notify.json";
2022-07-01 21:01:48 +00:00
// set Storage and load settings
var storage = require("Storage");
var settings = Object.assign({
showWidget: true,
buzzOnConnect: true,
buzzOnLoss: true,
hideConnected: true,
showMessage: true,
nextBuzz: 30000
}, storage.readJSON(filename, true) || {});
// setup boolean menu entries
function boolEntry(key) {
2022-07-01 21:01:48 +00:00
return {
value: settings[key],
2022-07-01 21:01:48 +00:00
onchange: v => {
// change the value of key
settings[key] = v;
// write to storage
storage.writeJSON(filename, settings);
2022-07-01 21:01:48 +00:00
}
};
}
// setup menu
var menu = {
2022-07-01 21:01:48 +00:00
"": {
"title": "Bluetooth Widget WN"
},
"< Back": () => back(),
"Show Widget": boolEntry("showWidget"),
"Buzz on connect": boolEntry("buzzOnConnect"),
"Buzz on loss": boolEntry("buzzOnLoss"),
"Hide connected": boolEntry("hideConnected"),
"Show Message": boolEntry("showMessage"),
"Next Buzz": {
value: settings.nextBuzz,
step: 1000,
min: 1000,
max: 120000,
wrap: true,
format: v => (v / 1000) + "s",
onchange: v => {
settings.nextBuzz = v;
storage.writeJSON(filename, settings);
}
}
2022-07-01 21:01:48 +00:00
};
// draw main menu
E.showMenu(menu);
2022-07-01 21:01:48 +00:00
})