platypush/platypush/backend/http/webapp/dist/static/js/2976.bbbc8952.js.map

1 line
16 KiB
Plaintext

{"version":3,"file":"static/js/2976.bbbc8952.js","mappings":"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","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\n<style lang=\"scss\" scoped>\n.lights-plugin {\n @include until($tablet) {\n padding: 0.5em;\n }\n}\n</style>\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=1b32374c&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=1b32374c&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-1b32374c\"]])\n\nexport default __exports__"],"names":["$data","loading","_createBlock","_component_Loading","key","_createVNode","_component_LightPlugin","config","$props","lights","_ctx","groups","scenes","animations","$options","initialGroup","loadingGroups","colorConverter","onGroupToggle","toggleGroup","onLightChanged","onLightToggle","toggleLight","onSetLight","setLight","onSetGroup","setGroup","onSelectScene","setScene","onStartAnimation","startAnimation","onStopAnimation","stopAnimation","onRefresh","_cache","$event","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","Utils","LightUtils","props","type","default","ColorConverter","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":""}