Update frontend
This commit is contained in:
1 parent
c1056ea4d4
commit
00ec50da4b
6 files changed
+5
-5
No files matched your search
@@ -12,7 +12,7 @@ FINGERPRINTS = {
|
||||
"panels/ha-panel-dev-service.html": "415552027cb083badeff5f16080410ed",
|
||||
"panels/ha-panel-dev-state.html": "d70314913b8923d750932367b1099750",
|
||||
"panels/ha-panel-dev-template.html": "567fbf86735e1b891e40c2f4060fec9b",
|
||||
"panels/ha-panel-hassio.html": "333f86e5f516b31e52365e412deb7fdc",
|
||||
"panels/ha-panel-hassio.html": "23d175b6744c20e2fdf475b6efdaa1d3",
|
||||
"panels/ha-panel-history.html": "89062c48c76206cad1cec14ddbb1cbb1",
|
||||
"panels/ha-panel-iframe.html": "d920f0aa3c903680f2f8795e2255daab",
|
||||
"panels/ha-panel-logbook.html": "6dd6a16f52117318b202e60f98400163",
|
||||
|
||||
@@ -12,6 +12,6 @@
|
||||
},
|
||||
|
||||
computeInstallStatus(addon) {
|
||||
return addon.installed || 'Not installed';
|
||||
return (addon && addon.installed) || 'Not installed';
|
||||
},
|
||||
});</script><dom-module id="hassio-addon-state" assetpath="addon-view/"><template><style include="ha-style">:host{display:block}paper-card{display:block}</style><paper-card heading="Installed"><template is="dom-if" if="[[!addonState]]"><div class="card-content"><div>Add-on is not installed.</div></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" path="[[pathInstall(addon)]]">Install</ha-call-api-button></div></template><template is="dom-if" if="[[addonState]]"><div class="card-content"><table class="info"><tbody><tr><td>Version</td><td>[[addonState.version]]</td></tr><tr><td>State</td><td>[[addonState.state]]</td></tr><tr><td>Boot</td><td>[[addonState.boot]]</td></tr></tbody></table></div><div class="card-actions"><template is="dom-if" if="[[!isRunning]]"><ha-call-api-button hass="[[hass]]" path="[[pathStart(addon)]]">Start</ha-call-api-button></template><template is="dom-if" if="[[isRunning]]"><ha-call-api-button class="warning" hass="[[hass]]" path="[[pathStop(addon)]]">Stop</ha-call-api-button></template><template is="dom-if" if="[[computeUpdateAvailable(addonState)]]"><ha-call-api-button hass="[[hass]]" path="[[pathUpdate(addon)]]">Update</ha-call-api-button></template><ha-call-api-button class="warning" hass="[[hass]]" path="[[pathUninstall(addon)]]">Uninstall</ha-call-api-button></div></template></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-state",properties:{hass:{type:Object},addon:{type:String},isRunning:{type:Boolean,computed:"computeIsRunning(addonState)"},addonInfo:{type:Object,value:null},addonState:{type:Object,value:null}},computeIsRunning:function(t){return t&&"started"===t.state},computeUpdateAvailable:function(t){return t&&!t.detached&&t.version!==t.last_version},pathStart:function(t){return"hassio/addons/"+t+"/start"},pathStop:function(t){return"hassio/addons/"+t+"/stop"},pathInstall:function(t){return"hassio/addons/"+t+"/install"},pathUninstall:function(t){return"hassio/addons/"+t+"/uninstall"},pathUpdate:function(t){return"hassio/addons/"+t+"/update"}})</script><dom-module id="hassio-addon-options" assetpath="addon-view/"><template><style include="ha-style">:host{display:block}paper-card{display:block}iron-autogrow-textarea{width:100%}</style><paper-card heading="Options"><div class="card-content"><iron-autogrow-textarea value="{{options}}"></iron-autogrow-textarea></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" disabled="[[!optionsParsed]]" data="[[computeOptionsData(optionsParsed)]]" path="[[pathOptions(addon)]]">Save</ha-call-api-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-options",properties:{hass:{type:Object},addon:{type:String},options:{type:String,value:""},optionsParsed:{type:Object,computed:"parseOptions(options)"},addonState:{type:Object,value:null,observer:"addonStateChanged"}},addonStateChanged:function(t){this.options=t?JSON.stringify(t.options,null,2):""},parseOptions:function(t){try{return JSON.parse(t)}catch(t){return null}},computeOptionsData:function(t){return{options:t}},pathOptions:function(t){return"hassio/addons/"+t+"/options"}})</script><dom-module id="hassio-addon-logs" assetpath="addon-view/"><template><style include="iron-flex ha-style">:host,paper-card{display:block}</style><paper-card heading="Logs"><div class="card-content"><pre>[[addonLogs]]</pre></div><div class="card-actions"><paper-button on-tap="refresh">Refresh</paper-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-logs",properties:{hass:{type:Object},addon:{type:String,observer:"addonChanged"},addonLogs:{type:String,value:""}},addonChanged:function(s){if(!this.hass)return void setTimeout(function(){this.addonChanged(s)}.bind(this),0);this.refresh()},refresh:function(){this.hass.callApi("get","hassio/addons/"+this.addon+"/logs").then(function(s){this.addonLogs=s}.bind(this))}})</script><dom-module id="hassio-addon-view" assetpath="addon-view/"><template><style include="iron-flex ha-style">paper-card{display:block}.controls paper-card,hassio-addon-options{margin-bottom:24px}.content{padding:24px 0 32px;max-width:600px;margin:0 auto}.status{@apply(--layout-horizontal);margin-bottom:24px}.status>*{@apply(--layout-flex)}.status>:first-child{margin-right:24px}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><paper-icon-button icon="mdi:arrow-left" on-tap="backTapped"></paper-icon-button><div main-title="">[[addonInfo.name]]</div></app-toolbar></app-header><div class="content"><div class="status"><hassio-addon-info hass="[[hass]]" addon-info="[[addonInfo]]"></hassio-addon-info><hassio-addon-state hass="[[hass]]" addon="[[addon]]" addon-info="[[addonInfo]]" addon-state="[[addonState]]"></hassio-addon-state></div><template is="dom-if" if="[[addonState]]"><div class="controls"><hassio-addon-options hass="[[hass]]" addon="[[addon]]" addon-state="[[addonState]]"></hassio-addon-options><hassio-addon-logs hass="[[hass]]" addon="[[addon]]"></hLine truncated
|
||||
});</script><dom-module id="hassio-addon-state" assetpath="addon-view/"><template><style include="ha-style">:host{display:block}paper-card{display:block}</style><paper-card heading="Installed"><template is="dom-if" if="[[!addonState]]"><div class="card-content"><div>Add-on is not installed.</div></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" path="[[pathInstall(addon)]]">Install</ha-call-api-button></div></template><template is="dom-if" if="[[addonState]]"><div class="card-content"><table class="info"><tbody><tr><td>Version</td><td>[[addonState.version]]</td></tr><tr><td>State</td><td>[[addonState.state]]</td></tr><tr><td>Boot</td><td>[[addonState.boot]]</td></tr></tbody></table></div><div class="card-actions"><template is="dom-if" if="[[!isRunning]]"><ha-call-api-button hass="[[hass]]" path="[[pathStart(addon)]]">Start</ha-call-api-button></template><template is="dom-if" if="[[isRunning]]"><ha-call-api-button class="warning" hass="[[hass]]" path="[[pathStop(addon)]]">Stop</ha-call-api-button></template><template is="dom-if" if="[[computeUpdateAvailable(addonState)]]"><ha-call-api-button hass="[[hass]]" path="[[pathUpdate(addon)]]">Update</ha-call-api-button></template><ha-call-api-button class="warning" hass="[[hass]]" path="[[pathUninstall(addon)]]">Uninstall</ha-call-api-button></div></template></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-state",properties:{hass:{type:Object},addon:{type:String},isRunning:{type:Boolean,computed:"computeIsRunning(addonState)"},addonInfo:{type:Object,value:null},addonState:{type:Object,value:null}},computeIsRunning:function(t){return t&&"started"===t.state},computeUpdateAvailable:function(t){return t&&!t.detached&&t.version!==t.last_version},pathStart:function(t){return"hassio/addons/"+t+"/start"},pathStop:function(t){return"hassio/addons/"+t+"/stop"},pathInstall:function(t){return"hassio/addons/"+t+"/install"},pathUninstall:function(t){return"hassio/addons/"+t+"/uninstall"},pathUpdate:function(t){return"hassio/addons/"+t+"/update"}})</script><dom-module id="hassio-addon-options" assetpath="addon-view/"><template><style include="ha-style">:host{display:block}paper-card{display:block}iron-autogrow-textarea{width:100%}</style><paper-card heading="Options"><div class="card-content"><iron-autogrow-textarea value="{{options}}"></iron-autogrow-textarea></div><div class="card-actions"><ha-call-api-button hass="[[hass]]" disabled="[[!optionsParsed]]" data="[[computeOptionsData(optionsParsed)]]" path="[[pathOptions(addon)]]">Save</ha-call-api-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-options",properties:{hass:{type:Object},addon:{type:String},options:{type:String,value:""},optionsParsed:{type:Object,computed:"parseOptions(options)"},addonState:{type:Object,value:null,observer:"addonStateChanged"}},addonStateChanged:function(t){this.options=t?JSON.stringify(t.options,null,2):""},parseOptions:function(t){try{return JSON.parse(t)}catch(t){return null}},computeOptionsData:function(t){return{options:t}},pathOptions:function(t){return"hassio/addons/"+t+"/options"}})</script><dom-module id="hassio-addon-logs" assetpath="addon-view/"><template><style include="iron-flex ha-style">:host,paper-card{display:block}</style><paper-card heading="Logs"><div class="card-content"><pre>[[addonLogs]]</pre></div><div class="card-actions"><paper-button on-tap="refresh">Refresh</paper-button></div></paper-card></template></dom-module><script>Polymer({is:"hassio-addon-logs",properties:{hass:{type:Object},addon:{type:String,observer:"addonChanged"},addonLogs:{type:String,value:""}},addonChanged:function(s){if(!this.hass)return void setTimeout(function(){this.addonChanged(s)}.bind(this),0);this.refresh()},refresh:function(){this.hass.callApi("get","hassio/addons/"+this.addon+"/logs").then(function(s){this.addonLogs=s}.bind(this))}})</script><dom-module id="hassio-addon-view" assetpath="addon-view/"><template><style include="iron-flex ha-style">paper-card{display:block}.controls paper-card,hassio-addon-options{margin-bottom:24px}.content{padding:24px 0 32px;max-width:600px;margin:0 auto}.status{@apply(--layout-horizontal);margin-bottom:24px}.status>*{@apply(--layout-flex)}.status>:first-child{margin-right:24px}</style><app-header-layout has-scrolling-region=""><app-header fixed=""><app-toolbar><paper-icon-button icon="mdi:arrow-left" on-tap="backTapped"></paper-icon-button><div main-title="">[[addonInfo.name]]</div></app-toolbar></app-header><div class="content"><div class="status"><hassio-addon-info hass="[[hass]]" addon-info="[[addonInfo]]"></hassio-addon-info><hassio-addon-state hass="[[hass]]" addon="[[addon]]" addon-info="[[addonInfo]]" addon-state="[[addonState]]"></hassio-addon-state></div><template is="dom-if" if="[[addonState]]"><div class="controls"><hassio-addon-options hass="[[hass]]" addon="[[addon]]" addon-state="[[addonState]]"></hassio-addon-options><hassio-addon-logs hass="[[hass]]" addon="[[addon]]"></hLine truncated
|
||||
Binary file not shown.
@@ -1 +1 @@
|
||||
"use strict";function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}function notificationEventCallback(e,t){firePushCallback({action:t.action,data:t.notification.data,tag:t.notification.tag,type:e},t.notification.data.jwt)}function firePushCallback(e,t){delete e.data.jwt,0===Object.keys(e.data).length&&e.data.constructor===Object&&delete e.data,fetch("/api/notify.html5/callback",{method:"POST",headers:new Headers({"Content-Type":"application/json",Authorization:"Bearer "+t}),body:JSON.stringify(e)})}var precacheConfig=[["/","c255cdae4bfd691ee9fa43e38e8dc462"],["/frontend/panels/dev-event-2db9c218065ef0f61d8d08db8093cad2.html","b5b751e49b1bba55f633ae0d7a92677d"],["/frontend/panels/dev-info-61610e015a411cfc84edd2c4d489e71d.html","6568377ee31cbd78fedc003b317f7faf"],["/frontend/panels/dev-service-415552027cb083badeff5f16080410ed.html","a4b1ec9bfa5bc3529af7783ae56cb55c"],["/frontend/panels/dev-state-d70314913b8923d750932367b1099750.html","c61b5b1461959aac106400e122993e9e"],["/frontend/panels/dev-template-567fbf86735e1b891e40c2f4060fec9b.html","d2853ecf45de1dbadf49fe99a7424ef3"],["/frontend/panels/map-31c592c239636f91e07c7ac232a5ebc4.html","182580419ce2c935ae6ec65502b6db96"],["/static/compatibility-83d9c77748dafa9db49ae77d7f3d8fb0.js","5f05c83be2b028d577962f9625904806"],["/static/core-5d08475f03adb5969bd31855d5ca0cfd.js","1cd99ba798bfcff9768c9d2bb2f58a7c"],["/static/frontend-5999c8fac69c503b846672cae75a12b0.html","d6ce8eb348fbea599933b2a72beb1337"],["/static/mdi-1cc8593d3684f7f6f3b3854403216f77.html","eac41ec8397af607a07bc174e3c2475f"],["static/fonts/roboto/Roboto-Bold.ttf","d329cc8b34667f114a95422aaad1b063"],["static/fonts/roboto/Roboto-Light.ttf","7b5fb88f12bec8143f00e21bc3222124"],["static/fonts/roboto/Roboto-Medium.ttf","fe13e4170719c2fc586501e777bde143"],["static/fonts/roboto/Roboto-Regular.ttf","ac3f799d5bbaf5196fab15ab8de8431c"],["static/icons/favicon-192x192.png","419903b8422586a7e28021bbe9011175"],["static/icons/favicon.ico","04235bda7843ec2fceb1cbe2bc696cf4"],["static/images/card_media_player_bg.png","a34281d1c1835d338a642e90930e61aa"],["static/webcomponents-lite.min.js","32b5a9b7ada86304bec6b43d3f2194f0"]],cacheName="sw-precache-v3--"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(t){return new Response(t,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(e,t,n,a){var c=new URL(e);return a&&c.pathname.match(a)||(c.search+=(c.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),c.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,t){var n=new URL(e);return n.search=n.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(e){return t.every(function(t){return!t.test(e[0])})}).map(function(e){return e.join("=")}).join("&"),n.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],a=new URL(t,self.location),c=createCacheKey(a,hashParamName,n,!1);return[a.toString(),c]}));self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(e){return setOfCachedUrls(e).then(function(t){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(n){if(!t.has(n)){var a=new Request(n,{credentials:"same-origin"});return fetch(a).then(function(t){if(!t.ok)throw new Error("Request for "+n+" returned a response with status "+t.status);return cleanResponse(t).then(function(t){return e.put(n,t)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var t=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(n){return Promise.all(n.map(function(n){if(!t.has(n.url))return e.delete(n)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var t,n=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching);t=urlsToCacheKeys.has(n);t||(n=addDirectoryIndex(n,"index.html"),t=urlsToCacheKeys.has(n));!t&&"navigate"===e.request.mode&&isPathWhitelisted(["^((?!(static|api|local|service_worker.js|manifest.json)).)*$"],e.request.url)&&(n=new URL("/",self.location).toString(),t=urlsToCacheKeys.has(n)),t&&e.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(t){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,t),fetcLine truncated
|
||||
"use strict";function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}function notificationEventCallback(e,t){firePushCallback({action:t.action,data:t.notification.data,tag:t.notification.tag,type:e},t.notification.data.jwt)}function firePushCallback(e,t){delete e.data.jwt,0===Object.keys(e.data).length&&e.data.constructor===Object&&delete e.data,fetch("/api/notify.html5/callback",{method:"POST",headers:new Headers({"Content-Type":"application/json",Authorization:"Bearer "+t}),body:JSON.stringify(e)})}var precacheConfig=[["/","c255cdae4bfd691ee9fa43e38e8dc462"],["/frontend/panels/dev-event-2db9c218065ef0f61d8d08db8093cad2.html","b5b751e49b1bba55f633ae0d7a92677d"],["/frontend/panels/dev-info-61610e015a411cfc84edd2c4d489e71d.html","6568377ee31cbd78fedc003b317f7faf"],["/frontend/panels/dev-service-415552027cb083badeff5f16080410ed.html","a4b1ec9bfa5bc3529af7783ae56cb55c"],["/frontend/panels/dev-state-d70314913b8923d750932367b1099750.html","c61b5b1461959aac106400e122993e9e"],["/frontend/panels/dev-template-567fbf86735e1b891e40c2f4060fec9b.html","d2853ecf45de1dbadf49fe99a7424ef3"],["/frontend/panels/map-31c592c239636f91e07c7ac232a5ebc4.html","182580419ce2c935ae6ec65502b6db96"],["/static/compatibility-83d9c77748dafa9db49ae77d7f3d8fb0.js","5f05c83be2b028d577962f9625904806"],["/static/core-5d08475f03adb5969bd31855d5ca0cfd.js","1cd99ba798bfcff9768c9d2bb2f58a7c"],["/static/frontend-5999c8fac69c503b846672cae75a12b0.html","d6ce8eb348fbea599933b2a72beb1337"],["/static/mdi-f407a5a57addbe93817ee1b244d33fbe.html","5459090f217c77747b08d06e0bf73388"],["static/fonts/roboto/Roboto-Bold.ttf","d329cc8b34667f114a95422aaad1b063"],["static/fonts/roboto/Roboto-Light.ttf","7b5fb88f12bec8143f00e21bc3222124"],["static/fonts/roboto/Roboto-Medium.ttf","fe13e4170719c2fc586501e777bde143"],["static/fonts/roboto/Roboto-Regular.ttf","ac3f799d5bbaf5196fab15ab8de8431c"],["static/icons/favicon-192x192.png","419903b8422586a7e28021bbe9011175"],["static/icons/favicon.ico","04235bda7843ec2fceb1cbe2bc696cf4"],["static/images/card_media_player_bg.png","a34281d1c1835d338a642e90930e61aa"],["static/webcomponents-lite.min.js","32b5a9b7ada86304bec6b43d3f2194f0"]],cacheName="sw-precache-v3--"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,t){var n=new URL(e);return"/"===n.pathname.slice(-1)&&(n.pathname+=t),n.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(t){return new Response(t,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(e,t,n,a){var c=new URL(e);return a&&c.pathname.match(a)||(c.search+=(c.search?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(n)),c.toString()},isPathWhitelisted=function(e,t){if(0===e.length)return!0;var n=new URL(t).pathname;return e.some(function(e){return n.match(e)})},stripIgnoredUrlParameters=function(e,t){var n=new URL(e);return n.search=n.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(e){return t.every(function(t){return!t.test(e[0])})}).map(function(e){return e.join("=")}).join("&"),n.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var t=e[0],n=e[1],a=new URL(t,self.location),c=createCacheKey(a,hashParamName,n,!1);return[a.toString(),c]}));self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(e){return setOfCachedUrls(e).then(function(t){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(n){if(!t.has(n)){var a=new Request(n,{credentials:"same-origin"});return fetch(a).then(function(t){if(!t.ok)throw new Error("Request for "+n+" returned a response with status "+t.status);return cleanResponse(t).then(function(t){return e.put(n,t)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var t=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(n){return Promise.all(n.map(function(n){if(!t.has(n.url))return e.delete(n)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var t,n=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching);t=urlsToCacheKeys.has(n);t||(n=addDirectoryIndex(n,"index.html"),t=urlsToCacheKeys.has(n));!t&&"navigate"===e.request.mode&&isPathWhitelisted(["^((?!(static|api|local|service_worker.js|manifest.json)).)*$"],e.request.url)&&(n=new URL("/",self.location).toString(),t=urlsToCacheKeys.has(n)),t&&e.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(n)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(t){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,t),fetcLine truncated
|
||||
Binary file not shown.
Reference in new issue
Block a user