BangleApps_old/apps/tally/settings.js

52 lines
1.6 KiB
JavaScript

(function (back) {
var storage = require("Storage");
var SETTINGS_FILE = "tallycfg.json";
var tallycfg = storage.readJSON(SETTINGS_FILE, 1) || [];
function saveSettings() {
storage.writeJSON(SETTINGS_FILE, tallycfg);
}
function showMainMenu() {
var menu = {
"": { "title": "Tally Configs" },
"< Back": back,
"Add New": function () { return showEditMenu(); },
};
tallycfg.forEach(function (tally, index) {
menu[tally.name] = function () { return showEditMenu(tally, index); };
});
E.showMenu(menu);
}
function showEditMenu(tally, index) {
var isNew = tally == null;
if (tally == null) {
tally = { name: "" };
index = tallycfg.length;
tallycfg.push(tally);
}
var menu = {
"": { "title": isNew ? "New Tally" : "Edit Tally" },
"< Back": function () {
saveSettings();
showMainMenu();
},
};
menu[tally.name || "<set name>"] = function () {
require("textinput")
.input({ text: tally.name })
.then(function (text) {
tally.name = text;
showEditMenu(tally, index);
});
};
if (!isNew) {
menu["Delete"] = function () {
tallycfg.splice(index, 1);
saveSettings();
showMainMenu();
};
}
E.showMenu(menu);
}
showMainMenu();
})