platypush/platypush/backend/http/webapp/dist/static/js/5794.9859b34c.js.map

1 line
14 KiB
Plaintext

{"version":3,"file":"static/js/5794.9859b34c.js","mappings":"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","sources":["webpack://platypush/./src/components/panels/CameraAndroidIpcam/Index.vue","webpack://platypush/./src/components/panels/CameraAndroidIpcam/Index.vue?3624"],"sourcesContent":["<template>\n <div class=\"camera\">\n <Loading v-if=\"loading\" />\n\n <div class=\"camera-selector\">\n <div class=\"left\">\n <label>\n <select ref=\"cameraSelector\" @change=\"onCameraSelected\">\n <option selected disabled v-if=\"!Object.keys(cameras).length\">-- No cameras available</option>\n <option v-for=\"name in Object.keys(cameras)\" :key=\"name\" :value=\"name\" v-text=\"name\" />\n </select>\n </label>\n </div>\n\n <div class=\"right\">\n <button type=\"button\" @click=\"updateCameraStatus\" :disabled=\"loading\">\n <i class=\"fas fa-sync-alt\" title=\"Refresh cameras\" />\n </button>\n </div>\n </div>\n\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\" ref=\"frame\" alt=\"\" src=\"\">\n </div>\n\n <div class=\"controls\">\n <div class=\"left\">\n <button type=\"button\" @click=\"startStreaming\" :disabled=\"capturing || loading\" v-if=\"!streaming\">\n <i class=\"fa fa-play\" title=\"Start video\" />\n </button>\n\n <button type=\"button\" @click=\"stopStreaming\" :disabled=\"capturing || loading\" v-else>\n <i class=\"fa fa-stop\" title=\"Stop video\" />\n </button>\n\n <button type=\"button\" @click=\"capture\" :disabled=\"streaming || capturing || loading\">\n <i class=\"fas fa-camera\" title=\"Take a picture\" />\n </button>\n </div>\n\n <div class=\"right\">\n <button type=\"button\" @click=\"flipCamera\" :disabled=\"loading\">\n <i class=\"fas fa-retweet\" title=\"Flip camera\" />\n </button>\n\n <button type=\"button\" @click=\"recording = true\" v-if=\"!recording\" :disabled=\"loading\">\n <i class=\"fa fa-volume-mute\" title=\"Start audio\" />\n </button>\n\n <button type=\"button\" @click=\"recording = false\" v-else :disabled=\"loading\">\n <i class=\"fa fa-volume-up\" title=\"Stop audio\" />\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"sound-container\">\n <audio autoplay preload=\"none\" ref=\"player\" v-if=\"recording\">\n <source :src=\"cameras[selectedCamera].audio_url\" type=\"audio/x-wav;codec=pcm\">\n Your browser does not support audio elements\n </audio>\n </div>\n </div>\n</template>\n\n<script>\nimport Utils from \"@/Utils\";\nimport Loading from \"@/components/Loading\";\n\nexport default {\n name: \"CameraAndroidIpcam\",\n components: {Loading},\n mixins: [Utils],\n\n data() {\n return {\n loading: false,\n streaming: false,\n capturing: false,\n recording: false,\n captured: false,\n cameras: {},\n selectedCamera: undefined,\n }\n },\n\n computed: {\n config() {\n return this.$root.config['camera.android.ipcam']\n },\n },\n\n methods: {\n startStreaming() {\n if (this.streaming)\n return\n\n const cam = this.cameras[this.selectedCamera]\n this.streaming = true\n this.capturing = false\n this.captured = false\n this.$refs.frame.setAttribute('src', cam.stream_url)\n },\n\n stopStreaming() {\n if (!this.streaming)\n return\n\n this.streaming = false\n this.capturing = false\n this.$refs.frame.removeAttribute('src')\n },\n\n capture() {\n if (this.capturing)\n return\n\n const cam = this.cameras[this.selectedCamera]\n this.streaming = false\n this.capturing = true\n this.captured = true\n this.$refs.frame.setAttribute('src', cam.image_url + '?t=' + (new Date()).getTime())\n },\n\n onFrameLoaded() {\n if (this.capturing)\n this.capturing = false\n },\n\n onCameraSelected(event) {\n this.selectedCamera = event.target.value\n },\n\n async flipCamera() {\n const cam = this.cameras[this.selectedCamera]\n this.loading = true\n\n try {\n const value = !cam.ffc\n await this.request('camera.android.ipcam.set_front_facing_camera', {\n activate: value, camera: cam.name\n })\n\n this.cameras[this.selectedCamera].ffc = value\n } finally {\n this.loading = false\n }\n },\n\n async updateCameraStatus() {\n this.loading = true\n\n try {\n const cameras = await this.request('camera.android.ipcam.status')\n this.cameras = cameras.reduce((cameras, cam) => {\n for (const attr of ['stream_url', 'image_url', 'audio_url']) {\n if (cam[attr].startsWith('https://')) {\n cam[attr] = cam[attr].replace('https://', 'http://')\n }\n\n if (cam.name in this.config.cameras && this.config.cameras[cam.name].username) {\n cam[attr] = 'http://' + this.config.cameras[cam.name].username + ':' +\n this.config.cameras[cam.name].password + '@' + cam[attr].substr(7)\n }\n }\n\n cameras[cam.name] = cam\n return cameras\n }, {})\n\n if (cameras.length)\n this.selectedCamera = cameras[0].name\n\n } finally {\n this.loading = false\n }\n },\n },\n\n mounted() {\n this.$refs.frame.addEventListener('load', this.onFrameLoaded)\n this.updateCameraStatus()\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"../Camera/common\";\n\n$controls-height: 3.5em;\n\n.camera {\n .camera-selector {\n width: 100%;\n height: $controls-height;\n margin-top: -3em;\n box-shadow: $border-shadow-bottom;\n display: flex;\n align-items: center;\n\n .left,\n .right {\n display: flex;\n }\n\n .left {\n width: 90%;\n }\n\n .right {\n width: 10%;\n justify-content: right;\n }\n\n label {\n width: 100%;\n padding-left: 1em;\n select {\n width: 100%;\n }\n }\n\n button {\n background: none;\n border: none;\n &:hover {\n color: $default-hover-fg;\n }\n }\n }\n\n .camera-container {\n margin-top: 2em;\n min-width: 640px;\n min-height: calc(480px + #{$controls-height});\n\n .frame-container {\n min-width: 640px;\n min-height: 480px;\n }\n\n .controls {\n height: $controls-height;\n }\n }\n}\n\n//.camera {\n// min-height: 90%;\n// overflow: auto;\n// display: flex;\n// flex-direction: column;\n// align-items: center;\n//\n// .camera-container {\n// min-width: 640px;\n// min-height: 480px;\n// position: relative;\n// background: black;\n// margin-bottom: 1em;\n//\n// .frame, .no-frame {\n// position: absolute;\n// top: 0;\n// width: 100%;\n// height: 100%;\n// }\n//\n// .frame {\n// z-index: 1;\n// }\n//\n// .no-frame {\n// display: flex;\n// background: rgba(0, 0, 0, 0.1);\n// color: white;\n// align-items: center;\n// justify-content: center;\n// z-index: 2;\n// }\n// }\n//}\n</style>\n","import { render } from \"./Index.vue?vue&type=template&id=a0c26180&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=a0c26180&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-a0c26180\"]])\n\nexport default __exports__"],"names":["class","selected","disabled","_createElementVNode","title","_hoisted_8","ref","alt","src","_hoisted_17","_hoisted_20","_hoisted_23","_hoisted_27","_hoisted_30","_hoisted_33","autoplay","preload","_createElementBlock","_hoisted_1","$data","loading","_createBlock","_component_Loading","key","_hoisted_2","_hoisted_3","onChange","_cache","args","$options","onCameraSelected","Object","keys","cameras","length","_hoisted_4","_Fragment","_renderList","name","value","_toDisplayString","_hoisted_6","type","onClick","updateCameraStatus","_hoisted_10","_hoisted_11","streaming","capturing","captured","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","stopStreaming","startStreaming","capture","_hoisted_25","flipCamera","recording","$event","_hoisted_35","_hoisted_36","selectedCamera","audio_url","components","Loading","mixins","Utils","data","undefined","computed","config","this","$root","methods","cam","$refs","frame","setAttribute","stream_url","removeAttribute","image_url","Date","getTime","onFrameLoaded","event","target","ffc","request","activate","camera","reduce","attr","startsWith","replace","username","password","substr","mounted","addEventListener","__exports__","render"],"sourceRoot":""}