1
0
Fork 0

Update blc.settings.js

master
aemkai 2024-09-12 18:05:31 +02:00 committed by GitHub
parent b5491e1371
commit 15c2ddb3c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 63 additions and 63 deletions

View File

@ -1,72 +1,72 @@
// Change settings for BinaryClk // Change settings for BinaryClk
(function(back){ (function(back){
// color array -- don't change order unless change oder in BinaryClk.js // color array -- don't change order unless change oder in BinaryClk.js
let LED_ColorNames = ["white", "red", "green", "blue", "yellow", "magenta", "cyan", "black"]; let LED_ColorNames = ["white", "red", "green", "blue", "yellow", "magenta", "cyan", "black"];
var FILE = "BinaryClk.settings.json"; var FILE = "BinaryClk.settings.json";
// Load settings // Load settings
var settings = Object.assign({ var settings = Object.assign({
HourCol: "red", HourCol: "red",
MinCol: "green", MinCol: "green",
DayCol: "yellow", DayCol: "yellow",
MonCol: "yellow", MonCol: "yellow",
RingOn: true, RingOn: true,
}, require('Storage').readJSON(FILE, true) || {}); }, require('Storage').readJSON(FILE, true) || {});
function writeSettings(){ function writeSettings(){
require('Storage').writeJSON(FILE, settings); require('Storage').writeJSON(FILE, settings);
} }
// Helper method which uses int-based menu item for set of string values // Helper method which uses int-based menu item for set of string values
function stringItems(startvalue, writer, values) { function stringItems(startvalue, writer, values) {
return{ return{
value: (startvalue === undefined ? 0 : values.indexOf(startvalue)), value: (startvalue === undefined ? 0 : values.indexOf(startvalue)),
format: v => values[v], format: v => values[v],
min: 0, min: 0,
max: values.length - 1, max: values.length - 1,
wrap: true, wrap: true,
step: 1, step: 1,
onchange: v => { onchange: v => {
writer(values[v]); writer(values[v]);
writeSettings(); writeSettings();
} }
}; };
} }
// Helper method which breaks string set settings down to local settings object // Helper method which breaks string set settings down to local settings object
function stringInSettings(name, values) { function stringInSettings(name, values) {
return stringItems(settings[name], v => settings[name] = v, values); return stringItems(settings[name], v => settings[name] = v, values);
} }
// Show the menu // Show the menu
var mainmenu = { var mainmenu = {
"" : { "" : {
"title" : "BinaryCLK" "title" : "BinaryCLK"
}, },
"< Back" : () => back(), "< Back" : () => back(),
'Color Hour.:': stringInSettings("HourCol", LED_ColorNames), 'Color Hour.:': stringInSettings("HourCol", LED_ColorNames),
'Color Minute:': stringInSettings("MinCol", LED_ColorNames), 'Color Minute:': stringInSettings("MinCol", LED_ColorNames),
'Color Day': stringInSettings("DayCol", LED_ColorNames), 'Color Day': stringInSettings("DayCol", LED_ColorNames),
'Color Month:': stringInSettings("MonCol", LED_ColorNames), 'Color Month:': stringInSettings("MonCol", LED_ColorNames),
'LED ring on/off': { 'LED ring on/off': {
value: (settings.RingOn !== undefined ? settings.RingOn : true), value: (settings.RingOn !== undefined ? settings.RingOn : true),
onchange: v => { onchange: v => {
settings.RingOn = v; settings.RingOn = v;
writeSettings(); writeSettings();
} }
}, },
}; };
// Show submenues // Show submenues
//var submenu1 = { //var submenu1 = {
//"": { //"": {
// "title": "Show sub1..." // "title": "Show sub1..."
//}, //},
//"< Back": () => E.showMenu(mainmenu), //"< Back": () => E.showMenu(mainmenu),
//"ItemName": stringInSettings("settingsVar", ["Yes", "No", "DontCare"]), //"ItemName": stringInSettings("settingsVar", ["Yes", "No", "DontCare"]),
//}; //};
E.showMenu(mainmenu); E.showMenu(mainmenu);
}); });