iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
1 lines • 2.59 kB
JavaScript
export const __rspack_esm_id=19910;export const __rspack_esm_ids=[19910];export const __webpack_modules__={20325(a,t,o){o.a(a,async function(a,s){try{o.r(t),o.d(t,{DialogEditShortcut:()=>u});var e=o(62826),i=o(5124),h=o(22441),l=o(22786),c=o(1087),r=o(18350),n=(o(93444),o(72554)),d=o(52763),p=o(96779),_=o(14503),m=a([r,n,d]);[r,n,d]=m.then?(await m)():m;class u extends i.WF{showDialog(a){this._params=a,this._data={...a.item},this._open=!0}willUpdate(a){(a.has("_data")||a.has("hass"))&&this.hass&&this._navInfo.update(this.hass,this._data?.path)}closeDialog(){return this._open=!1,!0}_dialogClosed(){this._params=void 0,this._data=void 0,(0,c.r)(this,"dialog-closed",{dialog:this.localName})}render(){if(!this._params||!this._data)return i.s6;const a=this._navInfo.info,t=a.label||"",o=a.icon||"mdi:link";return i.qy` <ha-dialog .open="${this._open}" .headerTitle="${this.hass.localize("ui.panel.home.editor.edit_shortcut")}" width="small" ="${this._dialogClosed}"> <ha-form .hass="${this.hass}" .data="${this._data}" .schema="${this._schema(t,o)}" .computeLabel="${this._computeLabel}" -changed="${this._valueChanged}"></ha-form> <ha-dialog-footer slot="footer"> <ha-button appearance="plain" slot="secondaryAction" ="${this.closeDialog}"> ${this.hass.localize("ui.common.cancel")} </ha-button> <ha-button slot="primaryAction" ="${this._save}"> ${this.hass.localize("ui.common.save")} </ha-button> </ha-dialog-footer> </ha-dialog> `}_valueChanged(a){a.stopPropagation(),this._data=a.detail.value}_save(){if(!this._params||!this._data?.path)return;const{path:a,label:t,icon:o,color:s}=this._data;this._params.saveCallback({type:"custom",path:a,label:t||void 0,icon:o||void 0,color:s||void 0}),this.closeDialog()}constructor(...a){super(...a),this._open=!1,this._navInfo=new p.q(this),this._schema=(0,l.A)((a,t)=>[{name:"path",required:!0,selector:{navigation:{}}},{name:"label",selector:{text:{placeholder:a}}},{name:"icon",selector:{icon:{placeholder:t}}},{name:"color",selector:{ui_color:{default_color:"primary"}}}]),this._computeLabel=a=>this.hass.localize(`ui.panel.home.editor.shortcut.${a.name}`)||this.hass.localize(`ui.panel.lovelace.editor.card.generic.${a.name}`)}}u.styles=[_.nA,i.AH`ha-dialog{--dialog-content-padding:var(--ha-space-6)}ha-form{display:block}`],(0,e.Cg)([(0,h.MZ)({attribute:!1})],u.prototype,"hass",void 0),(0,e.Cg)([(0,h.wk)()],u.prototype,"_params",void 0),(0,e.Cg)([(0,h.wk)()],u.prototype,"_data",void 0),(0,e.Cg)([(0,h.wk)()],u.prototype,"_open",void 0),u=(0,e.Cg)([(0,h.EM)("dialog-edit-shortcut")],u),s()}catch(a){s(a)}})}};