@larva.io/webcomponents
Version:
Fentrica SmartUnits WebComponents package
5 lines • 2.33 kB
JavaScript
/*!
* (C) Fentrica http://fentrica.com - Seee LICENSE.md
*/
import{r as t,c as s,h as i,g as o}from"./p-C4h1muVj.js";const h="slot-fb[hidden],slot[hidden]{display:initial !important}";const e=class{constructor(i){t(this,i);this.output=s(this,"output");this.request=s(this,"request");this.icon="door";this.color="primary";this.disableQuickActions=false;this.allowIndicationAutoColoring=false;this.log=false;this.nodeSize="default";this.doorType="buzz";this.loading=true;this.buzzingState=false}async input(t){this.isOpen=t.state||false;if(this.buzzingState&&!this.isOpen){this.buzzingState=false}if(t.doorType){this.doorType=t.doorType}this.loading=false}async error(t){if(this.node){this.node.error(t)}this.loading=false}componentDidLoad(){const t=this.el.shadowRoot||this.el;this.node=t.querySelector("lar-node");this.loading=true;this.output.emit({command:"fullstate"})}handleChange(){if(this.loading||this.buzzingState){return this.node.error("invalid door state")}this.loading=true;const t={command:this.doorType==="buzz"?"buzz":this.isOpen?"lock":"unlock"};if(this.doorType==="buzz"){this.buzzingState=true}return this.output.emit(t)}render(){const t={onClick:()=>this.handleChange(),value:this.doorType==="buzz"?"door.buzzOpen":this.isOpen?"door.lock":"door.unlock",disabled:this.loading||this.buzzingState===true,color:this.colorInputs||this.color};return[i("lar-node",{key:"a907470c8d97f1493f682d8f0a96ae2b4a598526",value:this.isOpen?"door.unlocked":"door.locked",colorIconSmall:this.allowIndicationAutoColoring&&!this.loading?this.isOpen?"danger":"success":this.colorIconSmall,hideTitles:this.hideTitles,iconSmall:this.isOpen?"unlock":"lock",icon:this.icon,color:this.color,supTitle:this.supTitle,mainTitle:this.mainTitle,subTitle:this.subTitle,colorModal:this.colorModal,colorInputs:this.colorInputs,nodeSize:this.nodeSize,log:this.log,loading:this.loading,component:"lar-door-content",componentProps:t},this.disableQuickActions===false&&i("lar-button-push",{key:"25441a3caad4de63b15922b2ac169a72ccba6828",size:"small",slot:"titles",color:this.colorInputs||this.color,disabled:this.loading||this.buzzingState===true,onClick:()=>this.handleChange()}),i("slot",{key:"aba75ec2e0b898ca72f0870e0614e80f7c72fad3"}))]}get el(){return o(this)}};e.style=h;export{e as lar_door};
//# sourceMappingURL=p-2fb6c680.entry.js.map