iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 3.57 kB
JavaScript
export const __webpack_ids__=["90747"];export const __webpack_modules__={63837:function(e,t,i){i.a(e,(async function(e,n){try{i.r(t),i.d(t,{HuiConditionalElementEditor:()=>u});var o=i(44249),s=i(57243),a=i(15093),d=i(62900),c=i(36522),l=(i(29073),i(32145),i(13420)),h=i(50357),g=e([l,h]);[l,h]=g.then?(await g)():g;const r=(0,d.Ry)({type:(0,d.i0)("conditional"),conditions:(0,d.jt)((0,d.IX)((0,d.Yj)())),elements:(0,d.jt)((0,d.IX)((0,d.Yj)())),title:(0,d.jt)((0,d.Z_)())}),f=[{name:"title",selector:{text:{}}}];let u=(0,o.Z)([(0,a.Mo)("hui-conditional-element-editor")],(function(e,t){return{F:class extends t{constructor(...t){super(...t),e(this)}},d:[{kind:"field",decorators:[(0,a.Cb)({attribute:!1})],key:"hass",value:void 0},{kind:"field",decorators:[(0,a.SB)()],key:"_config",value:void 0},{kind:"field",decorators:[(0,a.SB)()],key:"_subElementEditorConfig",value:void 0},{kind:"method",key:"setConfig",value:function(e){(0,d.hu)(e,r),this._config=e}},{kind:"method",key:"render",value:function(){return this.hass&&this._config?this._subElementEditorConfig?s.dy` <hui-sub-element-editor .hass="${this.hass}" .config="${this._subElementEditorConfig}" -back="${this._goBack}" -changed="${this._handleSubElementChanged}"> </hui-sub-element-editor> `:s.dy` <ha-form .hass="${this.hass}" .data="${this._config}" .schema="${f}" .computeLabel="${this._computeLabelCallback}" -changed="${this._formChanged}"></ha-form> <ha-card-conditions-editor .hass="${this.hass}" .conditions="${this._config.conditions||[]}" -changed="${this._conditionChanged}"> </ha-card-conditions-editor> <hui-picture-elements-card-row-editor .hass="${this.hass}" .elements="${this._config.elements||[]}" -changed="${this._elementsChanged}" -detail-element="${this._editDetailElement}"></hui-picture-elements-card-row-editor> `:s.Ld}},{kind:"method",key:"_formChanged",value:function(e){(0,c.B)(this,"config-changed",{config:e.detail.value})}},{kind:"method",key:"_conditionChanged",value:function(e){if(e.stopPropagation(),!this._config)return;const t=e.detail.value;this._config={...this._config,conditions:t},(0,c.B)(this,"config-changed",{config:this._config})}},{kind:"method",key:"_elementsChanged",value:function(e){e.stopPropagation();const t=this._config?.elements?.length||0,i={...this._config,elements:e.detail.elements};(0,c.B)(this,"config-changed",{config:i});const n=e.detail.elements?.length||0;if(n===t+1){const t=n-1;this._subElementEditorConfig={index:t,type:"element",elementConfig:{...e.detail.elements[t]}}}}},{kind:"method",key:"_handleSubElementChanged",value:function(e){if(e.stopPropagation(),!this._config||!this.hass)return;const t=this._subElementEditorConfig?.type,i=e.detail.config;if("element"===t){const e=this._config.elements.concat();i?e[this._subElementEditorConfig.index]=i:(e.splice(this._subElementEditorConfig.index,1),this._goBack()),this._config={...this._config,elements:e}}this._subElementEditorConfig={...this._subElementEditorConfig,elementConfig:i},(0,c.B)(this,"config-changed",{config:this._config})}},{kind:"method",key:"_editDetailElement",value:function(e){this._subElementEditorConfig=e.detail.subElementConfig}},{kind:"method",key:"_goBack",value:function(e){e?.stopPropagation(),this._subElementEditorConfig=void 0}},{kind:"field",key:"_computeLabelCallback",value(){return e=>this.hass.localize(`ui.panel.lovelace.editor.card.generic.${e.name}`)||this.hass.localize(`ui.panel.lovelace.editor.elements.${e.name}`)||e.name}}]}}),s.oi);n()}catch(e){n(e)}}))}};
//# sourceMappingURL=90747.7ab3780a17004584.js.map