mirror of
https://github.com/MichMich/MagicMirror.git
synced 2025-06-28 20:22:53 +00:00
More var -> let/const conversions
This commit is contained in:
parent
53720ae8ae
commit
2619f92d09
20
js/class.js
20
js/class.js
@ -8,8 +8,8 @@
|
|||||||
* MIT Licensed.
|
* MIT Licensed.
|
||||||
*/
|
*/
|
||||||
(function () {
|
(function () {
|
||||||
var initializing = false;
|
let initializing = false;
|
||||||
var fnTest = /xyz/.test(function () {
|
const fnTest = /xyz/.test(function () {
|
||||||
xyz;
|
xyz;
|
||||||
})
|
})
|
||||||
? /\b_super\b/
|
? /\b_super\b/
|
||||||
@ -20,27 +20,27 @@
|
|||||||
|
|
||||||
// Create a new Class that inherits from this class
|
// Create a new Class that inherits from this class
|
||||||
Class.extend = function (prop) {
|
Class.extend = function (prop) {
|
||||||
var _super = this.prototype;
|
let _super = this.prototype;
|
||||||
|
|
||||||
// Instantiate a base class (but only create the instance,
|
// Instantiate a base class (but only create the instance,
|
||||||
// don't run the init constructor)
|
// don't run the init constructor)
|
||||||
initializing = true;
|
initializing = true;
|
||||||
var prototype = new this();
|
const prototype = new this();
|
||||||
initializing = false;
|
initializing = false;
|
||||||
|
|
||||||
// Make a copy of all prototype properties, to prevent reference issues.
|
// Make a copy of all prototype properties, to prevent reference issues.
|
||||||
for (var p in prototype) {
|
for (const p in prototype) {
|
||||||
prototype[p] = cloneObject(prototype[p]);
|
prototype[p] = cloneObject(prototype[p]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy the properties over onto the new prototype
|
// Copy the properties over onto the new prototype
|
||||||
for (var name in prop) {
|
for (const name in prop) {
|
||||||
// Check if we're overwriting an existing function
|
// Check if we're overwriting an existing function
|
||||||
prototype[name] =
|
prototype[name] =
|
||||||
typeof prop[name] === "function" && typeof _super[name] === "function" && fnTest.test(prop[name])
|
typeof prop[name] === "function" && typeof _super[name] === "function" && fnTest.test(prop[name])
|
||||||
? (function (name, fn) {
|
? (function (name, fn) {
|
||||||
return function () {
|
return function () {
|
||||||
var tmp = this._super;
|
const tmp = this._super;
|
||||||
|
|
||||||
// Add a new ._super() method that is the same method
|
// Add a new ._super() method that is the same method
|
||||||
// but on the super-class
|
// but on the super-class
|
||||||
@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
// The method only need to be bound temporarily, so we
|
// The method only need to be bound temporarily, so we
|
||||||
// remove it when we're done executing
|
// remove it when we're done executing
|
||||||
var ret = fn.apply(this, arguments);
|
const ret = fn.apply(this, arguments);
|
||||||
this._super = tmp;
|
this._super = tmp;
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@ -91,8 +91,8 @@ function cloneObject(obj) {
|
|||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
var temp = obj.constructor(); // give temp the original obj's constructor
|
const temp = obj.constructor(); // give temp the original obj's constructor
|
||||||
for (var key in obj) {
|
for (const key in obj) {
|
||||||
temp[key] = cloneObject(obj[key]);
|
temp[key] = cloneObject(obj[key]);
|
||||||
|
|
||||||
if (key === "lockStrings") {
|
if (key === "lockStrings") {
|
||||||
|
@ -65,7 +65,7 @@ function createWindow() {
|
|||||||
if (process.argv.includes("dev")) {
|
if (process.argv.includes("dev")) {
|
||||||
if (process.env.JEST_WORKER_ID !== undefined) {
|
if (process.env.JEST_WORKER_ID !== undefined) {
|
||||||
// if we are running with jest
|
// if we are running with jest
|
||||||
var devtools = new BrowserWindow(electronOptions);
|
const devtools = new BrowserWindow(electronOptions);
|
||||||
mainWindow.webContents.setDevToolsWebContents(devtools.webContents);
|
mainWindow.webContents.setDevToolsWebContents(devtools.webContents);
|
||||||
}
|
}
|
||||||
mainWindow.webContents.openDevTools();
|
mainWindow.webContents.openDevTools();
|
||||||
|
@ -141,12 +141,7 @@ var Translator = (function () {
|
|||||||
* The first language defined in translations.js will be used.
|
* The first language defined in translations.js will be used.
|
||||||
*/
|
*/
|
||||||
loadCoreTranslationsFallback: function () {
|
loadCoreTranslationsFallback: function () {
|
||||||
// The variable `first` will contain the first
|
let first = Object.keys(translations)[0];
|
||||||
// defined translation after the following line.
|
|
||||||
for (var first in translations) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (first) {
|
if (first) {
|
||||||
Log.log("Loading core translation fallback file: " + translations[first]);
|
Log.log("Loading core translation fallback file: " + translations[first]);
|
||||||
loadJSON(translations[first], (translations) => {
|
loadJSON(translations[first], (translations) => {
|
||||||
|
@ -134,7 +134,7 @@ WeatherProvider.register("envcanada", {
|
|||||||
//
|
//
|
||||||
fetchData: function (url, method = "GET", data = null) {
|
fetchData: function (url, method = "GET", data = null) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
var request = new XMLHttpRequest();
|
const request = new XMLHttpRequest();
|
||||||
request.open(method, url, true);
|
request.open(method, url, true);
|
||||||
request.onreadystatechange = function () {
|
request.onreadystatechange = function () {
|
||||||
if (this.readyState === 4) {
|
if (this.readyState === 4) {
|
||||||
@ -164,7 +164,7 @@ WeatherProvider.register("envcanada", {
|
|||||||
// CORS errors when accessing EC
|
// CORS errors when accessing EC
|
||||||
//
|
//
|
||||||
getUrl() {
|
getUrl() {
|
||||||
var path = "https://thingproxy.freeboard.io/fetch/https://dd.weather.gc.ca/citypage_weather/xml/" + this.config.provCode + "/" + this.config.siteCode + "_e.xml";
|
const path = "https://thingproxy.freeboard.io/fetch/https://dd.weather.gc.ca/citypage_weather/xml/" + this.config.provCode + "/" + this.config.siteCode + "_e.xml";
|
||||||
|
|
||||||
return path;
|
return path;
|
||||||
},
|
},
|
||||||
@ -232,7 +232,7 @@ WeatherProvider.register("envcanada", {
|
|||||||
// Capture the sunrise and sunset values from EC data
|
// Capture the sunrise and sunset values from EC data
|
||||||
//
|
//
|
||||||
|
|
||||||
var sunList = ECdoc.querySelectorAll("siteData riseSet dateTime");
|
const sunList = ECdoc.querySelectorAll("siteData riseSet dateTime");
|
||||||
|
|
||||||
currentWeather.sunrise = moment(sunList[1].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss");
|
currentWeather.sunrise = moment(sunList[1].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss");
|
||||||
currentWeather.sunset = moment(sunList[3].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss");
|
currentWeather.sunset = moment(sunList[3].querySelector("timeStamp").textContent, "YYYYMMDDhhmmss");
|
||||||
@ -249,14 +249,14 @@ WeatherProvider.register("envcanada", {
|
|||||||
|
|
||||||
const days = [];
|
const days = [];
|
||||||
|
|
||||||
var weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
const weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
||||||
|
|
||||||
var foreBaseDates = ECdoc.querySelectorAll("siteData forecastGroup dateTime");
|
const foreBaseDates = ECdoc.querySelectorAll("siteData forecastGroup dateTime");
|
||||||
var baseDate = foreBaseDates[1].querySelector("timeStamp").textContent;
|
const baseDate = foreBaseDates[1].querySelector("timeStamp").textContent;
|
||||||
|
|
||||||
weather.date = moment(baseDate, "YYYYMMDDhhmmss");
|
weather.date = moment(baseDate, "YYYYMMDDhhmmss");
|
||||||
|
|
||||||
var foreGroup = ECdoc.querySelectorAll("siteData forecastGroup forecast");
|
const foreGroup = ECdoc.querySelectorAll("siteData forecastGroup forecast");
|
||||||
|
|
||||||
// For simplicity, we will only accumulate precipitation and will not try to break out
|
// For simplicity, we will only accumulate precipitation and will not try to break out
|
||||||
// rain vs snow accumulations
|
// rain vs snow accumulations
|
||||||
@ -288,9 +288,9 @@ WeatherProvider.register("envcanada", {
|
|||||||
// where the next day's (aka Tomorrow's) forecast is located in the forecast array.
|
// where the next day's (aka Tomorrow's) forecast is located in the forecast array.
|
||||||
//
|
//
|
||||||
|
|
||||||
var nextDay = 0;
|
let nextDay = 0;
|
||||||
var lastDay = 0;
|
let lastDay = 0;
|
||||||
var currentTemp = ECdoc.querySelector("siteData currentConditions temperature").textContent;
|
const currentTemp = ECdoc.querySelector("siteData currentConditions temperature").textContent;
|
||||||
|
|
||||||
//
|
//
|
||||||
// If the first Element is Current Today, look at Current Today and Current Tonight for the current day.
|
// If the first Element is Current Today, look at Current Today and Current Tonight for the current day.
|
||||||
@ -356,9 +356,9 @@ WeatherProvider.register("envcanada", {
|
|||||||
// iteration looking at the current Element and the next Element.
|
// iteration looking at the current Element and the next Element.
|
||||||
//
|
//
|
||||||
|
|
||||||
var lastDate = moment(baseDate, "YYYYMMDDhhmmss");
|
let lastDate = moment(baseDate, "YYYYMMDDhhmmss");
|
||||||
|
|
||||||
for (var stepDay = nextDay; stepDay < lastDay; stepDay += 2) {
|
for (let stepDay = nextDay; stepDay < lastDay; stepDay += 2) {
|
||||||
let weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
let weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
||||||
|
|
||||||
// Add 1 to the date to reflect the current forecast day we are building
|
// Add 1 to the date to reflect the current forecast day we are building
|
||||||
@ -402,23 +402,23 @@ WeatherProvider.register("envcanada", {
|
|||||||
|
|
||||||
// Get local timezone UTC offset so that each hourly time can be calculated properly
|
// Get local timezone UTC offset so that each hourly time can be calculated properly
|
||||||
|
|
||||||
var baseHours = ECdoc.querySelectorAll("siteData hourlyForecastGroup dateTime");
|
const baseHours = ECdoc.querySelectorAll("siteData hourlyForecastGroup dateTime");
|
||||||
var hourOffset = baseHours[1].getAttribute("UTCOffset");
|
const hourOffset = baseHours[1].getAttribute("UTCOffset");
|
||||||
|
|
||||||
//
|
//
|
||||||
// The EC hourly forecast is held in a 24-element array - Elements 0 to 23 - with Element 0 holding
|
// The EC hourly forecast is held in a 24-element array - Elements 0 to 23 - with Element 0 holding
|
||||||
// the forecast for the next 'on the hour' timeslot. This means the array is a rolling 24 hours.
|
// the forecast for the next 'on the hour' timeslot. This means the array is a rolling 24 hours.
|
||||||
//
|
//
|
||||||
|
|
||||||
var hourGroup = ECdoc.querySelectorAll("siteData hourlyForecastGroup hourlyForecast");
|
const hourGroup = ECdoc.querySelectorAll("siteData hourlyForecastGroup hourlyForecast");
|
||||||
|
|
||||||
for (var stepHour = 0; stepHour < 24; stepHour += 1) {
|
for (let stepHour = 0; stepHour < 24; stepHour += 1) {
|
||||||
var weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
const weather = new WeatherObject(this.config.units, this.config.tempUnits, this.config.windUnits);
|
||||||
|
|
||||||
// Determine local time by applying UTC offset to the forecast timestamp
|
// Determine local time by applying UTC offset to the forecast timestamp
|
||||||
|
|
||||||
var foreTime = moment(hourGroup[stepHour].getAttribute("dateTimeUTC"), "YYYYMMDDhhmmss");
|
const foreTime = moment(hourGroup[stepHour].getAttribute("dateTimeUTC"), "YYYYMMDDhhmmss");
|
||||||
var currTime = foreTime.add(hourOffset, "hours");
|
const currTime = foreTime.add(hourOffset, "hours");
|
||||||
weather.date = moment(currTime, "X");
|
weather.date = moment(currTime, "X");
|
||||||
|
|
||||||
// Capture the temperature
|
// Capture the temperature
|
||||||
@ -427,7 +427,7 @@ WeatherProvider.register("envcanada", {
|
|||||||
|
|
||||||
// Capture Likelihood of Precipitation (LOP) and unit-of-measure values
|
// Capture Likelihood of Precipitation (LOP) and unit-of-measure values
|
||||||
|
|
||||||
var precipLOP = hourGroup[stepHour].querySelector("lop").textContent * 1.0;
|
const precipLOP = hourGroup[stepHour].querySelector("lop").textContent * 1.0;
|
||||||
|
|
||||||
if (precipLOP > 0) {
|
if (precipLOP > 0) {
|
||||||
weather.precipitation = precipLOP;
|
weather.precipitation = precipLOP;
|
||||||
@ -453,9 +453,9 @@ WeatherProvider.register("envcanada", {
|
|||||||
//
|
//
|
||||||
|
|
||||||
setMinMaxTemps(weather, foreGroup, today, fullDay, currentTemp) {
|
setMinMaxTemps(weather, foreGroup, today, fullDay, currentTemp) {
|
||||||
var todayTemp = foreGroup[today].querySelector("temperatures temperature").textContent;
|
const todayTemp = foreGroup[today].querySelector("temperatures temperature").textContent;
|
||||||
|
|
||||||
var todayClass = foreGroup[today].querySelector("temperatures temperature").getAttribute("class");
|
const todayClass = foreGroup[today].querySelector("temperatures temperature").getAttribute("class");
|
||||||
|
|
||||||
//
|
//
|
||||||
// The following logic is largely aimed at accommodating the Current day's forecast whereby we
|
// The following logic is largely aimed at accommodating the Current day's forecast whereby we
|
||||||
@ -500,9 +500,9 @@ WeatherProvider.register("envcanada", {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var nextTemp = foreGroup[today + 1].querySelector("temperatures temperature").textContent;
|
const nextTemp = foreGroup[today + 1].querySelector("temperatures temperature").textContent;
|
||||||
|
|
||||||
var nextClass = foreGroup[today + 1].querySelector("temperatures temperature").getAttribute("class");
|
const nextClass = foreGroup[today + 1].querySelector("temperatures temperature").getAttribute("class");
|
||||||
|
|
||||||
if (fullDay === true) {
|
if (fullDay === true) {
|
||||||
if (nextClass === "low") {
|
if (nextClass === "low") {
|
||||||
@ -577,6 +577,7 @@ WeatherProvider.register("envcanada", {
|
|||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
//
|
//
|
||||||
// Convert km/h to mph
|
// Convert km/h to mph
|
||||||
//
|
//
|
||||||
|
Loading…
x
Reference in New Issue
Block a user