Updated UI files

This commit is contained in:
Fabio Manganiello 2023-10-19 19:52:50 +02:00
parent a00f034282
commit 2c37596478
Signed by: blacklight
GPG key ID: D90FBA7F76362774
91 changed files with 92 additions and 92 deletions

View file

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/fonts/poppins.css"><title>platypush</title><script defer="defer" src="/static/js/chunk-vendors.650eb8e8.js"></script><script defer="defer" src="/static/js/app.72597584.js"></script><link href="/static/css/chunk-vendors.a2412607.css" rel="stylesheet"><link href="/static/css/app.35acc8d4.css" rel="stylesheet"><link rel="icon" type="image/svg+xml" href="/img/icons/favicon.svg"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Platypush"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#ffffff"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but platypush doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/fonts/poppins.css"><title>platypush</title><script defer="defer" src="/static/js/chunk-vendors.650eb8e8.js"></script><script defer="defer" src="/static/js/app.cadba6f7.js"></script><link href="/static/css/chunk-vendors.a2412607.css" rel="stylesheet"><link href="/static/css/app.35acc8d4.css" rel="stylesheet"><link rel="icon" type="image/svg+xml" href="/img/icons/favicon.svg"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="Platypush"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#ffffff"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but platypush doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[1088],{1088:function(n,e,t){t.r(e),t.d(e,{default:function(){return o}});var u=t(6252);function a(n,e,t,a,r,p){const s=(0,u.up)("Zwave");return(0,u.wg)(),(0,u.j4)(s,{"plugin-name":"zwave.mqtt"})}var r=t(7880),p={components:{Zwave:r.Z}},s=t(3744);const c=(0,s.Z)(p,[["render",a]]);var o=c}}]);
//# sourceMappingURL=1088.22c3f8aa.js.map
//# sourceMappingURL=1088.811c36c9.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/1088.22c3f8aa.js","mappings":"iPACEA,EAAAA,EAAAA,IAAkCC,EAAA,CAA3B,cAAY,c,eAMrB,GACEC,WAAY,CAACC,MAAKA,EAAAA,I,UCHpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/ZwaveMqtt/Index.vue","webpack://platypush/./src/components/panels/ZwaveMqtt/Index.vue?4812"],"sourcesContent":["<template>\n <Zwave plugin-name=\"zwave.mqtt\" />\n</template>\n\n<script>\nimport Zwave from \"@/components/panels/Zwave/Zwave\";\n\nexport default {\n components: {Zwave},\n}\n</script>\n","import { render } from \"./Index.vue?vue&type=template&id=8fb9cbb2\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Zwave","components","Zwave","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/1088.811c36c9.js","mappings":"iPACEA,EAAAA,EAAAA,IAAkCC,EAAA,CAA3B,cAAY,c,eAMrB,GACEC,WAAY,CAACC,MAAKA,EAAAA,I,UCHpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/ZwaveMqtt/Index.vue","webpack://platypush/./src/components/panels/ZwaveMqtt/Index.vue?4812"],"sourcesContent":["<template>\n <Zwave plugin-name=\"zwave.mqtt\" />\n</template>\n\n<script>\nimport Zwave from \"@/components/panels/Zwave/Zwave\";\n\nexport default {\n components: {Zwave},\n}\n</script>\n","import { render } from \"./Index.vue?vue&type=template&id=8fb9cbb2\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Zwave","components","Zwave","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2183],{2183:function(n,e,r){r.r(e),r.d(e,{default:function(){return o}});var t=r(6252);function u(n,e,r,u,a,p){const s=(0,t.up)("Panel");return(0,t.wg)(),(0,t.j4)(s,{"plugin-name":"rtorrent"})}var a=r(7968),p={name:"Torrent",components:{Panel:a.Z}},s=r(3744);const c=(0,s.Z)(p,[["render",u]]);var o=c}}]);
//# sourceMappingURL=2183.1facc63d.js.map
//# sourceMappingURL=2183.0851f006.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/2183.1facc63d.js","mappings":"iPACEA,EAAAA,EAAAA,IAAgCC,EAAA,CAAzB,cAAY,Y,eAMrB,GACEC,KAAM,UACNC,WAAY,CAACC,MAAKA,EAAAA,I,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/Rtorrent/Index.vue","webpack://platypush/./src/components/panels/Rtorrent/Index.vue?5c1f"],"sourcesContent":["<template>\n <Panel plugin-name=\"rtorrent\" />\n</template>\n\n<script>\nimport Panel from \"@/components/panels/Torrent/Panel\";\n\nexport default {\n name: \"Torrent\",\n components: {Panel}\n}\n</script>\n","import { render } from \"./Index.vue?vue&type=template&id=4938278b\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Panel","name","components","Panel","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/2183.0851f006.js","mappings":"iPACEA,EAAAA,EAAAA,IAAgCC,EAAA,CAAzB,cAAY,Y,eAMrB,GACEC,KAAM,UACNC,WAAY,CAACC,MAAKA,EAAAA,I,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/Rtorrent/Index.vue","webpack://platypush/./src/components/panels/Rtorrent/Index.vue?5c1f"],"sourcesContent":["<template>\n <Panel plugin-name=\"rtorrent\" />\n</template>\n\n<script>\nimport Panel from \"@/components/panels/Torrent/Panel\";\n\nexport default {\n name: \"Torrent\",\n components: {Panel}\n}\n</script>\n","import { render } from \"./Index.vue?vue&type=template&id=4938278b\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Panel","name","components","Panel","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2614],{2614:function(e,n,a){a.r(n),a.d(n,{default:function(){return i}});var u=a(6252);function t(e,n,a,t,c,r){const p=(0,u.up)("Media");return(0,u.wg)(),(0,u.j4)(p,{"plugin-name":"media.vlc"})}var c=a(1880),r={name:"MediaVlc",components:{Media:c["default"]}},p=a(3744);const s=(0,p.Z)(r,[["render",t]]);var i=s}}]);
//# sourceMappingURL=2614.fab6d354.js.map
//# sourceMappingURL=2614.2ff0e60d.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/2614.fab6d354.js","mappings":"iPACEA,EAAAA,EAAAA,IAAiCC,EAAA,CAA1B,cAAY,a,eAMrB,GACEC,KAAM,WACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaVlc/Index.vue","webpack://platypush/./src/components/panels/MediaVlc/Index.vue?7b0b"],"sourcesContent":["<template>\n <Media plugin-name=\"media.vlc\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaVlc\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=9233e214\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/2614.2ff0e60d.js","mappings":"iPACEA,EAAAA,EAAAA,IAAiCC,EAAA,CAA1B,cAAY,a,eAMrB,GACEC,KAAM,WACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaVlc/Index.vue","webpack://platypush/./src/components/panels/MediaVlc/Index.vue?7b0b"],"sourcesContent":["<template>\n <Media plugin-name=\"media.vlc\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaVlc\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=9233e214\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2732],{2732:function(n,e,u){u.r(e),u.d(e,{default:function(){return o}});var t=u(6252);function a(n,e,u,a,r,p){const s=(0,t.up)("Zwave");return(0,t.wg)(),(0,t.j4)(s,{"plugin-name":"zwave"})}var r=u(7880),p={components:{Zwave:r.Z}},s=u(3744);const c=(0,s.Z)(p,[["render",a]]);var o=c}}]);
//# sourceMappingURL=2732.34e0816d.js.map
//# sourceMappingURL=2732.a3a54d65.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/2732.34e0816d.js","mappings":"iPACEA,EAAAA,EAAAA,IAA6BC,EAAA,CAAtB,cAAY,S,eAMrB,GACEC,WAAY,CAACC,MAAKA,EAAAA,I,UCHpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/Zwave/Index.vue","webpack://platypush/./src/components/panels/Zwave/Index.vue?b798"],"sourcesContent":["<template>\n <Zwave plugin-name=\"zwave\" />\n</template>\n\n<script>\nimport Zwave from \"@/components/panels/Zwave/Zwave\";\n\nexport default {\n components: {Zwave},\n}\n</script>\n","import { render } from \"./Index.vue?vue&type=template&id=4b554bd5\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Zwave","components","Zwave","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/2732.a3a54d65.js","mappings":"iPACEA,EAAAA,EAAAA,IAA6BC,EAAA,CAAtB,cAAY,S,eAMrB,GACEC,WAAY,CAACC,MAAKA,EAAAA,I,UCHpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/Zwave/Index.vue","webpack://platypush/./src/components/panels/Zwave/Index.vue?b798"],"sourcesContent":["<template>\n <Zwave plugin-name=\"zwave\" />\n</template>\n\n<script>\nimport Zwave from \"@/components/panels/Zwave/Zwave\";\n\nexport default {\n components: {Zwave},\n}\n</script>\n","import { render } from \"./Index.vue?vue&type=template&id=4b554bd5\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Zwave","components","Zwave","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[2853],{5169:function(t,e,a){a.d(e,{Z:function(){return y}});var n=a(6252),l=a(9963);const i=t=>((0,n.dD)("data-v-a248454a"),t=t(),(0,n.Cn)(),t),s={class:"tts-container"},u={class:"field text-container"},r=["disabled"],d={class:"field lang-container"},o=["disabled"],c={class:"field buttons"},p=["disabled"],g=i((()=>(0,n._)("i",{class:"fa fa-volume-up"},null,-1))),f=[g];function v(t,e,a,i,g,v){return(0,n.wg)(),(0,n.iD)("div",s,[(0,n._)("form",{onSubmit:e[0]||(e[0]=(0,l.iM)(((...t)=>v.talk&&v.talk(...t)),["prevent"]))},[(0,n._)("div",u,[(0,n._)("label",null,[(0,n._)("input",{type:"text",name:"text",placeholder:"Text to say",disabled:g.talking},null,8,r)])]),(0,n._)("div",d,[(0,n._)("label",null,[(0,n._)("input",{type:"text",name:"language",placeholder:"Language code",disabled:g.talking},null,8,o)])]),(0,n._)("div",c,[(0,n._)("button",{type:"submit",disabled:g.talking},f,8,p)])],32)])}var m=a(8637),b={name:"Panel",mixins:[m.Z],props:{pluginName:{type:String,required:!0}},data(){return{talking:!1}},methods:{async talk(t){const e=[...t.target.querySelectorAll("input")].reduce(((t,e)=>(e.value.length&&(t[e.name]=e.value),t)),{});this.talking=!0;try{await this.request(`${this.pluginName}.say`,e)}finally{this.talking=!1}}}},h=a(3744);const k=(0,h.Z)(b,[["render",v],["__scopeId","data-v-a248454a"]]);var y=k},7605:function(t,e,a){a.r(e),a.d(e,{default:function(){return d}});var n=a(6252);function l(t,e,a,l,i,s){const u=(0,n.up)("Panel");return(0,n.wg)(),(0,n.j4)(u,{"plugin-name":"tts.google"})}var i=a(5169),s={name:"Tts",components:{Panel:i.Z}},u=a(3744);const r=(0,u.Z)(s,[["render",l]]);var d=r}}]);
//# sourceMappingURL=2853.f2b8a639.js.map
//# sourceMappingURL=2853.7e8d1c01.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[306,4619],{4619:function(e,t,s){s.r(t),s.d(t,{default:function(){return w}});var o=s(6252),i=s(3577);const a={class:"date-time"},r=["textContent"],h=["textContent"];function n(e,t,s,n,m,u){return(0,o.wg)(),(0,o.iD)("div",a,[u._showDate?((0,o.wg)(),(0,o.iD)("div",{key:0,class:"date",textContent:(0,i.zw)(e.formatDate(e.now))},null,8,r)):(0,o.kq)("",!0),u._showTime?((0,o.wg)(),(0,o.iD)("div",{key:1,class:"time",textContent:(0,i.zw)(e.formatTime(e.now,u._showSeconds))},null,8,h)):(0,o.kq)("",!0)])}var m=s(8637),u={name:"DateTime",mixins:[m.Z],props:{showDate:{required:!1,default:!0},showTime:{required:!1,default:!0},showSeconds:{required:!1,default:!0}},computed:{_showTime(){return this.parseBoolean(this.showTime)},_showDate(){return this.parseBoolean(this.showDate)},_showSeconds(){return this.parseBoolean(this.showSeconds)}},data:function(){return{now:new Date}},methods:{refreshTime(){this.now=new Date}},mounted:function(){this.refreshTime(),setInterval(this.refreshTime,1e3)}},c=s(3744);const l=(0,c.Z)(u,[["render",n],["__scopeId","data-v-ca42eb9c"]]);var w=l},306:function(e,t,s){s.r(t),s.d(t,{default:function(){return k}});var o=s(6252),i=s(3577);const a={class:"image-carousel"},r={ref:"background",class:"background"},h=["src"],n={key:1,class:"row info-container"},m={class:"col-6 weather-container"},u={key:0},c={class:"col-6 date-time-container"};function l(e,t,s,l,w,d){const g=(0,o.up)("Loading"),f=(0,o.up)("Weather"),p=(0,o.up)("DateTime");return(0,o.wg)(),(0,o.iD)("div",a,[w.images.length?(0,o.kq)("",!0):((0,o.wg)(),(0,o.j4)(g,{key:0})),(0,o._)("div",r,null,512),(0,o._)("img",{ref:"img",src:d.imgURL,alt:"Your carousel images",style:(0,i.j5)({display:w.images.length?"block":"none"})},null,12,h),d._showDate||d._showTime?((0,o.wg)(),(0,o.iD)("div",n,[(0,o._)("div",m,[d._showWeather?((0,o.wg)(),(0,o.j4)(f,{key:1,"show-icon":d._showWeatherIcon,"show-summary":d._showWeatherSummary,"show-temperature":d._showTemperature,"icon-color":s.weatherIconColor,"icon-size":s.weatherIconSize,animate:d._animateWeatherIcon},null,8,["show-icon","show-summary","show-temperature","icon-color","icon-size","animate"])):((0,o.wg)(),(0,o.iD)("span",u," "))]),(0,o._)("div",c,[d._showTime||d._showDate?((0,o.wg)(),(0,o.j4)(p,{key:0,"show-date":d._showDate,"show-time":d._showTime,"show-seconds":d._showSeconds},null,8,["show-date","show-time","show-seconds"])):(0,o.kq)("",!0)])])):(0,o.kq)("",!0)])}var w=s(8637),d=s(6791),g=s(4619),f=s(3594),p={name:"ImageCarousel",components:{Weather:f["default"],DateTime:g["default"],Loading:d.Z},mixins:[w.Z],props:{imgDir:{type:String,required:!0},refreshSeconds:{type:Number,default:15},showDate:{default:!1},showTime:{default:!1},showSeconds:{default:!1},showWeather:{default:!1},showTemperature:{default:!0},showWeatherIcon:{default:!0},showWeatherSummary:{default:!0},weatherIconColor:{type:String,default:"white"},weatherIconSize:{type:Number,default:70},animateWeatherIcon:{default:!0}},data(){return{images:[],currentImage:void 0,loading:!1}},computed:{imgURL(){let e=8008;return"backend.http"in this.$root.config&&"port"in this.$root.config["backend.http"]&&(e=this.$root.config["backend.http"].port),"//"+window.location.hostname+":"+e+this.currentImage},_showDate(){return this.parseBoolean(this.showDate)},_showTime(){return this.parseBoolean(this.showTime)},_showSeconds(){return this.parseBoolean(this.showSeconds)},_showTemperature(){return this.parseBoolean(this.showTemperature)},_showWeather(){return this.parseBoolean(this.showWeather)},_showWeatherIcon(){return this.parseBoolean(this.showWeatherIcon)},_showWeatherSummary(){return this.parseBoolean(this.showWeatherSummary)},_animateWeatherIcon(){return this.parseBoolean(this.animateWeatherIcon)}},methods:{async refresh(){if(!this.images.length){this.loading=!0;try{this.images=await this.request("utils.search_web_directory",{directory:this.imgDir,extensions:[".jpg",".jpeg",".png"]}),this.shuffleImages()}finally{this.loading=!1}}this.images.length&&(this.currentImage=this.images.pop())},onNewImage(){if(this.$refs.img&&(this.$refs.background.style["background-image"]="url("+this.imgURL+")",this.$refs.img.style.width="auto",this.$refs.img.width>this.$refs.img.height)){const e=this.$refs.img.width/this.$refs.img.height;e>=4/3&&e<=16/9?this.$refs.img.style.width="100%":e<=4/3&&(this.$refs.img.style.height="100%")}},shuffleImages(){for(let e=this.images.length-1;e>0;e--){let t=Math.floor(Math.random()*(e+1)),s=this.images[e];this.images[e]=this.images[t],this.images[t]=s}}},mounted(){this.$refs.img.addEventListener("load",this.onNewImage),this.$refs.img.addEventListener("error",this.refresh),this.refresh(),setInterval(this.refresh,Math.round(1e3*this.refreshSeconds))}},_=s(3744);const y=(0,_.Z)(p,[["render",l],["__scopeId","data-v-72b02f7c"]]);var k=y}}]);
//# sourceMappingURL=306.f28688c3.js.map
//# sourceMappingURL=306.65920e65.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[3518],{3518:function(e,n,a){a.r(n),a.d(n,{default:function(){return i}});var u=a(6252);function t(e,n,a,t,r,p){const s=(0,u.up)("Media");return(0,u.wg)(),(0,u.j4)(s,{"plugin-name":"media.mplayer"})}var r=a(1880),p={name:"MediaMplayer",components:{Media:r["default"]}},s=a(3744);const c=(0,s.Z)(p,[["render",t]]);var i=c}}]);
//# sourceMappingURL=3518.a4edecee.js.map
//# sourceMappingURL=3518.39ec56c6.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/3518.a4edecee.js","mappings":"iPACEA,EAAAA,EAAAA,IAAqCC,EAAA,CAA9B,cAAY,iB,eAMrB,GACEC,KAAM,eACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaMplayer/Index.vue","webpack://platypush/./src/components/panels/MediaMplayer/Index.vue?becb"],"sourcesContent":["<template>\n <Media plugin-name=\"media.mplayer\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaMplayer\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=08ab61b7\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/3518.39ec56c6.js","mappings":"iPACEA,EAAAA,EAAAA,IAAqCC,EAAA,CAA9B,cAAY,iB,eAMrB,GACEC,KAAM,eACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaMplayer/Index.vue","webpack://platypush/./src/components/panels/MediaMplayer/Index.vue?becb"],"sourcesContent":["<template>\n <Media plugin-name=\"media.mplayer\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaMplayer\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=08ab61b7\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[3732],{3732:function(t,a,e){e.r(a),e.d(a,{default:function(){return d}});var n=e(6252);function l(t,a,e,l,i,s){const u=(0,n.up)("Panel");return(0,n.wg)(),(0,n.j4)(u,{"plugin-name":"tts"})}var i=e(5169),s={name:"Tts",components:{Panel:i.Z}},u=e(3744);const r=(0,u.Z)(s,[["render",l]]);var d=r},5169:function(t,a,e){e.d(a,{Z:function(){return y}});var n=e(6252),l=e(9963);const i=t=>((0,n.dD)("data-v-a248454a"),t=t(),(0,n.Cn)(),t),s={class:"tts-container"},u={class:"field text-container"},r=["disabled"],d={class:"field lang-container"},c=["disabled"],o={class:"field buttons"},p=["disabled"],g=i((()=>(0,n._)("i",{class:"fa fa-volume-up"},null,-1))),f=[g];function v(t,a,e,i,g,v){return(0,n.wg)(),(0,n.iD)("div",s,[(0,n._)("form",{onSubmit:a[0]||(a[0]=(0,l.iM)(((...t)=>v.talk&&v.talk(...t)),["prevent"]))},[(0,n._)("div",u,[(0,n._)("label",null,[(0,n._)("input",{type:"text",name:"text",placeholder:"Text to say",disabled:g.talking},null,8,r)])]),(0,n._)("div",d,[(0,n._)("label",null,[(0,n._)("input",{type:"text",name:"language",placeholder:"Language code",disabled:g.talking},null,8,c)])]),(0,n._)("div",o,[(0,n._)("button",{type:"submit",disabled:g.talking},f,8,p)])],32)])}var m=e(8637),b={name:"Panel",mixins:[m.Z],props:{pluginName:{type:String,required:!0}},data(){return{talking:!1}},methods:{async talk(t){const a=[...t.target.querySelectorAll("input")].reduce(((t,a)=>(a.value.length&&(t[a.name]=a.value),t)),{});this.talking=!0;try{await this.request(`${this.pluginName}.say`,a)}finally{this.talking=!1}}}},h=e(3744);const k=(0,h.Z)(b,[["render",v],["__scopeId","data-v-a248454a"]]);var y=k}}]);
//# sourceMappingURL=3732.a2ca739b.js.map
//# sourceMappingURL=3732.c52fd2ec.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[446],{446:function(e,t,i){i.r(t),i.d(t,{default:function(){return b}});var s=i(6252),n=i(3577);const a={class:"camera component-row"},r={class:"feed-container",ref:"container"},c=["textContent"],l=["src"],o={key:2},u=["src"],p={class:"controls"},d={key:0,class:"fa fa-play"},g={key:1,class:"fa fa-pause"};function f(e,t,i,f,v,m){return(0,s.wg)(),(0,s.iD)("div",a,[(0,s._)("div",r,[v.visible?(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("div",{key:0,class:"no-content",textContent:(0,n.zw)(i.name)},null,8,c)),v.visible&&"image"===i.type?((0,s.wg)(),(0,s.iD)("img",{key:1,alt:"Camera feed",src:m.imgUrl},null,8,l)):v.visible&&"video"===i.type?((0,s.wg)(),(0,s.iD)("video",o,[(0,s._)("source",{src:i.src},null,8,u)])):(0,s.kq)("",!0)],512),(0,s._)("div",p,[(0,s._)("button",{class:"toggle-btn",onClick:t[0]||(t[0]=e=>v.visible=!v.visible)},[v.visible?((0,s.wg)(),(0,s.iD)("i",g)):((0,s.wg)(),(0,s.iD)("i",d))])])])}var v=i(8637),m={name:"Camera",mixins:[v.Z],props:{src:{type:String,required:!0},type:{type:String,default:"image"},name:{type:String}},computed:{imgUrl(){if("image"===this.type)return this.src+(this.src.indexOf("?")>0?"&":"?")+"_t="+(new Date).getTime().toString()}},data(){return{visible:!1}}},y=i(3744);const k=(0,y.Z)(m,[["render",f],["__scopeId","data-v-0fad5251"]]);var b=k}}]);
//# sourceMappingURL=446.0c670830.js.map
//# sourceMappingURL=446.453dede2.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/446.0c670830.js","mappings":"8LACOA,MAAM,wB,GACJA,MAAM,iBAAiBC,IAAI,a,mDAQ3BD,MAAM,Y,SAEJA,MAAM,c,SACNA,MAAM,e,0CAZfE,EAAAA,EAAAA,IAeM,MAfNC,EAeM,EAdJC,EAAAA,EAAAA,GAMM,MANNC,EAMM,CALyCC,EAAAC,S,iBAAO,WAApDL,EAAAA,EAAAA,IAAwD,O,MAAnDF,MAAM,a,aAAaQ,EAAAA,EAAAA,IAAQC,EAAKC,O,WACMJ,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAA1DT,EAAAA,EAAAA,IAAwE,O,MAAnEU,IAAI,cAAeC,IAAKC,EAAAC,Q,WACXT,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAAjCT,EAAAA,EAAAA,IAEQ,QAAAc,EAAA,EADNZ,EAAAA,EAAAA,GAAmB,UAAVS,IAAKJ,EAAAI,KAAG,OAAAI,OAAA,sBAIrBb,EAAAA,EAAAA,GAKM,MALNc,EAKM,EAJJd,EAAAA,EAAAA,GAGS,UAHDJ,MAAM,aAAcmB,QAAKC,EAAA,KAAAA,EAAA,GAAAC,GAAEf,EAAAC,SAAWD,EAAAC,U,CACfD,EAAAC,UAAW,WACxCL,EAAAA,EAAAA,IAAgC,IAAhCoB,MADoC,WAApCpB,EAAAA,EAAAA,IAAwC,IAAxCqB,S,eAaR,GACEb,KAAM,SACNc,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAKLb,IAAK,CACHF,KAAMgB,OACNC,UAAU,GAMZjB,KAAM,CACJA,KAAMgB,OACNE,QAAS,SAMXnB,KAAM,CACJC,KAAMgB,SAIVG,SAAU,CACRf,MAAAA,GACE,GAAkB,UAAdgB,KAAKpB,KAGT,OAAOoB,KAAKlB,KAAOkB,KAAKlB,IAAImB,QAAQ,KAAO,EAAI,IAAM,KAAO,OAAS,IAAIC,MAAOC,UAAUC,UAC5F,GAGFC,IAAAA,GACE,MAAO,CACL7B,SAAS,EAEb,G,UC5DF,MAAM8B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/Camera/Index.vue","webpack://platypush/./src/components/widgets/Camera/Index.vue?8b49"],"sourcesContent":["<template>\n <div class=\"camera component-row\">\n <div class=\"feed-container\" ref=\"container\">\n <div class=\"no-content\" v-text=\"name\" v-if=\"!visible\" />\n <img alt=\"Camera feed\" :src=\"imgUrl\" v-if=\"visible && type === 'image'\">\n <video v-else-if=\"visible && type === 'video'\">\n <source :src=\"src\">\n </video>\n </div>\n\n <div class=\"controls\">\n <button class=\"toggle-btn\" @click=\"visible = !visible\">\n <i class=\"fa fa-play\" v-if=\"!visible\" />\n <i class=\"fa fa-pause\" v-else />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * This component can be used to view a feed from a camera.\n */\nexport default {\n name: \"Camera\",\n mixins: [Utils],\n props: {\n /**\n * Camera feed URL.\n * For instance, in the case of a PiCamera feed: http://host:8008/camera/pi/video.mjpeg\n */\n src: {\n type: String,\n required: true,\n },\n\n /**\n * Camera feed type - it can be \"image\" (usually in case of MJPEG feeds) or \"video\".\n */\n type: {\n type: String,\n default: \"image\",\n },\n\n /**\n * Camera feed name.\n */\n name: {\n type: String,\n },\n },\n\n computed: {\n imgUrl() {\n if (this.type !== 'image')\n return\n\n return this.src + (this.src.indexOf('?') > 0 ? '&' : '?') + '_t=' + (new Date().getTime().toString())\n },\n },\n\n data() {\n return {\n visible: false,\n }\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.camera {\n width: calc(100% + 2em);\n height: calc(100% + 2em);\n position: relative;\n background: black;\n color: #888;\n margin: -1em;\n\n .feed-container {\n width: 100%;\n height: calc(100% - 3em);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .controls {\n width: 100%;\n height: 3em;\n position: absolute;\n bottom: 0;\n\n button {\n background: none;\n border: none;\n color: #888;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=0fad5251&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=0fad5251&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0fad5251\"]])\n\nexport default __exports__"],"names":["class","ref","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","$data","visible","_toDisplayString","$props","name","type","alt","src","$options","imgUrl","_hoisted_5","_hoisted_6","_hoisted_7","onClick","_cache","$event","_hoisted_9","_hoisted_8","mixins","Utils","props","String","required","default","computed","this","indexOf","Date","getTime","toString","data","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/446.453dede2.js","mappings":"8LACOA,MAAM,wB,GACJA,MAAM,iBAAiBC,IAAI,a,mDAQ3BD,MAAM,Y,SAEJA,MAAM,c,SACNA,MAAM,e,0CAZfE,EAAAA,EAAAA,IAeM,MAfNC,EAeM,EAdJC,EAAAA,EAAAA,GAMM,MANNC,EAMM,CALyCC,EAAAC,S,iBAAO,WAApDL,EAAAA,EAAAA,IAAwD,O,MAAnDF,MAAM,a,aAAaQ,EAAAA,EAAAA,IAAQC,EAAKC,O,WACMJ,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAA1DT,EAAAA,EAAAA,IAAwE,O,MAAnEU,IAAI,cAAeC,IAAKC,EAAAC,Q,WACXT,EAAAC,SAAoB,UAATE,EAAAE,OAAI,WAAjCT,EAAAA,EAAAA,IAEQ,QAAAc,EAAA,EADNZ,EAAAA,EAAAA,GAAmB,UAAVS,IAAKJ,EAAAI,KAAG,OAAAI,OAAA,sBAIrBb,EAAAA,EAAAA,GAKM,MALNc,EAKM,EAJJd,EAAAA,EAAAA,GAGS,UAHDJ,MAAM,aAAcmB,QAAKC,EAAA,KAAAA,EAAA,GAAAC,GAAEf,EAAAC,SAAWD,EAAAC,U,CACfD,EAAAC,UAAW,WACxCL,EAAAA,EAAAA,IAAgC,IAAhCoB,MADoC,WAApCpB,EAAAA,EAAAA,IAAwC,IAAxCqB,S,eAaR,GACEb,KAAM,SACNc,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAKLb,IAAK,CACHF,KAAMgB,OACNC,UAAU,GAMZjB,KAAM,CACJA,KAAMgB,OACNE,QAAS,SAMXnB,KAAM,CACJC,KAAMgB,SAIVG,SAAU,CACRf,MAAAA,GACE,GAAkB,UAAdgB,KAAKpB,KAGT,OAAOoB,KAAKlB,KAAOkB,KAAKlB,IAAImB,QAAQ,KAAO,EAAI,IAAM,KAAO,OAAS,IAAIC,MAAOC,UAAUC,UAC5F,GAGFC,IAAAA,GACE,MAAO,CACL7B,SAAS,EAEb,G,UC5DF,MAAM8B,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/Camera/Index.vue","webpack://platypush/./src/components/widgets/Camera/Index.vue?8b49"],"sourcesContent":["<template>\n <div class=\"camera component-row\">\n <div class=\"feed-container\" ref=\"container\">\n <div class=\"no-content\" v-text=\"name\" v-if=\"!visible\" />\n <img alt=\"Camera feed\" :src=\"imgUrl\" v-if=\"visible && type === 'image'\">\n <video v-else-if=\"visible && type === 'video'\">\n <source :src=\"src\">\n </video>\n </div>\n\n <div class=\"controls\">\n <button class=\"toggle-btn\" @click=\"visible = !visible\">\n <i class=\"fa fa-play\" v-if=\"!visible\" />\n <i class=\"fa fa-pause\" v-else />\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * This component can be used to view a feed from a camera.\n */\nexport default {\n name: \"Camera\",\n mixins: [Utils],\n props: {\n /**\n * Camera feed URL.\n * For instance, in the case of a PiCamera feed: http://host:8008/camera/pi/video.mjpeg\n */\n src: {\n type: String,\n required: true,\n },\n\n /**\n * Camera feed type - it can be \"image\" (usually in case of MJPEG feeds) or \"video\".\n */\n type: {\n type: String,\n default: \"image\",\n },\n\n /**\n * Camera feed name.\n */\n name: {\n type: String,\n },\n },\n\n computed: {\n imgUrl() {\n if (this.type !== 'image')\n return\n\n return this.src + (this.src.indexOf('?') > 0 ? '&' : '?') + '_t=' + (new Date().getTime().toString())\n },\n },\n\n data() {\n return {\n visible: false,\n }\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.camera {\n width: calc(100% + 2em);\n height: calc(100% + 2em);\n position: relative;\n background: black;\n color: #888;\n margin: -1em;\n\n .feed-container {\n width: 100%;\n height: calc(100% - 3em);\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .controls {\n width: 100%;\n height: 3em;\n position: absolute;\n bottom: 0;\n\n button {\n background: none;\n border: none;\n color: #888;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=0fad5251&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=0fad5251&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0fad5251\"]])\n\nexport default __exports__"],"names":["class","ref","_createElementBlock","_hoisted_1","_createElementVNode","_hoisted_2","$data","visible","_toDisplayString","$props","name","type","alt","src","$options","imgUrl","_hoisted_5","_hoisted_6","_hoisted_7","onClick","_cache","$event","_hoisted_9","_hoisted_8","mixins","Utils","props","String","required","default","computed","this","indexOf","Date","getTime","toString","data","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[4619],{4619:function(e,t,s){s.r(t),s.d(t,{default:function(){return l}});var n=s(6252),o=s(3577);const a={class:"date-time"},r=["textContent"],i=["textContent"];function h(e,t,s,h,u,w){return(0,n.wg)(),(0,n.iD)("div",a,[w._showDate?((0,n.wg)(),(0,n.iD)("div",{key:0,class:"date",textContent:(0,o.zw)(e.formatDate(e.now))},null,8,r)):(0,n.kq)("",!0),w._showTime?((0,n.wg)(),(0,n.iD)("div",{key:1,class:"time",textContent:(0,o.zw)(e.formatTime(e.now,w._showSeconds))},null,8,i)):(0,n.kq)("",!0)])}var u=s(8637),w={name:"DateTime",mixins:[u.Z],props:{showDate:{required:!1,default:!0},showTime:{required:!1,default:!0},showSeconds:{required:!1,default:!0}},computed:{_showTime(){return this.parseBoolean(this.showTime)},_showDate(){return this.parseBoolean(this.showDate)},_showSeconds(){return this.parseBoolean(this.showSeconds)}},data:function(){return{now:new Date}},methods:{refreshTime(){this.now=new Date}},mounted:function(){this.refreshTime(),setInterval(this.refreshTime,1e3)}},d=s(3744);const c=(0,d.Z)(w,[["render",h],["__scopeId","data-v-ca42eb9c"]]);var l=c}}]);
//# sourceMappingURL=4619.e56bced8.js.map
//# sourceMappingURL=4619.2b7e4216.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/4619.e56bced8.js","mappings":"gMACOA,MAAM,a,8EAAXC,EAAAA,EAAAA,IAGM,MAHNC,EAGM,CAF6CC,EAAAC,YAAS,WAA1DH,EAAAA,EAAAA,IAA8D,O,MAAzDD,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAAgBC,WAALD,EAAAE,O,2BAC0BL,EAAAM,YAAS,WAAxER,EAAAA,EAAAA,IAA4E,O,MAAvED,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAA8BI,WAAnBJ,EAAAE,IAAKL,EAAAQ,gB,2CAQ9C,GACEC,KAAM,WACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,SAAU,CACRC,UAAU,EACVC,SAAS,GAIXC,SAAU,CACRF,UAAU,EACVC,SAAS,GAIXE,YAAa,CACXH,UAAU,EACVC,SAAS,IAIbG,SAAU,CACRZ,SAAAA,GACE,OAAOa,KAAKC,aAAaD,KAAKH,SAChC,EAEAf,SAAAA,GACE,OAAOkB,KAAKC,aAAaD,KAAKN,SAChC,EAEAL,YAAAA,GACE,OAAOW,KAAKC,aAAaD,KAAKF,YAChC,GAGFI,KAAM,WACJ,MAAO,CACLhB,IAAK,IAAIiB,KAEb,EAEAC,QAAS,CACPC,WAAAA,GACEL,KAAKd,IAAM,IAAIiB,IACjB,GAGFG,QAAS,WACPN,KAAKK,cACLE,YAAYP,KAAKK,YAAa,IAChC,G,UCxDF,MAAMG,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/DateTime/Index.vue","webpack://platypush/./src/components/widgets/DateTime/Index.vue?dfd6"],"sourcesContent":["<template>\n <div class=\"date-time\">\n <div class=\"date\" v-text=\"formatDate(now)\" v-if=\"_showDate\" />\n <div class=\"time\" v-text=\"formatTime(now, _showSeconds)\" v-if=\"_showTime\" />\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n// Widget to show date and time\nexport default {\n name: 'DateTime',\n mixins: [Utils],\n props: {\n // If false then don't display the date.\n showDate: {\n required: false,\n default: true,\n },\n\n // If false then don't display the time.\n showTime: {\n required: false,\n default: true,\n },\n\n // If false then don't display the seconds.\n showSeconds: {\n required: false,\n default: true,\n },\n },\n\n computed: {\n _showTime() {\n return this.parseBoolean(this.showTime)\n },\n\n _showDate() {\n return this.parseBoolean(this.showDate)\n },\n\n _showSeconds() {\n return this.parseBoolean(this.showSeconds)\n },\n },\n\n data: function() {\n return {\n now: new Date(),\n };\n },\n\n methods: {\n refreshTime() {\n this.now = new Date()\n },\n },\n\n mounted: function() {\n this.refreshTime()\n setInterval(this.refreshTime, 1000)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.date-time {\n .date {\n font-size: 1.3em;\n }\n\n .time {\n font-size: 2em;\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=ca42eb9c&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=ca42eb9c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ca42eb9c\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","$options","_showDate","_toDisplayString","_ctx","formatDate","now","_showTime","formatTime","_showSeconds","name","mixins","Utils","props","showDate","required","default","showTime","showSeconds","computed","this","parseBoolean","data","Date","methods","refreshTime","mounted","setInterval","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/4619.2b7e4216.js","mappings":"gMACOA,MAAM,a,8EAAXC,EAAAA,EAAAA,IAGM,MAHNC,EAGM,CAF6CC,EAAAC,YAAS,WAA1DH,EAAAA,EAAAA,IAA8D,O,MAAzDD,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAAgBC,WAALD,EAAAE,O,2BAC0BL,EAAAM,YAAS,WAAxER,EAAAA,EAAAA,IAA4E,O,MAAvED,MAAM,O,aAAOK,EAAAA,EAAAA,IAAQC,EAA8BI,WAAnBJ,EAAAE,IAAKL,EAAAQ,gB,2CAQ9C,GACEC,KAAM,WACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,SAAU,CACRC,UAAU,EACVC,SAAS,GAIXC,SAAU,CACRF,UAAU,EACVC,SAAS,GAIXE,YAAa,CACXH,UAAU,EACVC,SAAS,IAIbG,SAAU,CACRZ,SAAAA,GACE,OAAOa,KAAKC,aAAaD,KAAKH,SAChC,EAEAf,SAAAA,GACE,OAAOkB,KAAKC,aAAaD,KAAKN,SAChC,EAEAL,YAAAA,GACE,OAAOW,KAAKC,aAAaD,KAAKF,YAChC,GAGFI,KAAM,WACJ,MAAO,CACLhB,IAAK,IAAIiB,KAEb,EAEAC,QAAS,CACPC,WAAAA,GACEL,KAAKd,IAAM,IAAIiB,IACjB,GAGFG,QAAS,WACPN,KAAKK,cACLE,YAAYP,KAAKK,YAAa,IAChC,G,UCxDF,MAAMG,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/DateTime/Index.vue","webpack://platypush/./src/components/widgets/DateTime/Index.vue?dfd6"],"sourcesContent":["<template>\n <div class=\"date-time\">\n <div class=\"date\" v-text=\"formatDate(now)\" v-if=\"_showDate\" />\n <div class=\"time\" v-text=\"formatTime(now, _showSeconds)\" v-if=\"_showTime\" />\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n// Widget to show date and time\nexport default {\n name: 'DateTime',\n mixins: [Utils],\n props: {\n // If false then don't display the date.\n showDate: {\n required: false,\n default: true,\n },\n\n // If false then don't display the time.\n showTime: {\n required: false,\n default: true,\n },\n\n // If false then don't display the seconds.\n showSeconds: {\n required: false,\n default: true,\n },\n },\n\n computed: {\n _showTime() {\n return this.parseBoolean(this.showTime)\n },\n\n _showDate() {\n return this.parseBoolean(this.showDate)\n },\n\n _showSeconds() {\n return this.parseBoolean(this.showSeconds)\n },\n },\n\n data: function() {\n return {\n now: new Date(),\n };\n },\n\n methods: {\n refreshTime() {\n this.now = new Date()\n },\n },\n\n mounted: function() {\n this.refreshTime()\n setInterval(this.refreshTime, 1000)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.date-time {\n .date {\n font-size: 1.3em;\n }\n\n .time {\n font-size: 2em;\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=ca42eb9c&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=ca42eb9c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ca42eb9c\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","$options","_showDate","_toDisplayString","_ctx","formatDate","now","_showTime","formatTime","_showSeconds","name","mixins","Utils","props","showDate","required","default","showTime","showSeconds","computed","this","parseBoolean","data","Date","methods","refreshTime","mounted","setInterval","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[4765],{4765:function(e,n,a){a.r(n),a.d(n,{default:function(){return i}});var u=a(6252);function t(e,n,a,t,p,r){const s=(0,u.up)("Media");return(0,u.wg)(),(0,u.j4)(s,{"plugin-name":"media.mpv"})}var p=a(1880),r={name:"MediaMpv",components:{Media:p["default"]}},s=a(3744);const c=(0,s.Z)(r,[["render",t]]);var i=c}}]);
//# sourceMappingURL=4765.217643df.js.map
//# sourceMappingURL=4765.2dd16216.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/4765.217643df.js","mappings":"iPACEA,EAAAA,EAAAA,IAAiCC,EAAA,CAA1B,cAAY,a,eAMrB,GACEC,KAAM,WACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaMpv/Index.vue","webpack://platypush/./src/components/panels/MediaMpv/Index.vue?4cb2"],"sourcesContent":["<template>\n <Media plugin-name=\"media.mpv\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaMpv\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=52effd7c\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/4765.2dd16216.js","mappings":"iPACEA,EAAAA,EAAAA,IAAiCC,EAAA,CAA1B,cAAY,a,eAMrB,GACEC,KAAM,WACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaMpv/Index.vue","webpack://platypush/./src/components/panels/MediaMpv/Index.vue?4cb2"],"sourcesContent":["<template>\n <Media plugin-name=\"media.mpv\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaMpv\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=52effd7c\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[5638],{5638:function(e,t,n){n.r(t),n.d(t,{default:function(){return C}});var s=n(6252),a=n(3577);const i={class:"calendar"},r={key:1,class:"no-events"},d={key:2,class:"event upcoming-event"},l=["textContent"],o=["textContent"],u={class:"time"},c={key:3,class:"event-list"},v=["textContent"],m=["textContent"],f=["textContent"];function h(e,t,n,h,g,w){const p=(0,s.up)("Loading");return(0,s.wg)(),(0,s.iD)("div",i,[e.loading?((0,s.wg)(),(0,s.j4)(p,{key:0})):e.events.length?e.events.length>0?((0,s.wg)(),(0,s.iD)("div",d,[(0,s._)("div",{class:"date",textContent:(0,a.zw)(e.formatDate(e.events[0].start))},null,8,l),(0,s._)("div",{class:"summary",textContent:(0,a.zw)(e.events[0].summary)},null,8,o),(0,s._)("div",u,(0,a.zw)(e.formatTime(e.events[0].start,!1))+" - "+(0,a.zw)(e.formatTime(e.events[0].end,!1)),1)])):(0,s.kq)("",!0):((0,s.wg)(),(0,s.iD)("div",r," No events found ")),e.events.length>1?((0,s.wg)(),(0,s.iD)("div",c,[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)(e.events.slice(1,n.maxEvents),(t=>((0,s.wg)(),(0,s.iD)("div",{class:"event",key:t.id},[(0,s._)("div",{class:"date col-2",textContent:(0,a.zw)(e.formatDate(t.start))},null,8,v),(0,s._)("div",{class:"time col-2",textContent:(0,a.zw)(e.formatTime(t.start,!1))},null,8,m),(0,s._)("div",{class:"summary col-8",textContent:(0,a.zw)(t.summary)},null,8,f)])))),128))])):(0,s.kq)("",!0)])}var g=n(8637),w=n(6791),p={name:"Calendar",components:{Loading:w.Z},mixins:[g.Z],props:{maxEvents:{type:Number,required:!1,default:10},refreshSeconds:{type:Number,required:!1,default:600}},data:function(){return{events:[],loading:!1}},methods:{refresh:async function(){this.loading=!0;try{this.events=(await this.request("calendar.get_upcoming_events")).map((e=>(e.start&&(e.start=new Date(e.start.dateTime||e.start.date)),e.end&&(e.end=new Date(e.end.dateTime||e.end.date)),e)))}finally{this.loading=!1}}},mounted:function(){this.refresh(),setInterval(this.refresh,parseInt((1e3*this.refreshSeconds).toFixed(0)))}},y=n(3744);const x=(0,y.Z)(p,[["render",h],["__scopeId","data-v-44a3b988"]]);var C=x}}]);
//# sourceMappingURL=5638.0225db95.js.map
//# sourceMappingURL=5638.7b12f2d2.js.map

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[6523],{6523:function(e,t,r){r.r(t),r.d(t,{default:function(){return v}});var s=r(6252),i=r(3577);const n={class:"rss-news"},u={key:0,class:"article"},l=["textContent"],c=["textContent"],a=["textContent"];function h(e,t,r,h,d,o){return(0,s.wg)(),(0,s.iD)("div",n,[e.currentArticle?((0,s.wg)(),(0,s.iD)("div",u,[(0,s._)("div",{class:"source",textContent:(0,i.zw)(e.currentArticle.feed_title||e.currentArticle.feed_url)},null,8,l),(0,s._)("div",{class:"title",textContent:(0,i.zw)(e.currentArticle.title)},null,8,c),(0,s._)("div",{class:"published",textContent:(0,i.zw)(new Date(e.currentArticle.published).toDateString()+", "+new Date(e.currentArticle.published).toTimeString().substring(0,5))},null,8,a)])):(0,s.kq)("",!0)])}var d=r(8637),o={name:"RssNews",mixins:[d.Z],props:{limit:{type:Number,required:!1,default:25},refreshSeconds:{type:Number,required:!1,default:15}},data:function(){return{articles:[],queue:[],currentArticle:void 0}},methods:{refresh:async function(){this.queue.length||(this.articles=await this.request("rss.get_latest_entries",{limit:this.limit}),this.queue=[...this.articles].reverse()),this.queue.length&&(this.currentArticle=this.queue.pop())}},mounted:function(){this.refresh(),setInterval(this.refresh,parseInt((1e3*this.refreshSeconds).toFixed(0)))}},f=r(3744);const p=(0,f.Z)(o,[["render",h],["__scopeId","data-v-24745ce0"]]);var v=p}}]);
//# sourceMappingURL=6523.9cf8a633.js.map
//# sourceMappingURL=6523.bef9dd6e.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/6523.9cf8a633.js","mappings":"gMACOA,MAAM,Y,SACJA,MAAM,W,gGADbC,EAAAA,EAAAA,IAMM,MANNC,EAMM,CALuBC,EAAAC,iBAAc,WAAzCH,EAAAA,EAAAA,IAIM,MAJNI,EAIM,EAHJC,EAAAA,EAAAA,GAAwF,OAAnFN,MAAM,S,aAASO,EAAAA,EAAAA,IAAQJ,EAAqDC,eAAtCI,YAAcL,EAAAC,eAAeK,W,WACxEH,EAAAA,EAAAA,GAAuD,OAAlDN,MAAM,Q,aAAQO,EAAAA,EAAAA,IAAQJ,EAAqBC,eAANM,Q,WAC1CJ,EAAAA,EAAAA,GAAkK,OAA7JN,MAAM,Y,aAAYO,EAAAA,EAAAA,IAAoI,IAAxHI,KAAKR,EAAAC,eAAeQ,WAAWC,eAAiB,KAAO,IAAIF,KAAKR,EAAAC,eAAeQ,WAAWE,eAAeC,UAAU,EAAD,K,6CAY3J,GACEC,KAAM,UACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,MAAO,CACLC,KAAMC,OACNC,UAAU,EACVC,QAAS,IAIXC,eAAgB,CACdJ,KAAMC,OACNC,UAAU,EACVC,QAAS,KAIbE,KAAM,WACJ,MAAO,CACLC,SAAU,GACVC,MAAO,GACPxB,oBAAgByB,EAEpB,EAEAC,QAAS,CACPC,QAASC,iBACFC,KAAKL,MAAMM,SACdD,KAAKN,eAAiBM,KAAKE,QAAQ,yBAA0B,CAC3Df,MAAOa,KAAKb,QAGda,KAAKL,MAAQ,IAAIK,KAAKN,UAAUS,WAG7BH,KAAKL,MAAMM,SAGhBD,KAAK7B,eAAiB6B,KAAKL,MAAMS,MACnC,GAGFC,QAAS,WACPL,KAAKF,UACLQ,YAAYN,KAAKF,QAASS,UAA8B,IAApBP,KAAKR,gBAAqBgB,QAAQ,IACxE,G,UCzDF,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/RssNews/Index.vue","webpack://platypush/./src/components/widgets/RssNews/Index.vue?c35e"],"sourcesContent":["<template>\n <div class=\"rss-news\">\n <div class=\"article\" v-if=\"currentArticle\">\n <div class=\"source\" v-text=\"currentArticle.feed_title || currentArticle.feed_url\"></div>\n <div class=\"title\" v-text=\"currentArticle.title\"></div>\n <div class=\"published\" v-text=\"new Date(currentArticle.published).toDateString() + ', ' + new Date(currentArticle.published).toTimeString().substring(0,5)\"></div>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * In order to use this widget you need to configure the `rss` plugin\n * with a list of subscriptions.\n */\nexport default {\n name: \"RssNews\",\n mixins: [Utils],\n props: {\n // Maximum number of items to be shown in a cycle.\n limit: {\n type: Number,\n required: false,\n default: 25,\n },\n\n // How long an entry should be displayed before moving to the next one.\n refreshSeconds: {\n type: Number,\n required: false,\n default: 15,\n },\n },\n\n data: function() {\n return {\n articles: [],\n queue: [],\n currentArticle: undefined,\n }\n },\n\n methods: {\n refresh: async function() {\n if (!this.queue.length) {\n this.articles = await this.request('rss.get_latest_entries', {\n limit: this.limit\n })\n\n this.queue = [...this.articles].reverse()\n }\n\n if (!this.queue.length)\n return\n\n this.currentArticle = this.queue.pop()\n },\n },\n\n mounted: function() {\n this.refresh()\n setInterval(this.refresh, parseInt((this.refreshSeconds*1000).toFixed(0)))\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rss-news {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n letter-spacing: .025em;\n\n .article {\n width: 90%;\n padding: 0 2em;\n\n .source {\n font-size: 1.7em;\n font-weight: bold;\n margin-bottom: .5em;\n }\n\n .title {\n font-size: 1.8em;\n font-weight: normal;\n margin-bottom: .5em;\n }\n\n .published {\n text-align: right;\n font-size: 1.1em;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=24745ce0&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=24745ce0&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-24745ce0\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_ctx","currentArticle","_hoisted_2","_createElementVNode","_toDisplayString","feed_title","feed_url","title","Date","published","toDateString","toTimeString","substring","name","mixins","Utils","props","limit","type","Number","required","default","refreshSeconds","data","articles","queue","undefined","methods","refresh","async","this","length","request","reverse","pop","mounted","setInterval","parseInt","toFixed","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/6523.bef9dd6e.js","mappings":"gMACOA,MAAM,Y,SACJA,MAAM,W,gGADbC,EAAAA,EAAAA,IAMM,MANNC,EAMM,CALuBC,EAAAC,iBAAc,WAAzCH,EAAAA,EAAAA,IAIM,MAJNI,EAIM,EAHJC,EAAAA,EAAAA,GAAwF,OAAnFN,MAAM,S,aAASO,EAAAA,EAAAA,IAAQJ,EAAqDC,eAAtCI,YAAcL,EAAAC,eAAeK,W,WACxEH,EAAAA,EAAAA,GAAuD,OAAlDN,MAAM,Q,aAAQO,EAAAA,EAAAA,IAAQJ,EAAqBC,eAANM,Q,WAC1CJ,EAAAA,EAAAA,GAAkK,OAA7JN,MAAM,Y,aAAYO,EAAAA,EAAAA,IAAoI,IAAxHI,KAAKR,EAAAC,eAAeQ,WAAWC,eAAiB,KAAO,IAAIF,KAAKR,EAAAC,eAAeQ,WAAWE,eAAeC,UAAU,EAAD,K,6CAY3J,GACEC,KAAM,UACNC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,MAAO,CACLC,KAAMC,OACNC,UAAU,EACVC,QAAS,IAIXC,eAAgB,CACdJ,KAAMC,OACNC,UAAU,EACVC,QAAS,KAIbE,KAAM,WACJ,MAAO,CACLC,SAAU,GACVC,MAAO,GACPxB,oBAAgByB,EAEpB,EAEAC,QAAS,CACPC,QAASC,iBACFC,KAAKL,MAAMM,SACdD,KAAKN,eAAiBM,KAAKE,QAAQ,yBAA0B,CAC3Df,MAAOa,KAAKb,QAGda,KAAKL,MAAQ,IAAIK,KAAKN,UAAUS,WAG7BH,KAAKL,MAAMM,SAGhBD,KAAK7B,eAAiB6B,KAAKL,MAAMS,MACnC,GAGFC,QAAS,WACPL,KAAKF,UACLQ,YAAYN,KAAKF,QAASS,UAA8B,IAApBP,KAAKR,gBAAqBgB,QAAQ,IACxE,G,UCzDF,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/RssNews/Index.vue","webpack://platypush/./src/components/widgets/RssNews/Index.vue?c35e"],"sourcesContent":["<template>\n <div class=\"rss-news\">\n <div class=\"article\" v-if=\"currentArticle\">\n <div class=\"source\" v-text=\"currentArticle.feed_title || currentArticle.feed_url\"></div>\n <div class=\"title\" v-text=\"currentArticle.title\"></div>\n <div class=\"published\" v-text=\"new Date(currentArticle.published).toDateString() + ', ' + new Date(currentArticle.published).toTimeString().substring(0,5)\"></div>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\n/**\n * In order to use this widget you need to configure the `rss` plugin\n * with a list of subscriptions.\n */\nexport default {\n name: \"RssNews\",\n mixins: [Utils],\n props: {\n // Maximum number of items to be shown in a cycle.\n limit: {\n type: Number,\n required: false,\n default: 25,\n },\n\n // How long an entry should be displayed before moving to the next one.\n refreshSeconds: {\n type: Number,\n required: false,\n default: 15,\n },\n },\n\n data: function() {\n return {\n articles: [],\n queue: [],\n currentArticle: undefined,\n }\n },\n\n methods: {\n refresh: async function() {\n if (!this.queue.length) {\n this.articles = await this.request('rss.get_latest_entries', {\n limit: this.limit\n })\n\n this.queue = [...this.articles].reverse()\n }\n\n if (!this.queue.length)\n return\n\n this.currentArticle = this.queue.pop()\n },\n },\n\n mounted: function() {\n this.refresh()\n setInterval(this.refresh, parseInt((this.refreshSeconds*1000).toFixed(0)))\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.rss-news {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n letter-spacing: .025em;\n\n .article {\n width: 90%;\n padding: 0 2em;\n\n .source {\n font-size: 1.7em;\n font-weight: bold;\n margin-bottom: .5em;\n }\n\n .title {\n font-size: 1.8em;\n font-weight: normal;\n margin-bottom: .5em;\n }\n\n .published {\n text-align: right;\n font-size: 1.1em;\n }\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=24745ce0&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=24745ce0&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-24745ce0\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","_ctx","currentArticle","_hoisted_2","_createElementVNode","_toDisplayString","feed_title","feed_url","title","Date","published","toDateString","toTimeString","substring","name","mixins","Utils","props","limit","type","Number","required","default","refreshSeconds","data","articles","queue","undefined","methods","refresh","async","this","length","request","reverse","pop","mounted","setInterval","parseInt","toFixed","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[746],{746:function(t,n,o){o.r(n),o.d(n,{default:function(){return h}});var e=o(6252);const r=t=>((0,e.dD)("data-v-911495ca"),t=t(),(0,e.Cn)(),t),s={class:"sound"},a={class:"sound-container"},i={key:0,autoplay:"",preload:"none",ref:"player"},c=["src"],d={class:"controls"},u=r((()=>(0,e._)("i",{class:"fa fa-play"},null,-1))),l=r((()=>(0,e._)("i",{class:"fa fa-stop"},null,-1)));function p(t,n,o,r,p,g){return(0,e.wg)(),(0,e.iD)("div",s,[(0,e._)("div",a,[p.recording?((0,e.wg)(),(0,e.iD)("audio",i,[(0,e._)("source",{src:`/sound/stream.aac?t=${(new Date).getTime()}`},null,8,c),(0,e.Uk)(" Your browser does not support audio elements ")],512)):(0,e.kq)("",!0)]),(0,e._)("div",d,[p.recording?((0,e.wg)(),(0,e.iD)("button",{key:1,type:"button",onClick:n[1]||(n[1]=(...t)=>g.stopRecording&&g.stopRecording(...t))},[l,(0,e.Uk)("  Stop streaming audio ")])):((0,e.wg)(),(0,e.iD)("button",{key:0,type:"button",onClick:n[0]||(n[0]=(...t)=>g.startRecording&&g.startRecording(...t))},[u,(0,e.Uk)("  Start streaming audio ")]))])])}var g=o(8637),k={name:"Sound",mixins:[g.Z],data(){return{recording:!1}},methods:{startRecording(){this.recording=!0},async stopRecording(){this.recording=!1,await this.request("sound.stop_recording")}}},f=o(3744);const y=(0,f.Z)(k,[["render",p],["__scopeId","data-v-911495ca"]]);var h=y}}]);
//# sourceMappingURL=746.299cb064.js.map
//# sourceMappingURL=746.d8626378.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/746.299cb064.js","mappings":"0OACOA,MAAM,S,GACJA,MAAM,mB,SACFC,SAAA,GAASC,QAAQ,OAAOC,IAAI,U,aAMhCH,MAAM,Y,UAEPI,EAAAA,EAAAA,GAA0B,KAAvBJ,MAAM,cAAY,W,UAIrBI,EAAAA,EAAAA,GAA0B,KAAvBJ,MAAM,cAAY,W,0CAd3BK,EAAAA,EAAAA,IAiBM,MAjBNC,EAiBM,EAhBJF,EAAAA,EAAAA,GAKM,MALNG,EAKM,CAJ8CC,EAAAC,YAAS,WAA3DJ,EAAAA,EAAAA,IAGQ,QAHRK,EAGQ,EAFNN,EAAAA,EAAAA,GAA+D,UAAtDO,IAAG,4BAA8BC,MAAQC,a,mBAAa,mDAEjE,yBAGFT,EAAAA,EAAAA,GAQM,MARNU,EAQM,CAPiDN,EAAAC,YAErD,WAEAJ,EAAAA,EAAAA,IAES,U,MAFDU,KAAK,SAAUC,QAAKC,EAAA,KAAAA,EAAA,OAAAC,IAAEC,EAAAC,eAAAD,EAAAC,iBAAAF,K,CAC5BG,GAA0B,wCALkC,WAA9DhB,EAAAA,EAAAA,IAES,U,MAFDU,KAAK,SAAUC,QAAKC,EAAA,KAAAA,EAAA,OAAAC,IAAEC,EAAAG,gBAAAH,EAAAG,kBAAAJ,K,CAC5BK,GAA0B,0C,eAalC,GACEC,KAAM,QACNC,OAAQ,CAACC,EAAAA,GAETC,IAAAA,GACE,MAAO,CACLlB,WAAW,EAEf,EAEAmB,QAAS,CACPN,cAAAA,GACEO,KAAKpB,WAAY,CACnB,EAEA,mBAAMW,GACJS,KAAKpB,WAAY,QACXoB,KAAKC,QAAQ,uBACrB,I,UCnCJ,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/panels/Sound/Index.vue","webpack://platypush/./src/components/panels/Sound/Index.vue?0677"],"sourcesContent":["<template>\n <div class=\"sound\">\n <div class=\"sound-container\">\n <audio autoplay preload=\"none\" ref=\"player\" v-if=\"recording\">\n <source :src=\"`/sound/stream.aac?t=${(new Date()).getTime()}`\">\n Your browser does not support audio elements\n </audio>\n </div>\n\n <div class=\"controls\">\n <button type=\"button\" @click=\"startRecording\" v-if=\"!recording\">\n <i class=\"fa fa-play\"></i>&nbsp; Start streaming audio\n </button>\n\n <button type=\"button\" @click=\"stopRecording\" v-else>\n <i class=\"fa fa-stop\"></i>&nbsp; Stop streaming audio\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\nexport default {\n name: \"Sound\",\n mixins: [Utils],\n\n data() {\n return {\n recording: false,\n };\n },\n\n methods: {\n startRecording() {\n this.recording = true\n },\n\n async stopRecording() {\n this.recording = false\n await this.request('sound.stop_recording')\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sound {\n width: 100%;\n height: 90%;\n margin-top: 7%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .sound-container {\n margin-bottom: 1em;\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=911495ca&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=911495ca&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-911495ca\"]])\n\nexport default __exports__"],"names":["class","autoplay","preload","ref","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","$data","recording","_hoisted_3","src","Date","getTime","_hoisted_5","type","onClick","_cache","args","$options","stopRecording","_hoisted_7","startRecording","_hoisted_6","name","mixins","Utils","data","methods","this","request","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/746.d8626378.js","mappings":"0OACOA,MAAM,S,GACJA,MAAM,mB,SACFC,SAAA,GAASC,QAAQ,OAAOC,IAAI,U,aAMhCH,MAAM,Y,UAEPI,EAAAA,EAAAA,GAA0B,KAAvBJ,MAAM,cAAY,W,UAIrBI,EAAAA,EAAAA,GAA0B,KAAvBJ,MAAM,cAAY,W,0CAd3BK,EAAAA,EAAAA,IAiBM,MAjBNC,EAiBM,EAhBJF,EAAAA,EAAAA,GAKM,MALNG,EAKM,CAJ8CC,EAAAC,YAAS,WAA3DJ,EAAAA,EAAAA,IAGQ,QAHRK,EAGQ,EAFNN,EAAAA,EAAAA,GAA+D,UAAtDO,IAAG,4BAA8BC,MAAQC,a,mBAAa,mDAEjE,yBAGFT,EAAAA,EAAAA,GAQM,MARNU,EAQM,CAPiDN,EAAAC,YAErD,WAEAJ,EAAAA,EAAAA,IAES,U,MAFDU,KAAK,SAAUC,QAAKC,EAAA,KAAAA,EAAA,OAAAC,IAAEC,EAAAC,eAAAD,EAAAC,iBAAAF,K,CAC5BG,GAA0B,wCALkC,WAA9DhB,EAAAA,EAAAA,IAES,U,MAFDU,KAAK,SAAUC,QAAKC,EAAA,KAAAA,EAAA,OAAAC,IAAEC,EAAAG,gBAAAH,EAAAG,kBAAAJ,K,CAC5BK,GAA0B,0C,eAalC,GACEC,KAAM,QACNC,OAAQ,CAACC,EAAAA,GAETC,IAAAA,GACE,MAAO,CACLlB,WAAW,EAEf,EAEAmB,QAAS,CACPN,cAAAA,GACEO,KAAKpB,WAAY,CACnB,EAEA,mBAAMW,GACJS,KAAKpB,WAAY,QACXoB,KAAKC,QAAQ,uBACrB,I,UCnCJ,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/panels/Sound/Index.vue","webpack://platypush/./src/components/panels/Sound/Index.vue?0677"],"sourcesContent":["<template>\n <div class=\"sound\">\n <div class=\"sound-container\">\n <audio autoplay preload=\"none\" ref=\"player\" v-if=\"recording\">\n <source :src=\"`/sound/stream.aac?t=${(new Date()).getTime()}`\">\n Your browser does not support audio elements\n </audio>\n </div>\n\n <div class=\"controls\">\n <button type=\"button\" @click=\"startRecording\" v-if=\"!recording\">\n <i class=\"fa fa-play\"></i>&nbsp; Start streaming audio\n </button>\n\n <button type=\"button\" @click=\"stopRecording\" v-else>\n <i class=\"fa fa-stop\"></i>&nbsp; Stop streaming audio\n </button>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\n\nexport default {\n name: \"Sound\",\n mixins: [Utils],\n\n data() {\n return {\n recording: false,\n };\n },\n\n methods: {\n startRecording() {\n this.recording = true\n },\n\n async stopRecording() {\n this.recording = false\n await this.request('sound.stop_recording')\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.sound {\n width: 100%;\n height: 90%;\n margin-top: 7%;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n .sound-container {\n margin-bottom: 1em;\n }\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=911495ca&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=911495ca&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-911495ca\"]])\n\nexport default __exports__"],"names":["class","autoplay","preload","ref","_createElementVNode","_createElementBlock","_hoisted_1","_hoisted_2","$data","recording","_hoisted_3","src","Date","getTime","_hoisted_5","type","onClick","_cache","args","$options","stopRecording","_hoisted_7","startRecording","_hoisted_6","name","mixins","Utils","data","methods","this","request","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[7819],{7819:function(e,n,a){a.r(n),a.d(n,{default:function(){return i}});var u=a(6252);function t(e,n,a,t,p,r){const s=(0,u.up)("Media");return(0,u.wg)(),(0,u.j4)(s,{"plugin-name":"media.omxplayer"})}var p=a(1880),r={name:"MediaMpv",components:{Media:p["default"]}},s=a(3744);const c=(0,s.Z)(r,[["render",t]]);var i=c}}]);
//# sourceMappingURL=7819.2e3d6738.js.map
//# sourceMappingURL=7819.c2a2e948.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/7819.2e3d6738.js","mappings":"iPACEA,EAAAA,EAAAA,IAAuCC,EAAA,CAAhC,cAAY,mB,eAMrB,GACEC,KAAM,WACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaOmxplayer/Index.vue","webpack://platypush/./src/components/panels/MediaOmxplayer/Index.vue?bcec"],"sourcesContent":["<template>\n <Media plugin-name=\"media.omxplayer\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaMpv\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=7264d7fc\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/7819.c2a2e948.js","mappings":"iPACEA,EAAAA,EAAAA,IAAuCC,EAAA,CAAhC,cAAY,mB,eAMrB,GACEC,KAAM,WACNC,WAAY,CAACC,MAAKA,EAAAA,a,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/MediaOmxplayer/Index.vue","webpack://platypush/./src/components/panels/MediaOmxplayer/Index.vue?bcec"],"sourcesContent":["<template>\n <Media plugin-name=\"media.omxplayer\" />\n</template>\n\n<script>\nimport Media from '@/components/panels/Media/Index'\n\nexport default {\n name: \"MediaMpv\",\n components: {Media},\n}\n</script>\n\n<style scoped>\n\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=7264d7fc\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Media","name","components","Media","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[8179],{8179:function(n,t,e){e.r(t),e.d(t,{default:function(){return g}});var o=e(6252);const i={class:"plugin"};function s(n,t,e,s,a,p){const c=(0,o.up)("Loading");return(0,o.wg)(),(0,o.iD)("div",i,[a.loading?((0,o.wg)(),(0,o.j4)(c,{key:0})):a.component?((0,o.wg)(),(0,o.j4)((0,o.LL)(a.component),{key:1,config:a.config},null,8,["config"])):(0,o.kq)("",!0)])}var a=e(8637),p=e(6791),c=e(2262),u={name:"Plugin",components:{Loading:p.Z},mixins:[a.Z],props:{pluginName:{type:String,required:!0}},data(){return{loading:!1,component:null,config:{}}},computed:{componentName(){return this.pluginName.split(".").map((n=>n[0].toUpperCase()+n.slice(1))).join("")}},methods:{refresh:async function(){this.loading=!0;try{this.component=(0,c.XI)((0,o.RC)((()=>e(3379)(`./${this.componentName}/Index`)))),this.$options.components[this.componentName]=this.component,this.config=(await this.request("config.get_plugins"))?.[this.pluginName]||{}}finally{this.loading=!1}}},mounted:function(){this.refresh()}},r=e(3744);const l=(0,r.Z)(u,[["render",s],["__scopeId","data-v-69b17daa"]]);var g=l}}]);
//# sourceMappingURL=8179.cb99e492.js.map
//# sourceMappingURL=8179.7d8455aa.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/8179.cb99e492.js","mappings":"sLACOA,MAAM,U,sEAAXC,EAAAA,EAAAA,IAGM,MAHNC,EAGM,CAFWC,EAAAC,UAAO,WAAtBC,EAAAA,EAAAA,IAA0BC,EAAA,CAAAC,IAAA,KAC6BJ,EAAAK,YAAS,WAAhEH,EAAAA,EAAAA,KAAoEI,EAAAA,EAAAA,IAApDN,EAAAK,WAAS,C,MAAGE,OAAQP,EAAAO,Q,wEASxC,GACEC,KAAM,SACNC,WAAY,CAACC,QAAOA,EAAAA,GACpBC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,WAAY,CACVC,KAAMC,OACNC,UAAU,IAIdC,IAAAA,GACE,MAAO,CACLjB,SAAS,EACTI,UAAW,KACXE,OAAQ,CAAC,EAEb,EAEAY,SAAU,CACRC,aAAAA,GACE,OAAOC,KAAKP,WAAWQ,MAAM,KAAKC,KAAKC,GAAMA,EAAE,GAAGC,cAAgBD,EAAEE,MAAM,KAAIC,KAAK,GACrF,GAGFC,QAAS,CACPC,QAASC,iBACPT,KAAKpB,SAAU,EAEf,IACEoB,KAAKhB,WAAY0B,EAAAA,EAAAA,KAAWC,EAAAA,EAAAA,KAAqB,IAAM,QAAQ,KAAsBX,KAAKD,0BAC1FC,KAAKY,SAASxB,WAAWY,KAAKD,eAAiBC,KAAKhB,UACpDgB,KAAKd,cAAgBc,KAAKa,QAAQ,yBAAyBb,KAAKP,aAAe,CAAC,CAClF,CAAE,QACAO,KAAKpB,SAAU,CACjB,CACF,GAGFkC,QAAS,WACPd,KAAKQ,SACP,G,UC/CF,MAAMO,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/Plugin/Index.vue","webpack://platypush/./src/components/widgets/Plugin/Index.vue?cc4c"],"sourcesContent":["<template>\n <div class=\"plugin\">\n <Loading v-if=\"loading\" />\n <component :is=\"component\" :config=\"config\" v-else-if=\"component\" />\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\nimport Loading from \"@/components/Loading\";\nimport { defineAsyncComponent, shallowRef } from \"vue\";\n\nexport default {\n name: \"Plugin\",\n components: {Loading},\n mixins: [Utils],\n props: {\n // Name of the plugin view to be loaded\n pluginName: {\n type: String,\n required: true,\n },\n },\n\n data() {\n return {\n loading: false,\n component: null,\n config: {},\n }\n },\n\n computed: {\n componentName() {\n return this.pluginName.split('.').map((t) => t[0].toUpperCase() + t.slice(1)).join('')\n },\n },\n\n methods: {\n refresh: async function() {\n this.loading = true\n\n try {\n this.component = shallowRef(defineAsyncComponent(() => import(`@/components/panels/${this.componentName}/Index`)))\n this.$options.components[this.componentName] = this.component\n this.config = (await this.request('config.get_plugins'))?.[this.pluginName] || {}\n } finally {\n this.loading = false\n }\n },\n },\n\n mounted: function() {\n this.refresh()\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.plugin {\n margin: -1em 0 0 -1em !important;\n padding: 0;\n width: calc(100% + 2em);\n height: calc(100% + 2em);\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=69b17daa&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=69b17daa&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-69b17daa\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","$data","loading","_createBlock","_component_Loading","key","component","_resolveDynamicComponent","config","name","components","Loading","mixins","Utils","props","pluginName","type","String","required","data","computed","componentName","this","split","map","t","toUpperCase","slice","join","methods","refresh","async","shallowRef","defineAsyncComponent","$options","request","mounted","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/8179.7d8455aa.js","mappings":"sLACOA,MAAM,U,sEAAXC,EAAAA,EAAAA,IAGM,MAHNC,EAGM,CAFWC,EAAAC,UAAO,WAAtBC,EAAAA,EAAAA,IAA0BC,EAAA,CAAAC,IAAA,KAC6BJ,EAAAK,YAAS,WAAhEH,EAAAA,EAAAA,KAAoEI,EAAAA,EAAAA,IAApDN,EAAAK,WAAS,C,MAAGE,OAAQP,EAAAO,Q,wEASxC,GACEC,KAAM,SACNC,WAAY,CAACC,QAAOA,EAAAA,GACpBC,OAAQ,CAACC,EAAAA,GACTC,MAAO,CAELC,WAAY,CACVC,KAAMC,OACNC,UAAU,IAIdC,IAAAA,GACE,MAAO,CACLjB,SAAS,EACTI,UAAW,KACXE,OAAQ,CAAC,EAEb,EAEAY,SAAU,CACRC,aAAAA,GACE,OAAOC,KAAKP,WAAWQ,MAAM,KAAKC,KAAKC,GAAMA,EAAE,GAAGC,cAAgBD,EAAEE,MAAM,KAAIC,KAAK,GACrF,GAGFC,QAAS,CACPC,QAASC,iBACPT,KAAKpB,SAAU,EAEf,IACEoB,KAAKhB,WAAY0B,EAAAA,EAAAA,KAAWC,EAAAA,EAAAA,KAAqB,IAAM,QAAQ,KAAsBX,KAAKD,0BAC1FC,KAAKY,SAASxB,WAAWY,KAAKD,eAAiBC,KAAKhB,UACpDgB,KAAKd,cAAgBc,KAAKa,QAAQ,yBAAyBb,KAAKP,aAAe,CAAC,CAClF,CAAE,QACAO,KAAKpB,SAAU,CACjB,CACF,GAGFkC,QAAS,WACPd,KAAKQ,SACP,G,UC/CF,MAAMO,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://platypush/./src/components/widgets/Plugin/Index.vue","webpack://platypush/./src/components/widgets/Plugin/Index.vue?cc4c"],"sourcesContent":["<template>\n <div class=\"plugin\">\n <Loading v-if=\"loading\" />\n <component :is=\"component\" :config=\"config\" v-else-if=\"component\" />\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\nimport Loading from \"@/components/Loading\";\nimport { defineAsyncComponent, shallowRef } from \"vue\";\n\nexport default {\n name: \"Plugin\",\n components: {Loading},\n mixins: [Utils],\n props: {\n // Name of the plugin view to be loaded\n pluginName: {\n type: String,\n required: true,\n },\n },\n\n data() {\n return {\n loading: false,\n component: null,\n config: {},\n }\n },\n\n computed: {\n componentName() {\n return this.pluginName.split('.').map((t) => t[0].toUpperCase() + t.slice(1)).join('')\n },\n },\n\n methods: {\n refresh: async function() {\n this.loading = true\n\n try {\n this.component = shallowRef(defineAsyncComponent(() => import(`@/components/panels/${this.componentName}/Index`)))\n this.$options.components[this.componentName] = this.component\n this.config = (await this.request('config.get_plugins'))?.[this.pluginName] || {}\n } finally {\n this.loading = false\n }\n },\n },\n\n mounted: function() {\n this.refresh()\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.plugin {\n margin: -1em 0 0 -1em !important;\n padding: 0;\n width: calc(100% + 2em);\n height: calc(100% + 2em);\n}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=69b17daa&scoped=true\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=69b17daa&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-69b17daa\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","$data","loading","_createBlock","_component_Loading","key","component","_resolveDynamicComponent","config","name","components","Loading","mixins","Utils","props","pluginName","type","String","required","data","computed","componentName","this","split","map","t","toUpperCase","slice","join","methods","refresh","async","shallowRef","defineAsyncComponent","$options","request","mounted","__exports__","render"],"sourceRoot":""}

View file

@ -1,2 +1,2 @@
"use strict";(self["webpackChunkplatypush"]=self["webpackChunkplatypush"]||[]).push([[8784],{8784:function(n,e,t){t.r(e),t.d(e,{default:function(){return o}});var r=t(6252);function u(n,e,t,u,a,p){const s=(0,r.up)("Panel");return(0,r.wg)(),(0,r.j4)(s,{"plugin-name":"torrent"})}var a=t(7968),p={name:"Torrent",components:{Panel:a.Z}},s=t(3744);const c=(0,s.Z)(p,[["render",u]]);var o=c}}]);
//# sourceMappingURL=8784.9c2c1b4c.js.map
//# sourceMappingURL=8784.458e26a1.js.map

View file

@ -1 +1 @@
{"version":3,"file":"static/js/8784.9c2c1b4c.js","mappings":"iPACEA,EAAAA,EAAAA,IAA+BC,EAAA,CAAxB,cAAY,W,eAMrB,GACEC,KAAM,UACNC,WAAY,CAACC,MAAKA,EAAAA,I,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/Torrent/Index.vue","webpack://platypush/./src/components/panels/Torrent/Index.vue?ce2c"],"sourcesContent":["<template>\n <Panel plugin-name=\"torrent\" />\n</template>\n\n<script>\nimport Panel from \"@/components/panels/Torrent/Panel\";\n\nexport default {\n name: \"Torrent\",\n components: {Panel}\n}\n</script>\n\n","import { render } from \"./Index.vue?vue&type=template&id=96a3698e\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Panel","name","components","Panel","__exports__","render"],"sourceRoot":""}
{"version":3,"file":"static/js/8784.458e26a1.js","mappings":"iPACEA,EAAAA,EAAAA,IAA+BC,EAAA,CAAxB,cAAY,W,eAMrB,GACEC,KAAM,UACNC,WAAY,CAACC,MAAKA,EAAAA,I,UCJpB,MAAMC,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASC,KAEpE,O","sources":["webpack://platypush/./src/components/panels/Torrent/Index.vue","webpack://platypush/./src/components/panels/Torrent/Index.vue?ce2c"],"sourcesContent":["<template>\n <Panel plugin-name=\"torrent\" />\n</template>\n\n<script>\nimport Panel from \"@/components/panels/Torrent/Panel\";\n\nexport default {\n name: \"Torrent\",\n components: {Panel}\n}\n</script>\n\n","import { render } from \"./Index.vue?vue&type=template&id=96a3698e\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["_createBlock","_component_Panel","name","components","Panel","__exports__","render"],"sourceRoot":""}