iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 8.17 kB
JavaScript
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["36240"],{69040:function(t,e,i){i.a(t,(async function(t,e){try{var s=i(61701),n=i(72621),o=(i(22152),i(52247),i(71695),i(9359),i(31526),i(47021),i(57243)),a=i(50778),r=i(36522),l=(i(37583),i(94264)),h=i(27934),d=i(40249),u=t([h]);h=(u.then?(await u)():u)[0];(0,s.Z)([(0,a.Mo)("hui-badge")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,a.Cb)({type:Boolean})],key:"preview",value(){return!1}},{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"config",value:void 0},{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",key:"_elementConfig",value:void 0},{kind:"method",key:"load",value:function(){if(!this.config)throw new Error("Cannot build badge without config");this._loadElement(this.config)}},{kind:"field",key:"_element",value:void 0},{kind:"field",key:"_listeners",value(){return[]}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"disconnectedCallback",value:function(){(0,n.Z)(i,"disconnectedCallback",this,3)([]),this._clearMediaQueries()}},{kind:"method",key:"connectedCallback",value:function(){(0,n.Z)(i,"connectedCallback",this,3)([]),this._listenMediaQueries(),this._updateVisibility()}},{kind:"method",key:"_updateElement",value:function(t){this._element&&(this._element.setConfig(t),this._elementConfig=t,(0,r.B)(this,"badge-updated"))}},{kind:"method",key:"_loadElement",value:function(t){for(this._element=(0,h.JE)(t),this._elementConfig=t,this.hass&&(this._element.hass=this.hass),this._element.addEventListener("ll-upgrade",(t=>{t.stopPropagation(),this.hass&&(this._element.hass=this.hass),(0,r.B)(this,"badge-updated")}),{once:!0}),this._element.addEventListener("ll-rebuild",(e=>{e.stopPropagation(),this._loadElement(t),(0,r.B)(this,"badge-updated")}),{once:!0});this.lastChild;)this.removeChild(this.lastChild);this._updateVisibility()}},{kind:"method",key:"willUpdate",value:function(t){(0,n.Z)(i,"willUpdate",this,3)([t]),this._element||this.load()}},{kind:"method",key:"update",value:function(t){if((0,n.Z)(i,"update",this,3)([t]),this._element){if(t.has("config")){const t=this._elementConfig;if(this.config!==t&&this.config){var e;(null===(e=this.config)||void 0===e?void 0:e.type)!==(null==t?void 0:t.type)?this._loadElement(this.config):this._updateElement(this.config)}}if(t.has("hass"))try{this.hass&&(this._element.hass=this.hass)}catch(s){this._loadElement((0,d.Fr)(s.message,null))}}(t.has("hass")||t.has("preview"))&&this._updateVisibility()}},{kind:"method",key:"_clearMediaQueries",value:function(){this._listeners.forEach((t=>t())),this._listeners=[]}},{kind:"method",key:"_listenMediaQueries",value:function(){var t;if(this._clearMediaQueries(),null===(t=this.config)||void 0===t||!t.visibility)return;const e=this.config.visibility,i=1===e.length&&"screen"===e[0].condition&&!!e[0].media_query;this._listeners=(0,l.av)(this.config.visibility,(t=>{this._updateVisibility(i&&t)}))}},{kind:"method",key:"_updateVisibility",value:function(t){var e;if(!this._element||!this.hass)return;if(this._element.hidden)return void this._setElementVisibility(!1);const i=t||this.preview||!(null!==(e=this.config)&&void 0!==e&&e.visibility)||(0,l.Ec)(this.config.visibility,this.hass);this._setElementVisibility(i)}},{kind:"method",key:"_setElementVisibility",value:function(t){this._element&&(this.hidden!==!t&&(this.style.setProperty("display",t?"":"none"),this.toggleAttribute("hidden",!t),(0,r.B)(this,"badge-visibility-changed",{value:t})),!t&&this._element.parentElement?this.removeChild(this._element):t&&!this._element.parentElement&&this.appendChild(this._element))}}]}}),o.fl);e()}catch(c){e(c)}}))},26199:function(t,e,i){i.a(t,(async function(t,s){try{i.r(e),i.d(e,{HuiEntityFilterBadge:()=>f});var n=i(61701),o=i(72621),a=(i(52247),i(71695),i(92745),i(9359),i(68107),i(56475),i(70104),i(52924),i(19423),i(47021),i(57243)),r=i(50778),l=i(52656),h=i(29401),d=i(94264),u=i(69040),c=t([u]);u=(c.then?(await c)():c)[0];let f=(0,n.Z)([(0,r.Mo)("hui-entity-filter-badge")],(function(t,e){class i extends e{constructor(...e){super(...e),t(this)}}return{F:i,d:[{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"preview",value(){return!1}},{kind:"field",decorators:[(0,r.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,r.SB)()],key:"_config",value:void 0},{kind:"field",key:"_elements",value:void 0},{kind:"field",key:"_configEntities",value:void 0},{kind:"field",key:"_oldEntities",value:void 0},{kind:"method",key:"setConfig",value:function(t){if(!t.entities.length||!Array.isArray(t.entities))throw new Error("Entities must be specified");if(!(t.conditions&&Array.isArray(t.conditions)||t.state_filter&&Array.isArray(t.state_filter)||t.entities.every((t=>"object"==typeof t&&t.state_filter&&Array.isArray(t.state_filter)))))throw new Error("Incorrect filter config");for(;this.lastChild;)this.removeChild(this.lastChild);this._elements=void 0,this._configEntities=(0,h.A)(t.entities),this._oldEntities=void 0,this._config=t}},{kind:"method",key:"createRenderRoot",value:function(){return this}},{kind:"method",key:"shouldUpdate",value:function(t){return!!(t.has("_config")||t.has("hass")&&this._haveEntitiesChanged(t.get("hass")))}},{kind:"method",key:"update",value:function(t){if((0,o.Z)(i,"update",this,3)([t]),!this.hass||!this._configEntities)return;if(this._elements)for(const i of this._elements)i.hass=this.hass;const e=this._configEntities.filter((t=>{var e,i;const s=this.hass.states[t.entity];if(!s)return!1;const n=null!==(e=t.conditions)&&void 0!==e?e:this._config.conditions;if(n){const e=n.map((e=>(0,d.Mo)(e,t.entity)));return(0,d.Ec)(e,this.hass)}const o=null!==(i=t.state_filter)&&void 0!==i?i:this._config.state_filter;return!!o&&o.some((t=>(0,l.j)(s,t)))}));if(0===e.length)return this.style.display="none",void(this._oldEntities=e);if(!(this._oldEntities&&e.length===this._oldEntities.length&&e.every(((t,e)=>t===this._oldEntities[e])))){this._elements=[];for(const t of e){const e=document.createElement("hui-badge");e.hass=this.hass,e.preview=this.preview,e.config=Object.assign({type:"entity"},t),e.load(),this._elements.push(e)}this._oldEntities=e}if(this._elements){for(;this.lastChild;)this.removeChild(this.lastChild);for(const t of this._elements)this.appendChild(t);this.style.display="flex",this.style.flexWrap="wrap",this.style.justifyContent="center",this.style.gap="8px"}}},{kind:"method",key:"_haveEntitiesChanged",value:function(t){var e;if(!t)return!0;if(!this._oldEntities||this.hass.localize!==t.localize)return!0;for(const s of this._configEntities){if(this.hass.states[s.entity]!==t.states[s.entity])return!0;if(s.conditions){const e=(0,d.UK)(s.conditions);for(const i of e)if(this.hass.states[i]!==t.states[i])return!0}}if(null!==(e=this._config)&&void 0!==e&&e.conditions){var i;const e=(0,d.UK)(null===(i=this._config)||void 0===i?void 0:i.conditions);for(const i of e)if(this.hass.states[i]!==t.states[i])return!0}return!1}}]}}),a.fl);s()}catch(f){s(f)}}))},52656:function(t,e,i){i.d(e,{j:()=>s});i(19083),i(9359),i(70104),i(77439),i(69235),i(12385),i(19134),i(5740),i(11740),i(61006),i(81804);const s=(t,e)=>{let i,s,n;if("object"==typeof e?(i=e.operator,s=e.value,n=e.attribute?t.attributes[e.attribute]:t.state):(i="==",s=e,n=t.state),"=="===i||"!="===i){const t="number"==typeof s||"string"==typeof s&&s.trim()&&!isNaN(Number(s)),e="number"==typeof n||"string"==typeof n&&n.trim()&&!isNaN(Number(n));t&&e&&(s=Number(s),n=Number(n))}switch(i){case"==":return n===s;case"<=":return n<=s;case"<":return n<s;case">=":return n>=s;case">":return n>s;case"!=":return n!==s;case"in":return!(!Array.isArray(s)&&"string"!=typeof s)&&(Array.isArray(s)&&(s=s.map((t=>`${t}`))),s.includes(n));case"not in":return!(!Array.isArray(s)&&"string"!=typeof s)&&(Array.isArray(s)&&(s=s.map((t=>`${t}`))),!s.includes(n));case"regex":return"string"==typeof s&&(null!==n&&"object"==typeof n?RegExp(s).test(JSON.stringify(n)):RegExp(s).test(n));default:return!1}}}}]);
//# sourceMappingURL=36240.1c11fe73382e2b40.js.map