platypush/platypush/backend/http/webapp/dist/static/js/5824.3cac2826.js

2 lines
13 KiB
JavaScript
Raw Normal View History

2022-11-12 16:31:35 +01:00
"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._re
//# sourceMappingURL=5824.3cac2826.js.map