iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 2.78 kB
JavaScript
export const __rspack_esm_id=22893;export const __rspack_esm_ids=[22893];export const __webpack_modules__={23929(e,t,s){s.a(e,async function(e,i){try{s.d(t,{k:()=>h});s(18111),s(61701);var o=s(62826),a=s(5124),d=s(22441),r=s(22786),c=s(1087),n=s(52763),l=e([n]);function u(e){const{customize_modes:t,...s}=e;return s}n=(l.then?(await l)():l)[0];class h extends a.WF{setConfig(e){e.type===this.descriptor.featureType&&(this._config=e)}render(){if(!this.hass||!this._config)return a.s6;const e=this.context?.entity_id?this.hass.states[this.context.entity_id]:void 0,{modeField:t,defaultStyle:s}=this.descriptor,i={style:s,...this._config,customize_modes:void 0!==this._config[t]},o=this._schema(this.hass.localize,e,i.customize_modes);return a.qy` <ha-form .hass="${this.hass}" .data="${i}" .schema="${o}" .computeLabel="${this._computeLabelCallback}" -changed="${this._valueChanged}"></ha-form> `}_valueChanged(e){const t=e.detail.value,s=t.customize_modes;let i=u(t);const o=this.context?.entity_id?this.hass.states[this.context.entity_id]:void 0,{modeField:a,getAvailableModesOrdered:d}=this.descriptor,r=a;s&&!i[r]&&(i={...i,[a]:d(o)}),s||void 0===i[r]||delete i[r],(0,c.r)(this,"config-changed",{config:i})}constructor(...e){super(...e),this._schema=(0,r.A)((e,t,s)=>{const i=this.descriptor,o=i.styleListI18nFeatureId??i.i18nFeatureId;return[{name:"style",selector:{select:{multiple:!1,mode:"list",options:["dropdown","icons"].map(t=>({value:t,label:e(`ui.panel.lovelace.editor.features.types.${o}.style_list.${t}`)}))}}},{name:"customize_modes",selector:{boolean:{}}},...s?[{name:i.modeField,selector:{select:{reorder:!0,multiple:!0,options:i.getAvailableModesOrdered(t).map(e=>({value:e,label:i.getModeLabel(this.hass,t,e)}))}}}]:[]]}),this._computeLabelCallback=e=>{const t=this.descriptor.i18nFeatureId,{modeField:s}=this.descriptor;return"style"===e.name||"customize_modes"===e.name||e.name===s?this.hass.localize(`ui.panel.lovelace.editor.features.types.${t}.${e.name}`):""}}}(0,o.Cg)([(0,d.MZ)({attribute:!1})],h.prototype,"hass",void 0),(0,o.Cg)([(0,d.MZ)({attribute:!1})],h.prototype,"context",void 0),(0,o.Cg)([(0,d.wk)()],h.prototype,"_config",void 0),i()}catch(m){i(m)}})},89148(e,t,s){s.a(e,async function(e,i){try{s.r(t),s.d(t,{HuiHumidifierModesCardFeatureEditor:()=>n});var o=s(62826),a=s(22441),d=s(23929),r=e([d]);d=(r.then?(await r)():r)[0];const c={featureType:"humidifier-modes",i18nFeatureId:"humidifier-modes",modeField:"modes",defaultStyle:"dropdown",getAvailableModesOrdered:e=>e?.attributes.available_modes??[],getModeLabel:(e,t,s)=>t?e.formatEntityAttributeValue(t,"mode",s):s};class n extends d.k{constructor(...e){super(...e),this.descriptor=c}}n=(0,o.Cg)([(0,a.EM)("hui-humidifier-modes-card-feature-editor")],n),i()}catch(e){i(e)}})}};