platypush/platypush/backend/http/webapp/dist/static/js/5824.bdf4e44b.js

2 lines
14 KiB
JavaScript

"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[5824],{3275:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){var _Utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6813),_components_Loading__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(1232),_index__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(9016),vue__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(9963),vue__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(6252),mitt__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(9652);const bus=(0,mitt__WEBPACK_IMPORTED_MODULE_3__.Z)();__webpack_exports__["Z"]={name:"Elements",components:{Loading:_components_Loading__WEBPACK_IMPORTED_MODULE_1__.Z},mixins:[_Utils__WEBPACK_IMPORTED_MODULE_0__.Z],props:{content:{type:String}},data(){return{loading:!1,unwatch:null}},methods:{_parseActions(e){const t=[...e.children].filter((e=>"actions"===e.tagName?.toLowerCase())),n=t?.length?t[0].children:e.children,s=[...n].filter((e=>"action"===e.tagName?.toLowerCase()));if(s?.length)return[...s].map((e=>({action:e.attributes.name.value,args:[...e.children].reduce(((e,t)=>{let n;try{n=JSON.parse(t.innerText)}catch(s){t.innerText?.length&&(n=t.innerText)}return e[t.tagName.toLowerCase()]=n,e}),{})})))},_parseVars(e){const t=[...e.children].filter((e=>"vars"===e.tagName?.toLowerCase()));if(t?.length)return[...t[0].children].reduce(((e,t)=>{let n;try{n=JSON.parse(t.innerText)}catch(s){t.innerText?.length&&(n=t.innerText)}return e[t.tagName.toLowerCase()]=n,e}),{})},_parseHandlers(element){const handlers={},parseHndlScript=hndlText=>app=>eval(`// noinspection JSUnusedLocalSymbols\n (async function (self) {\n ${hndlText}\n })`)(app),parseEventHndl=hndlText=>app=>event=>eval(`// noinspection JSUnusedLocalSymbols\n (async function (self, event) {\n ${hndlText}\n })`)(app,event),hndlTags=[...element.children].filter((e=>"handlers"===e.tagName?.toLowerCase()));if(hndlTags?.length){const e=[...hndlTags[0].children].filter((e=>"mounted"===e.tagName?.toLowerCase()));e?.length&&(handlers.mounted=parseHndlScript(e[0].innerText));const t=[...hndlTags[0].children].filter((e=>"refresh"===e.tagName?.toLowerCase()));t?.length&&(handlers.refresh={handler:parseHndlScript(t[0].innerText),interval:t[0].attributes.interval?.value||10});const n=[...hndlTags[0].children].filter((e=>"event"===e.tagName?.toLowerCase()));n?.length&&(handlers.events=n.reduce(((e,t)=>(e[t.attributes.type.value]=parseEventHndl(t.innerText),e)),{}))}const actionsTags=[...element.children].filter((e=>"actions"===e.tagName?.toLowerCase()));if(actionsTags?.length){const e=[...actionsTags[0].children].filter((e=>"before"===e.tagName?.toLowerCase()));e?.length&&(handlers.beforeActions=parseHndlScript(e[0].innerText));const t=[...actionsTags[0].children].filter((e=>"after"===e.tagName?.toLowerCase()));t?.length&&(handlers.afterActions=parseHndlScript(t[0].innerText))}return handlers},_parseProps(e){return[...e.attributes].reduce(((e,t)=>(e[t.name]=t.value,e)),{})},propagateEvent(e){bus.emit("event",e)},_addEventHandler(){this.unwatch=this.subscribe((e=>{bus.emit("event",e)}))},_removeEventHandler(){this.unwatch&&(this.unwatch(),this.unwatch=null)}},mounted(){this.loading=!0,this._addEventHandler();try{this.$refs.container.innerHTML=this.content,Object.entries(_index__WEBPACK_IMPORTED_MODULE_2__.Z).forEach((([e,t])=>{this.$options.components[e]=t,[...this.$refs.container.getElementsByTagName(e)].forEach((e=>{const n=this._parseProps(e);n.actions=this._parseActions(e),n.handlers=this._parseHandlers(e),n._vars=this._parseVars(e);const s=document.createElement("div");s.setAttribute("class","component"),s.innerHTML=e.innerHTML,e.parentNode.replaceChild(s,e),(0,vue__WEBPACK_IMPORTED_MODULE_4__.ri)({render(){return(0,vue__WEBPACK_IMPORTED_MODULE_5__.h)(t,n)},data(){return{bus:bus}}}).mount(s)}))}));for(const e of["handlers","actions","vars"])this.$refs.container.getElementsByTagName(e).forEach((e=>{e.parentNode.removeChild(e)}))}finally{this.loading=!1}},unmounted(){this._removeEventHandler()}}},7105:function(__unused_webpack_module,__webpack_exports__,__webpack_require__){var _Utils__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6813);__webpack_exports__["Z"]={mixins:[_Utils__WEBPACK_IMPORTED_MODULE_0__.Z],props:{name:{type:String,default:"[Unnamed sensor]"},iconClass:{type:String},iconUrl:{type:String},iconColor:{type:String},actions:{type:Array,default:()=>[]},_vars:{type:Object,default:()=>({})},handlers:{type:Object,default:()=>({})},bus:{type:Object}},data(){return{vars:{...this._vars||{}},_interval:void 0,refresh:null,refreshInterval:null,value:null,loading:!1}},computed:{iconStyle(){if(this.iconClass?.length||!this.iconColor?.length)return{color:this.iconColor}},hasIcon(){return this.iconUrl?.length||this.iconClass?.length}},methods:{async run(){if(this.handlers.input)return this.handlers.input(this)(this.value);this.handlers.beforeActions&&await this.handlers.beforeActions(this);for(const e of this.actions)await this.request_(e);this.handlers.afterActions&&await this.handlers.afterActions(this)},async request_(action){const args=Object.entries(action.args).reduce(((args,[key,value])=>{if(value.trim){value=value.trim();const m=value.match(/^{{\s*(.*)\s*}}/);m&&(value=eval(`// noinspection JSUnusedLocalSymbols\n (function (self) {\n return ${m[1]}\n })`)(this))}return args[key]=value,args}),{});await this.request(action.action,args)},async processEvent(e){const t=(this.handlers.events||{})[e.type];t&&await t(this)(e)}},async mounted(){if(this.$root.bus.on("event",this.processEvent),this.handlers.mounted&&await this.handlers.mounted(this),this.handlers.refresh&&(this.refreshInterval=1e3*(this.handlers.refresh?.interval||0),this.refresh=()=>{this.handlers.refresh.handler(this)},await this.refresh(),this.refreshInterval)){const e=this,t=()=>e.refresh();this._interval=setInterval(t,this.refreshInterval)}},unmounted(){this._interval&&clearInterval(this._interval)}}},9016:function(e,t,n){n.d(t,{Z:function(){return z}});var s=n(6252),a=n(3577);const r={key:0,class:"col-1 icon-container"},i=["src","alt"],l=["textContent"];function o(e,t,n,o,c,h){return(0,s.wg)(),(0,s.iD)("div",{class:"run component-row",onClick:t[0]||(t[0]=(...t)=>e.run&&e.run(...t))},[e.hasIcon?((0,s.wg)(),(0,s.iD)("div",r,[e.iconUrl?.length?((0,s.wg)(),(0,s.iD)("img",{key:0,class:"icon",src:e.iconUrl,alt:e.name},null,8,i)):((0,s.wg)(),(0,s.iD)("i",{key:1,class:(0,a.C_)(["icon",e.iconClass]),style:(0,a.j5)(e.iconStyle)},null,6))])):(0,s.kq)("",!0),(0,s._)("div",{class:(0,a.C_)({"col-11":e.hasIcon,"col-12":!e.hasIcon}),textContent:(0,a.zw)(e.name)},null,10,l)])}var c=n(7105),h={name:"Run",mixins:[c.Z]},u=n(3744);const _=(0,u.Z)(h,[["render",o],["__scopeId","data-v-7478b72d"]]);var d=_;const p={key:0,class:"col-1 icon-container"},v=["src","alt"],g=["textContent"],m={class:"col-3 value-container"},f={class:"value"},w=["textContent"];function b(e,t,n,r,i,l){return(0,s.wg)(),(0,s.iD)("div",{class:"sensor component-row",onClick:t[0]||(t[0]=(...e)=>l.run&&l.run(...e))},[e.hasIcon?((0,s.wg)(),(0,s.iD)("div",p,[e.iconUrl?.length?((0,s.wg)(),(0,s.iD)("img",{key:0,class:"icon",src:e.iconUrl,alt:e.name},null,8,v)):((0,s.wg)(),(0,s.iD)("i",{key:1,class:(0,a.C_)(["icon",e.iconClass]),style:(0,a.j5)(e.iconStyle)},null,6))])):(0,s.kq)("",!0),(0,s._)("div",{class:(0,a.C_)({"col-8":e.hasIcon,"col-9":!e.hasIcon}),textContent:(0,a.zw)(e.name)},null,10,g),(0,s._)("div",m,[(0,s._)("div",f,[(0,s.Uk)((0,a.zw)(e.value)+" ",1),n.unit?((0,s.wg)(),(0,s.iD)("span",{key:0,textContent:(0,a.zw)(n.unit)},null,8,w)):(0,s.kq)("",!0)])])])}var y={name:"Sensor",mixins:[c.Z],props:{unit:{type:String}},methods:{async run(){if(this.handlers.beforeActions&&await this.handlers.beforeActions(this),this.actions?.length)for(const e of this.actions)await this.request_(e);else await this.refresh();this.handlers.afterActions&&await this.handlers.afterActions(this)}}};const C=(0,u.Z)(y,[["render",b],["__scopeId","data-v-53594122"]]);var k=C;const E={class:"slider-root component-row"},D={key:0,class:"col-1 icon-container"},x=["src","alt"],I=["textContent"],T={class:"col-5 slider-container"},L={class:"slider"};function S(e,t,n,r,i,l){const o=(0,s.up)("SliderElement");return(0,s.wg)(),(0,s.iD)("div",E,[e.hasIcon?((0,s.wg)(),(0,s.iD)("div",D,[e.iconUrl?.length?((0,s.wg)(),(0,s.iD)("img",{key:0,class:"icon",src:e.iconUrl,alt:e.name},null,8,x)):((0,s.wg)(),(0,s.iD)("i",{key:1,class:(0,a.C_)(["icon",e.iconClass]),style:(0,a.j5)(e.iconStyle)},null,6))])):(0,s.kq)("",!0),(0,s._)("div",{class:(0,a.C_)({"col-6":e.hasIcon,"col-7":!e.hasIcon}),textContent:(0,a.zw)(e.name)},null,10,I),(0,s._)("div",T,[(0,s._)("div",L,[(0,s.Wm)(o,{value:e.value,range:[parseFloat(n.min),parseFloat(n.max)],onMouseup:l.run},null,8,["value","range","onMouseup"])])])])}var U=n(1583),M={name:"Slider",components:{SliderElement:U.Z},mixins:[c.Z],props:{min:{type:[String,Number],default:0},max:{type:[String,Number],required:!0}},methods:{async run(e){this.value=parseFloat(e.target.value),this.handlers.beforeActions&&await this.handlers.beforeActions(this);for(const t of this.actions)await this.request_(t);this.handlers.afterActions&&await this.handlers.afterActions(this)}}};const O=(0,u.Z)(M,[["render",S],["__scopeId","data-v-772cf288"]]);var A=O,P=n(9963);const q={key:0,class:"col-1 icon-container"},Z=["src","alt"],N=["textContent"],B={class:"col-2 toggle-container"},R={class:"toggle"};function W(e,t,n,r,i,l){const o=(0,s.up)("ToggleSwitch");return(0,s.wg)(),(0,s.iD)("div",{class:"switch component-row",onClick:t[0]||(t[0]=(...t)=>e.run&&e.run(...t))},[e.hasIcon?((0,s.wg)(),(0,s.iD)("div",q,[e.iconUrl?.length?((0,s.wg)(),(0,s.iD)("img",{key:0,class:"icon",src:e.iconUrl,alt:e.name},null,8,Z)):((0,s.wg)(),(0,s.iD)("i",{key:1,class:(0,a.C_)(["icon",e.iconClass]),style:(0,a.j5)(e.iconStyle)},null,6))])):(0,s.kq)("",!0),(0,s._)("div",{class:(0,a.C_)({"col-9":e.hasIcon,"col-10":!e.hasIcon}),textContent:(0,a.zw)(e.name)},null,10,N),(0,s._)("div",B,[(0,s._)("div",R,[(0,s.Wm)(o,{value:e.value,onInput:(0,P.iM)(e.run,["stop"])},null,8,["value","onInput"])])])])}var $=n(6),H={name:"Switch",components:{ToggleSwitch:$.Z},mixins:[c.Z]};const K=(0,u.Z)(H,[["render",W],["__scopeId","data-v-97d3a936"]]);var j=K,z={Run:d,Sensor:k,Slider:A,Switch:j}},1583:function(e,t,n){n.d(t,{Z:function(){return f}});var s=n(6252),a=n(3577),r=n(9963);const i={class:"slider-wrapper"},l=["textContent"],o=["textContent"],c={class:"slider-container"},h=["min","max","step","disabled","value"],u={class:"track-inner",ref:"track"},_={class:"thumb",ref:"thumb"},d=["textContent"];function p(e,t,n,p,v,g){return(0,s.wg)(),(0,s.iD)("label",i,[n.withRange?((0,s.wg)(),(0,s.iD)("span",{key:0,class:(0,a.C_)(["range-labels",{"with-label":n.withLabel}])},[n.withRange?((0,s.wg)(),(0,s.iD)("span",{key:0,class:"label left",textContent:(0,a.zw)(n.range[0])},null,8,l)):(0,s.kq)("",!0),n.withRange?((0,s.wg)(),(0,s.iD)("span",{key:1,class:"label right",textContent:(0,a.zw)(n.range[1])},null,8,o)):(0,s.kq)("",!0)],2)):(0,s.kq)("",!0),(0,s._)("span",c,[(0,s._)("input",{class:(0,a.C_)(["slider",{"with-label":n.withLabel}]),type:"range",min:n.range[0],max:n.range[1],step:n.step,disabled:n.disabled,value:n.value,ref:"range",onInput:t[0]||(t[0]=(0,r.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"])),onChange:t[1]||(t[1]=(0,r.iM)(((...e)=>g.onUpdate&&g.onUpdate(...e)),["stop"]))},null,42,h),(0,s._)("div",{class:(0,a.C_)(["track",{"with-label":n.withLabel}])},[(0,s._)("div",u,null,512)],2),(0,s._)("div",_,null,512),n.withLabel?((0,s.wg)(),(0,s.iD)("span",{key:0,class:"label",textContent:(0,a.zw)(n.value),ref:"label"},null,8,d)):(0,s.kq)("",!0)])])}var v={name:"Slider",emits:["input","change","mouseup","mousedown","touchstart","touchend","keyup","keydown"],props:{value:{type:Number},disabled:{type:Boolean,default:!1},range:{type:Array,default:()=>[0,100]},step:{type:Number,default:1},withLabel:{type:Boolean,default:!1},withRange:{type:Boolean,default:!1}},methods:{onUpdate(e){this.update(e.target.value),this.$emit(e.type,{...e,target:{...e.target,value:this.$refs.range.value}})},update(e){const t=this.$refs.range.clientWidth,n=(e-this.range[0])/(this.range[1]-this.range[0]),s=n*t,a=this.$refs.thumb;a.style.left=s-a.clientWidth/2+"px",this.$refs.thumb.style.transform=`translate(-${n}%, -50%)`,this.$refs.track.style.width=`${s}px`}},mounted(){null!=this.value&&this.update(this.value),this.$watch((()=>this.value),(e=>this.update(e)))}},g=n(3744);const m=(0,g.Z)(v,[["render",p],["__scopeId","data-v-28d31846"]]);var f=m},6:function(e,t,n){n.d(t,{Z:function(){return p}});var s=n(6252),a=n(3577),r=n(9963);const i=e=>((0,s.dD)("data-v-a6396ae8"),e=e(),(0,s.Cn)(),e),l=["checked"],o=i((()=>(0,s._)("div",{class:"switch"},[(0,s._)("div",{class:"dot"})],-1))),c={class:"label"};function h(e,t,n,i,h,u){return(0,s.wg)(),(0,s.iD)("div",{class:(0,a.C_)(["power-switch",{disabled:n.disabled}]),onClick:t[0]||(t[0]=(0,r.iM)(((...e)=>u.onInput&&u.onInput(...e)),["stop"]))},[(0,s._)("input",{type:"checkbox",checked:n.value},null,8,l),(0,s._)("label",null,[o,(0,s._)("span",c,[(0,s.WI)(e.$slots,"default",{},void 0,!0)])])],2)}var u={name:"ToggleSwitch",emits:["input"],props:{value:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},methods:{onInput(e){if(this.disabled)return!1;this.$emit("input",e)}}},_=n(3744);const d=(0,_.Z)(u,[["render",h],["__scopeId","data-v-a6396ae8"]]);var p=d},5824:function(e,t,n){n.r(t),n.d(t,{default:function(){return h}});var s=n(6252);const a={class:"component-widget"},r={class:"container",ref:"container"};function i(e,t,n,i,l,o){const c=(0,s.up)("Loading");return(0,s.wg)(),(0,s.iD)("div",a,[l.loading?((0,s.wg)(),(0,s.j4)(c,{key:0})):(0,s.kq)("",!0),(0,s._)("div",r,null,512)])}var l=n(3275),o=n(3744);const c=(0,o.Z)(l.Z,[["render",i],["__scopeId","data-v-450fcab1"]]);var h=c}}]);
//# sourceMappingURL=5824.bdf4e44b.js.map