platypush/platypush/backend/http/webapp/dist/static/js/2844.e8c1790f.js.map

1 line
21 KiB
Plaintext

{"version":3,"file":"static/js/2844.e8c1790f.js","mappings":"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","sources":["webpack://platypush/./src/components/elements/ToggleSwitch.vue","webpack://platypush/./src/components/elements/ToggleSwitch.vue?94aa","webpack://platypush/./src/components/panels/Switches/LightHue/Index.vue","webpack://platypush/./src/components/panels/Switches/LightHue/Index.vue?dced","webpack://platypush/./src/components/panels/Switches/Mixin.vue","webpack://platypush/./src/components/panels/Switches/Mixin.vue?f0e3","webpack://platypush/./src/components/panels/Switches/Switch.vue","webpack://platypush/./src/components/panels/Switches/Switch.vue?f006"],"sourcesContent":["<template>\n <div class=\"power-switch\" :class=\"{disabled: disabled}\" @click.stop=\"onInput\">\n <!--suppress HtmlFormInputWithoutLabel -->\n <input type=\"checkbox\" :checked=\"value\">\n <label>\n <!--suppress HtmlUnknownTag -->\n <div class=\"switch\">\n <div class=\"dot\" />\n </div>\n <span class=\"label\">\n <slot />\n </span>\n </label>\n </div>\n</template>\n\n<script>\nexport default {\n name: \"ToggleSwitch\",\n emits: ['input'],\n props: {\n value: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n methods: {\n onInput(event) {\n if (this.disabled)\n return false\n\n this.$emit('input', event)\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.power-switch {\n position: relative;\n transition: transform .3s;\n transform: scale(var(--scale, 1)) translateZ(0);\n\n &:active {\n --scale: .96;\n }\n\n &.disabled {\n opacity: 0.6;\n }\n\n input {\n display: none;\n & + label {\n border-radius: 1em;\n display: inline-flex;\n cursor: pointer;\n position: relative;\n transition: box-shadow .4s;\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n background: none;\n opacity: var(--gradient, 0);\n transition: opacity .4s;\n }\n\n .switch {\n position: relative;\n display: inline-block;\n vertical-align: top;\n height: 1.4em;\n width: 2.5em;\n border-radius: 1em;\n background: $slider-bg;\n box-shadow: inset 1px 0px 3px 0 $slider-track-shadow;\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n background: $slider-progress-bg;\n opacity: var(--gradient, 0);\n transition: opacity .4s;\n }\n\n .dot {\n background: $toggle-dot-bg;\n position: absolute;\n width: 1.5em;\n height: 1.5em;\n border-radius: 50%;\n box-shadow: 1px 0px 3.5px 0 $slider-thumb-shadow;\n left: -0.25em;\n top: -0.05em;\n transform: translateX(var(--offset, 0));\n transition: transform .4s, box-shadow .4s;\n\n &:before {\n content: '';\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n border-radius: inherit;\n background: $toggle-selected-dot-bg;\n opacity: var(--gradient, 0);\n transition: opacity .4s;\n }\n }\n }\n\n span {\n line-height: 2em;\n font-size: 1.2em;\n color: var(--text, #646B8C);\n font-weight: 500;\n display: inline-block;\n vertical-align: top;\n position: relative;\n margin-left: 0.5em;\n transition: color .4s;\n }\n\n & + span {\n text-align: center;\n display: block;\n position: absolute;\n left: 0;\n right: 0;\n top: 100%;\n opacity: 0;\n font-size: 1em;\n font-weight: 500;\n color: $slider-bg;\n transform: translateY(0.2em);\n transition: opacity .4s, transform .4s;\n }\n }\n\n &:not(:checked) {\n & + label {\n pointer-events: none;\n & + span {\n opacity: 1;\n transform: translateY(0.6em);\n }\n }\n }\n\n &:checked {\n & + label {\n --offset: 1.5em;\n --text: $slider-progress-bg;\n --gradient: 1;\n --shadow: rgba(0, 39, 6, .1);\n }\n }\n }\n}\n</style>\n","import { render } from \"./ToggleSwitch.vue?vue&type=template&id=a6396ae8&scoped=true\"\nimport script from \"./ToggleSwitch.vue?vue&type=script&lang=js\"\nexport * from \"./ToggleSwitch.vue?vue&type=script&lang=js\"\n\nimport \"./ToggleSwitch.vue?vue&type=style&index=0&id=a6396ae8&lang=scss&scoped=true\"\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],['__scopeId',\"data-v-a6396ae8\"]])\n\nexport default __exports__","<template>\n <div class=\"switches switchbot-switches\">\n <Loading v-if=\"loading\" />\n <div class=\"no-content\" v-else-if=\"!Object.keys(devices).length\">No Hue lights found.</div>\n\n <Switch :loading=\"loading\" :name=\"name\" :state=\"device.on\" @toggle=\"toggle(name)\"\n v-for=\"(device, name) in devices\" :key=\"name\" :has-info=\"true\"\n @info=\"selectedDevice = name; $refs.switchInfoModal.show()\" />\n\n <Modal title=\"Device Info\" ref=\"switchInfoModal\">\n <div class=\"switch-info\" v-if=\"selectedDevice\">\n <div class=\"row\">\n <div class=\"name\">Name</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].name\" />\n </div>\n\n <div class=\"row\">\n <div class=\"name\">On</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].on\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].reachable != null\">\n <div class=\"name\">Reachable</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].reachable\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].bri != null\">\n <div class=\"name\">Brightness</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].bri\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].ct != null\">\n <div class=\"name\">Color Temperature</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].ct\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].hue != null\">\n <div class=\"name\">Hue</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].hue\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].sat != null\">\n <div class=\"name\">Saturation</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].sat\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].xy != null\">\n <div class=\"name\">XY</div>\n <div class=\"value\" v-text=\"`[${devices[selectedDevice].xy.join(', ')}]`\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].productname != null\">\n <div class=\"name\">Product</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].productname\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].manufacturername != null\">\n <div class=\"name\">Manufacturer</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].manufacturername \" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].type != null\">\n <div class=\"name\">Type</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].type \" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].id != null\">\n <div class=\"name\">ID on network</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].id \" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].uniqueid != null\">\n <div class=\"name\">Unique ID</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].uniqueid \" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].swversion != null\">\n <div class=\"name\">Software version</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].swversion \" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].swupdate?.lastinstall\">\n <div class=\"name\">Last software update</div>\n <div class=\"value\" v-text=\"formatDate(devices[selectedDevice].swupdate.lastinstall, true)\" />\n </div>\n\n <div class=\"row\" v-if=\"devices[selectedDevice].swupdate?.state\">\n <div class=\"name\">Update state</div>\n <div class=\"value\" v-text=\"devices[selectedDevice].swupdate.state\" />\n </div>\n </div>\n </Modal>\n </div>\n</template>\n\n<script>\nimport Loading from \"@/components/Loading\";\nimport SwitchMixin from \"@/components/panels/Switches/Mixin\";\nimport Switch from \"@/components/panels/Switches/Switch\";\nimport Modal from \"@/components/Modal\";\n\nexport default {\n name: \"LightHue\",\n components: {Modal, Switch, Loading},\n mixins: [SwitchMixin],\n\n methods: {\n async toggle(device) {\n const response = await this.request(`${this.pluginName}.toggle`, {lights: [device]})\n if (response.success)\n this.devices[device].on = !this.devices[device].on\n },\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"../common\";\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=5d844500&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=5d844500&lang=scss&scoped=true\"\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],['__scopeId',\"data-v-5d844500\"]])\n\nexport default __exports__","<script>\nimport Utils from \"@/Utils\";\n\nexport default {\n name: \"SwitchesMixin\",\n mixins: [Utils],\n\n props: {\n pluginName: {\n type: String,\n required: true,\n },\n\n bus: {\n type: Object,\n required: true,\n },\n\n config: {\n type: Object,\n default: () => { return {} },\n },\n\n selected: {\n type: Boolean,\n default: false,\n }\n },\n\n data() {\n return {\n loading: false,\n initialized: false,\n selectedDevice: null,\n devices: {},\n }\n },\n\n methods: {\n onRefreshEvent(pluginName) {\n if (pluginName !== this.pluginName)\n return\n\n this.refresh()\n },\n\n async toggle(device, id) {\n if (id == null)\n id = device\n\n const response = await this.request(`${this.pluginName}.toggle`, {device: id})\n this.devices[device].on = response.on\n },\n\n async refresh() {\n this.loading = true\n try {\n this.devices = (await this.request(`${this.pluginName}.switch_status`)).reduce((obj, device) => {\n const name = device.name?.length ? device.name : device.id\n obj[name] = device\n return obj\n }, {})\n } finally {\n this.loading = false\n }\n }\n },\n\n mounted() {\n this.$watch(() => this.selected, (newValue) => {\n if (newValue && !this.initialized) {\n this.refresh()\n this.initialized = true\n }\n })\n\n this.bus.on('refresh', this.onRefreshEvent)\n },\n\n unmounted() {\n this.bus.off('refresh', this.onRefreshEvent)\n },\n}\n</script>\n","import script from \"./Mixin.vue?vue&type=script&lang=js\"\nexport * from \"./Mixin.vue?vue&type=script&lang=js\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <div class=\"switch\" @click.stop=\"onToggle\">\n <Loading v-if=\"loading\" />\n <div class=\"name col-l-10 col-m-9 col-s-8\">\n <button v-if=\"hasInfo\" @click.prevent=\"onInfo\">\n <i class=\"fa fa-info\" />\n </button>\n <span class=\"name-content\" v-text=\"name\" />\n </div>\n <div class=\"toggler col-l-2 col-m-3 col-s-4\">\n <ToggleSwitch :disabled=\"loading\" :value=\"state\" @input=\"onToggle\" />\n </div>\n </div>\n</template>\n\n<script>\nimport ToggleSwitch from \"@/components/elements/ToggleSwitch\";\nimport Loading from \"@/components/Loading\";\n\nexport default {\n name: \"Switch\",\n components: {Loading, ToggleSwitch},\n emits: ['toggle', 'info'],\n\n props: {\n name: {\n type: String,\n required: true,\n },\n\n state: {\n type: Boolean,\n default: false,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n hasInfo: {\n type: Boolean,\n default: false,\n },\n\n id: {\n type: String,\n },\n },\n\n methods: {\n onInfo(event) {\n event.stopPropagation()\n this.$emit('info')\n return false\n },\n\n onToggle(event) {\n event.stopPropagation()\n this.$emit('toggle')\n return false\n },\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.switch {\n width: 100%;\n display: flex;\n position: relative;\n align-items: center;\n padding: .75em .5em;\n border-bottom: $default-border-2;\n cursor: pointer;\n\n &:hover {\n background: $hover-bg;\n }\n\n .toggler {\n text-align: right;\n }\n\n button {\n background: none;\n border: none;\n\n &:hover {\n color: $default-hover-fg-2;\n }\n }\n}\n</style>\n","import { render } from \"./Switch.vue?vue&type=template&id=38eb9831&scoped=true\"\nimport script from \"./Switch.vue?vue&type=script&lang=js\"\nexport * from \"./Switch.vue?vue&type=script&lang=js\"\n\nimport \"./Switch.vue?vue&type=style&index=0&id=38eb9831&lang=scss&scoped=true\"\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],['__scopeId',\"data-v-38eb9831\"]])\n\nexport default __exports__"],"names":["class","disabled","onInput","type","checked","value","name","emits","props","Boolean","default","methods","event","this","$emit","__exports__","render","loading","Object","keys","devices","length","device","state","on","toggle","key","selectedDevice","$refs","switchInfoModal","show","title","ref","reachable","bri","ct","hue","sat","xy","join","productname","manufacturername","id","uniqueid","swversion","swupdate","lastinstall","components","Modal","Switch","Loading","mixins","async","response","request","pluginName","lights","success","Utils","String","required","bus","config","selected","data","initialized","onRefreshEvent","refresh","reduce","obj","mounted","$watch","newValue","unmounted","off","onToggle","hasInfo","onInfo","ToggleSwitch","stopPropagation"],"sourceRoot":""}