mirror of https://github.com/bastienwirtz/homer
Fix null error releated to refreshInterval + cleanup. Fix #210
parent
aadd8b49cc
commit
7596bc527f
|
@ -42,19 +42,29 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getMessage: async function () {
|
getMessage: async function () {
|
||||||
if (this.item && this.item.url) {
|
if (!this.item) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (this.item.url) {
|
||||||
let fetchedMessage = await this.downloadMessage(this.item.url);
|
let fetchedMessage = await this.downloadMessage(this.item.url);
|
||||||
if (this.item.mapping)
|
console.log("done");
|
||||||
|
if (this.item.mapping) {
|
||||||
fetchedMessage = this.mapRemoteMessage(fetchedMessage);
|
fetchedMessage = this.mapRemoteMessage(fetchedMessage);
|
||||||
|
}
|
||||||
|
|
||||||
// keep the original config value if no value is provided by the endpoint
|
// keep the original config value if no value is provided by the endpoint
|
||||||
|
const message = this.message;
|
||||||
for (const prop of ["title", "style", "content"]) {
|
for (const prop of ["title", "style", "content"]) {
|
||||||
if (prop in fetchedMessage && fetchedMessage[prop] !== null) {
|
if (prop in fetchedMessage && fetchedMessage[prop] !== null) {
|
||||||
this.message[prop] = fetchedMessage[prop];
|
message[prop] = fetchedMessage[prop];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.message = { ...message }; // Force computed property to re-evaluate
|
||||||
}
|
}
|
||||||
if (this.item.refreshInterval)
|
|
||||||
|
if (this.item.refreshInterval) {
|
||||||
setTimeout(this.getMessage, this.item.refreshInterval);
|
setTimeout(this.getMessage, this.item.refreshInterval);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
downloadMessage: function (url) {
|
downloadMessage: function (url) {
|
||||||
|
|
Loading…
Reference in New Issue