diff --git a/chameleon-client/package-lock.json b/chameleon-client/package-lock.json index e6ac4932c..1036d3f31 100644 --- a/chameleon-client/package-lock.json +++ b/chameleon-client/package-lock.json @@ -3915,7 +3915,8 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true + "dev": true, + "optional": true }, "coa": { "version": "2.0.2", @@ -6308,7 +6309,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -6517,7 +6519,8 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.9.0", @@ -6542,6 +6545,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -6730,7 +6734,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -6786,6 +6791,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -6829,12 +6835,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -10639,7 +10647,8 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", - "dev": true + "dev": true, + "optional": true }, "rx-lite-aggregates": { "version": "4.0.8", @@ -14743,7 +14752,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -14780,7 +14790,8 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "concat-map": { "version": "0.0.1", @@ -14789,7 +14800,8 @@ }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -14892,7 +14904,8 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -14902,6 +14915,7 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -14921,11 +14935,13 @@ }, "minimist": { "version": "0.0.8", - "bundled": true + "bundled": true, + "optional": true }, "minipass": { "version": "2.2.4", "bundled": true, + "optional": true, "requires": { "safe-buffer": "^5.1.1", "yallist": "^3.0.0" @@ -14942,6 +14958,7 @@ "mkdirp": { "version": "0.5.1", "bundled": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -15014,7 +15031,8 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -15024,6 +15042,7 @@ "once": { "version": "1.4.0", "bundled": true, + "optional": true, "requires": { "wrappy": "1" } @@ -15099,7 +15118,8 @@ }, "safe-buffer": { "version": "5.1.1", - "bundled": true + "bundled": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -15129,6 +15149,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -15146,6 +15167,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -15184,11 +15206,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "bundled": true, + "optional": true }, "yallist": { "version": "3.0.2", - "bundled": true + "bundled": true, + "optional": true } } }, diff --git a/chameleon-client/src/components/3D/MiniMap.vue b/chameleon-client/src/components/3D/MiniMap.vue index 5de4b9b2e..1182911cb 100644 --- a/chameleon-client/src/components/3D/MiniMap.vue +++ b/chameleon-client/src/components/3D/MiniMap.vue @@ -76,7 +76,7 @@ // move the rotation point to the center of the rect this.ctx.translate(y + this.targetWidth / 2, x + this.targetHeight / 2); // wpi lib makes x forward and back and y left to right // rotate the rect - this.ctx.rotate(target.rotation.radians); + this.ctx.rotate(target.rotation.radians * -1); // draw the rect on the transformed context // Note: after transforming [0,0] is visually [x,y] diff --git a/chameleon-client/src/views/CameraViewes/3D.vue b/chameleon-client/src/views/CameraViewes/3D.vue index 339c7dc2c..7994f4a76 100644 --- a/chameleon-client/src/views/CameraViewes/3D.vue +++ b/chameleon-client/src/views/CameraViewes/3D.vue @@ -12,6 +12,7 @@ + @@ -29,9 +30,10 @@ \ No newline at end of file +Chameleon Vision
\ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/app.b9fa435a.js b/chameleon-server/src/main/resources/web/js/app.b9fa435a.js deleted file mode 100644 index ca1d70861..000000000 --- a/chameleon-server/src/main/resources/web/js/app.b9fa435a.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(e){function t(t){for(var a,r,o=t[0],s=t[1],u=t[2],l=0,d=[];l({timer:void 0}),created(){this.$options.sockets.onmessage=e=>{try{let t=this.$msgPack.decode(e.data);for(let e in t)t.hasOwnProperty(e)&&this.handleMessage(e,t[e])}catch(t){console.error("error: "+e.data+" , "+t)}}},computed:{saveSnackbar:{get(){return this.$store.state.saveBar},set(e){this.$store.commit("saveBar",e)}}}},o=c,s=(n("034f"),n("2877")),u=n("6544"),l=n.n(u),d=n("7496"),h=n("40dc"),p=n("a523"),f=n("a75b"),v=n("0e8f"),m=n("a722"),b=n("2db4"),k=n("71a3"),g=n("fe57"),y=n("2a7f"),w=Object(s["a"])(o,r,i,!1,null,null,null),S=w.exports;l()(w,{VApp:d["a"],VAppBar:h["a"],VContainer:p["a"],VContent:f["a"],VFlex:v["a"],VLayout:m["a"],VSnackbar:b["a"],VTab:k["a"],VTabs:g["a"],VToolbarItems:y["a"],VToolbarTitle:y["b"]});var x=n("8c4f");function C(e){return()=>n("1a5d")(`./${e}.vue`)}a["a"].use(x["a"]);var P=new x["a"]({base:"/",routes:[{path:"/",redirect:"/vision"},{path:"/vision",name:"Vision",component:C("Camera")},{path:"/settings",name:"Settings",component:C("Settings")}]}),T=n("2f62");a["a"].use(T["a"]);const V=e=>(t,n)=>{a["a"].set(t,e,n)};var L=new T["a"].Store({state:{settings:{teamNumber:1577,connectionType:0,ip:"",gateway:"",netmask:"",hostname:"chameleon-vision"},pipeline:{exposure:0,brightness:0,rotationMode:0,hue:[0,15],saturation:[0,15],value:[0,25],erode:!1,dilate:!1,area:[0,12],ratio:[0,12],extent:[0,12],speckle:5,targetGrouping:0,targetIntersection:0,sortMode:0,multiple:!1,isBinary:0,calibrationMode:0,videoModeIndex:0,streamDivisor:0,is3D:!1},cameraSettings:{calibration:[],fov:0,resolution:0,streamDivisor:0,tilt:0},resolutionList:[],port:1181,currentCameraIndex:0,currentPipelineIndex:0,cameraList:[],pipelineList:[],point:{},saveBar:!1},mutations:{settings:V("settings"),pipeline:V("pipeline"),cameraSettings:V("cameraSettings"),resolutionList:V("resolutionList"),port:V("port"),currentCameraIndex:V("currentCameraIndex"),currentPipelineIndex:V("currentPipelineIndex"),cameraList:V("cameraList"),pipelineList:V("pipelineList"),point:V("point"),setPipeValues(e,t){for(let n in t)a["a"].set(e.pipeline,n,t[n])},driverMode:V("driverMode"),saveBar:V("saveBar")},actions:{settings:e=>e.settings,pipeline:e=>e.pipeline,cameraSettings:e=>e.cameraSettings,resolutionList:e=>e.resolutionList,port:e=>e.port,currentCameraIndex:e=>e.currentCameraIndex,currentPipelineIndex:e=>e.currentPipelineIndex,cameraList:e=>e.cameraList,pipelineList:e=>e.pipelineList,point:e=>e.point,driverMode:e=>e.driverMode,saveBar:e=>e.saveBar}}),O=(n("5363"),n("d1e7"),n("f309"));a["a"].use(O["a"]);var I=new O["a"]({icons:{}}),_=n("b408"),$=n.n(_),M=n("7d47"),j=n.n(M),B=n("bc3a"),E=n.n(B),A=n("a7fe"),D=n.n(A);a["a"].config.productionTip=!1,a["a"].prototype.$address=location.host;const N="ws://"+a["a"].prototype.$address+"/websocket";var F=new WebSocket(N);F.binaryType="arraybuffer",a["a"].use($.a,N,{WebSocket:F}),a["a"].use(D.a,E.a),a["a"].prototype.$msgPack=j()(!0),a["a"].mixin({methods:{handleInput(e,t){let n=this.$msgPack.encode({[e]:t});this.$socket.send(n)}}}),new a["a"]({router:P,store:L,vuetify:I,render:e=>e(S)}).$mount("#app")},cf05:function(e,t,n){e.exports=n.p+"img/logo.e82307fd.png"}}); -//# sourceMappingURL=app.b9fa435a.js.map \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/app.b9fa435a.js.map b/chameleon-server/src/main/resources/web/js/app.b9fa435a.js.map deleted file mode 100644 index 0141b3b76..000000000 --- a/chameleon-server/src/main/resources/web/js/app.b9fa435a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?9745","webpack:///./src/views lazy ^\\.\\/.*\\.vue$ namespace object","webpack:///./src/App.vue?9050","webpack:///src/App.vue","webpack:///./src/App.vue?d7d8","webpack:///./src/App.vue?4f7e","webpack:///./src/router.js","webpack:///./src/store.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/main.js","webpack:///./src/assets/logo.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackAsyncContext","req","ids","id","keys","render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","_v","on","startTimer","model","callback","$$v","saveSnackbar","expression","staticStyle","staticRenderFns","component","VApp","VAppBar","VContainer","VContent","VFlex","VLayout","VSnackbar","VTab","VTabs","VToolbarItems","VToolbar","VToolbarTitle","lazyLoad","view","use","base","routes","path","redirect","set","state","val","Store","settings","teamNumber","connectionType","ip","gateway","netmask","hostname","pipeline","exposure","brightness","rotationMode","hue","saturation","erode","dilate","area","ratio","extent","speckle","targetGrouping","targetIntersection","sortMode","multiple","isBinary","calibrationMode","videoModeIndex","streamDivisor","is3D","cameraSettings","calibration","fov","resolution","tilt","resolutionList","port","currentCameraIndex","currentPipelineIndex","cameraList","pipelineList","point","saveBar","mutations","obj","driverMode","actions","icons","config","productionTip","$address","location","host","url","ws","WebSocket","binaryType","a","$msgPack","mixin","methods","msg","encode","$socket","send","router","store","vuetify","h","App","$mount"],"mappings":"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","file":"js/app.b9fa435a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-79a507e8\":\"a8f72f00\",\"chunk-234aed0c\":\"5ce036d9\",\"chunk-1c4e016e\":\"3c63bd07\",\"chunk-402ab08c\":\"6a0cfa00\",\"chunk-74cde756\":\"538b7b46\",\"chunk-7a810817\":\"6fa5d1de\",\"chunk-30cf0ee8\":\"a08facb0\",\"chunk-218b16fc\":\"85ae3dfa\",\"chunk-3ae1c3ad\":\"5aface64\",\"chunk-8bc075b4\":\"c1dd0af7\",\"chunk-33f18466\":\"b80a16b3\",\"chunk-7cf477eb\":\"ccf582bf\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-79a507e8\":1,\"chunk-234aed0c\":1,\"chunk-402ab08c\":1,\"chunk-74cde756\":1,\"chunk-7a810817\":1,\"chunk-30cf0ee8\":1,\"chunk-218b16fc\":1,\"chunk-8bc075b4\":1,\"chunk-33f18466\":1,\"chunk-7cf477eb\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-79a507e8\":\"4c388212\",\"chunk-234aed0c\":\"5856ebfe\",\"chunk-1c4e016e\":\"31d6cfe0\",\"chunk-402ab08c\":\"d47fe89d\",\"chunk-74cde756\":\"7753bf1c\",\"chunk-7a810817\":\"e757f52a\",\"chunk-30cf0ee8\":\"437bbfd3\",\"chunk-218b16fc\":\"84e78a37\",\"chunk-3ae1c3ad\":\"31d6cfe0\",\"chunk-8bc075b4\":\"52ef46aa\",\"chunk-33f18466\":\"5da4dc56\",\"chunk-7cf477eb\":\"2ea217a5\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","var map = {\n\t\"./Camera.vue\": [\n\t\t\"6ec0\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-234aed0c\",\n\t\t\"chunk-7a810817\",\n\t\t\"chunk-30cf0ee8\",\n\t\t\"chunk-218b16fc\"\n\t],\n\t\"./CameraViewes/3D.vue\": [\n\t\t\"e4b1\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-30cf0ee8\"\n\t],\n\t\"./CameraViewes/ContoursTab.vue\": [\n\t\t\"5c73\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-234aed0c\",\n\t\t\"chunk-7a810817\",\n\t\t\"chunk-3ae1c3ad\"\n\t],\n\t\"./CameraViewes/InputTab.vue\": [\n\t\t\"50ef\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-234aed0c\",\n\t\t\"chunk-402ab08c\"\n\t],\n\t\"./CameraViewes/OutputTab.vue\": [\n\t\t\"4c92\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-234aed0c\",\n\t\t\"chunk-8bc075b4\"\n\t],\n\t\"./CameraViewes/ThresholdTab.vue\": [\n\t\t\"1a40\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-7a810817\",\n\t\t\"chunk-33f18466\"\n\t],\n\t\"./Settings.vue\": [\n\t\t\"26d3\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-234aed0c\",\n\t\t\"chunk-74cde756\"\n\t],\n\t\"./SettingsViewes/Cameras.vue\": [\n\t\t\"0b81\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-234aed0c\",\n\t\t\"chunk-1c4e016e\"\n\t],\n\t\"./SettingsViewes/General.vue\": [\n\t\t\"13f2\",\n\t\t\"chunk-79a507e8\",\n\t\t\"chunk-7cf477eb\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"1a5d\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('v-app-bar',{attrs:{\"app\":\"\",\"dense\":\"\",\"clipped-left\":\"\",\"dark\":\"\"}},[_c('img',{staticClass:\"imgClass\",attrs:{\"src\":require(\"./assets/logo.png\")}}),_c('v-toolbar-title',{attrs:{\"id\":\"title\"}},[_vm._v(\"Chameleon Vision\")]),_c('div',{staticClass:\"flex-grow-1\"}),_c('v-toolbar-items',[_c('v-tabs',{attrs:{\"dark\":\"\",\"height\":\"48\",\"slider-color\":\"#4baf62\"}},[_c('v-tab',{attrs:{\"to\":\"vision\"}},[_vm._v(\"Vision\")]),_c('v-tab',{attrs:{\"to\":\"settings\"}},[_vm._v(\"Settings\")])],1)],1)],1),_c('v-content',[_c('v-container',{attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-layout',[_c('v-flex',[_c('router-view',{on:{\"save\":_vm.startTimer}}),_c('v-snackbar',{attrs:{\"timeout\":1000,\"top\":\"\",\"color\":\"#4baf62\"},model:{value:(_vm.saveSnackbar),callback:function ($$v) {_vm.saveSnackbar=$$v},expression:\"saveSnackbar\"}},[_c('div',{staticStyle:{\"text-align\":\"center\",\"width\":\"100%\"}},[_c('h4',[_vm._v(\"Saved All changes\")])])])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../node_modules/vuetify-loader/lib/loader.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/vuetify-loader/lib/loader.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4301f5b3&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VContent } from 'vuetify/lib/components/VContent';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VApp,VAppBar,VContainer,VContent,VFlex,VLayout,VSnackbar,VTab,VTabs,VToolbarItems,VToolbarTitle})\n","import Vue from 'vue'\nimport Router from 'vue-router'\nVue.use(Router);\n\nfunction lazyLoad(view){\n return() => import(`@/views/${view}.vue`)\n}\nexport default new Router({\n // mode: 'history',\n base: process.env.BASE_URL,\n routes: [\n {\n path: '/',\n redirect:'/vision'\n },\n {\n path: '/vision',\n name: 'Vision',\n component: lazyLoad('Camera')\n },\n {\n path: '/settings',\n name: 'Settings',\n component: lazyLoad('Settings')\n },\n ]\n})\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex);\n\nconst set = key => (state, val) => {\n Vue.set(state, key, val);\n};\n\nexport default new Vuex.Store({\n state: {\n settings: {\n teamNumber: 1577,\n connectionType: 0,\n ip: \"\",\n gateway: \"\",\n netmask: \"\",\n hostname: \"chameleon-vision\"\n },\n pipeline: {\n exposure: 0,\n brightness: 0,\n rotationMode: 0,\n hue: [0, 15],\n saturation: [0, 15],\n value: [0, 25],\n erode: false,\n dilate: false,\n area: [0, 12],\n ratio: [0, 12],\n extent: [0, 12],\n speckle: 5,\n targetGrouping: 0,\n targetIntersection: 0,\n sortMode: 0,\n multiple: false,\n isBinary: 0,\n calibrationMode: 0,\n videoModeIndex: 0,\n streamDivisor: 0,\n is3D: false\n },\n cameraSettings: {\n calibration: [],\n fov: 0,\n resolution: 0,\n streamDivisor: 0,\n tilt: 0\n },\n resolutionList: [],\n port: 1181,\n currentCameraIndex: 0,\n currentPipelineIndex: 0,\n cameraList: [],\n pipelineList: [],\n point: {},\n saveBar: false\n },\n mutations: {\n settings: set('settings'),\n pipeline: set('pipeline'),\n cameraSettings: set('cameraSettings'),\n resolutionList: set('resolutionList'),\n port: set('port'),\n currentCameraIndex: set('currentCameraIndex'),\n currentPipelineIndex: set('currentPipelineIndex'),\n cameraList: set('cameraList'),\n pipelineList: set('pipelineList'),\n point: set('point'),\n setPipeValues(state, obj) {\n for (let i in obj) {\n Vue.set(state.pipeline, i, obj[i]);\n }\n },\n driverMode: set('driverMode'),\n saveBar: set(\"saveBar\")\n },\n actions: {\n settings: state => state.settings,\n pipeline: state => state.pipeline,\n cameraSettings: state => state.cameraSettings,\n resolutionList: state => state.resolutionList,\n port: state => state.port,\n currentCameraIndex: state => state.currentCameraIndex,\n currentPipelineIndex: state => state.currentPipelineIndex,\n cameraList: state => state.cameraList,\n pipelineList: state => state.pipelineList,\n point: state => state.point,\n driverMode: state => state.driverMode,\n saveBar: state => state.saveBar\n }\n})\n","import '@mdi/font/css/materialdesignicons.css';\nimport 'material-design-icons-iconfont/dist/material-design-icons.css'\nimport Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n icons: {}\n\n});\n","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport store from './store'\nimport vuetify from './plugins/vuetify';\nimport VueNativeSock from 'vue-native-websocket';\nimport msgPack from 'msgpack5';\nimport axios from 'axios';\nimport VueAxios from \"vue-axios\";\n\nVue.config.productionTip = false;\n\nif (process.env.NODE_ENV === \"production\"){\n Vue.prototype.$address = location.host;\n} else if (process.env.NODE_ENV === \"development\"){\n Vue.prototype.$address = location.hostname + \":5800\";\n}\n\nconst url = 'ws://' + Vue.prototype.$address + '/websocket';\nvar ws = new WebSocket(url);\nws.binaryType = \"arraybuffer\";\n\nVue.use(VueNativeSock, url,{\n WebSocket: ws\n});\nVue.use(VueAxios, axios);\nVue.prototype.$msgPack = msgPack(true);\n\nVue.mixin({\n methods: {\n handleInput(key, value) {\n let msg = this.$msgPack.encode({[key]: value});\n this.$socket.send(msg);\n }\n }\n});\nnew Vue({\n router,\n store,\n vuetify,\n render: h => h(App)\n}).$mount('#app');\n","module.exports = __webpack_public_path__ + \"img/logo.e82307fd.png\";"],"sourceRoot":""} \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/app.cca5a176.js b/chameleon-server/src/main/resources/web/js/app.cca5a176.js new file mode 100644 index 000000000..f4f99bbcd --- /dev/null +++ b/chameleon-server/src/main/resources/web/js/app.cca5a176.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var a,r,c=t[0],s=t[1],u=t[2],d=0,l=[];d({timer:void 0}),created(){this.$options.sockets.onmessage=e=>{try{let t=this.$msgPack.decode(e.data);for(let e in t)t.hasOwnProperty(e)&&this.handleMessage(e,t[e])}catch(t){console.error("error: "+e.data+" , "+t)}}},computed:{saveSnackbar:{get(){return this.$store.state.saveBar},set(e){this.$store.commit("saveBar",e)}}}},c=o,s=(n("034f"),n("2877")),u=n("6544"),d=n.n(u),l=n("7496"),h=n("40dc"),p=n("a523"),f=n("a75b"),v=n("0e8f"),m=n("a722"),k=n("2db4"),b=n("71a3"),g=n("fe57"),y=n("2a7f"),w=Object(s["a"])(c,r,i,!1,null,null,null),S=w.exports;d()(w,{VApp:l["a"],VAppBar:h["a"],VContainer:p["a"],VContent:f["a"],VFlex:v["a"],VLayout:m["a"],VSnackbar:k["a"],VTab:b["a"],VTabs:g["a"],VToolbarItems:y["a"],VToolbarTitle:y["b"]});var x=n("8c4f");function C(e){return()=>n("1a5d")(`./${e}.vue`)}a["a"].use(x["a"]);var P=new x["a"]({base:"/",routes:[{path:"/",redirect:"/vision"},{path:"/vision",name:"Vision",component:C("Camera")},{path:"/settings",name:"Settings",component:C("Settings")}]}),T=n("2f62");a["a"].use(T["a"]);const V=e=>(t,n)=>{a["a"].set(t,e,n)};var L=new T["a"].Store({state:{settings:{teamNumber:1577,connectionType:0,ip:"",gateway:"",netmask:"",hostname:"chameleon-vision"},pipeline:{exposure:0,brightness:0,rotationMode:0,hue:[0,15],saturation:[0,15],value:[0,25],erode:!1,dilate:!1,area:[0,12],ratio:[0,12],extent:[0,12],speckle:5,targetGrouping:0,targetIntersection:0,sortMode:0,multiple:!1,isBinary:0,calibrationMode:0,videoModeIndex:0,streamDivisor:0,is3D:!1,targetRegion:0,targetOrientation:1},cameraSettings:{calibration:[],fov:0,resolution:0,streamDivisor:0,tilt:0},resolutionList:[],port:1181,currentCameraIndex:0,currentPipelineIndex:0,cameraList:[],pipelineList:[],point:{},saveBar:!1},mutations:{settings:V("settings"),pipeline:V("pipeline"),cameraSettings:V("cameraSettings"),resolutionList:V("resolutionList"),port:V("port"),currentCameraIndex:V("currentCameraIndex"),currentPipelineIndex:V("currentPipelineIndex"),cameraList:V("cameraList"),pipelineList:V("pipelineList"),point:V("point"),setPipeValues(e,t){for(let n in t)a["a"].set(e.pipeline,n,t[n])},driverMode:V("driverMode"),saveBar:V("saveBar")},actions:{settings:e=>e.settings,pipeline:e=>e.pipeline,cameraSettings:e=>e.cameraSettings,resolutionList:e=>e.resolutionList,port:e=>e.port,currentCameraIndex:e=>e.currentCameraIndex,currentPipelineIndex:e=>e.currentPipelineIndex,cameraList:e=>e.cameraList,pipelineList:e=>e.pipelineList,point:e=>e.point,driverMode:e=>e.driverMode,saveBar:e=>e.saveBar}}),O=(n("5363"),n("d1e7"),n("f309"));a["a"].use(O["a"]);var I=new O["a"]({icons:{}}),_=n("b408"),$=n.n(_),M=n("7d47"),j=n.n(M),B=n("bc3a"),E=n.n(B),A=n("a7fe"),D=n.n(A);a["a"].config.productionTip=!1,a["a"].prototype.$address=location.host;const N="ws://"+a["a"].prototype.$address+"/websocket";var F=new WebSocket(N);F.binaryType="arraybuffer",a["a"].use($.a,N,{WebSocket:F}),a["a"].use(D.a,E.a),a["a"].prototype.$msgPack=j()(!0),a["a"].mixin({methods:{handleInput(e,t){let n=this.$msgPack.encode({[e]:t});this.$socket.send(n)}}}),new a["a"]({router:P,store:L,vuetify:I,render:e=>e(S)}).$mount("#app")},"71ec":function(e,t,n){},cf05:function(e,t,n){e.exports=n.p+"img/logo.e82307fd.png"}}); +//# sourceMappingURL=app.cca5a176.js.map \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/app.cca5a176.js.map b/chameleon-server/src/main/resources/web/js/app.cca5a176.js.map new file mode 100644 index 000000000..6f41e9b93 --- /dev/null +++ b/chameleon-server/src/main/resources/web/js/app.cca5a176.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?4c12","webpack:///./src/views lazy ^\\.\\/.*\\.vue$ namespace object","webpack:///./src/App.vue?0d23","webpack:///src/App.vue","webpack:///./src/App.vue?7927","webpack:///./src/App.vue?8ba3","webpack:///./src/router.js","webpack:///./src/store.js","webpack:///./src/plugins/vuetify.js","webpack:///./src/main.js","webpack:///./src/assets/logo.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackAsyncContext","req","ids","id","keys","render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","_v","on","startTimer","model","callback","$$v","saveSnackbar","expression","staticStyle","staticRenderFns","component","VApp","VAppBar","VContainer","VContent","VFlex","VLayout","VSnackbar","VTab","VTabs","VToolbarItems","VToolbar","VToolbarTitle","lazyLoad","view","use","base","routes","path","redirect","set","state","val","Store","settings","teamNumber","connectionType","ip","gateway","netmask","hostname","pipeline","exposure","brightness","rotationMode","hue","saturation","erode","dilate","area","ratio","extent","speckle","targetGrouping","targetIntersection","sortMode","multiple","isBinary","calibrationMode","videoModeIndex","streamDivisor","is3D","targetRegion","targetOrientation","cameraSettings","calibration","fov","resolution","tilt","resolutionList","port","currentCameraIndex","currentPipelineIndex","cameraList","pipelineList","point","saveBar","mutations","obj","driverMode","actions","icons","config","productionTip","$address","location","host","url","ws","WebSocket","binaryType","a","$msgPack","mixin","methods","msg","encode","$socket","send","router","store","vuetify","h","App","$mount"],"mappings":"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","file":"js/app.cca5a176.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-6516d830\":\"270065e7\",\"chunk-369f5d2c\":\"8e3b6396\",\"chunk-01759076\":\"5c267949\",\"chunk-2d0c7972\":\"adbbf5d7\",\"chunk-423191c4\":\"430d7b21\",\"chunk-6911ca5e\":\"6a2b6398\",\"chunk-586d85e4\":\"7c1f7039\",\"chunk-65ac8106\":\"19dca69f\",\"chunk-6f8eef3f\":\"5538449a\",\"chunk-7d8e2978\":\"07319db3\",\"chunk-6e69a154\":\"4738d1b9\",\"chunk-20681be8\":\"c913200b\",\"chunk-5af10b37\":\"cf8850a1\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-6516d830\":1,\"chunk-369f5d2c\":1,\"chunk-01759076\":1,\"chunk-423191c4\":1,\"chunk-6911ca5e\":1,\"chunk-586d85e4\":1,\"chunk-65ac8106\":1,\"chunk-6f8eef3f\":1,\"chunk-7d8e2978\":1,\"chunk-6e69a154\":1,\"chunk-20681be8\":1,\"chunk-5af10b37\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-6516d830\":\"e951ae66\",\"chunk-369f5d2c\":\"eaa0163e\",\"chunk-01759076\":\"2eb9f3d3\",\"chunk-2d0c7972\":\"31d6cfe0\",\"chunk-423191c4\":\"0a21637d\",\"chunk-6911ca5e\":\"61379667\",\"chunk-586d85e4\":\"873c9690\",\"chunk-65ac8106\":\"108b4a7c\",\"chunk-6f8eef3f\":\"09316a61\",\"chunk-7d8e2978\":\"c741c172\",\"chunk-6e69a154\":\"38f70fef\",\"chunk-20681be8\":\"5ac7b59c\",\"chunk-5af10b37\":\"5b8e5b27\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","var map = {\n\t\"./Camera.vue\": [\n\t\t\"6ec0\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-369f5d2c\",\n\t\t\"chunk-01759076\",\n\t\t\"chunk-586d85e4\",\n\t\t\"chunk-65ac8106\"\n\t],\n\t\"./CameraViewes/3D.vue\": [\n\t\t\"e4b1\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-369f5d2c\",\n\t\t\"chunk-586d85e4\"\n\t],\n\t\"./CameraViewes/ContoursTab.vue\": [\n\t\t\"5c73\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-369f5d2c\",\n\t\t\"chunk-01759076\",\n\t\t\"chunk-6f8eef3f\"\n\t],\n\t\"./CameraViewes/InputTab.vue\": [\n\t\t\"50ef\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-369f5d2c\",\n\t\t\"chunk-01759076\",\n\t\t\"chunk-2d0c7972\"\n\t],\n\t\"./CameraViewes/OutputTab.vue\": [\n\t\t\"4c92\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-369f5d2c\",\n\t\t\"chunk-6e69a154\"\n\t],\n\t\"./CameraViewes/ThresholdTab.vue\": [\n\t\t\"1a40\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-5af10b37\"\n\t],\n\t\"./Settings.vue\": [\n\t\t\"26d3\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-369f5d2c\",\n\t\t\"chunk-01759076\",\n\t\t\"chunk-423191c4\",\n\t\t\"chunk-6911ca5e\"\n\t],\n\t\"./SettingsViewes/Cameras.vue\": [\n\t\t\"0b81\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-369f5d2c\",\n\t\t\"chunk-01759076\",\n\t\t\"chunk-7d8e2978\"\n\t],\n\t\"./SettingsViewes/General.vue\": [\n\t\t\"13f2\",\n\t\t\"chunk-6516d830\",\n\t\t\"chunk-423191c4\",\n\t\t\"chunk-20681be8\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"1a5d\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('v-app-bar',{attrs:{\"app\":\"\",\"dense\":\"\",\"clipped-left\":\"\",\"dark\":\"\"}},[_c('img',{staticClass:\"imgClass\",attrs:{\"src\":require(\"./assets/logo.png\")}}),_c('v-toolbar-title',{attrs:{\"id\":\"title\"}},[_vm._v(\"Chameleon Vision\")]),_c('div',{staticClass:\"flex-grow-1\"}),_c('v-toolbar-items',[_c('v-tabs',{attrs:{\"dark\":\"\",\"height\":\"48\",\"slider-color\":\"#4baf62\"}},[_c('v-tab',{attrs:{\"to\":\"vision\"}},[_vm._v(\"Vision\")]),_c('v-tab',{attrs:{\"to\":\"settings\"}},[_vm._v(\"Settings\")])],1)],1)],1),_c('v-content',[_c('v-container',{attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[_c('v-layout',[_c('v-flex',[_c('router-view',{on:{\"save\":_vm.startTimer}}),_c('v-snackbar',{attrs:{\"timeout\":1000,\"top\":\"\",\"color\":\"#4baf62\"},model:{value:(_vm.saveSnackbar),callback:function ($$v) {_vm.saveSnackbar=$$v},expression:\"saveSnackbar\"}},[_c('div',{staticStyle:{\"text-align\":\"center\",\"width\":\"100%\"}},[_c('h4',[_vm._v(\"Saved All changes\")])])])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=4bfb16b1&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VContent } from 'vuetify/lib/components/VContent';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VApp,VAppBar,VContainer,VContent,VFlex,VLayout,VSnackbar,VTab,VTabs,VToolbarItems,VToolbarTitle})\n","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\nVue.use(Router);\r\n\r\nfunction lazyLoad(view){\r\n return() => import(`@/views/${view}.vue`)\r\n}\r\nexport default new Router({\r\n // mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes: [\r\n {\r\n path: '/',\r\n redirect:'/vision'\r\n },\r\n {\r\n path: '/vision',\r\n name: 'Vision',\r\n component: lazyLoad('Camera')\r\n },\r\n {\r\n path: '/settings',\r\n name: 'Settings',\r\n component: lazyLoad('Settings')\r\n },\r\n ]\r\n})\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\nVue.use(Vuex);\r\n\r\nconst set = key => (state, val) => {\r\n Vue.set(state, key, val);\r\n};\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n settings: {\r\n teamNumber: 1577,\r\n connectionType: 0,\r\n ip: \"\",\r\n gateway: \"\",\r\n netmask: \"\",\r\n hostname: \"chameleon-vision\"\r\n },\r\n pipeline: {\r\n exposure: 0,\r\n brightness: 0,\r\n rotationMode: 0,\r\n hue: [0, 15],\r\n saturation: [0, 15],\r\n value: [0, 25],\r\n erode: false,\r\n dilate: false,\r\n area: [0, 12],\r\n ratio: [0, 12],\r\n extent: [0, 12],\r\n speckle: 5,\r\n targetGrouping: 0,\r\n targetIntersection: 0,\r\n sortMode: 0,\r\n multiple: false,\r\n isBinary: 0,\r\n calibrationMode: 0,\r\n videoModeIndex: 0,\r\n streamDivisor: 0,\r\n is3D: false,\r\n targetRegion:0,\r\n targetOrientation:1\r\n },\r\n cameraSettings: {\r\n calibration: [],\r\n fov: 0,\r\n resolution: 0,\r\n streamDivisor: 0,\r\n tilt: 0\r\n },\r\n resolutionList: [],\r\n port: 1181,\r\n currentCameraIndex: 0,\r\n currentPipelineIndex: 0,\r\n cameraList: [],\r\n pipelineList: [],\r\n point: {},\r\n saveBar: false\r\n },\r\n mutations: {\r\n settings: set('settings'),\r\n pipeline: set('pipeline'),\r\n cameraSettings: set('cameraSettings'),\r\n resolutionList: set('resolutionList'),\r\n port: set('port'),\r\n currentCameraIndex: set('currentCameraIndex'),\r\n currentPipelineIndex: set('currentPipelineIndex'),\r\n cameraList: set('cameraList'),\r\n pipelineList: set('pipelineList'),\r\n point: set('point'),\r\n setPipeValues(state, obj) {\r\n for (let i in obj) {\r\n Vue.set(state.pipeline, i, obj[i]);\r\n }\r\n },\r\n driverMode: set('driverMode'),\r\n saveBar: set(\"saveBar\")\r\n },\r\n actions: {\r\n settings: state => state.settings,\r\n pipeline: state => state.pipeline,\r\n cameraSettings: state => state.cameraSettings,\r\n resolutionList: state => state.resolutionList,\r\n port: state => state.port,\r\n currentCameraIndex: state => state.currentCameraIndex,\r\n currentPipelineIndex: state => state.currentPipelineIndex,\r\n cameraList: state => state.cameraList,\r\n pipelineList: state => state.pipelineList,\r\n point: state => state.point,\r\n driverMode: state => state.driverMode,\r\n saveBar: state => state.saveBar\r\n }\r\n})\r\n","import '@mdi/font/css/materialdesignicons.css';\r\nimport 'material-design-icons-iconfont/dist/material-design-icons.css'\r\nimport Vue from 'vue';\r\nimport Vuetify from 'vuetify/lib';\r\n\r\nVue.use(Vuetify);\r\n\r\nexport default new Vuetify({\r\n icons: {}\r\n\r\n});\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport vuetify from './plugins/vuetify';\r\nimport VueNativeSock from 'vue-native-websocket';\r\nimport msgPack from 'msgpack5';\r\nimport axios from 'axios';\r\nimport VueAxios from \"vue-axios\";\r\n\r\nVue.config.productionTip = false;\r\n\r\nif (process.env.NODE_ENV === \"production\"){\r\n Vue.prototype.$address = location.host;\r\n} else if (process.env.NODE_ENV === \"development\"){\r\n Vue.prototype.$address = location.hostname + \":5800\";\r\n}\r\n\r\nconst url = 'ws://' + Vue.prototype.$address + '/websocket';\r\nvar ws = new WebSocket(url);\r\nws.binaryType = \"arraybuffer\";\r\n\r\nVue.use(VueNativeSock, url,{\r\n WebSocket: ws\r\n});\r\nVue.use(VueAxios, axios);\r\nVue.prototype.$msgPack = msgPack(true);\r\n\r\nVue.mixin({\r\n methods: {\r\n handleInput(key, value) {\r\n let msg = this.$msgPack.encode({[key]: value});\r\n this.$socket.send(msg);\r\n }\r\n }\r\n});\r\nnew Vue({\r\n router,\r\n store,\r\n vuetify,\r\n render: h => h(App)\r\n}).$mount('#app');\r\n","module.exports = __webpack_public_path__ + \"img/logo.e82307fd.png\";"],"sourceRoot":""} \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/chunk-01759076.5c267949.js b/chameleon-server/src/main/resources/web/js/chunk-01759076.5c267949.js new file mode 100644 index 000000000..184f172c1 --- /dev/null +++ b/chameleon-server/src/main/resources/web/js/chunk-01759076.5c267949.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-01759076"],{1447:function(t,e,i){"use strict";var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("v-row",{attrs:{dense:"",align:"center"}},[i("v-col",{attrs:{cols:2}},[i("span",[t._v(t._s(t.name))])]),i("v-col",{attrs:{cols:10}},[i("v-slider",{staticClass:"align-center",attrs:{value:t.localValue,dark:"",max:t.max,min:t.min,"hide-details":"",color:"#4baf62",step:t.step},on:{start:function(e){t.isClicked=!0},end:function(e){t.isClicked=!1},change:t.handleclick,input:t.handleInput},scopedSlots:t._u([{key:"append",fn:function(){return[i("v-text-field",{staticClass:"mt-0 pt-0",staticStyle:{width:"50px"},attrs:{dark:"",max:t.max,min:t.min,value:t.localValue,"hide-details":"","single-line":"",type:"number",step:t.step},on:{input:t.handleChange,focus:function(e){t.isFocused=!0},blur:function(e){t.isFocused=!1}}})]},proxy:!0}])})],1)],1)],1)},a=[],l={name:"Slider",props:["min","max","name","value","step"],data(){return{isFocused:!1,isClicked:!1}},methods:{handleChange(t){this.isFocused&&(this.localValue=parseFloat(t))},handleInput(t){!this.isFocused&&this.isClicked&&(this.localValue=t)},handleclick(t){this.isFocused||(this.localValue=t)}},computed:{localValue:{get(){return this.value},set(t){this.$emit("input",t)}}}},n=l,r=i("2877"),h=i("6544"),o=i.n(h),u=i("62ad"),c=i("0fd9"),d=i("ba0d"),m=i("8654"),p=Object(r["a"])(n,s,a,!1,null,"3505e445",null);e["a"]=p.exports;o()(p,{VCol:u["a"],VRow:c["a"],VSlider:d["a"],VTextField:m["a"]})},8384:function(t,e,i){"use strict";var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("v-row",{attrs:{dense:"",align:"center"}},[i("v-col",{attrs:{cols:3}},[i("span",[t._v(t._s(t.name))])]),i("v-col",{attrs:{cols:9}},[i("v-select",{attrs:{items:t.indexList,"item-text":"name","item-value":"index",dark:"",color:"#4baf62","item-color":"green",disabled:t.disabled},model:{value:t.localValue,callback:function(e){t.localValue=e},expression:"localValue"}})],1)],1)],1)},a=[],l={name:"Select",props:["list","name","value","disabled"],data(){return{}},computed:{localValue:{get(){return this.value},set(t){this.$emit("input",t)}},indexList(){let t=[];for(let e=0;e"boolean"===typeof t||"always"===t},thumbSize:{type:[Number,String],default:32},tickLabels:{type:Array,default:()=>[]},ticks:{type:[Boolean,String],default:!1,validator:t=>"boolean"===typeof t||"always"===t},tickSize:{type:[Number,String],default:2},trackColor:String,trackFillColor:String,value:[Number,String],vertical:Boolean},data:()=>({app:null,oldValue:null,keyPressed:0,isFocused:!1,isActive:!1,noClick:!1}),computed:{classes(){return{...s["a"].options.computed.classes.call(this),"v-input__slider":!0,"v-input__slider--vertical":this.vertical,"v-input__slider--inverse-label":this.inverseLabel}},internalValue:{get(){return this.lazyValue},set(t){t=isNaN(t)?this.minValue:t;const e=this.roundValue(Math.min(Math.max(t,this.minValue),this.maxValue));e!==this.lazyValue&&(this.lazyValue=e,this.$emit("input",e))}},trackTransition(){return this.keyPressed>=2?"none":""},minValue(){return parseFloat(this.min)},maxValue(){return parseFloat(this.max)},stepNumeric(){return this.step>0?parseFloat(this.step):0},inputWidth(){const t=(this.roundValue(this.internalValue)-this.minValue)/(this.maxValue-this.minValue)*100;return t},trackFillStyles(){const t=this.vertical?"bottom":"left",e=this.vertical?"top":"right",i=this.vertical?"height":"width",s=this.$vuetify.rtl?"auto":"0",a=this.$vuetify.rtl?"0":"auto",l=this.disabled?`calc(${this.inputWidth}% - 10px)`:`${this.inputWidth}%`;return{transition:this.trackTransition,[t]:s,[e]:a,[i]:l}},trackStyles(){const t=this.vertical?this.$vuetify.rtl?"bottom":"top":this.$vuetify.rtl?"left":"right",e=this.vertical?"height":"width",i="0px",s=this.disabled?`calc(${100-this.inputWidth}% - 10px)`:`calc(${100-this.inputWidth}%)`;return{transition:this.trackTransition,[t]:i,[e]:s}},showTicks(){return this.tickLabels.length>0||!(this.disabled||!this.stepNumeric||!this.ticks)},numTicks(){return Math.ceil((this.maxValue-this.minValue)/this.stepNumeric)},showThumbLabel(){return!this.disabled&&!(!this.thumbLabel&&!this.$scopedSlots["thumb-label"])},computedTrackColor(){if(!this.disabled)return this.trackColor?this.trackColor:this.isDark?this.validationState:this.validationState||"primary lighten-3"},computedTrackFillColor(){if(!this.disabled)return this.trackFillColor?this.trackFillColor:this.validationState||this.computedColor},computedThumbColor(){return this.thumbColor?this.thumbColor:this.validationState||this.computedColor}},watch:{min(t){const e=parseFloat(t);e>this.internalValue&&this.$emit("input",e)},max(t){const e=parseFloat(t);e{const a=this.$vuetify.rtl?this.maxValue-e:e,l=[];this.tickLabels[a]&&l.push(this.$createElement("div",{staticClass:"v-slider__tick-label"},this.tickLabels[a]));const n=e*(100/this.numTicks),r=this.$vuetify.rtl?100-this.inputWidth0}},a)},genThumbContainer(t,e,i,s,a,l,n,r="thumb"){const h=[this.genThumb()],o=this.genThumbLabelContent(t);return this.showThumbLabel&&h.push(this.genThumbLabel(o)),this.$createElement("div",this.setTextColor(this.computedThumbColor,{ref:r,staticClass:"v-slider__thumb-container",class:{"v-slider__thumb-container--active":i,"v-slider__thumb-container--focused":s,"v-slider__thumb-container--show-label":this.showThumbLabel},style:this.getThumbContainerStyles(e),attrs:{role:"slider",tabindex:this.disabled||this.readonly?-1:this.$attrs.tabindex?this.$attrs.tabindex:0,"aria-label":this.label,"aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this.internalValue,"aria-readonly":String(this.readonly),"aria-orientation":this.vertical?"vertical":"horizontal",...this.$attrs},on:{focus:l,blur:n,keydown:this.onKeyDown,keyup:this.onKeyUp,touchstart:a,mousedown:a}}),h)},genThumbLabelContent(t){return this.$scopedSlots["thumb-label"]?this.$scopedSlots["thumb-label"]({value:t}):[this.$createElement("span",[String(t)])]},genThumbLabel(t){const e=Object(h["f"])(this.thumbSize),i=this.vertical?`translateY(20%) translateY(${Number(this.thumbSize)/3-1}px) translateX(55%) rotate(135deg)`:"translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)";return this.$createElement(a["e"],{props:{origin:"bottom center"}},[this.$createElement("div",{staticClass:"v-slider__thumb-label-container",directives:[{name:"show",value:this.isFocused||this.isActive||"always"===this.thumbLabel}]},[this.$createElement("div",this.setBackgroundColor(this.computedThumbColor,{staticClass:"v-slider__thumb-label",style:{height:e,width:e,transform:i}}),[this.$createElement("div",t)])])])},genThumb(){return this.$createElement("div",this.setBackgroundColor(this.computedThumbColor,{staticClass:"v-slider__thumb"}))},getThumbContainerStyles(t){const e=this.vertical?"top":"left";let i=this.$vuetify.rtl?100-t:t;return i=this.vertical?100-i:i,{transition:this.trackTransition,[e]:`${i}%`}},onThumbMouseDown(t){this.oldValue=this.internalValue,this.keyPressed=2,this.isActive=!0;const e=!h["w"]||{passive:!0,capture:!0},i=!!h["w"]&&{passive:!0};"touches"in t?(this.app.addEventListener("touchmove",this.onMouseMove,i),Object(h["a"])(this.app,"touchend",this.onSliderMouseUp,e)):(this.app.addEventListener("mousemove",this.onMouseMove,i),Object(h["a"])(this.app,"mouseup",this.onSliderMouseUp,e)),this.$emit("start",this.internalValue)},onSliderMouseUp(t){t.stopPropagation(),this.keyPressed=0;const e=!!h["w"]&&{passive:!0};this.app.removeEventListener("touchmove",this.onMouseMove,e),this.app.removeEventListener("mousemove",this.onMouseMove,e),this.$emit("end",this.internalValue),Object(h["i"])(this.oldValue,this.internalValue)||(this.$emit("change",this.internalValue),this.noClick=!0),this.isActive=!1},onMouseMove(t){const{value:e}=this.parseMouseMove(t);this.internalValue=e},onKeyDown(t){if(this.disabled||this.readonly)return;const e=this.parseKeyDown(t,this.internalValue);null!=e&&(this.internalValue=e,this.$emit("change",e))},onKeyUp(){this.keyPressed=0},onSliderClick(t){if(this.noClick)return void(this.noClick=!1);const e=this.$refs.thumb;e.focus(),this.onMouseMove(t),this.$emit("change",this.internalValue)},onBlur(t){this.isFocused=!1,this.$emit("blur",t)},onFocus(t){this.isFocused=!0,this.$emit("focus",t)},parseMouseMove(t){const e=this.vertical?"top":"left",i=this.vertical?"height":"width",s=this.vertical?"clientY":"clientX",{[e]:a,[i]:l}=this.$refs.track.getBoundingClientRect(),n="touches"in t?t.touches[0][s]:t[s];let r=Math.min(Math.max((n-a)/l,0),1)||0;this.vertical&&(r=1-r),this.$vuetify.rtl&&(r=1-r);const h=n>=a&&n<=a+l,o=parseFloat(this.min)+r*(this.maxValue-this.minValue);return{value:o,isInsideTrack:h}},parseKeyDown(t,e){if(this.disabled)return;const{pageup:i,pagedown:s,end:a,home:l,left:n,right:r,down:o,up:u}=h["s"];if(![i,s,a,l,n,r,o,u].includes(t.keyCode))return;t.preventDefault();const c=this.stepNumeric||1,d=(this.maxValue-this.minValue)/c;if([n,r,o,u].includes(t.keyCode)){this.keyPressed+=1;const i=this.$vuetify.rtl?[n,u]:[r,u],s=i.includes(t.keyCode)?1:-1,a=t.shiftKey?3:t.ctrlKey?2:1;e+=s*c*a}else if(t.keyCode===l)e=this.minValue;else if(t.keyCode===a)e=this.maxValue;else{const i=t.keyCode===s?1:-1;e-=i*c*(d>100?d/10:10)}return e},roundValue(t){if(!this.stepNumeric)return t;const e=this.step.toString().trim(),i=e.indexOf(".")>-1?e.length-e.indexOf(".")-1:0,s=this.minValue%this.stepNumeric,a=Math.round((t-s)/this.stepNumeric)*this.stepNumeric+s;return parseFloat(Math.min(a,this.maxValue).toFixed(i))}}})}}]); +//# sourceMappingURL=chunk-01759076.5c267949.js.map \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/chunk-01759076.5c267949.js.map b/chameleon-server/src/main/resources/web/js/chunk-01759076.5c267949.js.map new file mode 100644 index 000000000..f8252065e --- /dev/null +++ b/chameleon-server/src/main/resources/web/js/chunk-01759076.5c267949.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/cv-slider.vue?ed8b","webpack:///src/components/cv-slider.vue","webpack:///./src/components/cv-slider.vue?27ec","webpack:///./src/components/cv-slider.vue","webpack:///./src/components/cv-select.vue?fe57","webpack:///src/components/cv-select.vue","webpack:///./src/components/cv-select.vue?97cd","webpack:///./src/components/cv-select.vue","webpack:///./node_modules/vuetify/lib/components/VSlider/VSlider.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","_v","_s","name","staticClass","localValue","max","min","step","on","$event","isClicked","handleclick","handleInput","scopedSlots","_u","key","fn","staticStyle","handleChange","isFocused","proxy","staticRenderFns","component","VCol","VRow","VSlider","VTextField","indexList","disabled","model","value","callback","$$v","expression","VSelect","extend","directives","ClickOutside","mixins","props","Boolean","inverseLabel","type","Number","String","default","thumbColor","thumbLabel","undefined","validator","v","thumbSize","tickLabels","Array","ticks","tickSize","trackColor","trackFillColor","vertical","data","app","oldValue","keyPressed","isActive","noClick","computed","options","classes","call","internalValue","lazyValue","val","isNaN","minValue","roundValue","Math","maxValue","$emit","parseFloat","startDir","endDir","valueDir","start","$vuetify","rtl","end","inputWidth","transition","trackTransition","length","stepNumeric","ceil","$scopedSlots","isDark","validationState","computedColor","watch","parsed","document","querySelector","methods","children","genLabel","slider","genSlider","unshift","push","genProgress","class","readonly","themeClasses","onBlur","click","onSliderClick","genChildren","genInput","genTrackContainer","genSteps","genThumbContainer","onThumbMouseDown","onFocus","id","computedId","tabindex","$attrs","setBackgroundColor","computedTrackColor","style","trackStyles","computedTrackFillColor","trackFillStyles","ref","showTicks","range","numTicks","direction","offsetDirection","reverse","map","i","index","width","filled","height","valueWidth","onDrag","genThumb","thumbLabelContent","genThumbLabelContent","showThumbLabel","genThumbLabel","setTextColor","computedThumbColor","getThumbContainerStyles","role","label","focus","blur","keydown","onKeyDown","keyup","onKeyUp","touchstart","mousedown","content","size","transform","origin","e","mouseUpOptions","passive","capture","mouseMoveOptions","addEventListener","onMouseMove","onSliderMouseUp","stopPropagation","removeEventListener","parseMouseMove","parseKeyDown","thumb","$refs","trackStart","trackLength","track","getBoundingClientRect","clickOffset","touches","clickPos","isInsideTrack","pageup","pagedown","home","left","right","down","up","includes","keyCode","preventDefault","steps","increase","multiplier","shiftKey","ctrlKey","trimmedStep","toString","trim","decimals","indexOf","offset","newValue","round","toFixed"],"mappings":"gHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,CAACF,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,WAAWL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,CAACF,EAAG,WAAW,CAACM,YAAY,eAAeJ,MAAM,CAAC,MAAQN,EAAIW,WAAW,KAAO,GAAG,IAAMX,EAAIY,IAAI,IAAMZ,EAAIa,IAAI,eAAe,GAAG,MAAQ,UAAU,KAAOb,EAAIc,MAAMC,GAAG,CAAC,MAAQ,SAASC,GAAQhB,EAAIiB,WAAY,GAAM,IAAM,SAASD,GAAQhB,EAAIiB,WAAY,GAAO,OAASjB,EAAIkB,YAAY,MAAQlB,EAAImB,aAAaC,YAAYpB,EAAIqB,GAAG,CAAC,CAACC,IAAI,SAASC,GAAG,WAAW,MAAO,CAACnB,EAAG,eAAe,CAACM,YAAY,YAAYc,YAAY,CAAC,MAAQ,QAAQlB,MAAM,CAAC,KAAO,GAAG,IAAMN,EAAIY,IAAI,IAAMZ,EAAIa,IAAI,MAAQb,EAAIW,WAAW,eAAe,GAAG,cAAc,GAAG,KAAO,SAAS,KAAOX,EAAIc,MAAMC,GAAG,CAAC,MAAQf,EAAIyB,aAAa,MAAQ,SAAST,GAAQhB,EAAI0B,WAAY,GAAM,KAAO,SAASV,GAAQhB,EAAI0B,WAAY,QAAYC,OAAM,QAAW,IAAI,IAAI,IACt9BC,EAAkB,GCqBtB,GACI,KAAJ,SACI,MAAJ,oCACI,OACI,MAAR,CACY,WAAZ,EACY,WAAZ,IAGI,QAAJ,CACQ,aAAR,GACA,iBACgB,KAAhB,2BAGQ,YAAR,IACA,iCACgB,KAAhB,eAGQ,YAAR,GACA,iBACgB,KAAhB,gBAII,SAAJ,CACQ,WAAR,CACY,MACI,OAAhB,YAEY,IAAZ,GACgB,KAAhB,qBCtD6P,I,iFCOzPC,EAAY,eACd,EACA9B,EACA6B,GACA,EACA,KACA,WACA,MAIa,OAAAC,EAAiB,QAQhC,IAAkBA,EAAW,CAACC,OAAA,KAAKC,OAAA,KAAKC,UAAA,KAAQC,aAAA,Q,kCC1BhD,IAAIlC,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,CAACF,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,WAAWL,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAI,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIkC,UAAU,YAAY,OAAO,aAAa,QAAQ,KAAO,GAAG,MAAQ,UAAU,aAAa,QAAQ,SAAWlC,EAAImC,UAAUC,MAAM,CAACC,MAAOrC,EAAc,WAAEsC,SAAS,SAAUC,GAAMvC,EAAIW,WAAW4B,GAAKC,WAAW,iBAAiB,IAAI,IAAI,IAC3gBZ,EAAkB,GCctB,GACI,KAAJ,SACI,MAAJ,mCACI,OACI,MAAR,IAEI,SAAJ,CACQ,WAAR,CACY,MACI,OAAhB,YAEY,IAAZ,GACgB,KAAhB,mBAGQ,YACI,IAAZ,KACY,IAAZ,+BACgB,EAAhB,MACoB,KAApB,aACoB,MAApB,IAGY,OAAZ,KCtC6P,I,qECOzPC,EAAY,eACd,EACA9B,EACA6B,GACA,EACA,KACA,KACA,MAIa,OAAAC,EAAiB,QAOhC,IAAkBA,EAAW,CAACC,OAAA,KAAKC,OAAA,KAAKU,UAAA,Q,2DCzBxC,kGAYe,sBAAO,OAAQ,QAE5BC,OAAO,CACPjC,KAAM,WACNkC,WAAY,CACVC,aAAA,QAEFC,OAAQ,CAAC,QACTC,MAAO,CACLX,SAAUY,QACVC,aAAcD,QACdnC,IAAK,CACHqC,KAAM,CAACC,OAAQC,QACfC,QAAS,KAEXvC,IAAK,CACHoC,KAAM,CAACC,OAAQC,QACfC,QAAS,GAEXtC,KAAM,CACJmC,KAAM,CAACC,OAAQC,QACfC,QAAS,GAEXC,WAAYF,OACZG,WAAY,CACVL,KAAM,CAACF,QAASI,QAChBC,aAASG,EACTC,UAAWC,GAAkB,mBAANA,GAAyB,WAANA,GAE5CC,UAAW,CACTT,KAAM,CAACC,OAAQC,QACfC,QAAS,IAEXO,WAAY,CACVV,KAAMW,MACNR,QAAS,IAAM,IAEjBS,MAAO,CACLZ,KAAM,CAACF,QAASI,QAChBC,SAAS,EACTI,UAAWC,GAAkB,mBAANA,GAAyB,WAANA,GAE5CK,SAAU,CACRb,KAAM,CAACC,OAAQC,QACfC,QAAS,GAEXW,WAAYZ,OACZa,eAAgBb,OAChBd,MAAO,CAACa,OAAQC,QAChBc,SAAUlB,SAEZmB,KAAM,KAAM,CACVC,IAAK,KACLC,SAAU,KACVC,WAAY,EACZ3C,WAAW,EACX4C,UAAU,EACVC,SAAS,IAEXC,SAAU,CACR,UACE,MAAO,IAAK,OAAOC,QAAQD,SAASE,QAAQC,KAAK1E,MAC/C,mBAAmB,EACnB,4BAA6BA,KAAKgE,SAClC,iCAAkChE,KAAK+C,eAI3C4B,cAAe,CACb,MACE,OAAO3E,KAAK4E,WAGd,IAAIC,GACFA,EAAMC,MAAMD,GAAO7E,KAAK+E,SAAWF,EAInC,MAAMzC,EAAQpC,KAAKgF,WAAWC,KAAKrE,IAAIqE,KAAKtE,IAAIkE,EAAK7E,KAAK+E,UAAW/E,KAAKkF,WACtE9C,IAAUpC,KAAK4E,YACnB5E,KAAK4E,UAAYxC,EACjBpC,KAAKmF,MAAM,QAAS/C,MAKxB,kBACE,OAAOpC,KAAKoE,YAAc,EAAI,OAAS,IAGzC,WACE,OAAOgB,WAAWpF,KAAKY,MAGzB,WACE,OAAOwE,WAAWpF,KAAKW,MAGzB,cACE,OAAOX,KAAKa,KAAO,EAAIuE,WAAWpF,KAAKa,MAAQ,GAGjD,aACE,MAAMuB,GAASpC,KAAKgF,WAAWhF,KAAK2E,eAAiB3E,KAAK+E,WAAa/E,KAAKkF,SAAWlF,KAAK+E,UAAY,IACxG,OAAO3C,GAGT,kBACE,MAAMiD,EAAWrF,KAAKgE,SAAW,SAAW,OACtCsB,EAAStF,KAAKgE,SAAW,MAAQ,QACjCuB,EAAWvF,KAAKgE,SAAW,SAAW,QACtCwB,EAAQxF,KAAKyF,SAASC,IAAM,OAAS,IACrCC,EAAM3F,KAAKyF,SAASC,IAAM,IAAM,OAChCtD,EAAQpC,KAAKkC,SAAW,QAAQlC,KAAK4F,sBAAwB,GAAG5F,KAAK4F,cAC3E,MAAO,CACLC,WAAY7F,KAAK8F,gBACjB,CAACT,GAAWG,EACZ,CAACF,GAASK,EACV,CAACJ,GAAWnD,IAIhB,cACE,MAAMiD,EAAWrF,KAAKgE,SAAWhE,KAAKyF,SAASC,IAAM,SAAW,MAAQ1F,KAAKyF,SAASC,IAAM,OAAS,QAC/FJ,EAAStF,KAAKgE,SAAW,SAAW,QACpCwB,EAAQ,MACRG,EAAM3F,KAAKkC,SAAW,QAAQ,IAAMlC,KAAK4F,sBAAwB,QAAQ,IAAM5F,KAAK4F,eAC1F,MAAO,CACLC,WAAY7F,KAAK8F,gBACjB,CAACT,GAAWG,EACZ,CAACF,GAASK,IAId,YACE,OAAO3F,KAAK0D,WAAWqC,OAAS,KAAS/F,KAAKkC,WAAYlC,KAAKgG,cAAehG,KAAK4D,QAGrF,WACE,OAAOqB,KAAKgB,MAAMjG,KAAKkF,SAAWlF,KAAK+E,UAAY/E,KAAKgG,cAG1D,iBACE,OAAQhG,KAAKkC,aAAelC,KAAKqD,aAAcrD,KAAKkG,aAAa,iBAGnE,qBACE,IAAIlG,KAAKkC,SACT,OAAIlC,KAAK8D,WAAmB9D,KAAK8D,WAC7B9D,KAAKmG,OAAenG,KAAKoG,gBACtBpG,KAAKoG,iBAAmB,qBAGjC,yBACE,IAAIpG,KAAKkC,SACT,OAAIlC,KAAK+D,eAAuB/D,KAAK+D,eAC9B/D,KAAKoG,iBAAmBpG,KAAKqG,eAGtC,qBACE,OAAIrG,KAAKoD,WAAmBpD,KAAKoD,WAC1BpD,KAAKoG,iBAAmBpG,KAAKqG,gBAIxCC,MAAO,CACL,IAAIzB,GACF,MAAM0B,EAASnB,WAAWP,GAC1B0B,EAASvG,KAAK2E,eAAiB3E,KAAKmF,MAAM,QAASoB,IAGrD,IAAI1B,GACF,MAAM0B,EAASnB,WAAWP,GAC1B0B,EAASvG,KAAK2E,eAAiB3E,KAAKmF,MAAM,QAASoB,IAGrDnE,MAAO,CACL,QAAQoB,GACNxD,KAAK2E,cAAgBnB,KAS3B,cACExD,KAAK2E,cAAgB3E,KAAKoC,OAG5B,UAEEpC,KAAKkE,IAAMsC,SAASC,cAAc,eAAiB,eAAY,6EAA8EzG,OAG/I0G,QAAS,CACP,iBACE,MAAMC,EAAW,CAAC3G,KAAK4G,YACjBC,EAAS7G,KAAK8G,YAGpB,OAFA9G,KAAK+C,aAAe4D,EAASI,QAAQF,GAAUF,EAASK,KAAKH,GAC7DF,EAASK,KAAKhH,KAAKiH,eACZN,GAGT,YACE,OAAO3G,KAAKE,eAAe,MAAO,CAChCgH,MAAO,CACL,YAAY,EACZ,wBAAyBlH,KAAKgE,SAC9B,qBAAsBhE,KAAKgE,SAC3B,oBAAqBhE,KAAKyB,UAC1B,mBAAoBzB,KAAKqE,SACzB,qBAAsBrE,KAAKkC,SAC3B,qBAAsBlC,KAAKmH,YACxBnH,KAAKoH,cAEV1E,WAAY,CAAC,CACXlC,KAAM,gBACN4B,MAAOpC,KAAKqH,SAEdvG,GAAI,CACFwG,MAAOtH,KAAKuH,gBAEbvH,KAAKwH,gBAGV,cACE,MAAO,CAACxH,KAAKyH,WAAYzH,KAAK0H,oBAAqB1H,KAAK2H,WAAY3H,KAAK4H,kBAAkB5H,KAAK2E,cAAe3E,KAAK4F,WAAY5F,KAAKqE,SAAUrE,KAAKyB,UAAWzB,KAAK6H,iBAAkB7H,KAAK8H,QAAS9H,KAAKqH,UAG3M,WACE,OAAOrH,KAAKE,eAAe,QAAS,CAClCG,MAAO,CACL+B,MAAOpC,KAAK2E,cACZoD,GAAI/H,KAAKgI,WACT9F,SAAUlC,KAAKkC,SACfiF,UAAU,EACVc,UAAW,KACRjI,KAAKkI,WAKd,oBACE,MAAMvB,EAAW,CAAC3G,KAAKE,eAAe,MAAOF,KAAKmI,mBAAmBnI,KAAKoI,mBAAoB,CAC5F3H,YAAa,6BACb4H,MAAOrI,KAAKsI,eACTtI,KAAKE,eAAe,MAAOF,KAAKmI,mBAAmBnI,KAAKuI,uBAAwB,CACnF9H,YAAa,uBACb4H,MAAOrI,KAAKwI,oBAEd,OAAOxI,KAAKE,eAAe,MAAO,CAChCO,YAAa,4BACbgI,IAAK,SACJ9B,IAGL,WACE,IAAK3G,KAAKa,OAASb,KAAK0I,UAAW,OAAO,KAC1C,MAAM7E,EAAWuB,WAAWpF,KAAK6D,UAC3B8E,EAAQ,eAAY3I,KAAK4I,SAAW,GACpCC,EAAY7I,KAAKgE,SAAW,SAAW,OACvC8E,EAAkB9I,KAAKgE,SAAW,QAAU,MAC9ChE,KAAKgE,UAAU2E,EAAMI,UACzB,MAAMnF,EAAQ+E,EAAMK,IAAIC,IACtB,MAAMC,EAAQlJ,KAAKyF,SAASC,IAAM1F,KAAKkF,SAAW+D,EAAIA,EAChDtC,EAAW,GAEb3G,KAAK0D,WAAWwF,IAClBvC,EAASK,KAAKhH,KAAKE,eAAe,MAAO,CACvCO,YAAa,wBACZT,KAAK0D,WAAWwF,KAGrB,MAAMC,EAAQF,GAAK,IAAMjJ,KAAK4I,UACxBQ,EAASpJ,KAAKyF,SAASC,IAAM,IAAM1F,KAAK4F,WAAauD,EAAQA,EAAQnJ,KAAK4F,WAChF,OAAO5F,KAAKE,eAAe,OAAQ,CACjCmB,IAAK4H,EACLxI,YAAa,iBACbyG,MAAO,CACL,yBAA0BkC,GAE5Bf,MAAO,CACLc,MAAO,GAAGtF,MACVwF,OAAQ,GAAGxF,MACX,CAACgF,GAAY,QAAQM,QAAYtF,EAAW,OAC5C,CAACiF,GAAkB,cAAcjF,EAAW,SAE7C8C,KAEL,OAAO3G,KAAKE,eAAe,MAAO,CAChCO,YAAa,4BACbyG,MAAO,CACL,yCAAyD,WAAflH,KAAK4D,OAAsB5D,KAAK0D,WAAWqC,OAAS,IAE/FnC,IAGL,kBAAkBxB,EAAOkH,EAAYjF,EAAU5C,EAAW8H,EAAQzB,EAAST,EAAQoB,EAAM,SACvF,MAAM9B,EAAW,CAAC3G,KAAKwJ,YACjBC,EAAoBzJ,KAAK0J,qBAAqBtH,GAEpD,OADApC,KAAK2J,gBAAkBhD,EAASK,KAAKhH,KAAK4J,cAAcH,IACjDzJ,KAAKE,eAAe,MAAOF,KAAK6J,aAAa7J,KAAK8J,mBAAoB,CAC3ErB,MACAhI,YAAa,4BACbyG,MAAO,CACL,oCAAqC7C,EACrC,qCAAsC5C,EACtC,wCAAyCzB,KAAK2J,gBAEhDtB,MAAOrI,KAAK+J,wBAAwBT,GACpCjJ,MAAO,CACL2J,KAAM,SACN/B,SAAUjI,KAAKkC,UAAYlC,KAAKmH,UAAY,EAAInH,KAAKkI,OAAOD,SAAWjI,KAAKkI,OAAOD,SAAW,EAC9F,aAAcjI,KAAKiK,MACnB,gBAAiBjK,KAAKY,IACtB,gBAAiBZ,KAAKW,IACtB,gBAAiBX,KAAK2E,cACtB,gBAAiBzB,OAAOlD,KAAKmH,UAC7B,mBAAoBnH,KAAKgE,SAAW,WAAa,gBAC9ChE,KAAKkI,QAEVpH,GAAI,CACFoJ,MAAOpC,EACPqC,KAAM9C,EACN+C,QAASpK,KAAKqK,UACdC,MAAOtK,KAAKuK,QACZC,WAAYjB,EACZkB,UAAWlB,KAEX5C,IAGN,qBAAqBvE,GACnB,OAAOpC,KAAKkG,aAAa,eAAiBlG,KAAKkG,aAAa,eAAe,CACzE9D,UACG,CAACpC,KAAKE,eAAe,OAAQ,CAACgD,OAAOd,OAG5C,cAAcsI,GACZ,MAAMC,EAAO,eAAc3K,KAAKyD,WAC1BmH,EAAY5K,KAAKgE,SAAW,8BAA8Bf,OAAOjD,KAAKyD,WAAa,EAAI,sCAAwC,oEACrI,OAAOzD,KAAKE,eAAe,OAAkB,CAC3C2C,MAAO,CACLgI,OAAQ,kBAET,CAAC7K,KAAKE,eAAe,MAAO,CAC7BO,YAAa,kCACbiC,WAAY,CAAC,CACXlC,KAAM,OACN4B,MAAOpC,KAAKyB,WAAazB,KAAKqE,UAAgC,WAApBrE,KAAKqD,cAEhD,CAACrD,KAAKE,eAAe,MAAOF,KAAKmI,mBAAmBnI,KAAK8J,mBAAoB,CAC9ErJ,YAAa,wBACb4H,MAAO,CACLgB,OAAQsB,EACRxB,MAAOwB,EACPC,eAEA,CAAC5K,KAAKE,eAAe,MAAOwK,UAGlC,WACE,OAAO1K,KAAKE,eAAe,MAAOF,KAAKmI,mBAAmBnI,KAAK8J,mBAAoB,CACjFrJ,YAAa,sBAIjB,wBAAwB0I,GACtB,MAAMN,EAAY7I,KAAKgE,SAAW,MAAQ,OAC1C,IAAI5B,EAAQpC,KAAKyF,SAASC,IAAM,IAAMyD,EAAQA,EAE9C,OADA/G,EAAQpC,KAAKgE,SAAW,IAAM5B,EAAQA,EAC/B,CACLyD,WAAY7F,KAAK8F,gBACjB,CAAC+C,GAAY,GAAGzG,OAIpB,iBAAiB0I,GACf9K,KAAKmE,SAAWnE,KAAK2E,cACrB3E,KAAKoE,WAAa,EAClBpE,KAAKqE,UAAW,EAChB,MAAM0G,GAAiB,QAAmB,CACxCC,SAAS,EACTC,SAAS,GAELC,IAAmB,QAAmB,CAC1CF,SAAS,GAGP,YAAaF,GACf9K,KAAKkE,IAAIiH,iBAAiB,YAAanL,KAAKoL,YAAaF,GACzD,eAAqBlL,KAAKkE,IAAK,WAAYlE,KAAKqL,gBAAiBN,KAEjE/K,KAAKkE,IAAIiH,iBAAiB,YAAanL,KAAKoL,YAAaF,GACzD,eAAqBlL,KAAKkE,IAAK,UAAWlE,KAAKqL,gBAAiBN,IAGlE/K,KAAKmF,MAAM,QAASnF,KAAK2E,gBAG3B,gBAAgBmG,GACdA,EAAEQ,kBACFtL,KAAKoE,WAAa,EAClB,MAAM8G,IAAmB,QAAmB,CAC1CF,SAAS,GAEXhL,KAAKkE,IAAIqH,oBAAoB,YAAavL,KAAKoL,YAAaF,GAC5DlL,KAAKkE,IAAIqH,oBAAoB,YAAavL,KAAKoL,YAAaF,GAC5DlL,KAAKmF,MAAM,MAAOnF,KAAK2E,eAElB,eAAU3E,KAAKmE,SAAUnE,KAAK2E,iBACjC3E,KAAKmF,MAAM,SAAUnF,KAAK2E,eAC1B3E,KAAKsE,SAAU,GAGjBtE,KAAKqE,UAAW,GAGlB,YAAYyG,GACV,MAAM,MACJ1I,GACEpC,KAAKwL,eAAeV,GACxB9K,KAAK2E,cAAgBvC,GAGvB,UAAU0I,GACR,GAAI9K,KAAKkC,UAAYlC,KAAKmH,SAAU,OACpC,MAAM/E,EAAQpC,KAAKyL,aAAaX,EAAG9K,KAAK2E,eAC3B,MAATvC,IACJpC,KAAK2E,cAAgBvC,EACrBpC,KAAKmF,MAAM,SAAU/C,KAGvB,UACEpC,KAAKoE,WAAa,GAGpB,cAAc0G,GACZ,GAAI9K,KAAKsE,QAEP,YADAtE,KAAKsE,SAAU,GAIjB,MAAMoH,EAAQ1L,KAAK2L,MAAMD,MACzBA,EAAMxB,QACNlK,KAAKoL,YAAYN,GACjB9K,KAAKmF,MAAM,SAAUnF,KAAK2E,gBAG5B,OAAOmG,GACL9K,KAAKyB,WAAY,EACjBzB,KAAKmF,MAAM,OAAQ2F,IAGrB,QAAQA,GACN9K,KAAKyB,WAAY,EACjBzB,KAAKmF,MAAM,QAAS2F,IAGtB,eAAeA,GACb,MAAMtF,EAAQxF,KAAKgE,SAAW,MAAQ,OAChC+B,EAAS/F,KAAKgE,SAAW,SAAW,QACpCsD,EAAQtH,KAAKgE,SAAW,UAAY,WAExC,CAACwB,GAAQoG,EACT,CAAC7F,GAAS8F,GACR7L,KAAK2L,MAAMG,MAAMC,wBACfC,EAAc,YAAalB,EAAIA,EAAEmB,QAAQ,GAAG3E,GAASwD,EAAExD,GAG7D,IAAI4E,EAAWjH,KAAKrE,IAAIqE,KAAKtE,KAAKqL,EAAcJ,GAAcC,EAAa,GAAI,IAAM,EACjF7L,KAAKgE,WAAUkI,EAAW,EAAIA,GAC9BlM,KAAKyF,SAASC,MAAKwG,EAAW,EAAIA,GACtC,MAAMC,EAAgBH,GAAeJ,GAAcI,GAAeJ,EAAaC,EACzEzJ,EAAQgD,WAAWpF,KAAKY,KAAOsL,GAAYlM,KAAKkF,SAAWlF,KAAK+E,UACtE,MAAO,CACL3C,QACA+J,kBAIJ,aAAarB,EAAG1I,GACd,GAAIpC,KAAKkC,SAAU,OACnB,MAAM,OACJkK,EAAM,SACNC,EAAQ,IACR1G,EAAG,KACH2G,EAAI,KACJC,EAAI,MACJC,EAAK,KACLC,EAAI,GACJC,GACE,OACJ,IAAK,CAACN,EAAQC,EAAU1G,EAAK2G,EAAMC,EAAMC,EAAOC,EAAMC,GAAIC,SAAS7B,EAAE8B,SAAU,OAC/E9B,EAAE+B,iBACF,MAAMhM,EAAOb,KAAKgG,aAAe,EAC3B8G,GAAS9M,KAAKkF,SAAWlF,KAAK+E,UAAYlE,EAEhD,GAAI,CAAC0L,EAAMC,EAAOC,EAAMC,GAAIC,SAAS7B,EAAE8B,SAAU,CAC/C5M,KAAKoE,YAAc,EACnB,MAAM2I,EAAW/M,KAAKyF,SAASC,IAAM,CAAC6G,EAAMG,GAAM,CAACF,EAAOE,GACpD7D,EAAYkE,EAASJ,SAAS7B,EAAE8B,SAAW,GAAK,EAChDI,EAAalC,EAAEmC,SAAW,EAAInC,EAAEoC,QAAU,EAAI,EACpD9K,GAAgByG,EAAYhI,EAAOmM,OAC9B,GAAIlC,EAAE8B,UAAYN,EACvBlK,EAAQpC,KAAK+E,cACR,GAAI+F,EAAE8B,UAAYjH,EACvBvD,EAAQpC,KAAKkF,aACR,CACL,MAAM2D,EAAYiC,EAAE8B,UAAYP,EAAW,GAAK,EAChDjK,GAAgByG,EAAYhI,GAAQiM,EAAQ,IAAMA,EAAQ,GAAK,IAGjE,OAAO1K,GAGT,WAAWA,GACT,IAAKpC,KAAKgG,YAAa,OAAO5D,EAG9B,MAAM+K,EAAcnN,KAAKa,KAAKuM,WAAWC,OACnCC,EAAWH,EAAYI,QAAQ,MAAQ,EAAIJ,EAAYpH,OAASoH,EAAYI,QAAQ,KAAO,EAAI,EAC/FC,EAASxN,KAAK+E,SAAW/E,KAAKgG,YAC9ByH,EAAWxI,KAAKyI,OAAOtL,EAAQoL,GAAUxN,KAAKgG,aAAehG,KAAKgG,YAAcwH,EACtF,OAAOpI,WAAWH,KAAKrE,IAAI6M,EAAUzN,KAAKkF,UAAUyI,QAAQL","file":"js/chunk-01759076.5c267949.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":2}},[_c('span',[_vm._v(_vm._s(_vm.name))])]),_c('v-col',{attrs:{\"cols\":10}},[_c('v-slider',{staticClass:\"align-center\",attrs:{\"value\":_vm.localValue,\"dark\":\"\",\"max\":_vm.max,\"min\":_vm.min,\"hide-details\":\"\",\"color\":\"#4baf62\",\"step\":_vm.step},on:{\"start\":function($event){_vm.isClicked = true},\"end\":function($event){_vm.isClicked = false},\"change\":_vm.handleclick,\"input\":_vm.handleInput},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-text-field',{staticClass:\"mt-0 pt-0\",staticStyle:{\"width\":\"50px\"},attrs:{\"dark\":\"\",\"max\":_vm.max,\"min\":_vm.min,\"value\":_vm.localValue,\"hide-details\":\"\",\"single-line\":\"\",\"type\":\"number\",\"step\":_vm.step},on:{\"input\":_vm.handleChange,\"focus\":function($event){_vm.isFocused = true},\"blur\":function($event){_vm.isFocused = false}}})]},proxy:true}])})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./cv-slider.vue?vue&type=template&id=3505e445&scoped=true&\"\nimport script from \"./cv-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./cv-slider.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3505e445\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlider } from 'vuetify/lib/components/VSlider';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VSlider,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":3}},[_c('span',[_vm._v(_vm._s(_vm.name))])]),_c('v-col',{attrs:{\"cols\":9}},[_c('v-select',{attrs:{\"items\":_vm.indexList,\"item-text\":\"name\",\"item-value\":\"index\",\"dark\":\"\",\"color\":\"#4baf62\",\"item-color\":\"green\",\"disabled\":_vm.disabled},model:{value:(_vm.localValue),callback:function ($$v) {_vm.localValue=$$v},expression:\"localValue\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/vuetify-loader/lib/loader.js??ref--18-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-select.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./cv-select.vue?vue&type=template&id=818a5508&\"\nimport script from \"./cv-select.vue?vue&type=script&lang=js&\"\nexport * from \"./cv-select.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VCol,VRow,VSelect})\n","import \"../../../src/components/VSlider/VSlider.sass\"; // Components\n\nimport VInput from '../VInput';\nimport { VScaleTransition } from '../transitions'; // Mixins\n\nimport mixins from '../../util/mixins';\nimport Loadable from '../../mixins/loadable'; // Directives\n\nimport ClickOutside from '../../directives/click-outside'; // Helpers\n\nimport { addOnceEventListener, deepEqual, keyCodes, createRange, convertToUnit, passiveSupported } from '../../util/helpers';\nimport { consoleWarn } from '../../util/console';\nexport default mixins(VInput, Loadable\n/* @vue/component */\n).extend({\n name: 'v-slider',\n directives: {\n ClickOutside\n },\n mixins: [Loadable],\n props: {\n disabled: Boolean,\n inverseLabel: Boolean,\n max: {\n type: [Number, String],\n default: 100\n },\n min: {\n type: [Number, String],\n default: 0\n },\n step: {\n type: [Number, String],\n default: 1\n },\n thumbColor: String,\n thumbLabel: {\n type: [Boolean, String],\n default: undefined,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n thumbSize: {\n type: [Number, String],\n default: 32\n },\n tickLabels: {\n type: Array,\n default: () => []\n },\n ticks: {\n type: [Boolean, String],\n default: false,\n validator: v => typeof v === 'boolean' || v === 'always'\n },\n tickSize: {\n type: [Number, String],\n default: 2\n },\n trackColor: String,\n trackFillColor: String,\n value: [Number, String],\n vertical: Boolean\n },\n data: () => ({\n app: null,\n oldValue: null,\n keyPressed: 0,\n isFocused: false,\n isActive: false,\n noClick: false\n }),\n computed: {\n classes() {\n return { ...VInput.options.computed.classes.call(this),\n 'v-input__slider': true,\n 'v-input__slider--vertical': this.vertical,\n 'v-input__slider--inverse-label': this.inverseLabel\n };\n },\n\n internalValue: {\n get() {\n return this.lazyValue;\n },\n\n set(val) {\n val = isNaN(val) ? this.minValue : val; // Round value to ensure the\n // entire slider range can\n // be selected with step\n\n const value = this.roundValue(Math.min(Math.max(val, this.minValue), this.maxValue));\n if (value === this.lazyValue) return;\n this.lazyValue = value;\n this.$emit('input', value);\n }\n\n },\n\n trackTransition() {\n return this.keyPressed >= 2 ? 'none' : '';\n },\n\n minValue() {\n return parseFloat(this.min);\n },\n\n maxValue() {\n return parseFloat(this.max);\n },\n\n stepNumeric() {\n return this.step > 0 ? parseFloat(this.step) : 0;\n },\n\n inputWidth() {\n const value = (this.roundValue(this.internalValue) - this.minValue) / (this.maxValue - this.minValue) * 100;\n return value;\n },\n\n trackFillStyles() {\n const startDir = this.vertical ? 'bottom' : 'left';\n const endDir = this.vertical ? 'top' : 'right';\n const valueDir = this.vertical ? 'height' : 'width';\n const start = this.$vuetify.rtl ? 'auto' : '0';\n const end = this.$vuetify.rtl ? '0' : 'auto';\n const value = this.disabled ? `calc(${this.inputWidth}% - 10px)` : `${this.inputWidth}%`;\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end,\n [valueDir]: value\n };\n },\n\n trackStyles() {\n const startDir = this.vertical ? this.$vuetify.rtl ? 'bottom' : 'top' : this.$vuetify.rtl ? 'left' : 'right';\n const endDir = this.vertical ? 'height' : 'width';\n const start = '0px';\n const end = this.disabled ? `calc(${100 - this.inputWidth}% - 10px)` : `calc(${100 - this.inputWidth}%)`;\n return {\n transition: this.trackTransition,\n [startDir]: start,\n [endDir]: end\n };\n },\n\n showTicks() {\n return this.tickLabels.length > 0 || !!(!this.disabled && this.stepNumeric && this.ticks);\n },\n\n numTicks() {\n return Math.ceil((this.maxValue - this.minValue) / this.stepNumeric);\n },\n\n showThumbLabel() {\n return !this.disabled && !!(this.thumbLabel || this.$scopedSlots['thumb-label']);\n },\n\n computedTrackColor() {\n if (this.disabled) return undefined;\n if (this.trackColor) return this.trackColor;\n if (this.isDark) return this.validationState;\n return this.validationState || 'primary lighten-3';\n },\n\n computedTrackFillColor() {\n if (this.disabled) return undefined;\n if (this.trackFillColor) return this.trackFillColor;\n return this.validationState || this.computedColor;\n },\n\n computedThumbColor() {\n if (this.thumbColor) return this.thumbColor;\n return this.validationState || this.computedColor;\n }\n\n },\n watch: {\n min(val) {\n const parsed = parseFloat(val);\n parsed > this.internalValue && this.$emit('input', parsed);\n },\n\n max(val) {\n const parsed = parseFloat(val);\n parsed < this.internalValue && this.$emit('input', parsed);\n },\n\n value: {\n handler(v) {\n this.internalValue = v;\n }\n\n }\n },\n\n // If done in as immediate in\n // value watcher, causes issues\n // with vue-test-utils\n beforeMount() {\n this.internalValue = this.value;\n },\n\n mounted() {\n // Without a v-app, iOS does not work with body selectors\n this.app = document.querySelector('[data-app]') || consoleWarn('Missing v-app or a non-body wrapping element with the [data-app] attribute', this);\n },\n\n methods: {\n genDefaultSlot() {\n const children = [this.genLabel()];\n const slider = this.genSlider();\n this.inverseLabel ? children.unshift(slider) : children.push(slider);\n children.push(this.genProgress());\n return children;\n },\n\n genSlider() {\n return this.$createElement('div', {\n class: {\n 'v-slider': true,\n 'v-slider--horizontal': !this.vertical,\n 'v-slider--vertical': this.vertical,\n 'v-slider--focused': this.isFocused,\n 'v-slider--active': this.isActive,\n 'v-slider--disabled': this.disabled,\n 'v-slider--readonly': this.readonly,\n ...this.themeClasses\n },\n directives: [{\n name: 'click-outside',\n value: this.onBlur\n }],\n on: {\n click: this.onSliderClick\n }\n }, this.genChildren());\n },\n\n genChildren() {\n return [this.genInput(), this.genTrackContainer(), this.genSteps(), this.genThumbContainer(this.internalValue, this.inputWidth, this.isActive, this.isFocused, this.onThumbMouseDown, this.onFocus, this.onBlur)];\n },\n\n genInput() {\n return this.$createElement('input', {\n attrs: {\n value: this.internalValue,\n id: this.computedId,\n disabled: this.disabled,\n readonly: true,\n tabindex: -1,\n ...this.$attrs\n }\n });\n },\n\n genTrackContainer() {\n const children = [this.$createElement('div', this.setBackgroundColor(this.computedTrackColor, {\n staticClass: 'v-slider__track-background',\n style: this.trackStyles\n })), this.$createElement('div', this.setBackgroundColor(this.computedTrackFillColor, {\n staticClass: 'v-slider__track-fill',\n style: this.trackFillStyles\n }))];\n return this.$createElement('div', {\n staticClass: 'v-slider__track-container',\n ref: 'track'\n }, children);\n },\n\n genSteps() {\n if (!this.step || !this.showTicks) return null;\n const tickSize = parseFloat(this.tickSize);\n const range = createRange(this.numTicks + 1);\n const direction = this.vertical ? 'bottom' : 'left';\n const offsetDirection = this.vertical ? 'right' : 'top';\n if (this.vertical) range.reverse();\n const ticks = range.map(i => {\n const index = this.$vuetify.rtl ? this.maxValue - i : i;\n const children = [];\n\n if (this.tickLabels[index]) {\n children.push(this.$createElement('div', {\n staticClass: 'v-slider__tick-label'\n }, this.tickLabels[index]));\n }\n\n const width = i * (100 / this.numTicks);\n const filled = this.$vuetify.rtl ? 100 - this.inputWidth < width : width < this.inputWidth;\n return this.$createElement('span', {\n key: i,\n staticClass: 'v-slider__tick',\n class: {\n 'v-slider__tick--filled': filled\n },\n style: {\n width: `${tickSize}px`,\n height: `${tickSize}px`,\n [direction]: `calc(${width}% - ${tickSize / 2}px)`,\n [offsetDirection]: `calc(50% - ${tickSize / 2}px)`\n }\n }, children);\n });\n return this.$createElement('div', {\n staticClass: 'v-slider__ticks-container',\n class: {\n 'v-slider__ticks-container--always-show': this.ticks === 'always' || this.tickLabels.length > 0\n }\n }, ticks);\n },\n\n genThumbContainer(value, valueWidth, isActive, isFocused, onDrag, onFocus, onBlur, ref = 'thumb') {\n const children = [this.genThumb()];\n const thumbLabelContent = this.genThumbLabelContent(value);\n this.showThumbLabel && children.push(this.genThumbLabel(thumbLabelContent));\n return this.$createElement('div', this.setTextColor(this.computedThumbColor, {\n ref,\n staticClass: 'v-slider__thumb-container',\n class: {\n 'v-slider__thumb-container--active': isActive,\n 'v-slider__thumb-container--focused': isFocused,\n 'v-slider__thumb-container--show-label': this.showThumbLabel\n },\n style: this.getThumbContainerStyles(valueWidth),\n attrs: {\n role: 'slider',\n tabindex: this.disabled || this.readonly ? -1 : this.$attrs.tabindex ? this.$attrs.tabindex : 0,\n 'aria-label': this.label,\n 'aria-valuemin': this.min,\n 'aria-valuemax': this.max,\n 'aria-valuenow': this.internalValue,\n 'aria-readonly': String(this.readonly),\n 'aria-orientation': this.vertical ? 'vertical' : 'horizontal',\n ...this.$attrs\n },\n on: {\n focus: onFocus,\n blur: onBlur,\n keydown: this.onKeyDown,\n keyup: this.onKeyUp,\n touchstart: onDrag,\n mousedown: onDrag\n }\n }), children);\n },\n\n genThumbLabelContent(value) {\n return this.$scopedSlots['thumb-label'] ? this.$scopedSlots['thumb-label']({\n value\n }) : [this.$createElement('span', [String(value)])];\n },\n\n genThumbLabel(content) {\n const size = convertToUnit(this.thumbSize);\n const transform = this.vertical ? `translateY(20%) translateY(${Number(this.thumbSize) / 3 - 1}px) translateX(55%) rotate(135deg)` : `translateY(-20%) translateY(-12px) translateX(-50%) rotate(45deg)`;\n return this.$createElement(VScaleTransition, {\n props: {\n origin: 'bottom center'\n }\n }, [this.$createElement('div', {\n staticClass: 'v-slider__thumb-label-container',\n directives: [{\n name: 'show',\n value: this.isFocused || this.isActive || this.thumbLabel === 'always'\n }]\n }, [this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb-label',\n style: {\n height: size,\n width: size,\n transform\n }\n }), [this.$createElement('div', content)])])]);\n },\n\n genThumb() {\n return this.$createElement('div', this.setBackgroundColor(this.computedThumbColor, {\n staticClass: 'v-slider__thumb'\n }));\n },\n\n getThumbContainerStyles(width) {\n const direction = this.vertical ? 'top' : 'left';\n let value = this.$vuetify.rtl ? 100 - width : width;\n value = this.vertical ? 100 - value : value;\n return {\n transition: this.trackTransition,\n [direction]: `${value}%`\n };\n },\n\n onThumbMouseDown(e) {\n this.oldValue = this.internalValue;\n this.keyPressed = 2;\n this.isActive = true;\n const mouseUpOptions = passiveSupported ? {\n passive: true,\n capture: true\n } : true;\n const mouseMoveOptions = passiveSupported ? {\n passive: true\n } : false;\n\n if ('touches' in e) {\n this.app.addEventListener('touchmove', this.onMouseMove, mouseMoveOptions);\n addOnceEventListener(this.app, 'touchend', this.onSliderMouseUp, mouseUpOptions);\n } else {\n this.app.addEventListener('mousemove', this.onMouseMove, mouseMoveOptions);\n addOnceEventListener(this.app, 'mouseup', this.onSliderMouseUp, mouseUpOptions);\n }\n\n this.$emit('start', this.internalValue);\n },\n\n onSliderMouseUp(e) {\n e.stopPropagation();\n this.keyPressed = 0;\n const mouseMoveOptions = passiveSupported ? {\n passive: true\n } : false;\n this.app.removeEventListener('touchmove', this.onMouseMove, mouseMoveOptions);\n this.app.removeEventListener('mousemove', this.onMouseMove, mouseMoveOptions);\n this.$emit('end', this.internalValue);\n\n if (!deepEqual(this.oldValue, this.internalValue)) {\n this.$emit('change', this.internalValue);\n this.noClick = true;\n }\n\n this.isActive = false;\n },\n\n onMouseMove(e) {\n const {\n value\n } = this.parseMouseMove(e);\n this.internalValue = value;\n },\n\n onKeyDown(e) {\n if (this.disabled || this.readonly) return;\n const value = this.parseKeyDown(e, this.internalValue);\n if (value == null) return;\n this.internalValue = value;\n this.$emit('change', value);\n },\n\n onKeyUp() {\n this.keyPressed = 0;\n },\n\n onSliderClick(e) {\n if (this.noClick) {\n this.noClick = false;\n return;\n }\n\n const thumb = this.$refs.thumb;\n thumb.focus();\n this.onMouseMove(e);\n this.$emit('change', this.internalValue);\n },\n\n onBlur(e) {\n this.isFocused = false;\n this.$emit('blur', e);\n },\n\n onFocus(e) {\n this.isFocused = true;\n this.$emit('focus', e);\n },\n\n parseMouseMove(e) {\n const start = this.vertical ? 'top' : 'left';\n const length = this.vertical ? 'height' : 'width';\n const click = this.vertical ? 'clientY' : 'clientX';\n const {\n [start]: trackStart,\n [length]: trackLength\n } = this.$refs.track.getBoundingClientRect();\n const clickOffset = 'touches' in e ? e.touches[0][click] : e[click]; // Can we get rid of any here?\n // It is possible for left to be NaN, force to number\n\n let clickPos = Math.min(Math.max((clickOffset - trackStart) / trackLength, 0), 1) || 0;\n if (this.vertical) clickPos = 1 - clickPos;\n if (this.$vuetify.rtl) clickPos = 1 - clickPos;\n const isInsideTrack = clickOffset >= trackStart && clickOffset <= trackStart + trackLength;\n const value = parseFloat(this.min) + clickPos * (this.maxValue - this.minValue);\n return {\n value,\n isInsideTrack\n };\n },\n\n parseKeyDown(e, value) {\n if (this.disabled) return;\n const {\n pageup,\n pagedown,\n end,\n home,\n left,\n right,\n down,\n up\n } = keyCodes;\n if (![pageup, pagedown, end, home, left, right, down, up].includes(e.keyCode)) return;\n e.preventDefault();\n const step = this.stepNumeric || 1;\n const steps = (this.maxValue - this.minValue) / step;\n\n if ([left, right, down, up].includes(e.keyCode)) {\n this.keyPressed += 1;\n const increase = this.$vuetify.rtl ? [left, up] : [right, up];\n const direction = increase.includes(e.keyCode) ? 1 : -1;\n const multiplier = e.shiftKey ? 3 : e.ctrlKey ? 2 : 1;\n value = value + direction * step * multiplier;\n } else if (e.keyCode === home) {\n value = this.minValue;\n } else if (e.keyCode === end) {\n value = this.maxValue;\n } else {\n const direction = e.keyCode === pagedown ? 1 : -1;\n value = value - direction * step * (steps > 100 ? steps / 10 : 10);\n }\n\n return value;\n },\n\n roundValue(value) {\n if (!this.stepNumeric) return value; // Format input value using the same number\n // of decimals places as in the step prop\n\n const trimmedStep = this.step.toString().trim();\n const decimals = trimmedStep.indexOf('.') > -1 ? trimmedStep.length - trimmedStep.indexOf('.') - 1 : 0;\n const offset = this.minValue % this.stepNumeric;\n const newValue = Math.round((value - offset) / this.stepNumeric) * this.stepNumeric + offset;\n return parseFloat(Math.min(newValue, this.maxValue).toFixed(decimals));\n }\n\n }\n});\n//# sourceMappingURL=VSlider.js.map"],"sourceRoot":""} \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/chunk-1c4e016e.3c63bd07.js b/chameleon-server/src/main/resources/web/js/chunk-1c4e016e.3c63bd07.js deleted file mode 100644 index 6b7e82675..000000000 --- a/chameleon-server/src/main/resources/web/js/chunk-1c4e016e.3c63bd07.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-1c4e016e"],{"0b81":function(t,e,a){"use strict";a.r(e);var n=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",[n("div",[n("CVselect",{attrs:{name:"Camera",list:t.cameraList},on:{input:function(e){return t.handleInput("currentCamera",t.currentCameraIndex)}},model:{value:t.currentCameraIndex,callback:function(e){t.currentCameraIndex=e},expression:"currentCameraIndex"}}),n("CVnumberinput",{attrs:{name:"Diagonal FOV"},model:{value:t.cameraSettings.fov,callback:function(e){t.$set(t.cameraSettings,"fov",e)},expression:"cameraSettings.fov"}}),n("br"),n("CVnumberinput",{attrs:{name:"Camera pitch",step:.01},model:{value:t.cameraSettings.tilt,callback:function(e){t.$set(t.cameraSettings,"tilt",e)},expression:"cameraSettings.tilt"}}),n("br"),n("v-btn",{staticStyle:{"margin-top":"10px"},attrs:{small:"",color:"#4baf62"},on:{click:t.sendCameraSettings}},[t._v("Save Camera Settings\n ")])],1),n("div",{staticStyle:{"margin-top":"15px"}},[n("span",[t._v("3D Calibration")]),n("v-divider",{staticStyle:{"margin-bottom":"10px"},attrs:{color:"white"}}),n("v-row",[n("v-col",[n("CVselect",{attrs:{name:"Resolution",list:t.stringResolutionList},model:{value:t.resolutionIndex,callback:function(e){t.resolutionIndex=e},expression:"resolutionIndex"}})],1),n("v-col",[n("CVnumberinput",{attrs:{name:"Square Size (in)"},model:{value:t.squareSize,callback:function(e){t.squareSize=e},expression:"squareSize"}})],1)],1),n("v-row",[n("v-col",[n("v-btn",{attrs:{small:"",color:t.calibrationModeButton.color,disabled:t.checkResolution},on:{click:t.sendCalibrationMode}},[t._v("\n "+t._s(t.calibrationModeButton.text)+"\n ")])],1),n("v-col",[n("v-btn",{attrs:{small:"",color:t.cancellationModeButton.color,disabled:t.checkCancelation},on:{click:t.sendCalibrationFinish}},[t._v("\n "+t._s(t.cancellationModeButton.text)+"\n ")])],1),n("v-col",[n("v-btn",{attrs:{color:"whitesmoke",small:""},on:{click:function(e){return t.$refs.calibrationFile.click()}}},[t._v("\n Download Checkerboard\n ")]),n("a",{ref:"calibrationFile",staticStyle:{color:"black","text-decoration":"none",display:"none"},attrs:{href:a("66a3"),download:"Calibration Board.png"}})],1)],1),t.isCalibrating?n("v-row",[n("v-col",[n("span",[t._v("Snapshot Amount: "+t._s(t.snapshotAmount))])])],1):t._e()],1),n("v-snackbar",{model:{value:t.snack,callback:function(e){t.snack=e},expression:"snack"}},[n("span",[t._v("Calibration Failed")])])],1)},i=[],s=a("8384"),o=a("9696"),r={name:"CameraSettings",components:{CVselect:s["a"],CVnumberinput:o["a"]},data(){return{isCalibrating:!1,resolutionIndex:void 0,calibrationModeButton:{text:"Start Calibration",color:"green"},cancellationModeButton:{text:"Cancel Calibration",color:"red"},squareSize:1,snapshotAmount:0,hasEnough:!1,snack:!1}},methods:{sendCameraSettings(){const t=this;this.axios.post("http://"+this.$address+"/api/settings/camera",this.cameraSettings).then((function(e){200===e.status&&(t.$store.state.saveBar=!0)}))},sendCalibrationMode(){const t=this;let e={},a="/api/settings/";!0===t.isCalibrating?a+="snapshot":(a+="startCalibration",e["resolution"]=this.filteredResolutionList[this.resolutionIndex].actualIndex,e["squareSize"]=this.squareSize,t.hasEnough=!1),this.axios.post("http://"+this.$address+a,e).then((function(e){200===e.status&&(t.isCalibrating?(t.snapshotAmount=e.data["snapshotCount"],t.hasEnough=e.data["hasEnough"],!0===t.hasEnough&&(t.cancellationModeButton.text="Finish Calibration",t.cancellationModeButton.color="green")):(t.calibrationModeButton.text="Take Snapshot",t.isCalibrating=!0))}))},sendCalibrationFinish(){const t=this;let e="/api/settings/endCalibration",a={};a["squareSize"]=this.squareSize,t.axios.post("http://"+this.$address+e,a).then((function(e){500===e.status&&(t.snack=!0),t.isCalibrating=!1,t.hasEnough=!1,t.snapshotAmount=0,t.calibrationModeButton.text="Start Calibration",t.cancellationModeButton.text="Cancel Calibration",t.cancellationModeButton.color="red"}))}},computed:{checkResolution(){return void 0===this.resolutionIndex},checkCancelation(){return!this.isCalibrating&&(this.checkResolution,!0)},currentCameraIndex:{get(){return this.$store.state.currentCameraIndex},set(t){this.$store.commit("currentCameraIndex",t)}},cameraList:{get(){return this.$store.state.cameraList},set(t){this.$store.commit("cameraList",t)}},filteredResolutionList:{get(){let t=[];for(let e in this.$store.state.resolutionList){let a=JSON.parse(JSON.stringify(this.$store.state.resolutionList[e]));t.some(t=>t.width===a.width&&t.height===a.height)||(a["actualIndex"]=parseInt(e),t.push(a))}return t}},stringResolutionList:{get(){let t=[];for(let e of this.filteredResolutionList)t.push(`${e["width"]} X ${e["height"]}`);return t}},cameraSettings:{get(){return this.$store.state.cameraSettings},set(t){this.$store.commit("cameraSettings",t)}}}},l=r,c=a("2877"),u=a("6544"),d=a.n(u),h=a("8336"),m=a("62ad"),p=a("ce7e"),b=a("0fd9"),g=a("2db4"),v=Object(c["a"])(l,n,i,!1,null,"4c8198a7",null);e["default"]=v.exports;d()(v,{VBtn:h["a"],VCol:m["a"],VDivider:p["a"],VRow:b["a"],VSnackbar:g["a"]})},"66a3":function(t,e,a){t.exports=a.p+"img/chessboard.f921ac6e.png"},9696:function(t,e,a){"use strict";var n=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",[a("v-row",{attrs:{dense:"",align:"center"}},[a("v-col",{attrs:{cols:2}},[a("span",[t._v(t._s(t.name))])]),a("v-col",[a("v-text-field",{staticClass:"mt-0 pt-0",staticStyle:{width:"70px"},attrs:{dark:"","hide-details":"","single-line":"",type:"number",step:t.step},model:{value:t.localValue,callback:function(e){t.localValue=e},expression:"localValue"}})],1)],1)],1)},i=[],s={name:"NumberInput",props:["name","value","step"],data(){return{}},computed:{localValue:{get(){return this.value},set(t){this.$emit("input",parseFloat(t))}}}},o=s,r=a("2877"),l=a("6544"),c=a.n(l),u=a("62ad"),d=a("0fd9"),h=a("8654"),m=Object(r["a"])(o,n,i,!1,null,"39ab7a8e",null);e["a"]=m.exports;c()(m,{VCol:u["a"],VRow:d["a"],VTextField:h["a"]})}}]); -//# sourceMappingURL=chunk-1c4e016e.3c63bd07.js.map \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/chunk-1c4e016e.3c63bd07.js.map b/chameleon-server/src/main/resources/web/js/chunk-1c4e016e.3c63bd07.js.map deleted file mode 100644 index 2c3f93f43..000000000 --- a/chameleon-server/src/main/resources/web/js/chunk-1c4e016e.3c63bd07.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/views/SettingsViewes/Cameras.vue?4a1b","webpack:///src/views/SettingsViewes/Cameras.vue","webpack:///./src/views/SettingsViewes/Cameras.vue?2252","webpack:///./src/views/SettingsViewes/Cameras.vue","webpack:///./src/assets/chessboard.png","webpack:///./src/components/cv-number-input.vue?7a2c","webpack:///src/components/cv-number-input.vue","webpack:///./src/components/cv-number-input.vue?616c","webpack:///./src/components/cv-number-input.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","cameraList","on","$event","handleInput","currentCameraIndex","model","value","callback","$$v","expression","cameraSettings","$set","staticStyle","sendCameraSettings","_v","stringResolutionList","resolutionIndex","squareSize","calibrationModeButton","color","checkResolution","sendCalibrationMode","_s","text","cancellationModeButton","checkCancelation","sendCalibrationFinish","$refs","calibrationFile","click","ref","snapshotAmount","_e","snack","staticRenderFns","component","VBtn","VCol","VDivider","VRow","VSnackbar","module","exports","name","staticClass","step","localValue","VTextField"],"mappings":"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","file":"js/chunk-1c4e016e.3c63bd07.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_c('CVselect',{attrs:{\"name\":\"Camera\",\"list\":_vm.cameraList},on:{\"input\":function($event){return _vm.handleInput('currentCamera',_vm.currentCameraIndex)}},model:{value:(_vm.currentCameraIndex),callback:function ($$v) {_vm.currentCameraIndex=$$v},expression:\"currentCameraIndex\"}}),_c('CVnumberinput',{attrs:{\"name\":\"Diagonal FOV\"},model:{value:(_vm.cameraSettings.fov),callback:function ($$v) {_vm.$set(_vm.cameraSettings, \"fov\", $$v)},expression:\"cameraSettings.fov\"}}),_c('br'),_c('CVnumberinput',{attrs:{\"name\":\"Camera pitch\",\"step\":0.01},model:{value:(_vm.cameraSettings.tilt),callback:function ($$v) {_vm.$set(_vm.cameraSettings, \"tilt\", $$v)},expression:\"cameraSettings.tilt\"}}),_c('br'),_c('v-btn',{staticStyle:{\"margin-top\":\"10px\"},attrs:{\"small\":\"\",\"color\":\"#4baf62\"},on:{\"click\":_vm.sendCameraSettings}},[_vm._v(\"Save Camera Settings\\n \")])],1),_c('div',{staticStyle:{\"margin-top\":\"15px\"}},[_c('span',[_vm._v(\"3D Calibration\")]),_c('v-divider',{staticStyle:{\"margin-bottom\":\"10px\"},attrs:{\"color\":\"white\"}}),_c('v-row',[_c('v-col',[_c('CVselect',{attrs:{\"name\":\"Resolution\",\"list\":_vm.stringResolutionList},model:{value:(_vm.resolutionIndex),callback:function ($$v) {_vm.resolutionIndex=$$v},expression:\"resolutionIndex\"}})],1),_c('v-col',[_c('CVnumberinput',{attrs:{\"name\":\"Square Size (in)\"},model:{value:(_vm.squareSize),callback:function ($$v) {_vm.squareSize=$$v},expression:\"squareSize\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-btn',{attrs:{\"small\":\"\",\"color\":_vm.calibrationModeButton.color,\"disabled\":_vm.checkResolution},on:{\"click\":_vm.sendCalibrationMode}},[_vm._v(\"\\n \"+_vm._s(_vm.calibrationModeButton.text)+\"\\n \")])],1),_c('v-col',[_c('v-btn',{attrs:{\"small\":\"\",\"color\":_vm.cancellationModeButton.color,\"disabled\":_vm.checkCancelation},on:{\"click\":_vm.sendCalibrationFinish}},[_vm._v(\"\\n \"+_vm._s(_vm.cancellationModeButton.text)+\"\\n \")])],1),_c('v-col',[_c('v-btn',{attrs:{\"color\":\"whitesmoke\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$refs.calibrationFile.click()}}},[_vm._v(\"\\n Download Checkerboard\\n \")]),_c('a',{ref:\"calibrationFile\",staticStyle:{\"color\":\"black\",\"text-decoration\":\"none\",\"display\":\"none\"},attrs:{\"href\":require('../../assets/chessboard.png'),\"download\":\"Calibration Board.png\"}})],1)],1),(_vm.isCalibrating)?_c('v-row',[_c('v-col',[_c('span',[_vm._v(\"Snapshot Amount: \"+_vm._s(_vm.snapshotAmount))])])],1):_vm._e()],1),_c('v-snackbar',{model:{value:(_vm.snack),callback:function ($$v) {_vm.snack=$$v},expression:\"snack\"}},[_c('span',[_vm._v(\"Calibration Failed\")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cameras.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Cameras.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Cameras.vue?vue&type=template&id=4c8198a7&scoped=true&\"\nimport script from \"./Cameras.vue?vue&type=script&lang=js&\"\nexport * from \"./Cameras.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c8198a7\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VBtn,VCol,VDivider,VRow,VSnackbar})\n","module.exports = __webpack_public_path__ + \"img/chessboard.f921ac6e.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"dense\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":2}},[_c('span',[_vm._v(_vm._s(_vm.name))])]),_c('v-col',[_c('v-text-field',{staticClass:\"mt-0 pt-0\",staticStyle:{\"width\":\"70px\"},attrs:{\"dark\":\"\",\"hide-details\":\"\",\"single-line\":\"\",\"type\":\"number\",\"step\":_vm.step},model:{value:(_vm.localValue),callback:function ($$v) {_vm.localValue=$$v},expression:\"localValue\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-number-input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-number-input.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./cv-number-input.vue?vue&type=template&id=39ab7a8e&scoped=true&\"\nimport script from \"./cv-number-input.vue?vue&type=script&lang=js&\"\nexport * from \"./cv-number-input.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"39ab7a8e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VTextField})\n"],"sourceRoot":""} \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/chunk-20681be8.c913200b.js b/chameleon-server/src/main/resources/web/js/chunk-20681be8.c913200b.js new file mode 100644 index 000000000..69fe69416 --- /dev/null +++ b/chameleon-server/src/main/resources/web/js/chunk-20681be8.c913200b.js @@ -0,0 +1,2 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-20681be8"],{"8adc":function(t,e,i){},cc20:function(t,e,i){"use strict";i("8adc");var s=i("58df"),a=i("0789"),l=i("9d26"),o=i("a9ad"),c=i("4e82"),n=i("7560"),h=i("f2e7"),r=i("1c87"),p=i("af2b"),d=i("d9bd");e["a"]=Object(s["a"])(o["a"],p["a"],r["a"],n["a"],Object(c["a"])("chipGroup"),Object(h["b"])("inputValue")).extend({name:"v-chip",props:{active:{type:Boolean,default:!0},activeClass:{type:String,default(){return this.chipGroup?this.chipGroup.activeClass:""}},close:Boolean,closeIcon:{type:String,default:"$delete"},disabled:Boolean,draggable:Boolean,filter:Boolean,filterIcon:{type:String,default:"$complete"},label:Boolean,link:Boolean,outlined:Boolean,pill:Boolean,tag:{type:String,default:"span"},textColor:String,value:null},data:()=>({proxyClass:"v-chip--active"}),computed:{classes(){return{"v-chip":!0,...r["a"].options.computed.classes.call(this),"v-chip--clickable":this.isClickable,"v-chip--disabled":this.disabled,"v-chip--draggable":this.draggable,"v-chip--label":this.label,"v-chip--link":this.isLink,"v-chip--no-color":!this.color,"v-chip--outlined":this.outlined,"v-chip--pill":this.pill,"v-chip--removable":this.hasClose,...this.themeClasses,...this.sizeableClasses,...this.groupClasses}},hasClose(){return Boolean(this.close)},isClickable(){return Boolean(r["a"].options.computed.isClickable.call(this)||this.chipGroup)}},created(){const t=[["outline","outlined"],["selected","input-value"],["value","active"],["@input","@active.sync"]];t.forEach(([t,e])=>{this.$attrs.hasOwnProperty(t)&&Object(d["a"])(t,e,this)})},methods:{click(t){this.$emit("click",t),this.chipGroup&&this.toggle()},genFilter(){const t=[];return this.isActive&&t.push(this.$createElement(l["a"],{staticClass:"v-chip__filter",props:{left:!0}},this.filterIcon)),this.$createElement(a["b"],t)},genClose(){return this.$createElement(l["a"],{staticClass:"v-chip__close",props:{right:!0},on:{click:t=>{t.stopPropagation(),this.$emit("click:close"),this.$emit("update:active",!1)}}},this.closeIcon)},genContent(){return this.$createElement("span",{staticClass:"v-chip__content"},[this.filter&&this.genFilter(),this.$slots.default,this.hasClose&&this.genClose()])}},render(t){const e=[this.genContent()];let{tag:i,data:s}=this.generateRouteLink();s.attrs={...s.attrs,draggable:this.draggable?"true":void 0,tabindex:this.chipGroup&&!this.disabled?0:s.attrs.tabindex},s.directives.push({name:"show",value:this.active}),s=this.setBackgroundColor(this.color,s);const a=this.textColor||this.outlined&&this.color;return t(i,this.setTextColor(a,s),e)}})}}]); +//# sourceMappingURL=chunk-20681be8.c913200b.js.map \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/chunk-20681be8.c913200b.js.map b/chameleon-server/src/main/resources/web/js/chunk-20681be8.c913200b.js.map new file mode 100644 index 000000000..9d38051dc --- /dev/null +++ b/chameleon-server/src/main/resources/web/js/chunk-20681be8.c913200b.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./node_modules/vuetify/lib/components/VChip/VChip.js"],"names":["extend","name","props","active","type","Boolean","default","activeClass","String","this","chipGroup","close","closeIcon","disabled","draggable","filter","filterIcon","label","link","outlined","pill","tag","textColor","value","data","proxyClass","computed","options","classes","call","isClickable","isLink","color","hasClose","themeClasses","sizeableClasses","groupClasses","breakingProps","forEach","original","replacement","$attrs","hasOwnProperty","methods","e","$emit","toggle","children","isActive","push","$createElement","staticClass","left","right","on","click","stopPropagation","genFilter","$slots","genClose","h","genContent","generateRouteLink","attrs","undefined","tabindex","directives","setBackgroundColor","setTextColor"],"mappings":"yIAAA,sIAiBe,sBAAO,OAAW,OAAU,OAAU,OAAW,eAAiB,aAAc,eAAkB,eAAeA,OAAO,CACrIC,KAAM,SACNC,MAAO,CACLC,OAAQ,CACNC,KAAMC,QACNC,SAAS,GAEXC,YAAa,CACXH,KAAMI,OAEN,UACE,OAAKC,KAAKC,UACHD,KAAKC,UAAUH,YADM,KAKhCI,MAAON,QACPO,UAAW,CACTR,KAAMI,OACNF,QAAS,WAEXO,SAAUR,QACVS,UAAWT,QACXU,OAAQV,QACRW,WAAY,CACVZ,KAAMI,OACNF,QAAS,aAEXW,MAAOZ,QACPa,KAAMb,QACNc,SAAUd,QACVe,KAAMf,QACNgB,IAAK,CACHjB,KAAMI,OACNF,QAAS,QAEXgB,UAAWd,OACXe,MAAO,MAETC,KAAM,KAAM,CACVC,WAAY,mBAEdC,SAAU,CACR,UACE,MAAO,CACL,UAAU,KACP,OAASC,QAAQD,SAASE,QAAQC,KAAKpB,MAC1C,oBAAqBA,KAAKqB,YAC1B,mBAAoBrB,KAAKI,SACzB,oBAAqBJ,KAAKK,UAC1B,gBAAiBL,KAAKQ,MACtB,eAAgBR,KAAKsB,OACrB,oBAAqBtB,KAAKuB,MAC1B,mBAAoBvB,KAAKU,SACzB,eAAgBV,KAAKW,KACrB,oBAAqBX,KAAKwB,YACvBxB,KAAKyB,gBACLzB,KAAK0B,mBACL1B,KAAK2B,eAIZ,WACE,OAAO/B,QAAQI,KAAKE,QAGtB,cACE,OAAON,QAAQ,OAASsB,QAAQD,SAASI,YAAYD,KAAKpB,OAASA,KAAKC,aAK5E,UACE,MAAM2B,EAAgB,CAAC,CAAC,UAAW,YAAa,CAAC,WAAY,eAAgB,CAAC,QAAS,UAAW,CAAC,SAAU,iBAG7GA,EAAcC,QAAQ,EAAEC,EAAUC,MAC5B/B,KAAKgC,OAAOC,eAAeH,IAAW,eAASA,EAAUC,EAAa/B,SAI9EkC,QAAS,CACP,MAAMC,GACJnC,KAAKoC,MAAM,QAASD,GACpBnC,KAAKC,WAAaD,KAAKqC,UAGzB,YACE,MAAMC,EAAW,GAWjB,OATItC,KAAKuC,UACPD,EAASE,KAAKxC,KAAKyC,eAAe,OAAO,CACvCC,YAAa,iBACbjD,MAAO,CACLkD,MAAM,IAEP3C,KAAKO,aAGHP,KAAKyC,eAAe,OAAoBH,IAGjD,WACE,OAAOtC,KAAKyC,eAAe,OAAO,CAChCC,YAAa,gBACbjD,MAAO,CACLmD,OAAO,GAETC,GAAI,CACFC,MAAOX,IACLA,EAAEY,kBACF/C,KAAKoC,MAAM,eACXpC,KAAKoC,MAAM,iBAAiB,MAG/BpC,KAAKG,YAGV,aACE,OAAOH,KAAKyC,eAAe,OAAQ,CACjCC,YAAa,mBACZ,CAAC1C,KAAKM,QAAUN,KAAKgD,YAAahD,KAAKiD,OAAOpD,QAASG,KAAKwB,UAAYxB,KAAKkD,eAKpF,OAAOC,GACL,MAAMb,EAAW,CAACtC,KAAKoD,cACvB,IAAI,IACFxC,EAAG,KACHG,GACEf,KAAKqD,oBACTtC,EAAKuC,MAAQ,IAAKvC,EAAKuC,MACrBjD,UAAWL,KAAKK,UAAY,YAASkD,EACrCC,SAAUxD,KAAKC,YAAcD,KAAKI,SAAW,EAAIW,EAAKuC,MAAME,UAE9DzC,EAAK0C,WAAWjB,KAAK,CACnBhD,KAAM,OACNsB,MAAOd,KAAKN,SAEdqB,EAAOf,KAAK0D,mBAAmB1D,KAAKuB,MAAOR,GAC3C,MAAMQ,EAAQvB,KAAKa,WAAab,KAAKU,UAAYV,KAAKuB,MACtD,OAAO4B,EAAEvC,EAAKZ,KAAK2D,aAAapC,EAAOR,GAAOuB","file":"js/chunk-20681be8.c913200b.js","sourcesContent":["// Styles\nimport \"../../../src/components/VChip/VChip.sass\";\nimport mixins from '../../util/mixins'; // Components\n\nimport { VExpandXTransition } from '../transitions';\nimport VIcon from '../VIcon'; // Mixins\n\nimport Colorable from '../../mixins/colorable';\nimport { factory as GroupableFactory } from '../../mixins/groupable';\nimport Themeable from '../../mixins/themeable';\nimport { factory as ToggleableFactory } from '../../mixins/toggleable';\nimport Routable from '../../mixins/routable';\nimport Sizeable from '../../mixins/sizeable'; // Utilities\n\nimport { breaking } from '../../util/console';\n/* @vue/component */\n\nexport default mixins(Colorable, Sizeable, Routable, Themeable, GroupableFactory('chipGroup'), ToggleableFactory('inputValue')).extend({\n name: 'v-chip',\n props: {\n active: {\n type: Boolean,\n default: true\n },\n activeClass: {\n type: String,\n\n default() {\n if (!this.chipGroup) return '';\n return this.chipGroup.activeClass;\n }\n\n },\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete'\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete'\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span'\n },\n textColor: String,\n value: null\n },\n data: () => ({\n proxyClass: 'v-chip--active'\n }),\n computed: {\n classes() {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses\n };\n },\n\n hasClose() {\n return Boolean(this.close);\n },\n\n isClickable() {\n return Boolean(Routable.options.computed.isClickable.call(this) || this.chipGroup);\n }\n\n },\n\n created() {\n const breakingProps = [['outline', 'outlined'], ['selected', 'input-value'], ['value', 'active'], ['@input', '@active.sync']];\n /* istanbul ignore next */\n\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this);\n });\n },\n\n methods: {\n click(e) {\n this.$emit('click', e);\n this.chipGroup && this.toggle();\n },\n\n genFilter() {\n const children = [];\n\n if (this.isActive) {\n children.push(this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: {\n left: true\n }\n }, this.filterIcon));\n }\n\n return this.$createElement(VExpandXTransition, children);\n },\n\n genClose() {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true\n },\n on: {\n click: e => {\n e.stopPropagation();\n this.$emit('click:close');\n this.$emit('update:active', false);\n }\n }\n }, this.closeIcon);\n },\n\n genContent() {\n return this.$createElement('span', {\n staticClass: 'v-chip__content'\n }, [this.filter && this.genFilter(), this.$slots.default, this.hasClose && this.genClose()]);\n }\n\n },\n\n render(h) {\n const children = [this.genContent()];\n let {\n tag,\n data\n } = this.generateRouteLink();\n data.attrs = { ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs.tabindex\n };\n data.directives.push({\n name: 'show',\n value: this.active\n });\n data = this.setBackgroundColor(this.color, data);\n const color = this.textColor || this.outlined && this.color;\n return h(tag, this.setTextColor(color, data), children);\n }\n\n});\n//# sourceMappingURL=VChip.js.map"],"sourceRoot":""} \ No newline at end of file diff --git a/chameleon-server/src/main/resources/web/js/chunk-218b16fc.85ae3dfa.js b/chameleon-server/src/main/resources/web/js/chunk-218b16fc.85ae3dfa.js deleted file mode 100644 index a28273807..000000000 --- a/chameleon-server/src/main/resources/web/js/chunk-218b16fc.85ae3dfa.js +++ /dev/null @@ -1,2 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-218b16fc","chunk-3ae1c3ad"],{"06bd":function(t,e,i){"use strict";var a=i("59a3"),n=i.n(a);n.a},1447:function(t,e,i){"use strict";var a=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("v-row",{attrs:{dense:"",align:"center"}},[i("v-col",{attrs:{cols:2}},[i("span",[t._v(t._s(t.name))])]),i("v-col",{attrs:{cols:10}},[i("v-slider",{staticClass:"align-center",attrs:{value:t.localValue,dark:"",max:t.max,min:t.min,"hide-details":"",color:"#4baf62",step:t.step},on:{start:function(e){t.isClicked=!0},end:function(e){t.isClicked=!1},change:t.handleclick,input:t.handleInput},scopedSlots:t._u([{key:"append",fn:function(){return[i("v-text-field",{staticClass:"mt-0 pt-0",staticStyle:{width:"50px"},attrs:{dark:"",max:t.max,min:t.min,value:t.localValue,"hide-details":"","single-line":"",type:"number",step:t.step},on:{input:t.handleChange,focus:function(e){t.isFocused=!0},blur:function(e){t.isFocused=!1}}})]},proxy:!0}])})],1)],1)],1)},n=[],s={name:"Slider",props:["min","max","name","value","step"],data(){return{isFocused:!1,isClicked:!1}},methods:{handleChange(t){this.isFocused&&(this.localValue=parseFloat(t))},handleInput(t){!this.isFocused&&this.isClicked&&(this.localValue=t)},handleclick(t){this.isFocused||(this.localValue=t)}},computed:{localValue:{get(){return this.value},set(t){this.$emit("input",t)}}}},o=s,r=i("2877"),l=i("6544"),c=i.n(l),u=i("62ad"),d=i("0fd9"),h=i("ba0d"),p=i("8654"),v=Object(r["a"])(o,a,n,!1,null,"027e70b6",null);e["a"]=v.exports;c()(v,{VCol:u["a"],VRow:d["a"],VSlider:h["a"],VTextField:p["a"]})},"1a40":function(t,e,i){"use strict";i.r(e);var a=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("CVrangeSlider",{attrs:{name:"Hue",min:0,max:180},on:{input:function(e){return t.handleData("hue")}},model:{value:t.value.hue,callback:function(e){t.$set(t.value,"hue",e)},expression:"value.hue"}}),i("CVrangeSlider",{attrs:{name:"Saturation",min:0,max:255},on:{input:function(e){return t.handleData("saturation")}},model:{value:t.value.saturation,callback:function(e){t.$set(t.value,"saturation",e)},expression:"value.saturation"}}),i("CVrangeSlider",{attrs:{name:"Value",min:0,max:255},on:{input:function(e){return t.handleData("value")}},model:{value:t.value.value,callback:function(e){t.$set(t.value,"value",e)},expression:"value.value"}}),i("v-divider",{staticStyle:{"margin-top":"5px"},attrs:{color:"darkgray "}}),i("v-btn",{staticStyle:{margin:"20px"},attrs:{color:"#4baf62",small:""},on:{click:function(e){return t.setFunction(1)}}},[i("v-icon",[t._v("colorize")]),t._v("\n Eye drop\n ")],1),i("v-btn",{staticStyle:{margin:"20px"},attrs:{color:"#4baf62",small:""},on:{click:function(e){return t.setFunction(2)}}},[i("v-icon",[t._v("add")]),t._v("\n Expand Selection\n ")],1),i("v-btn",{staticStyle:{margin:"20px"},attrs:{color:"#4baf62",small:""},on:{click:function(e){return t.setFunction(3)}}},[i("v-icon",[t._v("remove")]),t._v("\n Shrink Selection\n ")],1),i("v-divider",{attrs:{color:"darkgray "}}),i("CVswitch",{attrs:{name:"Erode"},on:{input:function(e){return t.handleData("erode")}},model:{value:t.value.erode,callback:function(e){t.$set(t.value,"erode",e)},expression:"value.erode"}}),i("CVswitch",{attrs:{name:"Dilate"},on:{input:function(e){return t.handleData("dilate")}},model:{value:t.value.dilate,callback:function(e){t.$set(t.value,"dilate",e)},expression:"value.dilate"}})],1)},n=[],s=i("1029"),o=i("b530"),r={name:"Threshold",props:["value"],components:{CVrangeSlider:s["a"],CVswitch:o["a"]},data(){return{currentFunction:void 0,colorPicker:void 0,currentBinaryState:0}},computed:{pipeline:{get(){return this.$store.state.pipeline}},driverState:{get(){return this.$store.state.driverMode},set(t){this.$store.commit("driverMode",t)}}},methods:{onClick(t){if(void 0!==this.currentFunction){let e=this.colorPicker.colorPickerClick(t,this.currentFunction,[[this.value.hue[0],this.value.saturation[0],this.value.value[0]],[this.value.hue[1],this.value.saturation[1],this.value.value[1]]]);this.currentFunction=void 0,this.value.hue=[e[0][0],e[1][0]],this.value.saturation=[e[0][1],e[1][1]],this.value.value=[e[0][2],e[1][2]],this.value.isBinary=this.currentBinaryState;let i=this.$msgPack.encode({hue:this.value.hue,saturation:this.value.saturation,value:this.value.value,isBinary:this.value.isBinary});this.$socket.send(i),this.$emit("update")}},setFunction(t){switch(this.currentBinaryState=this.value.isBinary,!0===this.currentBinaryState&&(this.value.isBinary=!1,this.handleData("isBinary")),t){case 0:this.currentFunction=void 0;break;case 1:this.currentFunction=this.colorPicker.eyeDrop;break;case 2:this.currentFunction=this.colorPicker.expand;break;case 3:this.currentFunction=this.colorPicker.shrink;break}},handleData(t){this.handleInput(t,this.value[t]),this.$emit("update")}},mounted:function(){const t=this;this.colorPicker=i("b3e4").default,this.$nextTick(()=>{t.colorPicker.initColorPicker()})}},l=r,c=i("2877"),u=i("6544"),d=i.n(u),h=i("8336"),p=i("ce7e"),v=i("132d"),m=Object(c["a"])(l,a,n,!1,null,"37575e52",null);e["default"]=m.exports;d()(m,{VBtn:h["a"],VDivider:p["a"],VIcon:v["a"]})},"368e":function(t,e,i){},"3c93":function(t,e,i){},"4c92":function(t,e,i){"use strict";i.r(e);var a=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("CVselect",{attrs:{name:"SortMode",list:["Largest","Smallest","Highest","Lowest","Rightmost","Leftmost","Centermost"]},on:{input:function(e){return t.handleData("sortMode")}},model:{value:t.value.sortMode,callback:function(e){t.$set(t.value,"sortMode",e)},expression:"value.sortMode"}}),i("CVswitch",{attrs:{name:"Output multiple"},on:{input:function(e){return t.handleData("multiple")}},model:{value:t.value.multiple,callback:function(e){t.$set(t.value,"multiple",e)},expression:"value.multiple"}}),i("span",[t._v("Calibrate:")]),i("v-divider",{attrs:{dark:"",color:"white"}}),i("CVselect",{attrs:{name:"Calibration Mode",list:["None","Single point","Dual point"]},on:{input:function(e){return t.handleData("calibrationMode")}},model:{value:t.value.calibrationMode,callback:function(e){t.$set(t.value,"calibrationMode",e)},expression:"value.calibrationMode"}}),i(t.selectedComponent,{tag:"component",attrs:{"raw-point":t.rawPoint},on:{update:t.doUpdate,snackbar:t.showSnackbar}}),i("v-snackbar",{attrs:{timeout:3e3,top:"",color:"error"},model:{value:t.snackbar,callback:function(e){t.snackbar=e},expression:"snackbar"}},[i("span",{staticStyle:{color:"#000"}},[t._v(t._s(t.snackbarText))]),i("v-btn",{attrs:{color:"black",text:""},on:{click:function(e){t.snackbar=!1}}},[t._v("Close")])],1)],1)},n=[],s=i("8384"),o=i("b530"),r=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("v-row",{attrs:{align:"center",justify:"start"}},[i("v-col",{staticStyle:{"padding-right":"0"},attrs:{cols:3}},[i("v-btn",{attrs:{small:"",color:"#4baf62"},on:{click:t.takePointA}},[t._v("Take Point A")])],1),i("v-col",{staticStyle:{"margin-left":"0"},attrs:{cols:3}},[i("v-btn",{attrs:{small:"",color:"#4baf62"},on:{click:t.takePointB}},[t._v("Take Point B")])],1),i("v-col",[i("v-btn",{attrs:{small:"",color:"yellow darken-3"},on:{click:t.clearSlope}},[t._v("Clear All Points")])],1)],1)],1)},l=[],c={name:"DualCalibration",props:["rawPoint"],data(){return{pointA:void 0,pointB:void 0}},methods:{takePointA(){this.pointA=this.rawPoint,this.calcSlope()},takePointB(){this.pointB=this.rawPoint,this.calcSlope()},calcSlope(){if(void 0!==this.pointA&&void 0!==this.pointB){let t=(this.pointB[1]-this.pointA[1])/(this.pointB[0]-this.pointA[0]),e=this.pointA[1]-t*this.pointA[0];!1===isNaN(t)&&!1===isNaN(e)?this.sendSlope(t,e,!0):this.$emit("snackbar","Points are too close"),this.pointA=void 0,this.pointB=void 0}},sendSlope(t,e){this.handleInput("dualTargetCalibrationM",t),this.handleInput("dualTargetCalibrationB",e),this.$emit("update")},clearSlope(){this.sendSlope(1,0,!1),this.pointA=void 0,this.pointB=void 0}}},u=c,d=i("2877"),h=i("6544"),p=i.n(h),v=i("8336"),m=i("62ad"),f=i("0fd9"),g=Object(d["a"])(u,r,l,!1,null,"0f6b15a2",null),b=g.exports;p()(g,{VBtn:v["a"],VCol:m["a"],VRow:f["a"]});var C=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("v-row",{attrs:{align:"center",justify:"start"}},[i("v-col",{staticStyle:{"padding-right":"0"},attrs:{cols:3}},[i("v-btn",{attrs:{small:"",color:"#4baf62"},on:{click:t.takePoint}},[t._v("Take Point")])],1),i("v-col",[i("v-btn",{attrs:{small:"",color:"yellow darken-3"},on:{click:t.clearPoint}},[t._v("Clear Point")])],1)],1)],1)},k=[],x={name:"SingleCalibration",props:["rawPoint"],methods:{clearPoint(){this.handleInput("point",[]),this.$emit("update")},takePoint(){this.rawPoint[0]&&this.rawPoint[1]?(this.handleInput("point",this.rawPoint),this.$emit("update")):this.$emit("snackbar","No target found")}}},y=x,w=Object(d["a"])(y,C,k,!1,null,"313bc844",null),$=w.exports;p()(w,{VBtn:v["a"],VCol:m["a"],VRow:f["a"]});var S={name:"Output",props:["value"],components:{CVselect:s["a"],CVswitch:o["a"],SingleCalibration:$,DualCalibration:b},methods:{handleData(t){this.handleInput(t,this.value[t]),this.$emit("update")},doUpdate(){this.$emit("update")},showSnackbar(t){this.snackbarText=t,this.snackbar=!0}},data(){return{snackbar:!1,snackbarText:""}},computed:{selectedComponent:{get(){switch(this.value.calibrationMode){case 0:return"";case 1:return"SingleCalibration";case 2:return"DualCalibration"}return""}},rawPoint:{get(){return this.$store.state.point.rawPoint}}}},_=S,I=i("ce7e"),P=i("2db4"),D=Object(d["a"])(_,a,n,!1,null,"0544e283",null);e["default"]=D.exports;p()(D,{VBtn:v["a"],VDivider:I["a"],VSnackbar:P["a"]})},"50ef":function(t,e,i){"use strict";i.r(e);var a=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("CVslider",{attrs:{name:"Exposure",min:0,max:100},on:{input:function(e){return t.handleData("exposure")}},model:{value:t.value.exposure,callback:function(e){t.$set(t.value,"exposure",e)},expression:"value.exposure"}}),i("CVslider",{attrs:{name:"Brightness",min:0,max:100},on:{input:function(e){return t.handleData("brightness")}},model:{value:t.value.brightness,callback:function(e){t.$set(t.value,"brightness",e)},expression:"value.brightness"}}),i("CVselect",{attrs:{name:"Orientation",list:["Normal","90° CW","180°","90° CCW"]},on:{input:function(e){return t.handleData("rotationMode")}},model:{value:t.value.rotationMode,callback:function(e){t.$set(t.value,"rotationMode",e)},expression:"value.rotationMode"}}),i("CVselect",{attrs:{name:"Resolution",list:t.resolutionList},on:{input:function(e){return t.handleData("videoModeIndex")}},model:{value:t.value.videoModeIndex,callback:function(e){t.$set(t.value,"videoModeIndex",e)},expression:"value.videoModeIndex"}}),i("CVselect",{attrs:{name:"Stream Resolution",list:t.streamResolutionList},on:{input:function(e){return t.handleData("streamDivisor")}},model:{value:t.value.streamDivisor,callback:function(e){t.$set(t.value,"streamDivisor",e)},expression:"value.streamDivisor"}})],1)},n=[],s=i("1447"),o=i("8384"),r={name:"Input",props:["value"],components:{CVslider:s["a"],CVselect:o["a"]},methods:{handleData(t){this.handleInput(t,this.value[t]),this.$emit("update")}},data(){return{t:0,a:1}},computed:{resolutionList:{get(){let t=[];for(let e of this.$store.state.resolutionList)t.push(`${e["width"]} X ${e["height"]} at ${e["fps"]} FPS, ${e["pixelFormat"]}`);return t}},streamResolutionList:{get(){let t=this.$store.state.resolutionList[this.value.videoModeIndex],e=[];e.push(`${Math.floor(t["width"])} X ${Math.floor(t["height"])}`);for(let i=2;i<=6;i+=2)e.push(`${Math.floor(t["width"]/i)} X ${Math.floor(t["height"]/i)}`);return e}}}},l=r,c=i("2877"),u=Object(c["a"])(l,a,n,!1,null,"018bd9b4",null);e["default"]=u.exports},"59a3":function(t,e,i){},"5c73":function(t,e,i){"use strict";i.r(e);var a=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("CVrangeSlider",{attrs:{name:"Area",min:0,max:100,step:.1},on:{input:function(e){return t.handleData("area")}},model:{value:t.value.area,callback:function(e){t.$set(t.value,"area",e)},expression:"value.area"}}),i("CVrangeSlider",{attrs:{name:"Ratio (W/H)",min:0,max:100,step:.1},on:{input:function(e){return t.handleData("ratio")}},model:{value:t.value.ratio,callback:function(e){t.$set(t.value,"ratio",e)},expression:"value.ratio"}}),i("CVrangeSlider",{attrs:{name:"Extent",min:0,max:100},on:{input:function(e){return t.handleData("extent")}},model:{value:t.value.extent,callback:function(e){t.$set(t.value,"extent",e)},expression:"value.extent"}}),i("CVslider",{attrs:{name:"Speckle Rejection",min:0,max:100},on:{input:function(e){return t.handleData("speckle")}},model:{value:t.value.speckle,callback:function(e){t.$set(t.value,"speckle",e)},expression:"value.speckle"}}),i("CVselect",{attrs:{name:"Target Group",list:["Single","Dual"]},on:{input:function(e){return t.handleData("targetGroup")}},model:{value:t.value.targetGroup,callback:function(e){t.$set(t.value,"targetGroup",e)},expression:"value.targetGroup"}}),i("CVselect",{attrs:{name:"Target Intersection",list:["None","Up","Down","Left","Right"],disabled:t.isDisabled},on:{input:function(e){return t.handleData("targetIntersection")}},model:{value:t.value.targetIntersection,callback:function(e){t.$set(t.value,"targetIntersection",e)},expression:"value.targetIntersection"}})],1)},n=[],s=i("1029"),o=i("8384"),r=i("1447"),l={name:"Contours",props:["value"],components:{CVrangeSlider:s["a"],CVselect:o["a"],CVslider:r["a"]},methods:{handleData(t){this.handleInput(t,this.value[t]),this.$emit("update")}},data(){return{}},computed:{isDisabled(){return 0===this.value.targetGroup}}},c=l,u=i("2877"),d=Object(u["a"])(c,a,n,!1,null,"003f692e",null);e["default"]=d.exports},"6ca7":function(t,e,i){},"6ec0":function(t,e,i){"use strict";i.r(e);var a=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("div",[i("v-row",{attrs:{align:"center"}},[i("v-col",{staticClass:"colsClass",attrs:{cols:3}},[i("div",{staticStyle:{"padding-left":"30px"}},[!1===t.isCameraNameEdit?i("CVselect",{attrs:{name:"Camera",list:t.cameraList},on:{input:function(e){return t.handleInput("currentCamera",t.currentCameraIndex)}},model:{value:t.currentCameraIndex,callback:function(e){t.currentCameraIndex=e},expression:"currentCameraIndex"}}):i("CVinput",{attrs:{name:"Camera",errorMessage:t.checkCameraName},on:{Enter:t.saveCameraNameChange},model:{value:t.newCameraName,callback:function(e){t.newCameraName=e},expression:"newCameraName"}})],1)]),i("v-col",{attrs:{cols:1}},[!1===t.isCameraNameEdit?i("CVicon",{attrs:{color:"#c5c5c5",hover:"",text:"edit",tooltip:"Edit camera name"},on:{click:t.toCameraNameChange}}):i("div",[i("CVicon",{staticStyle:{display:"inline-block"},attrs:{color:"#c5c5c5",hover:"",text:"save",tooltip:"Save Camera Name"},on:{click:t.saveCameraNameChange}}),i("CVicon",{staticStyle:{display:"inline-block"},attrs:{color:"error",hover:"",text:"close",tooltip:"Discard Changes"},on:{click:t.discardCameraNameChange}})],1)],1),i("v-col",{staticClass:"colsClass",attrs:{cols:3}},[i("CVselect",{attrs:{name:"Pipeline",list:["Driver Mode"].concat(t.pipelineList)},on:{input:function(e){return t.handleInput("currentPipeline",t.currentPipelineIndex-1)}},model:{value:t.currentPipelineIndex,callback:function(e){t.currentPipelineIndex=e},expression:"currentPipelineIndex"}})],1),0!==t.currentPipelineIndex?i("v-col",{staticClass:"colsClass",attrs:{cols:1,md:"3"}},[i("v-menu",{attrs:{"offset-y":"",dark:"",auto:""},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on;return[i("v-icon",t._g({attrs:{color:"white"}},a),[t._v("menu")])]}}],null,!1,2044107425)},[i("v-list",{attrs:{dense:""}},[i("v-list-item",{on:{click:t.toPipelineNameChange}},[i("v-list-item-title",[i("CVicon",{attrs:{color:"#c5c5c5",right:!0,text:"edit",tooltip:"Edit pipeline name"}})],1)],1),i("v-list-item",{on:{click:t.toCreatePipeline}},[i("v-list-item-title",[i("CVicon",{attrs:{color:"#c5c5c5",right:!0,text:"add",tooltip:"Add new pipeline"}})],1)],1),i("v-list-item",{on:{click:t.deleteCurrentPipeline}},[i("v-list-item-title",[i("CVicon",{attrs:{color:"red darken-2",right:!0,text:"delete",tooltip:"Delete pipeline"}})],1)],1),i("v-list-item",{on:{click:t.openDuplicateDialog}},[i("v-list-item-title",[i("CVicon",{attrs:{color:"#c5c5c5",right:!0,text:"mdi-content-copy",tooltip:"Duplicate pipeline"}})],1)],1)],1)],1)],1):t._e(),i("v-btn",{staticStyle:{position:"absolute",top:"5px",right:"0"},attrs:{tile:"",color:"#4baf62"},on:{click:function(e){return t.handleInput("command","save")}}},[i("v-icon",[t._v("save")]),t._v("\n Save\n ")],1)],1)],1),i("v-row",[i("v-col",{staticClass:"colsClass",attrs:{cols:"6"}},[0!==t.currentPipelineIndex?i("v-tabs",{attrs:{"fixed-tabs":"","background-color":"#212121",dark:"",height:"48","slider-color":"#4baf62"},model:{value:t.selectedTab,callback:function(e){t.selectedTab=e},expression:"selectedTab"}},[i("v-tab",[t._v("Input")]),i("v-tab",[t._v("Threshold")]),i("v-tab",[t._v("Contours")]),i("v-tab",[t._v("Output")]),i("v-tab",[t._v("3D")])],1):i("div",{staticStyle:{height:"48px"}}),i("div",{staticStyle:{"padding-left":"30px"}},[i("keep-alive",[i(t.selectedComponent,{ref:"component",tag:"component",on:{update:function(e){return t.$emit("save")}},model:{value:t.pipeline,callback:function(e){t.pipeline=e},expression:"pipeline"}})],1)],1)],1),i("v-col",{staticClass:"colsClass",attrs:{cols:"6"}},[i("div",[0!==t.currentPipelineIndex?i("v-tabs",{staticStyle:{"padding-bottom":"10px"},attrs:{"background-color":"#212121",dark:"",height:"48","slider-color":"#4baf62",centered:""},on:{change:function(e){return t.handleInput("isBinary",t.pipeline.isBinary)}},model:{value:t.isBinaryNumber,callback:function(e){t.isBinaryNumber=e},expression:"isBinaryNumber"}},[i("v-tab",[t._v("Normal")]),i("v-tab",[t._v("Threshold")])],1):i("div",{staticStyle:{height:"58px"}}),i("div",{staticClass:"videoClass"},[i("v-row",{attrs:{align:"center"}},[t.cameraList.length>0?i("img",{staticStyle:{display:"block",margin:"auto",width:"70%",height:"70%"},attrs:{id:"CameraStream",src:t.streamAddress,crossorigin:"Anonymous"},on:{click:t.onImageClick}}):i("span",{staticStyle:{display:"block",margin:"auto",width:"70%",height:"70%"}},[t._v("No Cameras Are connected")])]),i("v-row",{attrs:{justify:"end"}},[i("span",{staticStyle:{"margin-right":"45px"}},[t._v("FPS:"+t._s(parseFloat(t.fps).toFixed(2)))])]),i("v-row",{attrs:{align:"center"}},[i("v-simple-table",{staticStyle:{"text-align":"center","background-color":"transparent",display:"block",margin:"auto"},attrs:{dense:"",dark:""},scopedSlots:t._u([{key:"default",fn:function(){return[i("thead",[i("tr",[i("th",{staticClass:"text-center"},[t._v("Target")]),i("th",{staticClass:"text-center"},[t._v("Pitch")]),i("th",{staticClass:"text-center"},[t._v("Yaw")]),i("th",{staticClass:"text-center"},[t._v("Area")])])]),i("tbody",t._l(t.targets,(function(e,a){return i("tr",{key:a},[i("td",[t._v(t._s(a))]),i("td",[t._v(t._s(parseFloat(e.pitch).toFixed(2)))]),i("td",[t._v(t._s(parseFloat(e.yaw).toFixed(2)))]),i("td",[t._v(t._s(parseFloat(e.area).toFixed(2)))])])})),0)]},proxy:!0}])})],1)],1)],1)])],1),i("v-dialog",{attrs:{dark:"",width:"500",height:"357"},model:{value:t.duplicateDialog,callback:function(e){t.duplicateDialog=e},expression:"duplicateDialog"}},[i("v-card",{attrs:{dark:""}},[i("v-card-title",{staticClass:"headline",attrs:{"primary-title":""}},[t._v("Duplicate Pipeline")]),i("v-card-text",[i("CVselect",{attrs:{name:"Pipeline",list:t.pipelineList},model:{value:t.pipelineDuplicate.pipeline,callback:function(e){t.$set(t.pipelineDuplicate,"pipeline",e)},expression:"pipelineDuplicate.pipeline"}}),t.cameraList.length>1?i("v-checkbox",{attrs:{dark:"",label:"To another camera"},model:{value:t.anotherCamera,callback:function(e){t.anotherCamera=e},expression:"anotherCamera"}}):t._e(),!0===t.anotherCamera?i("CVselect",{attrs:{name:"Camera",list:t.cameraList},model:{value:t.pipelineDuplicate.camera,callback:function(e){t.$set(t.pipelineDuplicate,"camera",e)},expression:"pipelineDuplicate.camera"}}):t._e()],1),i("v-divider"),i("v-card-actions",[i("v-spacer"),i("v-btn",{attrs:{color:"#4baf62"},on:{click:t.duplicatePipeline}},[t._v("Duplicate")]),i("v-btn",{attrs:{color:"error"},on:{click:t.closeDuplicateDialog}},[t._v("Cancel")])],1)],1)],1),i("v-dialog",{attrs:{dark:"",width:"500",height:"357"},model:{value:t.namingDialog,callback:function(e){t.namingDialog=e},expression:"namingDialog"}},[i("v-card",{attrs:{dark:""}},[i("v-card-title",{staticClass:"headline",attrs:{"primary-title":""}},[t._v("Pipeline Name")]),i("v-card-text",[i("CVinput",{attrs:{name:"Pipeline","error-message":t.checkPipelineName},on:{Enter:t.savePipelineNameChange},model:{value:t.newPipelineName,callback:function(e){t.newPipelineName=e},expression:"newPipelineName"}})],1),i("v-divider"),i("v-card-actions",[i("v-spacer"),i("v-btn",{attrs:{color:"#4baf62",disabled:""!==t.checkPipelineName},on:{click:t.savePipelineNameChange}},[t._v("Save\n ")]),i("v-btn",{attrs:{color:"error"},on:{click:t.discardPipelineNameChange}},[t._v("Cancel")])],1)],1)],1),i("v-snackbar",{attrs:{timeout:3e3,top:"",color:"error"},model:{value:t.snackbar,callback:function(e){t.snackbar=e},expression:"snackbar"}},[i("span",{staticStyle:{color:"#000"}},[t._v("Can not remove the only pipeline!")]),i("v-btn",{attrs:{color:"black",text:""},on:{click:function(e){t.snackbar=!1}}},[t._v("Close")])],1)],1)},n=[],s=i("50ef"),o=i("1a40"),r=i("5c73"),l=i("4c92"),c=i("e4b1"),u=i("8384"),d=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",[i("v-tooltip",{attrs:{right:t.right,bottom:!t.right,"nudge-right":"10"},scopedSlots:t._u([{key:"activator",fn:function(e){var a=e.on;return[i("v-icon",t._g({class:t.hoverClass,attrs:{color:t.color},on:{click:t.handleClick}},a),[t._v(t._s(t.text))])]}}])},[i("span",[t._v(t._s(t.tooltip))])])],1)},h=[],p={name:"Icon",props:["color","tooltip","text","right","hover"],data(){return{}},methods:{handleClick(){this.$emit("click")}},computed:{hoverClass(){if(void 0!==this.hover)return"hover"}}},v=p,m=(i("91ea"),i("2877")),f=i("6544"),g=i.n(f),b=i("132d"),C=(i("9734"),i("4ad4")),k=i("a9ad"),x=i("16b7"),y=i("b848"),w=i("75eb"),$=i("f573"),S=i("f2e7"),_=i("80d2"),I=i("d9bd"),P=i("58df"),D=Object(P["a"])(k["a"],x["a"],y["a"],w["a"],$["a"],S["a"]).extend({name:"v-tooltip",props:{closeDelay:{type:[Number,String],default:0},disabled:Boolean,fixed:{type:Boolean,default:!0},openDelay:{type:[Number,String],default:0},openOnHover:{type:Boolean,default:!0},tag:{type:String,default:"span"},transition:String,zIndex:{default:null}},data:()=>({calculatedMinWidth:0,closeDependents:!1}),computed:{calculatedLeft(){const{activator:t,content:e}=this.dimensions,i=!this.bottom&&!this.left&&!this.top&&!this.right,a=!1!==this.attach?t.offsetLeft:t.left;let n=0;return this.top||this.bottom||i?n=a+t.width/2-e.width/2:(this.left||this.right)&&(n=a+(this.right?t.width:-e.width)+(this.right?10:-10)),this.nudgeLeft&&(n-=parseInt(this.nudgeLeft)),this.nudgeRight&&(n+=parseInt(this.nudgeRight)),`${this.calcXOverflow(n,this.dimensions.content.width)}px`},calculatedTop(){const{activator:t,content:e}=this.dimensions,i=!1!==this.attach?t.offsetTop:t.top;let a=0;return this.top||this.bottom?a=i+(this.bottom?t.height:-e.height)+(this.bottom?10:-10):(this.left||this.right)&&(a=i+t.height/2-e.height/2),this.nudgeTop&&(a-=parseInt(this.nudgeTop)),this.nudgeBottom&&(a+=parseInt(this.nudgeBottom)),`${this.calcYOverflow(a+this.pageYOffset)}px`},classes(){return{"v-tooltip--top":this.top,"v-tooltip--right":this.right,"v-tooltip--bottom":this.bottom,"v-tooltip--left":this.left}},computedTransition(){return this.transition?this.transition:this.isActive?"scale-transition":"fade-transition"},offsetY(){return this.top||this.bottom},offsetX(){return this.left||this.right},styles(){return{left:this.calculatedLeft,maxWidth:Object(_["e"])(this.maxWidth),minWidth:Object(_["e"])(this.minWidth),opacity:this.isActive?.9:0,top:this.calculatedTop,zIndex:this.zIndex||this.activeZIndex}}},beforeMount(){this.$nextTick(()=>{this.value&&this.callActivate()})},mounted(){"v-slot"===Object(_["p"])(this,"activator",!0)&&Object(I["b"])("v-tooltip's activator slot must be bound, try '\n\n\n\n","import mod from \"-!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-slider.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-slider.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./cv-slider.vue?vue&type=template&id=027e70b6&scoped=true&\"\nimport script from \"./cv-slider.vue?vue&type=script&lang=js&\"\nexport * from \"./cv-slider.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"027e70b6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlider } from 'vuetify/lib/components/VSlider';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VRow,VSlider,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('CVrangeSlider',{attrs:{\"name\":\"Hue\",\"min\":0,\"max\":180},on:{\"input\":function($event){return _vm.handleData('hue')}},model:{value:(_vm.value.hue),callback:function ($$v) {_vm.$set(_vm.value, \"hue\", $$v)},expression:\"value.hue\"}}),_c('CVrangeSlider',{attrs:{\"name\":\"Saturation\",\"min\":0,\"max\":255},on:{\"input\":function($event){return _vm.handleData('saturation')}},model:{value:(_vm.value.saturation),callback:function ($$v) {_vm.$set(_vm.value, \"saturation\", $$v)},expression:\"value.saturation\"}}),_c('CVrangeSlider',{attrs:{\"name\":\"Value\",\"min\":0,\"max\":255},on:{\"input\":function($event){return _vm.handleData('value')}},model:{value:(_vm.value.value),callback:function ($$v) {_vm.$set(_vm.value, \"value\", $$v)},expression:\"value.value\"}}),_c('v-divider',{staticStyle:{\"margin-top\":\"5px\"},attrs:{\"color\":\"darkgray \"}}),_c('v-btn',{staticStyle:{\"margin\":\"20px\"},attrs:{\"color\":\"#4baf62\",\"small\":\"\"},on:{\"click\":function($event){return _vm.setFunction(1)}}},[_c('v-icon',[_vm._v(\"colorize\")]),_vm._v(\"\\n Eye drop\\n \")],1),_c('v-btn',{staticStyle:{\"margin\":\"20px\"},attrs:{\"color\":\"#4baf62\",\"small\":\"\"},on:{\"click\":function($event){return _vm.setFunction(2)}}},[_c('v-icon',[_vm._v(\"add\")]),_vm._v(\"\\n Expand Selection\\n \")],1),_c('v-btn',{staticStyle:{\"margin\":\"20px\"},attrs:{\"color\":\"#4baf62\",\"small\":\"\"},on:{\"click\":function($event){return _vm.setFunction(3)}}},[_c('v-icon',[_vm._v(\"remove\")]),_vm._v(\"\\n Shrink Selection\\n \")],1),_c('v-divider',{attrs:{\"color\":\"darkgray \"}}),_c('CVswitch',{attrs:{\"name\":\"Erode\"},on:{\"input\":function($event){return _vm.handleData('erode')}},model:{value:(_vm.value.erode),callback:function ($$v) {_vm.$set(_vm.value, \"erode\", $$v)},expression:\"value.erode\"}}),_c('CVswitch',{attrs:{\"name\":\"Dilate\"},on:{\"input\":function($event){return _vm.handleData('dilate')}},model:{value:(_vm.value.dilate),callback:function ($$v) {_vm.$set(_vm.value, \"dilate\", $$v)},expression:\"value.dilate\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ThresholdTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ThresholdTab.vue?vue&type=template&id=37575e52&scoped=true&\"\nimport script from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ThresholdTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"37575e52\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDivider,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('CVselect',{attrs:{\"name\":\"SortMode\",\"list\":['Largest','Smallest','Highest','Lowest','Rightmost','Leftmost','Centermost']},on:{\"input\":function($event){return _vm.handleData('sortMode')}},model:{value:(_vm.value.sortMode),callback:function ($$v) {_vm.$set(_vm.value, \"sortMode\", $$v)},expression:\"value.sortMode\"}}),_c('CVswitch',{attrs:{\"name\":\"Output multiple\"},on:{\"input\":function($event){return _vm.handleData('multiple')}},model:{value:(_vm.value.multiple),callback:function ($$v) {_vm.$set(_vm.value, \"multiple\", $$v)},expression:\"value.multiple\"}}),_c('span',[_vm._v(\"Calibrate:\")]),_c('v-divider',{attrs:{\"dark\":\"\",\"color\":\"white\"}}),_c('CVselect',{attrs:{\"name\":\"Calibration Mode\",\"list\":['None','Single point','Dual point']},on:{\"input\":function($event){return _vm.handleData('calibrationMode')}},model:{value:(_vm.value.calibrationMode),callback:function ($$v) {_vm.$set(_vm.value, \"calibrationMode\", $$v)},expression:\"value.calibrationMode\"}}),_c(_vm.selectedComponent,{tag:\"component\",attrs:{\"raw-point\":_vm.rawPoint},on:{\"update\":_vm.doUpdate,\"snackbar\":_vm.showSnackbar}}),_c('v-snackbar',{attrs:{\"timeout\":3000,\"top\":\"\",\"color\":\"error\"},model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_c('span',{staticStyle:{\"color\":\"#000\"}},[_vm._v(_vm._s(_vm.snackbarText))]),_c('v-btn',{attrs:{\"color\":\"black\",\"text\":\"\"},on:{\"click\":function($event){_vm.snackbar = false}}},[_vm._v(\"Close\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"start\"}},[_c('v-col',{staticStyle:{\"padding-right\":\"0\"},attrs:{\"cols\":3}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"#4baf62\"},on:{\"click\":_vm.takePointA}},[_vm._v(\"Take Point A\")])],1),_c('v-col',{staticStyle:{\"margin-left\":\"0\"},attrs:{\"cols\":3}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"#4baf62\"},on:{\"click\":_vm.takePointB}},[_vm._v(\"Take Point B\")])],1),_c('v-col',[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"yellow darken-3\"},on:{\"click\":_vm.clearSlope}},[_vm._v(\"Clear All Points\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DualCalibration.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DualCalibration.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DualCalibration.vue?vue&type=template&id=0f6b15a2&scoped=true&\"\nimport script from \"./DualCalibration.vue?vue&type=script&lang=js&\"\nexport * from \"./DualCalibration.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0f6b15a2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"align\":\"center\",\"justify\":\"start\"}},[_c('v-col',{staticStyle:{\"padding-right\":\"0\"},attrs:{\"cols\":3}},[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"#4baf62\"},on:{\"click\":_vm.takePoint}},[_vm._v(\"Take Point\")])],1),_c('v-col',[_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"yellow darken-3\"},on:{\"click\":_vm.clearPoint}},[_vm._v(\"Clear Point\")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleCalibration.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SingleCalibration.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SingleCalibration.vue?vue&type=template&id=313bc844&scoped=true&\"\nimport script from \"./SingleCalibration.vue?vue&type=script&lang=js&\"\nexport * from \"./SingleCalibration.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"313bc844\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OutputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./OutputTab.vue?vue&type=template&id=0544e283&scoped=true&\"\nimport script from \"./OutputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./OutputTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0544e283\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VBtn,VDivider,VSnackbar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('CVslider',{attrs:{\"name\":\"Exposure\",\"min\":0,\"max\":100},on:{\"input\":function($event){return _vm.handleData('exposure')}},model:{value:(_vm.value.exposure),callback:function ($$v) {_vm.$set(_vm.value, \"exposure\", $$v)},expression:\"value.exposure\"}}),_c('CVslider',{attrs:{\"name\":\"Brightness\",\"min\":0,\"max\":100},on:{\"input\":function($event){return _vm.handleData('brightness')}},model:{value:(_vm.value.brightness),callback:function ($$v) {_vm.$set(_vm.value, \"brightness\", $$v)},expression:\"value.brightness\"}}),_c('CVselect',{attrs:{\"name\":\"Orientation\",\"list\":['Normal','90° CW','180°','90° CCW']},on:{\"input\":function($event){return _vm.handleData('rotationMode')}},model:{value:(_vm.value.rotationMode),callback:function ($$v) {_vm.$set(_vm.value, \"rotationMode\", $$v)},expression:\"value.rotationMode\"}}),_c('CVselect',{attrs:{\"name\":\"Resolution\",\"list\":_vm.resolutionList},on:{\"input\":function($event){return _vm.handleData('videoModeIndex')}},model:{value:(_vm.value.videoModeIndex),callback:function ($$v) {_vm.$set(_vm.value, \"videoModeIndex\", $$v)},expression:\"value.videoModeIndex\"}}),_c('CVselect',{attrs:{\"name\":\"Stream Resolution\",\"list\":_vm.streamResolutionList},on:{\"input\":function($event){return _vm.handleData('streamDivisor')}},model:{value:(_vm.value.streamDivisor),callback:function ($$v) {_vm.$set(_vm.value, \"streamDivisor\", $$v)},expression:\"value.streamDivisor\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputTab.vue?vue&type=template&id=018bd9b4&scoped=true&\"\nimport script from \"./InputTab.vue?vue&type=script&lang=js&\"\nexport * from \"./InputTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"018bd9b4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('CVrangeSlider',{attrs:{\"name\":\"Area\",\"min\":0,\"max\":100,\"step\":0.1},on:{\"input\":function($event){return _vm.handleData('area')}},model:{value:(_vm.value.area),callback:function ($$v) {_vm.$set(_vm.value, \"area\", $$v)},expression:\"value.area\"}}),_c('CVrangeSlider',{attrs:{\"name\":\"Ratio (W/H)\",\"min\":0,\"max\":100,\"step\":0.1},on:{\"input\":function($event){return _vm.handleData('ratio')}},model:{value:(_vm.value.ratio),callback:function ($$v) {_vm.$set(_vm.value, \"ratio\", $$v)},expression:\"value.ratio\"}}),_c('CVrangeSlider',{attrs:{\"name\":\"Extent\",\"min\":0,\"max\":100},on:{\"input\":function($event){return _vm.handleData('extent')}},model:{value:(_vm.value.extent),callback:function ($$v) {_vm.$set(_vm.value, \"extent\", $$v)},expression:\"value.extent\"}}),_c('CVslider',{attrs:{\"name\":\"Speckle Rejection\",\"min\":0,\"max\":100},on:{\"input\":function($event){return _vm.handleData('speckle')}},model:{value:(_vm.value.speckle),callback:function ($$v) {_vm.$set(_vm.value, \"speckle\", $$v)},expression:\"value.speckle\"}}),_c('CVselect',{attrs:{\"name\":\"Target Group\",\"list\":['Single','Dual']},on:{\"input\":function($event){return _vm.handleData('targetGroup')}},model:{value:(_vm.value.targetGroup),callback:function ($$v) {_vm.$set(_vm.value, \"targetGroup\", $$v)},expression:\"value.targetGroup\"}}),_c('CVselect',{attrs:{\"name\":\"Target Intersection\",\"list\":['None','Up','Down','Left','Right'],\"disabled\":_vm.isDisabled},on:{\"input\":function($event){return _vm.handleData('targetIntersection')}},model:{value:(_vm.value.targetIntersection),callback:function ($$v) {_vm.$set(_vm.value, \"targetIntersection\", $$v)},expression:\"value.targetIntersection\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContoursTab.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/vuetify-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContoursTab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ContoursTab.vue?vue&type=template&id=003f692e&scoped=true&\"\nimport script from \"./ContoursTab.vue?vue&type=script&lang=js&\"\nexport * from \"./ContoursTab.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"003f692e\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"colsClass\",attrs:{\"cols\":3}},[_c('div',{staticStyle:{\"padding-left\":\"30px\"}},[(_vm.isCameraNameEdit === false)?_c('CVselect',{attrs:{\"name\":\"Camera\",\"list\":_vm.cameraList},on:{\"input\":function($event){return _vm.handleInput('currentCamera',_vm.currentCameraIndex)}},model:{value:(_vm.currentCameraIndex),callback:function ($$v) {_vm.currentCameraIndex=$$v},expression:\"currentCameraIndex\"}}):_c('CVinput',{attrs:{\"name\":\"Camera\",\"errorMessage\":_vm.checkCameraName},on:{\"Enter\":_vm.saveCameraNameChange},model:{value:(_vm.newCameraName),callback:function ($$v) {_vm.newCameraName=$$v},expression:\"newCameraName\"}})],1)]),_c('v-col',{attrs:{\"cols\":1}},[(_vm.isCameraNameEdit === false)?_c('CVicon',{attrs:{\"color\":\"#c5c5c5\",\"hover\":\"\",\"text\":\"edit\",\"tooltip\":\"Edit camera name\"},on:{\"click\":_vm.toCameraNameChange}}):_c('div',[_c('CVicon',{staticStyle:{\"display\":\"inline-block\"},attrs:{\"color\":\"#c5c5c5\",\"hover\":\"\",\"text\":\"save\",\"tooltip\":\"Save Camera Name\"},on:{\"click\":_vm.saveCameraNameChange}}),_c('CVicon',{staticStyle:{\"display\":\"inline-block\"},attrs:{\"color\":\"error\",\"hover\":\"\",\"text\":\"close\",\"tooltip\":\"Discard Changes\"},on:{\"click\":_vm.discardCameraNameChange}})],1)],1),_c('v-col',{staticClass:\"colsClass\",attrs:{\"cols\":3}},[_c('CVselect',{attrs:{\"name\":\"Pipeline\",\"list\":['Driver Mode'].concat(_vm.pipelineList)},on:{\"input\":function($event){return _vm.handleInput('currentPipeline',_vm.currentPipelineIndex - 1)}},model:{value:(_vm.currentPipelineIndex),callback:function ($$v) {_vm.currentPipelineIndex=$$v},expression:\"currentPipelineIndex\"}})],1),(_vm.currentPipelineIndex !== 0)?_c('v-col',{staticClass:\"colsClass\",attrs:{\"cols\":1,\"md\":\"3\"}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"dark\":\"\",\"auto\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"white\"}},on),[_vm._v(\"menu\")])]}}],null,false,2044107425)},[_c('v-list',{attrs:{\"dense\":\"\"}},[_c('v-list-item',{on:{\"click\":_vm.toPipelineNameChange}},[_c('v-list-item-title',[_c('CVicon',{attrs:{\"color\":\"#c5c5c5\",\"right\":true,\"text\":\"edit\",\"tooltip\":\"Edit pipeline name\"}})],1)],1),_c('v-list-item',{on:{\"click\":_vm.toCreatePipeline}},[_c('v-list-item-title',[_c('CVicon',{attrs:{\"color\":\"#c5c5c5\",\"right\":true,\"text\":\"add\",\"tooltip\":\"Add new pipeline\"}})],1)],1),_c('v-list-item',{on:{\"click\":_vm.deleteCurrentPipeline}},[_c('v-list-item-title',[_c('CVicon',{attrs:{\"color\":\"red darken-2\",\"right\":true,\"text\":\"delete\",\"tooltip\":\"Delete pipeline\"}})],1)],1),_c('v-list-item',{on:{\"click\":_vm.openDuplicateDialog}},[_c('v-list-item-title',[_c('CVicon',{attrs:{\"color\":\"#c5c5c5\",\"right\":true,\"text\":\"mdi-content-copy\",\"tooltip\":\"Duplicate pipeline\"}})],1)],1)],1)],1)],1):_vm._e(),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"top\":\"5px\",\"right\":\"0\"},attrs:{\"tile\":\"\",\"color\":\"#4baf62\"},on:{\"click\":function($event){return _vm.handleInput('command','save')}}},[_c('v-icon',[_vm._v(\"save\")]),_vm._v(\"\\n Save\\n \")],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"colsClass\",attrs:{\"cols\":\"6\"}},[(_vm.currentPipelineIndex !== 0)?_c('v-tabs',{attrs:{\"fixed-tabs\":\"\",\"background-color\":\"#212121\",\"dark\":\"\",\"height\":\"48\",\"slider-color\":\"#4baf62\"},model:{value:(_vm.selectedTab),callback:function ($$v) {_vm.selectedTab=$$v},expression:\"selectedTab\"}},[_c('v-tab',[_vm._v(\"Input\")]),_c('v-tab',[_vm._v(\"Threshold\")]),_c('v-tab',[_vm._v(\"Contours\")]),_c('v-tab',[_vm._v(\"Output\")]),_c('v-tab',[_vm._v(\"3D\")])],1):_c('div',{staticStyle:{\"height\":\"48px\"}}),_c('div',{staticStyle:{\"padding-left\":\"30px\"}},[_c('keep-alive',[_c(_vm.selectedComponent,{ref:\"component\",tag:\"component\",on:{\"update\":function($event){return _vm.$emit('save')}},model:{value:(_vm.pipeline),callback:function ($$v) {_vm.pipeline=$$v},expression:\"pipeline\"}})],1)],1)],1),_c('v-col',{staticClass:\"colsClass\",attrs:{\"cols\":\"6\"}},[_c('div',[(_vm.currentPipelineIndex !== 0)?_c('v-tabs',{staticStyle:{\"padding-bottom\":\"10px\"},attrs:{\"background-color\":\"#212121\",\"dark\":\"\",\"height\":\"48\",\"slider-color\":\"#4baf62\",\"centered\":\"\"},on:{\"change\":function($event){return _vm.handleInput('isBinary',_vm.pipeline.isBinary)}},model:{value:(_vm.isBinaryNumber),callback:function ($$v) {_vm.isBinaryNumber=$$v},expression:\"isBinaryNumber\"}},[_c('v-tab',[_vm._v(\"Normal\")]),_c('v-tab',[_vm._v(\"Threshold\")])],1):_c('div',{staticStyle:{\"height\":\"58px\"}}),_c('div',{staticClass:\"videoClass\"},[_c('v-row',{attrs:{\"align\":\"center\"}},[(_vm.cameraList.length > 0)?_c('img',{staticStyle:{\"display\":\"block\",\"margin\":\"auto\",\"width\":\"70%\",\"height\":\"70%\"},attrs:{\"id\":\"CameraStream\",\"src\":_vm.streamAddress,\"crossorigin\":\"Anonymous\"},on:{\"click\":_vm.onImageClick}}):_c('span',{staticStyle:{\"display\":\"block\",\"margin\":\"auto\",\"width\":\"70%\",\"height\":\"70%\"}},[_vm._v(\"No Cameras Are connected\")])]),_c('v-row',{attrs:{\"justify\":\"end\"}},[_c('span',{staticStyle:{\"margin-right\":\"45px\"}},[_vm._v(\"FPS:\"+_vm._s(parseFloat(_vm.fps).toFixed(2)))])]),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-simple-table',{staticStyle:{\"text-align\":\"center\",\"background-color\":\"transparent\",\"display\":\"block\",\"margin\":\"auto\"},attrs:{\"dense\":\"\",\"dark\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"text-center\"},[_vm._v(\"Target\")]),_c('th',{staticClass:\"text-center\"},[_vm._v(\"Pitch\")]),_c('th',{staticClass:\"text-center\"},[_vm._v(\"Yaw\")]),_c('th',{staticClass:\"text-center\"},[_vm._v(\"Area\")])])]),_c('tbody',_vm._l((_vm.targets),function(value,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(index))]),_c('td',[_vm._v(_vm._s(parseFloat(value.pitch).toFixed(2)))]),_c('td',[_vm._v(_vm._s(parseFloat(value.yaw).toFixed(2)))]),_c('td',[_vm._v(_vm._s(parseFloat(value.area).toFixed(2)))])])}),0)]},proxy:true}])})],1)],1)],1)])],1),_c('v-dialog',{attrs:{\"dark\":\"\",\"width\":\"500\",\"height\":\"357\"},model:{value:(_vm.duplicateDialog),callback:function ($$v) {_vm.duplicateDialog=$$v},expression:\"duplicateDialog\"}},[_c('v-card',{attrs:{\"dark\":\"\"}},[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_vm._v(\"Duplicate Pipeline\")]),_c('v-card-text',[_c('CVselect',{attrs:{\"name\":\"Pipeline\",\"list\":_vm.pipelineList},model:{value:(_vm.pipelineDuplicate.pipeline),callback:function ($$v) {_vm.$set(_vm.pipelineDuplicate, \"pipeline\", $$v)},expression:\"pipelineDuplicate.pipeline\"}}),(_vm.cameraList.length > 1)?_c('v-checkbox',{attrs:{\"dark\":\"\",\"label\":'To another camera'},model:{value:(_vm.anotherCamera),callback:function ($$v) {_vm.anotherCamera=$$v},expression:\"anotherCamera\"}}):_vm._e(),(_vm.anotherCamera === true)?_c('CVselect',{attrs:{\"name\":\"Camera\",\"list\":_vm.cameraList},model:{value:(_vm.pipelineDuplicate.camera),callback:function ($$v) {_vm.$set(_vm.pipelineDuplicate, \"camera\", $$v)},expression:\"pipelineDuplicate.camera\"}}):_vm._e()],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"#4baf62\"},on:{\"click\":_vm.duplicatePipeline}},[_vm._v(\"Duplicate\")]),_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":_vm.closeDuplicateDialog}},[_vm._v(\"Cancel\")])],1)],1)],1),_c('v-dialog',{attrs:{\"dark\":\"\",\"width\":\"500\",\"height\":\"357\"},model:{value:(_vm.namingDialog),callback:function ($$v) {_vm.namingDialog=$$v},expression:\"namingDialog\"}},[_c('v-card',{attrs:{\"dark\":\"\"}},[_c('v-card-title',{staticClass:\"headline\",attrs:{\"primary-title\":\"\"}},[_vm._v(\"Pipeline Name\")]),_c('v-card-text',[_c('CVinput',{attrs:{\"name\":\"Pipeline\",\"error-message\":_vm.checkPipelineName},on:{\"Enter\":_vm.savePipelineNameChange},model:{value:(_vm.newPipelineName),callback:function ($$v) {_vm.newPipelineName=$$v},expression:\"newPipelineName\"}})],1),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"#4baf62\",\"disabled\":_vm.checkPipelineName !==''},on:{\"click\":_vm.savePipelineNameChange}},[_vm._v(\"Save\\n \")]),_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":_vm.discardPipelineNameChange}},[_vm._v(\"Cancel\")])],1)],1)],1),_c('v-snackbar',{attrs:{\"timeout\":3000,\"top\":\"\",\"color\":\"error\"},model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_c('span',{staticStyle:{\"color\":\"#000\"}},[_vm._v(\"Can not remove the only pipeline!\")]),_c('v-btn',{attrs:{\"color\":\"black\",\"text\":\"\"},on:{\"click\":function($event){_vm.snackbar = false}}},[_vm._v(\"Close\")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-tooltip',{attrs:{\"right\":_vm.right,\"bottom\":!_vm.right,\"nudge-right\":\"10\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({class:_vm.hoverClass,attrs:{\"color\":_vm.color},on:{\"click\":_vm.handleClick}},on),[_vm._v(_vm._s(_vm.text))])]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-icon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/vuetify-loader/lib/loader.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./cv-icon.vue?vue&type=script&lang=js&\"","import \"../../../src/components/VTooltip/VTooltip.sass\"; // Mixins\n\nimport Activatable from '../../mixins/activatable';\nimport Colorable from '../../mixins/colorable';\nimport Delayable from '../../mixins/delayable';\nimport Dependent from '../../mixins/dependent';\nimport Detachable from '../../mixins/detachable';\nimport Menuable from '../../mixins/menuable';\nimport Toggleable from '../../mixins/toggleable'; // Helpers\n\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers';\nimport { consoleError } from '../../util/console';\nimport mixins from '../../util/mixins';\n/* @vue/component */\n\nexport default mixins(Colorable, Delayable, Dependent, Detachable, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0\n },\n disabled: Boolean,\n fixed: {\n type: Boolean,\n default: true\n },\n openDelay: {\n type: [Number, String],\n default: 0\n },\n openOnHover: {\n type: Boolean,\n default: true\n },\n tag: {\n type: String,\n default: 'span'\n },\n transition: String,\n zIndex: {\n default: null\n }\n },\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false\n }),\n computed: {\n calculatedLeft() {\n const {\n activator,\n content\n } = this.dimensions;\n const unknown = !this.bottom && !this.left && !this.top && !this.right;\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left;\n let left = 0;\n\n if (this.top || this.bottom || unknown) {\n left = activatorLeft + activator.width / 2 - content.width / 2;\n } else if (this.left || this.right) {\n left = activatorLeft + (this.right ? activator.width : -content.width) + (this.right ? 10 : -10);\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft);\n if (this.nudgeRight) left += parseInt(this.nudgeRight);\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`;\n },\n\n calculatedTop() {\n const {\n activator,\n content\n } = this.dimensions;\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top;\n let top = 0;\n\n if (this.top || this.bottom) {\n top = activatorTop + (this.bottom ? activator.height : -content.height) + (this.bottom ? 10 : -10);\n } else if (this.left || this.right) {\n top = activatorTop + activator.height / 2 - content.height / 2;\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop);\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom);\n return `${this.calcYOverflow(top + this.pageYOffset)}px`;\n },\n\n classes() {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left\n };\n },\n\n computedTransition() {\n if (this.transition) return this.transition;\n return this.isActive ? 'scale-transition' : 'fade-transition';\n },\n\n offsetY() {\n return this.top || this.bottom;\n },\n\n offsetX() {\n return this.left || this.right;\n },\n\n styles() {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n opacity: this.isActive ? 0.9 : 0,\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex\n };\n }\n\n },\n\n beforeMount() {\n this.$nextTick(() => {\n this.value && this.callActivate();\n });\n },\n\n mounted() {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '