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

1 line
21 KiB
Plaintext

{"version":3,"file":"static/js/2844.e28e9ca7.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=\"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 event.stopPropagation()\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: block;\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: $toggle-bg;\n box-shadow: $toggle-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: $toggle-selected-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: $toggle-dot-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 box-shadow: $toggle-dot-shadow;\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: #A6ACCD;\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: #406046;\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=8fae7678&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=8fae7678&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-8fae7678\"]])\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","stopPropagation","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"],"sourceRoot":""}