iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 4.75 kB
JavaScript
export const __webpack_ids__=["28565"];export const __webpack_modules__={51973:function(t,i,e){e.a(t,(async function(t,s){try{e.r(i);var n=e(44249),a=e(72621),o=e(57243),c=e(15093),d=e(35359),r=e(20552),h=e(47194),l=e(96194),u=e(49319),_=e(3967),f=e(1617),v=e(5684),b=e(93331),y=e(8069),g=e(62577),k=t([y]);y=(k.then?(await k)():k)[0];(0,n.Z)([(0,c.Mo)("hui-weather-entity-row")],(function(t,i){class e extends i{constructor(...i){super(...i),t(this)}}return{F:e,d:[{kind:"field",decorators:[(0,c.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_forecastEvent",value:void 0},{kind:"field",decorators:[(0,c.SB)()],key:"_subscribed",value:void 0},{kind:"method",key:"_unsubscribeForecastEvents",value:function(){this._subscribed&&(this._subscribed.then((t=>t())),this._subscribed=void 0)}},{kind:"method",key:"_subscribeForecastEvents",value:async function(){if(this._unsubscribeForecastEvents(),!this.hass||!this._config||!this.isConnected)return;const t=this.hass.states[this._config.entity],i=(0,u.k5)(t);i&&(this._subscribed=(0,u.MC)(this.hass,t.entity_id,i,(t=>{this._forecastEvent=t})))}},{kind:"method",key:"connectedCallback",value:function(){(0,a.Z)(e,"connectedCallback",this,3)([]),this.hasUpdated&&this._subscribeForecastEvents()}},{kind:"method",key:"disconnectedCallback",value:function(){(0,a.Z)(e,"disconnectedCallback",this,3)([]),this._unsubscribeForecastEvents()}},{kind:"method",key:"setConfig",value:function(t){if(!t?.entity)throw new Error("Entity must be specified");this._config=t}},{kind:"method",key:"shouldUpdate",value:function(t){return(0,b.G2)(this,t)||t.size>1||!t.has("hass")}},{kind:"method",key:"updated",value:function(t){(0,a.Z)(e,"updated",this,3)([t]),!t.has("_config")&&this._subscribed||this._subscribeForecastEvents()}},{kind:"method",key:"render",value:function(){if(!this.hass||!this._config)return o.Ld;const t=this.hass.states[this._config.entity];if(!t)return o.dy` <hui-warning> ${(0,g.i)(this.hass,this._config.entity)} </hui-warning> `;const i=(0,v.q)(this._config),e=this._config.secondary_info,s=(0,u.Cq)(t.state,this,!1,this.hass.auth.accessToken),n=(0,u.Rt)(t.attributes,this._forecastEvent),a=n?.forecast;return o.dy` <div class="icon-image ${(0,d.$)({pointer:i})}" ="${this._handleAction}" .actionHandler="${(0,_.K)({hasHold:(0,v._)(this._config.hold_action),hasDoubleClick:(0,v._)(this._config.double_tap_action)})}" tabindex="${(0,r.o)(!this._config.tap_action||(0,v._)(this._config.tap_action)?"0":void 0)}"> ${s||o.dy` <ha-state-icon class="weather-icon" .stateObj="${t}" .hass="${this.hass}"></ha-state-icon> `} </div> <div class="info ${(0,d.$)({pointer:i,"text-content":!e})}" ="${this._handleAction}" .actionHandler="${(0,_.K)({hasHold:(0,v._)(this._config.hold_action),hasDoubleClick:(0,v._)(this._config.double_tap_action)})}"> ${this._config.name||(0,h.C)(t)} ${e?o.dy` <div class="secondary"> ${"entity-id"===this._config.secondary_info?t.entity_id:"last-changed"===this._config.secondary_info?o.dy` <ha-relative-time .hass="${this.hass}" .datetime="${t.last_changed}" capitalize></ha-relative-time> `:"last-updated"===this._config.secondary_info?o.dy` <ha-relative-time .hass="${this.hass}" .datetime="${t.last_updated}" capitalize></ha-relative-time> `:""} </div> `:""} </div> <div class="attributes ${(0,d.$)({pointer:i})}" ="${this._handleAction}" .actionHandler="${(0,_.K)({hasHold:(0,v._)(this._config.hold_action),hasDoubleClick:(0,v._)(this._config.double_tap_action)})}"> <div> ${(0,l.rk)(t.state)||void 0===t.attributes.temperature||null===t.attributes.temperature?this.hass.formatEntityState(t):this.hass.formatEntityAttributeValue(t,"temperature")} </div> <div class="secondary"> ${(0,u.k2)(this.hass,t,a)} </div> </div> `}},{kind:"method",key:"_handleAction",value:function(t){(0,f.G)(this,this.hass,this._config,t.detail.action)}},{kind:"get",static:!0,key:"styles",value:function(){return[u.A$,o.iv`:host{display:flex;align-items:center;flex-direction:row}.info{margin-left:16px;margin-inline-start:16px;margin-inline-end:initial;flex:1 0 60px}.info,.info>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-image{display:flex;align-items:center;min-width:40px}.icon-image>*{flex:0 0 40px;height:40px}.icon-image:focus{outline:0;background-color:var(--divider-color);border-radius:50%}.weather-icon{--mdc-icon-size:40px}.pointer{cursor:pointer}.attributes{display:flex;flex-direction:column;justify-content:center;text-align:right;margin-left:8px;margin-inline-start:8px;margin-inline-end:initial}.secondary{color:var(--secondary-text-color)}`]}}]}}),o.oi);s()}catch(t){s(t)}}))}};
//# sourceMappingURL=28565.d9f5a88335b2eeb9.js.map