From: Bastien Wirtz Date: Thu, 22 Apr 2021 05:09:01 +0000 (-0700) Subject: Fix null error releated to refreshInterval + cleanup. Fix #210 X-Git-Tag: v21.07.1~16 X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=7596bc527f5b995bedd6a77ed71b6e1feba1364d;p=github%2Fbastienwirtz%2Fhomer.git Fix null error releated to refreshInterval + cleanup. Fix #210 --- diff --git a/src/components/Message.vue b/src/components/Message.vue index 7c6acdd..6cc649a 100644 --- a/src/components/Message.vue +++ b/src/components/Message.vue @@ -42,19 +42,29 @@ export default { }, methods: { 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); - if (this.item.mapping) + console.log("done"); + if (this.item.mapping) { fetchedMessage = this.mapRemoteMessage(fetchedMessage); + } + // keep the original config value if no value is provided by the endpoint + const message = this.message; for (const prop of ["title", "style", "content"]) { 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); + } }, downloadMessage: function (url) {