iobroker.lovelace
Version:
With this adapter you can build visualization for ioBroker with Home Assistant Lovelace UI
2 lines • 4.94 kB
JavaScript
export const __webpack_ids__=["84184"];export const __webpack_modules__={98620:function(e,a,s){s.a(e,(async function(e,i){try{s.r(a),s.d(a,{HuiAreaCardEditor:()=>f});var t=s(44249),n=(s(9359),s(56475),s(70104),s(92519),s(42179),s(89256),s(24931),s(88463),s(57449),s(19814),s(57243)),r=s(15093),o=s(27486),l=s(62900),c=s(36522),_=(s(29073),s(82820)),d=s(18200),u=s(73850),h=s(1416),v=s(96309),m=e([_]);_=(m.then?(await m)():m)[0];const p=(0,l.f0)(d.I,(0,l.Ry)({area:(0,l.jt)((0,l.Z_)()),navigation_path:(0,l.jt)((0,l.Z_)()),theme:(0,l.jt)((0,l.Z_)()),show_camera:(0,l.jt)((0,l.O7)()),camera_view:(0,l.jt)((0,l.Z_)()),aspect_ratio:(0,l.jt)((0,l.Z_)()),alert_classes:(0,l.jt)((0,l.IX)((0,l.Z_)())),sensor_classes:(0,l.jt)((0,l.IX)((0,l.Z_)()))}));let f=(0,t.Z)([(0,r.Mo)("hui-area-card-editor")],(function(e,a){return{F:class extends a{constructor(...a){super(...a),e(this)}},d:[{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",decorators:[(0,r.SB)()],key:"_numericDeviceClasses",value:void 0},{kind:"field",key:"_schema",value:()=>(0,o.Z)(((e,a,s)=>[{name:"area",selector:{area:{}}},{name:"show_camera",required:!1,selector:{boolean:{}}},...e?[{name:"camera_view",selector:{select:{options:["auto","live"]}}}]:[],{name:"",type:"grid",schema:[{name:"navigation_path",required:!1,selector:{navigation:{}}},{name:"theme",required:!1,selector:{theme:{}}},{name:"aspect_ratio",default:_.DEFAULT_ASPECT_RATIO,selector:{text:{}}}]},{name:"alert_classes",selector:{select:{reorder:!0,multiple:!0,custom_value:!0,options:a}}},{name:"sensor_classes",selector:{select:{reorder:!0,multiple:!0,custom_value:!0,options:s}}}]))},{kind:"field",key:"_binaryClassesForArea",value(){return(0,o.Z)((e=>this._classesForArea(e,"binary_sensor")))}},{kind:"field",key:"_sensorClassesForArea",value(){return(0,o.Z)(((e,a)=>this._classesForArea(e,"sensor",a)))}},{kind:"method",key:"_classesForArea",value:function(e,a,s){const i=Object.values(this.hass.entities).filter((s=>(0,u.M)(s.entity_id)===a&&!s.entity_category&&!s.hidden&&(s.area_id===e||s.device_id&&this.hass.devices[s.device_id]?.area_id===e))).map((e=>this.hass.states[e.entity_id]?.attributes.device_class||"")).filter((e=>e&&("sensor"!==a||!s||s.includes(e))));return[...new Set(i)]}},{kind:"field",key:"_buildBinaryOptions",value(){return(0,o.Z)(((e,a)=>this._buildOptions("binary_sensor",e,a)))}},{kind:"field",key:"_buildSensorOptions",value(){return(0,o.Z)(((e,a)=>this._buildOptions("sensor",e,a)))}},{kind:"method",key:"_buildOptions",value:function(e,a,s){const i=[...new Set([...a,...s])].map((a=>({value:a,label:this.hass.localize(`component.${e}.entity_component.${a}.name`)||a})));return i.sort(((e,a)=>(0,h.fe)(e.label,a.label,this.hass.locale.language))),i}},{kind:"method",key:"setConfig",value:function(e){(0,l.hu)(e,p),this._config=e}},{kind:"method",key:"updated",value:async function(){if(this.hass&&!this._numericDeviceClasses){const{numeric_device_classes:e}=await(0,v.ib)(this.hass);this._numericDeviceClasses=e}}},{kind:"method",key:"render",value:function(){if(!this.hass||!this._config)return n.Ld;const e=this._binaryClassesForArea(this._config.area||""),a=this._sensorClassesForArea(this._config.area||"",this._numericDeviceClasses),s=this._buildBinaryOptions(e,this._config.alert_classes||_.DEVICE_CLASSES.binary_sensor),i=this._buildSensorOptions(a,this._config.sensor_classes||_.DEVICE_CLASSES.sensor),t=this._schema(this._config.show_camera||!1,s,i),r={camera_view:"auto",alert_classes:_.DEVICE_CLASSES.binary_sensor,sensor_classes:_.DEVICE_CLASSES.sensor,...this._config};return n.dy` <ha-form .hass="${this.hass}" .data="${r}" .schema="${t}" .computeLabel="${this._computeLabelCallback}" -changed="${this._valueChanged}"></ha-form> `}},{kind:"method",key:"_valueChanged",value:function(e){const a=e.detail.value;a.show_camera||delete a.camera_view,(0,c.B)(this,"config-changed",{config:a})}},{kind:"field",key:"_computeLabelCallback",value(){return e=>{switch(e.name){case"theme":return`${this.hass.localize("ui.panel.lovelace.editor.card.generic.theme")} (${this.hass.localize("ui.panel.lovelace.editor.card.config.optional")})`;case"area":return this.hass.localize("ui.panel.lovelace.editor.card.area.name");case"navigation_path":return this.hass.localize("ui.panel.lovelace.editor.action-editor.navigation_path");case"aspect_ratio":return this.hass.localize("ui.panel.lovelace.editor.card.generic.aspect_ratio");case"camera_view":return this.hass.localize("ui.panel.lovelace.editor.card.generic.camera_view")}return this.hass.localize(`ui.panel.lovelace.editor.card.area.${e.name}`)}}}]}}),n.oi);i()}catch(e){i(e)}}))},18200:function(e,a,s){s.d(a,{I:()=>t});var i=s(62900);const t=(0,i.Ry)({type:(0,i.Z_)(),view_layout:(0,i.Yj)(),layout_options:(0,i.Yj)(),grid_options:(0,i.Yj)(),visibility:(0,i.Yj)()})}};
//# sourceMappingURL=84184.752cca7f9642d4f0.js.map