platypush/platypush/backend/http/webapp/dist/static/js/5528-legacy.5b7db199.js.map

1 line
18 KiB
Plaintext

{"version":3,"file":"static/js/5528-legacy.5b7db199.js","mappings":"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","sources":["webpack://platypush/./src/components/panels/Camera/Index.vue","webpack://platypush/./src/components/panels/Camera/Mixin.vue","webpack://platypush/./src/components/panels/Camera/Mixin.vue?be5e","webpack://platypush/./src/components/panels/Camera/Index.vue?8810"],"sourcesContent":["<template>\n <div class=\"camera\">\n <div class=\"camera-container\">\n <div class=\"frame-container\" ref=\"frameContainer\">\n <div class=\"no-frame\" v-if=\"!streaming && !capturing && !captured\">The camera is not active</div>\n <img class=\"frame\" :src=\"url\" ref=\"frame\" alt=\"\">\n </div>\n\n <div class=\"controls\">\n <div class=\"left\">\n <button type=\"button\" @click=\"startStreaming\" :disabled=\"capturing\" title=\"Start video\" v-if=\"!streaming\">\n <i class=\"fa fa-play\" />\n </button>\n\n <button type=\"button\" @click=\"stopStreaming\" :disabled=\"capturing\" title=\"Stop video\" v-else>\n <i class=\"fa fa-stop\" />\n </button>\n\n <button type=\"button\" @click=\"capture\" :disabled=\"streaming || capturing\" v-if=\"!streaming\"\n title=\"Take a picture\">\n <i class=\"fas fa-camera\" />\n </button>\n </div>\n\n <div class=\"right\">\n <button type=\"button\" @click=\"startAudio\" title=\"Start audio\" v-if=\"!audioOn\">\n <i class=\"fas fa-volume-mute\" />\n </button>\n\n <button type=\"button\" @click=\"stopAudio\" title=\"Stop audio\" v-else>\n <i class=\"fas fa-volume-up\" />\n </button>\n\n <button type=\"button\" @click=\"$refs.paramsModal.show()\" title=\"Settings\">\n <i class=\"fas fa-cog\" />\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"audio-container\">\n <audio autoplay preload=\"none\" ref=\"player\" v-if=\"audioOn\">\n <!--suppress HtmlUnknownTarget -->\n <source :src=\"`/sound/stream?t=${(new Date()).getTime()}`\" type=\"audio/x-wav;codec=pcm\">\n Your browser does not support audio elements\n </audio>\n </div>\n\n <div class=\"url\" v-if=\"url?.length\">\n <label class=\"row\">\n <span class=\"name\">Stream URL</span>\n <input name=\"url\" type=\"text\" :value=\"fullURL\" disabled=\"disabled\"/>\n </label>\n </div>\n\n <Modal ref=\"paramsModal\" title=\"Camera Parameters\">\n <div class=\"params\">\n <label class=\"row\">\n <span class=\"name\">Device</span>\n <input name=\"device\" type=\"text\" v-model=\"attrs.device\" @change=\"onDeviceChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Width</span>\n <input name=\"width\" type=\"text\" v-model=\"attrs.resolution[0]\" @change=\"onSizeChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Height</span>\n <input name=\"height\" type=\"text\" v-model=\"attrs.resolution[1]\" @change=\"onSizeChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Horizontal Flip</span>\n <input name=\"horizontal_flip\" type=\"checkbox\" v-model=\"attrs.horizontal_flip\" @change=\"onFlipChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Vertical Flip</span>\n <input name=\"vertical_flip\" type=\"checkbox\" v-model=\"attrs.vertical_flip\" @change=\"onFlipChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Rotate</span>\n <input name=\"rotate\" type=\"text\" v-model=\"attrs.rotate\" @change=\"onSizeChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Scale-X</span>\n <input name=\"scale_x\" type=\"text\" v-model=\"attrs.scale_x\" @change=\"onSizeChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Scale-Y</span>\n <input name=\"scale_y\" type=\"text\" v-model=\"attrs.scale_y\" @change=\"onSizeChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Frames per second</span>\n <input name=\"fps\" type=\"text\" v-model=\"attrs.fps\" @change=\"onFpsChanged\"/>\n </label>\n\n <label class=\"row\">\n <span class=\"name\">Grayscale</span>\n <input name=\"grayscale\" type=\"checkbox\" v-model=\"attrs.grayscale\" @change=\"onGrayscaleChanged\"/>\n </label>\n\n <Slot />\n </div>\n </Modal>\n </div>\n</template>\n\n<script>\nimport CameraMixin from \"@/components/panels/Camera/Mixin\";\nimport Modal from \"@/components/Modal\";\n\nexport default {\n name: \"Camera\",\n components: {Modal},\n mixins: [CameraMixin],\n props: {\n cameraPlugin: {\n type: String,\n required: true,\n },\n },\n\n computed: {\n fullURL() {\n return `${window.location.protocol}//${window.location.host}${this.url}`\n },\n },\n\n methods: {\n startStreaming() {\n this._startStreaming(this.cameraPlugin)\n },\n\n capture() {\n this._capture(this.cameraPlugin)\n },\n },\n}\n</script>\n\n<style lang=\"scss\">\n@import \"common\";\n</style>\n","<script>\nimport Utils from \"@/Utils\";\n\nexport default {\n name: \"CameraMixin\",\n mixins: [Utils],\n\n props: {\n cameraPlugin: {\n type: String,\n required: true,\n },\n },\n\n data() {\n return {\n streaming: false,\n capturing: false,\n captured: false,\n audioOn: false,\n url: null,\n attrs: {},\n }\n },\n\n computed: {\n params() {\n return {\n resolution: this.attrs.resolution,\n device: this.attrs.device?.length ? this.attrs.device : null,\n horizontal_flip: parseInt(0 + this.attrs.horizontal_flip),\n vertical_flip: parseInt(0 + this.attrs.vertical_flip),\n rotate: parseFloat(this.attrs.rotate),\n scale_x: parseFloat(this.attrs.scale_x),\n scale_y: parseFloat(this.attrs.scale_y),\n fps: parseFloat(this.attrs.fps),\n grayscale: parseInt(0 + this.attrs.grayscale),\n }\n },\n },\n\n methods: {\n getUrl(plugin, action) {\n return '/camera/' + plugin + '/' + action + '?' +\n Object.entries(this.params).filter((entry) => entry[1] != null && ('' + entry[1]).length > 0)\n .map(([k, v]) => k + '=' + v).join('&')\n },\n\n _startStreaming(plugin) {\n if (this.streaming)\n return\n\n this.streaming = true\n this.capturing = false\n this.captured = false\n this.url = this.getUrl(plugin, 'video.' + this.attrs.stream_format)\n },\n\n stopStreaming() {\n if (!this.streaming)\n return\n\n this.streaming = false\n this.capturing = false\n this.url = null\n },\n\n _capture(plugin) {\n if (this.capturing)\n return\n\n this.streaming = false\n this.capturing = true\n this.captured = true\n this.url = this.getUrl(plugin, 'photo.jpg') + '&t=' + (new Date()).getTime()\n },\n\n onFrameLoaded() {\n if (this.capturing) {\n this.capturing = false\n }\n },\n\n onDeviceChanged() {},\n onFlipChanged() {},\n onSizeChanged() {\n const degToRad = (deg) => (deg * Math.PI)/180\n const rot = degToRad(this.params.rotate)\n this.$refs.frameContainer.style.width = Math.round(this.params.scale_x * Math.abs(this.params.resolution[0] * Math.cos(rot) + this.params.resolution[1] * Math.sin(rot))) + 'px'\n this.$refs.frameContainer.style.height = Math.round(this.params.scale_y * Math.abs(this.params.resolution[0] * Math.sin(rot) + this.params.resolution[1] * Math.cos(rot))) + 'px'\n },\n\n onFpsChanged() {},\n onGrayscaleChanged() {},\n\n startAudio() {\n this.audioOn = true\n },\n\n async stopAudio() {\n this.audioOn = false\n await this.request('sound.stop_recording')\n },\n },\n\n created() {\n const config = this.$root.config[`camera.${this.cameraPlugin}`] || {}\n this.attrs = {\n resolution: config.resolution || [640, 480],\n device: config.device,\n horizontal_flip: config.horizontal_flip || 0,\n vertical_flip: config.vertical_flip || 0,\n rotate: config.rotate || 0,\n scale_x: config.scale_x || 1.0,\n scale_y: config.scale_y || 1.0,\n fps: config.fps || 16.0,\n grayscale: config.grayscale || 0,\n stream_format: config.stream_format || 'mjpeg',\n }\n },\n\n mounted() {\n this.$refs.frame.addEventListener('load', this.onFrameLoaded)\n this.onSizeChanged()\n this.$watch(() => this.attrs.resolution, this.onSizeChanged)\n this.$watch(() => this.attrs.horizontal_flip, this.onSizeChanged)\n this.$watch(() => this.attrs.vertical_flip, this.onSizeChanged)\n this.$watch(() => this.attrs.rotate, this.onSizeChanged)\n this.$watch(() => this.attrs.scale_x, this.onSizeChanged)\n this.$watch(() => this.attrs.scale_y, this.onSizeChanged)\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__","import { render } from \"./Index.vue?vue&type=template&id=bfa8f2aa\"\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=bfa8f2aa&lang=scss\"\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":["class","ref","autoplay","preload","streaming","capturing","captured","src","url","alt","type","stopStreaming","disabled","title","startStreaming","capture","audioOn","stopAudio","startAudio","$refs","paramsModal","show","Date","getTime","length","name","value","fullURL","attrs","device","onDeviceChanged","resolution","onSizeChanged","horizontal_flip","onFlipChanged","vertical_flip","rotate","scale_x","scale_y","fps","onFpsChanged","grayscale","onGrayscaleChanged","mixins","Utils","props","cameraPlugin","String","required","data","computed","params","this","parseInt","parseFloat","methods","getUrl","plugin","action","Object","entries","filter","entry","map","k","v","join","_startStreaming","stream_format","_capture","onFrameLoaded","degToRad","deg","Math","PI","rot","frameContainer","style","width","round","abs","cos","sin","height","request","created","config","$root","mounted","frame","addEventListener","$watch","__exports__","components","Modal","window","location","protocol","host","render"],"sourceRoot":""}