From dd76a2a5c93bd49c6df11275eb658a38f46ef5ef Mon Sep 17 00:00:00 2001 From: Ryan Kraus Date: Mon, 13 Jul 2015 23:21:01 -0400 Subject: [PATCH] Pushed Updater card and more-info --- src/cards/state-card-content.html | 1 + src/cards/state-card-content.js | 1 + src/cards/state-card-updater.html | 25 ++++++++++++ src/cards/state-card-updater.js | 20 ++++++++++ src/more-infos/more-info-content.html | 1 + src/more-infos/more-info-content.js | 1 + src/more-infos/more-info-updater.html | 55 +++++++++++++++++++++++++++ src/more-infos/more-info-updater.js | 15 ++++++++ src/util/domain-icon.js | 7 ++++ src/util/state-card-type.js | 2 +- src/util/state-more-info-type.js | 3 +- 11 files changed, 129 insertions(+), 2 deletions(-) create mode 100644 src/cards/state-card-updater.html create mode 100644 src/cards/state-card-updater.js create mode 100644 src/more-infos/more-info-updater.html create mode 100644 src/more-infos/more-info-updater.js diff --git a/src/cards/state-card-content.html b/src/cards/state-card-content.html index e489684e83..ca51ca0d94 100644 --- a/src/cards/state-card-content.html +++ b/src/cards/state-card-content.html @@ -6,3 +6,4 @@ + diff --git a/src/cards/state-card-content.js b/src/cards/state-card-content.js index a331c47e03..788bf5b718 100644 --- a/src/cards/state-card-content.js +++ b/src/cards/state-card-content.js @@ -8,6 +8,7 @@ require('./state-card-thermostat'); require('./state-card-configurator'); require('./state-card-scene'); require('./state-card-media_player'); +require('./state-card-updater'); export default Polymer({ is: 'state-card-content', diff --git a/src/cards/state-card-updater.html b/src/cards/state-card-updater.html new file mode 100644 index 0000000000..7ad8ef6105 --- /dev/null +++ b/src/cards/state-card-updater.html @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/src/cards/state-card-updater.js b/src/cards/state-card-updater.js new file mode 100644 index 0000000000..9d0046239b --- /dev/null +++ b/src/cards/state-card-updater.js @@ -0,0 +1,20 @@ +import { serviceActions } from 'home-assistant-js'; + +import Polymer from '../polymer'; + +require('../components/state-info'); + +export default Polymer({ + is: 'state-card-updater', + + properties: { + stateObj: { + type: Object, + }, + }, + + buttonTapped: function(ev) { + ev.stopPropagation(); + window.hass.serviceActions.callService('updater', 'update', {}) + }, +}); diff --git a/src/more-infos/more-info-content.html b/src/more-infos/more-info-content.html index 1c9dc8b2fe..1e7a028c72 100644 --- a/src/more-infos/more-info-content.html +++ b/src/more-infos/more-info-content.html @@ -9,6 +9,7 @@ + + + diff --git a/src/more-infos/more-info-updater.js b/src/more-infos/more-info-updater.js new file mode 100644 index 0000000000..06e036abe7 --- /dev/null +++ b/src/more-infos/more-info-updater.js @@ -0,0 +1,15 @@ +import { util } from 'home-assistant-js'; + +export default Polymer({ + is: 'more-info-updater', + + properties: { + stateObj: { + type: Object, + }, + }, + + linkTapped: function(stateObj) { + window.open(this.stateObj.attributes.link, '_blank'); + }, +}); diff --git a/src/util/domain-icon.js b/src/util/domain-icon.js index 312ce1b500..71d05adf26 100644 --- a/src/util/domain-icon.js +++ b/src/util/domain-icon.js @@ -51,6 +51,13 @@ export default function domainIcon(domain, state) { case 'scene': return 'social:pages'; + case 'updater': + if(state == "True") { + return 'icons:cloud-download'; + } else { + return 'icons:cloud-done'; + } + default: return "bookmark"; } diff --git a/src/util/state-card-type.js b/src/util/state-card-type.js index e6c3f268cb..bab23f7b06 100644 --- a/src/util/state-card-type.js +++ b/src/util/state-card-type.js @@ -1,7 +1,7 @@ import { reactor, serviceGetters } from 'home-assistant-js'; const DOMAINS_WITH_CARD = [ - 'thermostat', 'configurator', 'scene', 'media_player']; + 'thermostat', 'configurator', 'scene', 'media_player', 'updater']; export default function stateCardType(state) { if(DOMAINS_WITH_CARD.indexOf(state.domain) !== -1) { diff --git a/src/util/state-more-info-type.js b/src/util/state-more-info-type.js index 6cf865e02a..4c6b2f8ead 100644 --- a/src/util/state-more-info-type.js +++ b/src/util/state-more-info-type.js @@ -1,5 +1,6 @@ const DOMAINS_WITH_MORE_INFO = [ - 'light', 'group', 'sun', 'configurator', 'thermostat', 'script', 'media_player', 'camera' + 'light', 'group', 'sun', 'configurator', 'thermostat', 'script', + 'media_player', 'camera', 'updater' ]; export default function stateMoreInfoType(state) {