2023-04-08 07:26:10 +00:00
|
|
|
(function (back) {
|
2023-05-07 09:44:04 +00:00
|
|
|
var _a, _b, _c, _d, _e;
|
2023-04-08 07:26:10 +00:00
|
|
|
var SETTINGS_FILE = "drained.setting.json";
|
|
|
|
var storage = require("Storage");
|
|
|
|
var settings = storage.readJSON(SETTINGS_FILE, true) || {};
|
|
|
|
(_a = settings.battery) !== null && _a !== void 0 ? _a : (settings.battery = 5);
|
2023-04-19 17:14:41 +00:00
|
|
|
(_b = settings.restore) !== null && _b !== void 0 ? _b : (settings.restore = 20);
|
|
|
|
(_c = settings.interval) !== null && _c !== void 0 ? _c : (settings.interval = 10);
|
2023-05-07 09:44:04 +00:00
|
|
|
(_d = settings.keepStartup) !== null && _d !== void 0 ? _d : (settings.keepStartup = true);
|
|
|
|
(_e = settings.exceptions) !== null && _e !== void 0 ? _e : (settings.exceptions = ["widdst.0"]);
|
2023-04-08 07:26:10 +00:00
|
|
|
var save = function () {
|
|
|
|
storage.writeJSON(SETTINGS_FILE, settings);
|
|
|
|
};
|
2023-05-07 09:44:04 +00:00
|
|
|
var menu = {
|
2023-04-08 07:26:10 +00:00
|
|
|
"": { "title": "Drained" },
|
|
|
|
"< Back": back,
|
2023-04-11 17:25:11 +00:00
|
|
|
"Trigger at batt%": {
|
2023-04-08 07:26:10 +00:00
|
|
|
value: settings.battery,
|
|
|
|
min: 0,
|
|
|
|
max: 95,
|
|
|
|
step: 5,
|
2023-04-11 17:25:11 +00:00
|
|
|
format: function (v) { return "".concat(v, "%"); },
|
2023-04-08 07:26:10 +00:00
|
|
|
onchange: function (v) {
|
|
|
|
settings.battery = v;
|
|
|
|
save();
|
|
|
|
},
|
|
|
|
},
|
2023-04-11 17:25:11 +00:00
|
|
|
"Poll interval": {
|
2023-04-08 07:26:10 +00:00
|
|
|
value: settings.interval,
|
|
|
|
min: 1,
|
|
|
|
max: 60 * 2,
|
|
|
|
step: 5,
|
2023-04-11 17:25:11 +00:00
|
|
|
format: function (v) { return "".concat(v, " mins"); },
|
2023-04-08 07:26:10 +00:00
|
|
|
onchange: function (v) {
|
|
|
|
settings.interval = v;
|
|
|
|
save();
|
|
|
|
},
|
|
|
|
},
|
2023-04-19 17:14:41 +00:00
|
|
|
"Restore watch at %": {
|
|
|
|
value: settings.restore,
|
|
|
|
min: 0,
|
|
|
|
max: 95,
|
|
|
|
step: 5,
|
|
|
|
format: function (v) { return "".concat(v, "%"); },
|
|
|
|
onchange: function (v) {
|
|
|
|
settings.restore = v;
|
|
|
|
save();
|
|
|
|
},
|
|
|
|
},
|
2023-05-07 09:44:04 +00:00
|
|
|
"Keep startup code": {
|
|
|
|
value: settings.keepStartup,
|
|
|
|
onchange: function (b) {
|
|
|
|
settings.keepStartup = b;
|
|
|
|
save();
|
2023-05-10 20:25:19 +00:00
|
|
|
updateAndRedraw();
|
2023-05-07 09:44:04 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
2023-05-10 20:25:19 +00:00
|
|
|
var updateAndRedraw = function () {
|
|
|
|
setTimeout(function () { E.showMenu(menu); }, 10);
|
2023-05-07 09:44:04 +00:00
|
|
|
if (settings.keepStartup) {
|
|
|
|
delete menu["Startup exceptions"];
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
menu["Startup exceptions"] = function () { return E.showMenu(bootExceptions); };
|
|
|
|
var bootExceptions = {
|
|
|
|
"": { "title": "Startup exceptions" },
|
|
|
|
"< Back": function () { return E.showMenu(menu); },
|
|
|
|
};
|
|
|
|
storage.list(/\.boot\.js/)
|
|
|
|
.map(function (name) { return name.replace(".boot.js", ""); })
|
|
|
|
.forEach(function (name) {
|
|
|
|
bootExceptions[name] = {
|
|
|
|
value: settings.exceptions.indexOf(name) >= 0,
|
|
|
|
onchange: function (b) {
|
|
|
|
if (b) {
|
|
|
|
settings.exceptions.push(name);
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
var i = settings.exceptions.indexOf(name);
|
|
|
|
if (i >= 0)
|
|
|
|
settings.exceptions.splice(i, 1);
|
|
|
|
}
|
|
|
|
save();
|
|
|
|
},
|
|
|
|
};
|
|
|
|
});
|
|
|
|
};
|
2023-05-10 20:25:19 +00:00
|
|
|
updateAndRedraw();
|
2024-10-28 19:16:14 +00:00
|
|
|
})
|