From 78c7756aa18b7abcaf8f531209d8d9b910527f27 Mon Sep 17 00:00:00 2001 From: Justin Weberg Date: Tue, 18 Oct 2016 08:18:06 -0500 Subject: [PATCH] Add markdown to persistent notifications (#128) * Add micromarkdown.js and update persistent notifications * Fixed my way wrong logic * change to stateObj in call * Move micromarkdown to bower. Update importHref. * Add properties for importHref * Fix importHref properties and add logging. * Fix computeContent function * Fix travis * Fix computeContent function * Fix markdown script * Fix all markdown code. * Add mmd.css * Correct imports of stylesheets * Fix Travis * Move micromarkdown to HA * Fix requests * Fix importHref script location --- .../ha-persistent_notification-card.html | 43 ++++++++++++++++++- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/src/cards/ha-persistent_notification-card.html b/src/cards/ha-persistent_notification-card.html index 964c43ad21..7f603df40d 100644 --- a/src/cards/ha-persistent_notification-card.html +++ b/src/cards/ha-persistent_notification-card.html @@ -18,8 +18,8 @@ } - -
[[stateObj.state]]
+ +
DISMISS
@@ -37,12 +37,51 @@ Polymer({ stateObj: { type: Object, }, + + scriptLoaded: { + type: Boolean, + value: false, + }, }, + observers: [ + 'computeContent(stateObj, scriptLoaded)', + ], + computeTitle: function (stateObj) { return stateObj.attributes.title || stateObj.entityDisplay; }, + loadScript: function () { + var success = function () { + this.scriptLoaded = true; + }.bind(this); + + var error = function () { + console.error('Micromarkdown was not loaded.'); + }; + + this.importHref( + '/static/micromarkdown-js.html', + success, error + ); + }, + + computeContent: function (stateObj, scriptLoaded) { + var el = ''; + var message = ''; + if (scriptLoaded) { + el = this.$.pnContent; + message = micromarkdown.parse(stateObj.state); + el.innerHTML = message; + } + return; + }, + + ready: function () { + this.loadScript(); + }, + dismissTap: function (ev) { ev.preventDefault();