iobroker.telegram
Version:
The adapter allows to send and receive telegram messages from ioBroker and to be a broker.
1 lines • 3.5 kB
JavaScript
import{t as e}from"./_virtual_mf___mfe_internal__ConfigCustomTelegramSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_json_mf_2_config__loadShare__.js-DasKHBra.js";import{B as t}from"./_virtual_mf___mfe_internal__ConfigCustomTelegramSet__mf_owner__1__loadShare___mf_0_emotion_mf_1_react__loadShare__.js-D46R1xc7.js";import{Bt as n,Fr as r,Ht as i,Ir as a,Nn as o,Rt as s,Tn as c,Ut as l,Vt as u,d,nn as f,r as p,ur as m,xn as h,z as g,zt as _}from"./_virtual_mf___mfe_internal__ConfigCustomTelegramSet__mf_owner__1__loadShare___mf_0_iobroker_mf_1_gui_mf_2_components__loadShare__.js-DGcXQRP3.js";t();var v=class extends e{constructor(e){super(e),m(this,`onAliveChanged`,(e,t)=>{let n=t?t.val:!1;n!==this.state.alive&&this.setState({alive:n},()=>{n&&!this.state.initialized&&this.readData()})}),this.state={...this.state,alive:!1,initialized:!1,users:[],confirm:null}}componentDidMount(){super.componentDidMount(),this.props.oContext.socket.getState(`system.adapter.telegram.${this.props.oContext.instance}.alive`).then(async e=>{e!=null&&e.val?this.setState({alive:!0},()=>this.readData()):this.setState({alive:!1}),await this.props.oContext.socket.subscribeState(`system.adapter.telegram.${this.props.oContext.instance}.alive`,this.onAliveChanged)})}readData(){this.props.oContext.socket.sendTo(`telegram.${this.props.oContext.instance}`,`adminuser`,null).then(e=>{let t=[];for(let n in e){let r=[];e[n].userName&&r.push(e[n].userName),e[n].firstName&&r.push(e[n].firstName),t.push({id:n,names:r.join(` / `),sysMessages:e[n].sysMessages})}this.setState({users:t,initialized:!0})})}componentWillUnmount(){this.props.oContext.socket.unsubscribeState(`system.adapter.telegram.${this.props.oContext.instance}.alive`,this.onAliveChanged)}onSysMessageChange(e){let t=this.state.users.findIndex(t=>t.id===e);if(t!==-1){let n=!this.state.users[t].sysMessages;this.props.oContext.socket.sendTo(`telegram.${this.props.oContext.instance}`,`systemMessages`,{itemId:e,checked:n}).then(t=>{if(t===e){let t=JSON.parse(JSON.stringify(this.state.users)),r=t.findIndex(t=>t.id===e);r!==-1&&(t[r].sysMessages=n,this.setState({users:t}))}})}}onDelete(e){this.props.oContext.socket.sendTo(`telegram.${this.props.oContext.instance}`,`delUser`,e).then(t=>{if(t===e){let t=JSON.parse(JSON.stringify(this.state.users)),n=t.findIndex(t=>t.id===e);n!==-1&&(t.splice(n,1),this.setState({users:t}))}})}renderConfirmDialog(){return this.state.confirm?r(p,{onClose:e=>{let t=this.state.confirm;this.setState({confirm:null},()=>e&&this.onDelete(t))}}):null}renderItem(){return!this.state.alive&&!this.state.initialized?r(`div`,{children:d.t(`custom_telegram_not_alive`)}):this.state.initialized?a(`div`,{style:{width:`100%`},children:[r(`h4`,{children:d.t(`custom_telegram_title`)}),r(u,{component:o,style:{width:`100%`},children:a(s,{style:{width:`100%`},size:`small`,children:[r(i,{children:a(l,{children:[r(n,{children:d.t(`custom_telegram_id`)}),r(n,{children:d.t(`custom_telegram_name`)}),r(n,{children:d.t(`custom_telegram_sys_messages`)}),r(n,{})]})}),r(_,{children:this.state.users.map(e=>a(l,{sx:{"&:last-child td, &:last-child th":{border:0}},children:[r(n,{component:`th`,scope:`row`,children:e.id}),r(n,{children:e.names}),r(n,{children:r(f,{disabled:!this.state.alive,checked:!!e.sysMessages,onClick:()=>this.onSysMessageChange(e.id)})}),r(n,{children:r(h,{disabled:!this.state.alive,onClick:()=>this.setState({confirm:e.id}),children:r(g,{})})})]},e.id))})]})}),this.renderConfirmDialog()]}):r(c,{})}};export{v as t};