Fix issue with evaluating arrow output
parent
968707d761
commit
bd8c89b538
|
|
@ -27,24 +27,22 @@ const monthName = [
|
||||||
const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
const weekday = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
||||||
|
|
||||||
// dynamic variables
|
// dynamic variables
|
||||||
let batLevel = -1;
|
var batLevel = -1;
|
||||||
let batColor = [0, 0, 0];
|
var batColor = [0, 0, 0];
|
||||||
|
|
||||||
// settings variables
|
// settings variables
|
||||||
let dateFormat;
|
var dateFormat;
|
||||||
let drawInterval;
|
var drawInterval;
|
||||||
let pollInterval;
|
var pollInterval;
|
||||||
let showAnalogFace;
|
var showAnalogFace;
|
||||||
let showWeekInfo;
|
var showWeekInfo;
|
||||||
let useVectorFont;
|
var useVectorFont;
|
||||||
|
|
||||||
// load settings
|
// load settings
|
||||||
function loadSettings() {
|
function loadSettings() {
|
||||||
// Helper function default setting
|
// Helper function default setting
|
||||||
function def(value, def) {
|
function def(value, def) {return value !== undefined ? value : def;}
|
||||||
return value !== undefined ? value : def;
|
var settings = require("Storage").readJSON(SETTINGSFILE, true) || {};
|
||||||
}
|
|
||||||
let settings = require("Storage").readJSON(SETTINGSFILE, true) || {};
|
|
||||||
|
|
||||||
dateFormat = def(settings.dateFormat, "Short");
|
dateFormat = def(settings.dateFormat, "Short");
|
||||||
drawInterval = def(settings.drawInterval, 10);
|
drawInterval = def(settings.drawInterval, 10);
|
||||||
|
|
@ -99,7 +97,7 @@ function draw() {
|
||||||
g.drawImage(background);
|
g.drawImage(background);
|
||||||
|
|
||||||
const color = getBatteryColor(batLevel);
|
const color = getBatteryColor(batLevel);
|
||||||
let bat = "";
|
var bat = "";
|
||||||
const d = new Date();
|
const d = new Date();
|
||||||
const day = d.getDate();
|
const day = d.getDate();
|
||||||
const month = d.getMonth() + 1;
|
const month = d.getMonth() + 1;
|
||||||
|
|
@ -152,7 +150,7 @@ pollBattery();
|
||||||
draw();
|
draw();
|
||||||
|
|
||||||
var batInterval = setInterval(pollBattery, 60000);
|
var batInterval = setInterval(pollBattery, 60000);
|
||||||
let actualDrawInterval = setInterval(draw, drawInterval * 1000);
|
var actualDrawInterval = setInterval(draw, drawInterval * 1000);
|
||||||
|
|
||||||
// Stop updates when LCD is off, restart when on
|
// Stop updates when LCD is off, restart when on
|
||||||
Bangle.on("lcdPower", (on) => {
|
Bangle.on("lcdPower", (on) => {
|
||||||
|
|
|
||||||
|
|
@ -3,36 +3,31 @@
|
||||||
// helper functions taken from Anton Clock
|
// helper functions taken from Anton Clock
|
||||||
|
|
||||||
(function (back) {
|
(function (back) {
|
||||||
const FILE = "smclock.json";
|
var FILE = "smclock.json";
|
||||||
// load settings from the file
|
// load settings from the file
|
||||||
// assign default values if it doesn't exist
|
// assign default values if it doesn't exist
|
||||||
let settings = Object.assign(
|
var settings = Object.assign({
|
||||||
{
|
|
||||||
dateFormat: "Short",
|
dateFormat: "Short",
|
||||||
drawInterval: 10,
|
drawInterval: 10,
|
||||||
pollInterval: 60,
|
pollInterval: 60,
|
||||||
showAnalogFace: false,
|
showAnalogFace: false,
|
||||||
showWeekInfo: false,
|
showWeekInfo: false,
|
||||||
useVectorFont: false,
|
useVectorFont: false,
|
||||||
},
|
}, require("Storage").readJSON(FILE, true) || {});
|
||||||
require("Storage").readJSON(FILE, true) || {}
|
|
||||||
);
|
|
||||||
|
|
||||||
// write the new settings to the file
|
// write the new settings to the file
|
||||||
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();
|
||||||
},
|
},
|
||||||
|
|
@ -46,15 +41,13 @@
|
||||||
|
|
||||||
// settings menu
|
// settings menu
|
||||||
var mainmenu = {
|
var mainmenu = {
|
||||||
"": {
|
"": {title: "Monogram Clock",},
|
||||||
title: "Monogram Clock",
|
|
||||||
},
|
|
||||||
"< Back": () => back(),
|
"< Back": () => back(),
|
||||||
"Analog Face": {
|
"Analog Face": {
|
||||||
value:
|
value:
|
||||||
settings.showAnalogFace !== undefined ? settings.showAnalogFace : false,
|
settings.showAnalogFace !== undefined ? settings.showAnalogFace : false,
|
||||||
format: (v) => (v ? "On" : "Off"),
|
format: v => v ? "On" : "Off",
|
||||||
onchange: (v) => {
|
onchange: v => {
|
||||||
if (v == "On") {
|
if (v == "On") {
|
||||||
settings.showAnalogFace = true;
|
settings.showAnalogFace = true;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -66,14 +59,14 @@
|
||||||
Date: stringInSettings("dateFormat", ["Long", "Short"]),
|
Date: stringInSettings("dateFormat", ["Long", "Short"]),
|
||||||
"Draw Interval": {
|
"Draw Interval": {
|
||||||
value: settings.drawInterval,
|
value: settings.drawInterval,
|
||||||
onchange: (v) => {
|
onchange: v => {
|
||||||
settings.drawInterval = v;
|
settings.drawInterval = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"Poll Interval": {
|
"Poll Interval": {
|
||||||
value: settings.pollInterval,
|
value: settings.pollInterval,
|
||||||
onchange: (v) => {
|
onchange: v => {
|
||||||
settings.pollInterval = v;
|
settings.pollInterval = v;
|
||||||
writeSettings();
|
writeSettings();
|
||||||
},
|
},
|
||||||
|
|
@ -81,8 +74,8 @@
|
||||||
"Week Info": {
|
"Week Info": {
|
||||||
value:
|
value:
|
||||||
settings.showWeekInfo !== undefined ? settings.showWeekInfo : false,
|
settings.showWeekInfo !== undefined ? settings.showWeekInfo : false,
|
||||||
format: (v) => (v ? "On" : "Off"),
|
format: v => v ? "On" : "Off",
|
||||||
onchange: (v) => {
|
onchange: v => {
|
||||||
if (v == "On") {
|
if (v == "On") {
|
||||||
settings.showWeekInfo = true;
|
settings.showWeekInfo = true;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -94,13 +87,9 @@
|
||||||
"Vector Font": {
|
"Vector Font": {
|
||||||
value:
|
value:
|
||||||
settings.useVectorFont !== undefined ? settings.useVectorFont : false,
|
settings.useVectorFont !== undefined ? settings.useVectorFont : false,
|
||||||
format: (v) => (v ? "On" : "Off"),
|
format: v => v ? "On" : "Off",
|
||||||
onchange: (v) => {
|
onchange: v => {
|
||||||
if (v == "On") {
|
settings.useVectorFont = v;
|
||||||
settings.useVectorFont = true;
|
|
||||||
} else {
|
|
||||||
settings.useVectorFont = false;
|
|
||||||
}
|
|
||||||
writeSettings();
|
writeSettings();
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue