platypush/platypush/backend/http/webapp/dist/static/js/3674-legacy.c0844108.js.map

1 line
16 KiB
Plaintext

{"version":3,"file":"static/js/3674-legacy.c0844108.js","mappings":"8RACiB,EAAAA,UAAA,WAAf,QAA0B,aAA1B,gBACA,QAIyG,GAJ5F,cAAY,YAAaC,OAAQ,EAAAA,OAASC,OAAQ,EAAAA,OAASC,OAAQ,EAAAA,OAASC,OAAQ,EAAAA,OACnFC,WAAY,EAAAA,WAAa,gBAAe,EAAAC,aAAe,iBAAgB,EAAAC,cACvE,kBAAiB,EAAAC,eAAiB,cAAc,EAAAC,YAAc,eAAe,EAAAC,eAC7E,cAAc,EAAAC,YAAc,WAAW,EAAAC,SAAW,WAAW,EAAAC,SAAW,cAAc,EAAAC,SACtF,iBAAiB,EAAAC,eAAiB,gBAAgB,EAAAC,cAAgB,UAAO,+BAAE,EAAAC,SAAO,MAJhG,mP,gJCDF,G,QAAA,CACEC,KAAM,QACNC,KAFa,WAGX,MAAO,CACLjB,OAAQ,GACRC,OAAQ,GACRC,OAAQ,GACRC,WAAY,GACZe,cAAe,GACfb,cAAe,KAInBc,SAAU,CACRC,aADQ,WAEN,OAAKC,KAAKpB,OAGHqB,OAAOC,QAAQF,KAAKpB,QAAQuB,QAAO,SAACvB,EAAD,GAAyB,mBAAfwB,EAAe,KAAXC,EAAW,KAMjE,OALAzB,EAAOyB,EAAMV,MAAQS,IAArB,kBACKC,GADL,IAEED,GAAIA,IAGCxB,IACN,IATM,KAab0B,QAAS,CACPC,WADO,SACIC,GACT,IAAM5B,EAAS4B,EAASC,QAAO,SAACL,GAAD,OAAc,MAANA,KACvC,IAAKxB,EAAO8B,OACV,OAAOT,OAAOU,OAAOX,KAAKpB,QAE5B,IAAMgC,EAAOZ,KACb,OAAOpB,EAAOiC,KAAI,SAACT,GAAD,OAAQA,aAAcH,OAASG,EAAKQ,EAAKhC,OAAOwB,OAGpEU,WAVO,SAUIC,GACT,IAAMpC,EAASoC,EAASN,QAAO,SAACL,GAAD,OAAc,MAANA,KACvC,IAAKzB,EAAO+B,OACV,OAAOT,OAAOU,OAAOX,KAAKrB,QAE5B,IAAMiC,EAAOZ,KACb,OAAOrB,EAAOkC,KAAI,SAACT,GAAD,OAAQA,aAAcH,OAASG,EAAKQ,EAAKjC,OAAOyB,OAGpEY,iBAnBO,SAmBUC,GACf,IAAML,EAAOZ,KACbA,KAAKO,WAAWU,GAAWC,SAAQ,SAACb,GAClCO,EAAK5B,cAAcqB,EAAMD,KAAM,EAC3BC,EAAM1B,QACRiC,EAAKO,iBAAiBd,EAAM1B,YAIlCyC,mBA5BO,SA4BYH,GACjB,IAAML,EAAOZ,KACbA,KAAKO,WAAWU,GAAWC,SAAQ,SAACb,GAC9BA,EAAMD,MAAMQ,EAAK5B,sBACZ4B,EAAK5B,cAAcqB,EAAMD,IAC9BC,EAAM1B,QACRiC,EAAKO,iBAAiBd,EAAM1B,YAIlCwC,iBAtCO,SAsCUJ,GACf,IAAMH,EAAOZ,KACbA,KAAKc,WAAWC,GAAUG,SAAQ,SAACG,GACjCT,EAAKf,cAAcwB,EAAMjB,KAAM,MAInCkB,mBA7CO,SA6CYP,GACjB,IAAMH,EAAOZ,KACbA,KAAKc,WAAWC,GAAUG,SAAQ,SAACG,GAC7BA,EAAMjB,MAAMQ,EAAKf,sBACZe,EAAKf,cAAcwB,EAAMjB,QAIhCmB,YArDC,SAqDWC,EAAQC,GAAiB,qLAAR7C,EAAQ,iCAARA,EAAQ,iBACzC,EAAKoC,iBAAiBpC,GADmB,kBAG1B,EAAK8C,QAAQF,EAAQC,GAHK,+DAKvC,EAAKL,mBAAmBxC,GALe,0EASrC+C,YA9DC,SA8DWH,EAAQC,GAAiB,qLAAR9C,EAAQ,iCAARA,EAAQ,iBACzC,EAAKwC,iBAAiBxC,GADmB,kBAG1B,EAAK+C,QAAQF,EAAQC,GAHK,+DAKvC,EAAKH,mBAAmB3C,GALe,6ECzF/C,MAAMiD,EAAc,EAEpB,Q,6BFWA,GACEjC,KAAM,WACNkC,WAAY,CAACC,QAAAA,EAAA,EAASC,YAAA,cACtBC,OAAQ,CAAC,IAAO,GAChBC,MAAO,CACLvD,OAAQ,CACNwD,KAAMjC,OACNkC,QAAS,eAIbvC,KAXa,WAYX,MAAO,CACLnB,SAAS,EACTQ,eAAgB,IAAI,IAAe,CACjCmD,IAAK,CAAC,EAAG,OACTC,IAAK,CAAC,EAAG,KACTC,IAAK,CAAC,EAAG,KACTC,GAAI,CAAC,IAAK,SAKhBzC,SAAU,CACRf,aADQ,WAEN,IAAKiB,KAAKtB,OAAOE,SAAWqB,OAAOuC,KAAKxC,KAAKtB,OAAOE,QAAQ8B,OAC1D,OAAO,KAET,IAAML,EAAQL,KAAKtB,OAAOE,OAAO,GACjC,OAAIyB,KAASL,KAAKpB,OACToB,KAAKpB,OAAOyB,GAAOD,GACnBC,KAASL,KAAKD,aACdC,KAAKD,aAAaM,GAAOD,GAC3B,OAIXE,QAAS,CACDmC,UADC,WACW,gKACH,EAAKf,QAAQ,wBADV,sFAIZgB,UALC,WAKW,4JACTzC,OADS,SACY,EAAKyB,QAAQ,wBADzB,iDACFxB,QADE,gBAEXO,QAAO,SAACJ,GAAD,OAAYA,EAAM,GAAGsC,SAA2C,SAAhCtC,EAAM,GAAG6B,KAAKU,iBACrDzC,QAAO,SAAC0C,EAAD,GAAsB,mBAAfzC,EAAe,KAAXC,EAAW,KAE5B,OADAwC,EAAIzC,GAAMC,EACHwC,IACN,KANS,8CASZC,UAdC,WAcW,4JACT7C,OADS,SACY,EAAKyB,QAAQ,wBADzB,iDACFxB,QADE,gBAEXO,QAAO,SAACsC,GAAD,OAAYA,EAAM,GAAGJ,SAA2C,eAAhCI,EAAM,GAAGb,KAAKU,iBACrDzC,QAAO,SAAC0C,EAAD,GAAsB,mBAAfzC,EAAe,KAAX2C,EAAW,KAE5B,OADAF,EAAIzC,GAAM2C,EACHF,IACN,KANS,8CASZG,cAvBC,WAuBe,gKACP,EAAKtB,QAAQ,4BADN,sFAIhBxC,YA3BC,SA2BWmB,GAAO,+JACnBzB,EAASqB,OAAOU,OAAO,EAAK/B,QAC5B6C,EAAO,CACT7C,OAAQA,EAAOiC,KAAI,SAACR,GAAD,OAAWA,EAAMV,SAGzB,MAATU,IACFzB,EAAS,CAACyB,GACVoB,EAAO,CACL7C,OAAQ,CAACyB,EAAMV,QATI,SAajB,EAAK4B,YAAL,QAAI,CAAa,mBAAqBE,GAAlC,eAA2C7C,KAb9B,uBAcjB,EAAKc,SAAQ,GAdI,8CAiBnBN,YA5CC,SA4CWiC,GAAO,+JACjB1C,EAAS,CAAC0C,GACVI,EAAgB,MAATJ,EAAgB,CAC3B1C,OAAQ,CAAC0C,EAAM1B,OACb,GAJmB,SAMjB,EAAKgC,YAAL,QAAI,CAAa,mBAAqBF,GAAlC,OAA2C9C,IAN9B,uBAOjB,EAAKe,SAAQ,GAPI,8CAUnBL,SAtDC,SAsDQ4D,GAAO,qKAChBtE,EAASsB,OAAOuC,KAAK,EAAK7D,QACxB0C,EAAQ4B,EAAM5B,MACdI,EAAO,GAETJ,IACFI,EAAK9C,OAAS,CAAC0C,EAAM1B,MACrBhB,EAAS,CAAC0C,IAGNT,EAAO,EACPsC,EAAWjD,OAAOC,QAAQ+C,EAAME,OAAOtC,KAAI,YAAmB,mBAAjBuC,EAAiB,KAAXD,EAAW,KAC9DE,EAAS,KAGb,OAFA5B,EAAK0B,MAAQA,EAELC,GACN,IAAK,aACHC,EAAS,gBACT,MAEF,IAAK,cACHA,EAAS,eACT,MAEF,IAAK,KACHA,EAAS,eACT,MAGJ,GAAIA,EACF,OAAOzC,EAAKe,YAAL,MAAAf,EAAI,CAAayC,EAAQ5B,GAArB,eAA8B9C,QAC1C8B,QAAO,SAAC6C,GAAD,OAAgB,MAAPA,KA/BC,SAiCdC,QAAQC,IAAIN,GAjCE,wBAkCd,EAAKxD,SAAQ,GAlCC,+CAqChBJ,SA3FC,SA2FQ2D,GAAO,+JACfA,EAAMQ,QADS,yCAEX,EAAKpE,SAAS4D,IAFH,cAId5C,EAAQ,EAAKzB,OAAOqE,EAAMQ,SAC1BhC,EAAO,CACX7C,OAAQ,CAACyB,EAAMV,OAGXiB,EAAO,EACPsC,EAAWjD,OAAOC,QAAQ+C,EAAME,OAAOtC,KAAI,YAAmB,mBAAjBuC,EAAiB,KAAXD,EAAW,KAC9DE,EAAS,KAGb,OAFA5B,EAAK0B,MAAQA,EAELC,GACN,IAAK,aACHC,EAAS,gBACT,MAEF,IAAK,cACHA,EAAS,eACT,MAEF,IAAK,KACHA,EAAS,eACT,MAGJ,GAAIA,EACF,OAAOzC,EAAKW,YAAY8B,EAAQ5B,EAAMpB,MACvCI,QAAO,SAAC6C,GAAD,OAAgB,MAAPA,KA9BC,SAgCdC,QAAQC,IAAIN,GAhCE,wBAiCd,EAAKxD,SAAQ,GAjCC,+CAoChBH,SA/HC,SA+HQ0D,GAAO,gKACd,EAAK1B,YAAY,kBAAoB,CACzC5B,KAAM,EAAKd,OAAOoE,EAAMS,SAAS/D,KACjCf,OAAQ,CAAC,EAAKA,OAAOqE,EAAMQ,SAAS9D,OACnC,EAAKf,OAAOqE,EAAMQ,UAJD,uBAMd,EAAK/D,SAAQ,GANC,8CAShBA,QAxIC,SAwIOiE,GAAY,+JACnBA,IACH,EAAKlF,SAAU,GAFO,kBAK2C8E,QAAQC,IAAI,CAC3E,EAAKf,YACL,EAAKC,YACL,EAAKI,YACL,EAAKE,kBATe,+BAKrB,EAAKrE,OALgB,KAKR,EAAKC,OALG,KAKK,EAAKC,OALV,KAKkB,EAAKC,WALvB,8BAYjB6E,IACH,EAAKlF,SAAU,GAbK,8EAiBpBe,eAzJC,SAyJcyD,GAAO,gKACpB,EAAKvB,QAAQ,qBAAb,QACJ/C,OAAQsE,EAAMtE,QACXsE,EAAMW,YAHe,uBAMpB,EAAKlE,SAAQ,GANO,8CAStBD,cAlKC,WAkKe,gKACd,EAAKiC,QAAQ,4BADC,uBAEd,EAAKhC,SAAQ,GAFC,8CAKtBP,eAvKO,SAuKQ8D,GACbjD,KAAKrB,OAAOsE,EAAM7C,IAAIyD,OAAtB,kBACK7D,KAAKrB,OAAOsE,EAAM7C,IAAIyD,OACtBZ,EAAMY,SAKfC,QApNa,WAqNX9D,KAAKN,Y,UGhOT,MAAM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,SAASqE,KAEpE","sources":["webpack://platypush/./src/components/panels/LightHue/Index.vue","webpack://platypush/./src/components/panels/Light/Utils.vue","webpack://platypush/./src/components/panels/Light/Utils.vue?50cb","webpack://platypush/./src/components/panels/LightHue/Index.vue?9d94"],"sourcesContent":["<template>\n <Loading v-if=\"loading\" />\n <LightPlugin plugin-name=\"light.hue\" :config=\"config\" :lights=\"lights\" :groups=\"groups\" :scenes=\"scenes\"\n :animations=\"animations\" :initial-group=\"initialGroup\" :loading-groups=\"loadingGroups\"\n :color-converter=\"colorConverter\" @group-toggle=\"toggleGroup\" @light-changed=\"onLightChanged\"\n @light-toggle=\"toggleLight\" @set-light=\"setLight\" @set-group=\"setGroup\" @select-scene=\"setScene\"\n @start-animation=\"startAnimation\" @stop-animation=\"stopAnimation\" @refresh=\"refresh(true)\"/>\n</template>\n\n<script>\nimport LightPlugin from \"@/components/panels/Light/Index\";\nimport LightUtils from \"@/components/panels/Light/Utils\";\nimport { ColorConverter } from \"@/components/panels/Light/color\"\nimport Utils from \"@/Utils\";\nimport Loading from \"@/components/Loading\";\n\nexport default {\n name: \"LightHue\",\n components: {Loading, LightPlugin},\n mixins: [Utils, LightUtils],\n props: {\n config: {\n type: Object,\n default: () => {},\n },\n },\n\n data() {\n return {\n loading: false,\n colorConverter: new ColorConverter({\n hue: [0, 65535],\n sat: [0, 255],\n bri: [0, 255],\n ct: [150, 500],\n })\n }\n },\n\n computed: {\n initialGroup() {\n if (!this.config.groups || !Object.keys(this.config.groups).length)\n return null\n\n const group = this.config.groups[0]\n if (group in this.groups)\n return this.groups[group].id\n else if (group in this.groupsByName)\n return this.groupsByName[group].id\n return null\n },\n },\n\n methods: {\n async getLights() {\n return await this.request('light.hue.get_lights')\n },\n\n async getGroups() {\n return Object.entries(await this.request('light.hue.get_groups'))\n .filter((group) => !group[1].recycle && group[1].type.toLowerCase() === 'room')\n .reduce((obj, [id, group]) => {\n obj[id] = group\n return obj\n }, {})\n },\n\n async getScenes() {\n return Object.entries(await this.request('light.hue.get_scenes'))\n .filter((scene) => !scene[1].recycle && scene[1].type.toLowerCase() === 'lightscene')\n .reduce((obj, [id, scene]) => {\n obj[id] = scene\n return obj\n }, {})\n },\n\n async getAnimations() {\n return await this.request('light.hue.get_animations')\n },\n\n async toggleGroup(group) {\n let groups = Object.values(this.groups)\n let args = {\n groups: groups.map((group) => group.name)\n }\n\n if (group != null) {\n groups = [group]\n args = {\n groups: [group.name],\n }\n }\n\n await this.groupAction('light.hue.toggle', args, ...groups)\n await this.refresh(true)\n },\n\n async toggleLight(light) {\n const lights = [light]\n const args = light != null ? {\n lights: [light.name],\n } : {}\n\n await this.lightAction('light.hue.toggle', args, ...lights)\n await this.refresh(true)\n },\n\n async setLight(event) {\n let lights = Object.keys(this.lights)\n const light = event.light\n const args = {}\n\n if (light) {\n args.lights = [light.name]\n lights = [light]\n }\n\n const self = this\n const requests = Object.entries(event.value).map(([attr, value]) => {\n let method = null;\n args.value = value\n\n switch (attr) {\n case 'brightness':\n method = 'light.hue.bri'\n break\n\n case 'temperature':\n method = 'light.hue.ct'\n break\n\n case 'xy':\n method = 'light.hue.xy'\n break\n }\n\n if (method)\n return self.lightAction(method, args, ...lights)\n }).filter((req) => req != null)\n\n await Promise.all(requests)\n await this.refresh(true)\n },\n\n async setGroup(event) {\n if (!event.groupId)\n return this.setLight(event)\n\n const group = this.groups[event.groupId]\n const args = {\n groups: [group.name],\n }\n\n const self = this\n const requests = Object.entries(event.value).map(([attr, value]) => {\n let method = null;\n args.value = value\n\n switch (attr) {\n case 'brightness':\n method = 'light.hue.bri'\n break\n\n case 'temperature':\n method = 'light.hue.ct'\n break\n\n case 'xy':\n method = 'light.hue.xy'\n break\n }\n\n if (method)\n return self.groupAction(method, args, group)\n }).filter((req) => req != null)\n\n await Promise.all(requests)\n await this.refresh(true)\n },\n\n async setScene(event) {\n await this.groupAction('light.hue.scene', {\n name: this.scenes[event.sceneId].name,\n groups: [this.groups[event.groupId].name],\n }, this.groups[event.groupId])\n\n await this.refresh(true)\n },\n\n async refresh(background) {\n if (!background)\n this.loading = true\n\n try {\n [this.lights, this.groups, this.scenes, this.animations] = await Promise.all([\n this.getLights(),\n this.getGroups(),\n this.getScenes(),\n this.getAnimations(),\n ])\n } finally {\n if (!background)\n this.loading = false\n }\n },\n\n async startAnimation(event) {\n await this.request('light.hue.animate', {\n lights: event.lights,\n ...event.animation,\n })\n\n await this.refresh(true)\n },\n\n async stopAnimation() {\n await this.request('light.hue.stop_animation')\n await this.refresh(true)\n },\n\n onLightChanged(event) {\n this.lights[event.id].state = {\n ...this.lights[event.id].state,\n ...event.state,\n }\n },\n },\n\n mounted() {\n this.refresh()\n },\n}\n</script>\n","<script>\nexport default {\n name: \"Utils\",\n data() {\n return {\n lights: {},\n groups: {},\n scenes: {},\n animations: {},\n loadingLights: {},\n loadingGroups: {},\n }\n },\n\n computed: {\n groupsByName() {\n if (!this.groups)\n return {}\n\n return Object.entries(this.groups).reduce((groups, [id, group]) => {\n groups[group.name || id] = {\n ...group,\n id: id,\n }\n\n return groups\n }, {})\n },\n },\n\n methods: {\n _getGroups(groupIds) {\n const groups = groupIds.filter((id) => id != null)\n if (!groups.length)\n return Object.values(this.groups)\n\n const self = this\n return groups.map((id) => id instanceof Object ? id : self.groups[id])\n },\n\n _getLights(lightIds) {\n const lights = lightIds.filter((id) => id != null)\n if (!lights.length)\n return Object.values(this.lights)\n\n const self = this\n return lights.map((id) => id instanceof Object ? id : self.lights[id])\n },\n\n setGroupsLoading(groupsIds) {\n const self = this\n this._getGroups(groupsIds).forEach((group) => {\n self.loadingGroups[group.id] = true\n if (group.lights)\n self.setLightsLoading(group.lights)\n })\n },\n\n unsetGroupsLoading(groupsIds) {\n const self = this\n this._getGroups(groupsIds).forEach((group) => {\n if (group.id in self.loadingGroups)\n delete self.loadingGroups[group.id]\n if (group.lights)\n self.setLightsLoading(group.lights)\n })\n },\n\n setLightsLoading(lightIds) {\n const self = this\n this._getLights(lightIds).forEach((light) => {\n self.loadingLights[light.id] = true\n })\n },\n\n unsetLightsLoading(lightIds) {\n const self = this\n this._getLights(lightIds).forEach((light) => {\n if (light.id in self.loadingLights)\n delete self.loadingLights[light.id]\n })\n },\n\n async groupAction(action, args, ...groups) {\n this.setGroupsLoading(groups)\n try {\n return await this.request(action, args)\n } finally {\n this.unsetGroupsLoading(groups)\n }\n },\n\n async lightAction(action, args, ...lights) {\n this.setLightsLoading(lights)\n try {\n return await this.request(action, args)\n } finally {\n this.unsetLightsLoading(lights)\n }\n },\n\n },\n}\n</script>\n","import script from \"./Utils.vue?vue&type=script&lang=js\"\nexport * from \"./Utils.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { render } from \"./Index.vue?vue&type=template&id=54ae8cdd\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["loading","config","lights","groups","scenes","animations","initialGroup","loadingGroups","colorConverter","toggleGroup","onLightChanged","toggleLight","setLight","setGroup","setScene","startAnimation","stopAnimation","refresh","name","data","loadingLights","computed","groupsByName","this","Object","entries","reduce","id","group","methods","_getGroups","groupIds","filter","length","values","self","map","_getLights","lightIds","setGroupsLoading","groupsIds","forEach","setLightsLoading","unsetGroupsLoading","light","unsetLightsLoading","groupAction","action","args","request","lightAction","__exports__","components","Loading","LightPlugin","mixins","props","type","default","hue","sat","bri","ct","keys","getLights","getGroups","recycle","toLowerCase","obj","getScenes","scene","getAnimations","event","requests","value","attr","method","req","Promise","all","groupId","sceneId","background","animation","state","mounted","render"],"sourceRoot":""}