platypush/platypush/backend/http/webapp/dist/static/js/2844-legacy.b3683bc2.js.map

1 line
22 KiB
Plaintext

{"version":3,"file":"static/js/2844-legacy.b3683bc2.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","request","pluginName","lights","response","success","Utils","String","required","bus","config","selected","data","initialized","onRefreshEvent","refresh","reduce","obj","mounted","$watch","newValue","unmounted","off","onToggle","hasInfo","onInfo","ToggleSwitch","stopPropagation"],"sourceRoot":""}