+ getMessage: async function () {
+ if (this.item && this.item.url) {
+ let fetchedMessage = await this.downloadMessage(this.item.url);
+ if (this.item.mapping)
+ fetchedMessage = this.mapRemoteMessage(fetchedMessage);
+ // keep the original config value if no value is provided by the endpoint
+ for (const prop of ["title", "style", "content"]) {
+ if (prop in fetchedMessage && fetchedMessage[prop] !== null) {
+ this.message[prop] = fetchedMessage[prop];
+ }
+ }
+ }
+ if (this.item.refreshInterval)
+ setTimeout(this.getMessage, this.item.refreshInterval);
+ },
+
+ downloadMessage: function (url) {