-
[[addonInfo.description]]
-
+
- Installed |
- [[computeInstallStatus(addonInfo)]] |
+ Description |
+ [[addonInfo.description]] |
Version |
- [[addonInfo.version]] |
+
+ [[addonState.version]]
+
+
+ Update
+
+ |
+
+
+ State |
+ [[addonState.state]] |
+
+
+ Boot |
+
+ [[addonState.boot]]
+ Toggle
+ |
+
+
+ Auto update |
+
+
+ Toggle
+ |
+
+
+ Uses host network |
+
+
+ |
+
+
+
+ Builds locally
+
+
+
+ |
+
+
+ |
Detached |
- [[addonInfo.detached]] |
+
+
+ |
+
+
+
+ Start
+
+
+ Restart
+ Stop
+
+ Uninstall
+
@@ -49,17 +154,54 @@ Polymer({
is: 'hassio-addon-info',
properties: {
- hass: {
- type: Object,
- },
+ hass: Object,
+ addonInfo: Object,
+ addonState: Object,
- addonInfo: {
- type: Object,
+ _isRunning: {
+ type: Boolean,
+ computed: '_computeIsRunning(addonState)',
},
},
- computeInstallStatus: function (addon) {
- return (addon && addon.installed) || 'Not installed';
+ _computeIsRunning: function (addonState) {
+ return addonState && addonState.state === 'started';
},
+
+ _computeUpdateAvailable: function (data) {
+ return data && !data.detached && data.version !== data.last_version;
+ },
+
+ _pathStart: function (addon) {
+ return 'hassio/addons/' + addon + '/start';
+ },
+
+ _pathStop: function (addon) {
+ return 'hassio/addons/' + addon + '/stop';
+ },
+
+ _pathRestart: function (addon) {
+ return 'hassio/addons/' + addon + '/restart';
+ },
+
+ _pathUninstall: function (addon) {
+ return 'hassio/addons/' + addon + '/uninstall';
+ },
+
+ _pathUpdate: function (addon) {
+ return 'hassio/addons/' + addon + '/update';
+ },
+
+ _pathAddonOptions: function (addon) {
+ return 'hassio/addons/' + addon + '/options';
+ },
+
+ _dataToggleAutoUpdate: function (addon, addonState) {
+ return addonState && { auto_update: !addonState.auto_update };
+ },
+
+ _dataToggleBoot: function (addon, addonState) {
+ return addonState && { boot: addonState.boot === 'manual' ? 'auto' : 'manual' };
+ }
});
diff --git a/panels/hassio/addon-view/hassio-addon-state.html b/panels/hassio/addon-view/hassio-addon-state.html
deleted file mode 100644
index 7efdae14ca..0000000000
--- a/panels/hassio/addon-view/hassio-addon-state.html
+++ /dev/null
@@ -1,125 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- Version |
- [[addonState.version]] |
-
-
- State |
- [[addonState.state]] |
-
-
- Boot |
- [[addonState.boot]] |
-
-
-
-
-
- Start
-
-
- Restart
- Stop
-
-
- Update
-
- Uninstall
-
-
-
-
-
-
diff --git a/panels/hassio/addon-view/hassio-addon-view.html b/panels/hassio/addon-view/hassio-addon-view.html
index 6591469108..b5c1f02a1c 100644
--- a/panels/hassio/addon-view/hassio-addon-view.html
+++ b/panels/hassio/addon-view/hassio-addon-view.html
@@ -7,17 +7,13 @@
-
-
-
+
-
-
+
-
-
-
-
-
-
-
+
@@ -96,15 +70,6 @@ Polymer({
type: Object,
},
- narrow: {
- type: Boolean,
- },
-
- showMenu: {
- type: Boolean,
- value: false,
- },
-
route: Object,
_routeData: {
type: Object,
@@ -138,6 +103,8 @@ Polymer({
apiCalled: function (ev) {
var path = ev.detail.path;
+ if (!path) return;
+
if (path.substr(path.lastIndexOf('/') + 1) === 'uninstall') {
this.backTapped();
} else {
diff --git a/panels/hassio/advanced/hassio-advanced.html b/panels/hassio/advanced/hassio-advanced.html
index 6afaaff87a..15cf4c7013 100644
--- a/panels/hassio/advanced/hassio-advanced.html
+++ b/panels/hassio/advanced/hassio-advanced.html
@@ -75,15 +75,6 @@ Polymer({
type: Object,
},
- narrow: {
- type: Boolean,
- },
-
- showMenu: {
- type: Boolean,
- value: false,
- },
-
supervisorInfo: {
type: Object,
value: {},
diff --git a/panels/hassio/hassio-main.html b/panels/hassio/hassio-main.html
index 7b2da67435..8cb2d6d5bb 100644
--- a/panels/hassio/hassio-main.html
+++ b/panels/hassio/hassio-main.html
@@ -81,8 +81,6 @@
Looks like you don't have any snapshots yet.
-
+
[[snapshot.name]]
@@ -99,18 +99,44 @@ Polymer({
properties: {
hass: Object,
- narrow: Boolean,
- showMenu: Boolean,
- supervisorInfo: Object,
+ visible: {
+ type: Boolean,
+ observer: '_visibleChanged',
+ },
_snapshotName: String,
_creatingSnapshot: Boolean,
_error: Object,
- data: {
+ _data: {
type: Array,
- computed: '_computeData(supervisorInfo)'
+ value: [],
+ },
+ },
+
+ listeners: {
+ 'hass-api-called': '_apiCalled',
+ },
+
+ _visibleChanged: function (visible) {
+ if (visible) {
+ this._updateData();
}
},
+ _apiCalled: function (ev) {
+ if (ev.detail.success) {
+ this._updateData();
+ }
+ },
+
+ _updateData: function () {
+ this.hass.callApi('get', 'hassio/snapshots')
+ .then(function (result) {
+ this._data = result.data.snapshots;
+ }.bind(this), function (error) {
+ this._error = error.message;
+ }.bind(this));
+ },
+
_createSnapshot: function () {
this._creatingSnapshot = true;
this.hass.callApi('post', 'hassio/snapshots/new/full', {
@@ -128,10 +154,6 @@ Polymer({
}.bind(this));
},
- _computeData: function (supervisorInfo) {
- return supervisorInfo.snapshots;
- },
-
_computeRestorePath: function (snapshot) {
return 'hassio/snapshots/' + snapshot.slug + '/restore/full';
},
diff --git a/panels/hassio/supervisor/hassio-supervisor.html b/panels/hassio/supervisor/hassio-supervisor.html
index 4a1856da7a..90c2ae028c 100644
--- a/panels/hassio/supervisor/hassio-supervisor.html
+++ b/panels/hassio/supervisor/hassio-supervisor.html
@@ -20,12 +20,12 @@
Supervisor Logs
@@ -44,17 +44,9 @@ Polymer({
type: Object,
},
- narrow: {
+ visible: {
type: Boolean,
- },
-
- showMenu: {
- type: Boolean,
- value: false,
- },
-
- supervisorInfo: {
- type: Object,
+ observer: '_visibleChanged',
},
logs: {
@@ -63,11 +55,13 @@ Polymer({
},
},
- attached: function () {
- this.loadData();
+ _visibleChanged: function (visible) {
+ if (visible) {
+ this._loadData();
+ }
},
- loadData: function () {
+ _loadData: function () {
this.hass.callApi('get', 'hassio/supervisor/logs')
.then(function (info) {
this.logs = info;
@@ -76,11 +70,11 @@ Polymer({
}.bind(this));
},
- refreshTapped: function () {
- this.loadData();
+ _refreshTapped: function () {
+ this._loadData();
},
- backTapped: function () {
+ _backTapped: function () {
history.back();
},
});
diff --git a/src/components/ha-icon-check.html b/src/components/ha-icon-check.html
new file mode 100644
index 0000000000..6bbf2cf068
--- /dev/null
+++ b/src/components/ha-icon-check.html
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+