{"version":3,"sources":["webpack:///./src/views/staticNetwork/index.vue?410d","webpack:///studentInstances.ts","webpack:///./src/views/lms/nmap/index.vue?d40d","webpack:///./src/views/dashboard/admin/components/PanelGroup.vue?7f0d","webpack:///./src/views/dashboard/admin/components/PanelGroup.vue?66f9","webpack:///./src/views/lms/nmap/index.vue?d068","webpack:///./src/components/Pagination/index.vue?1bed","webpack:///scroll-to.ts","webpack:///./src/components/Pagination/index.vue?e699","webpack:///./src/components/Pagination/index.vue?1308","webpack:///./src/components/Pagination/index.vue","webpack:///cohorts.ts","webpack:///./src/components/Pagination/index.vue?bfef","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///cohort.ts","webpack:///./src/views/dashboard/admin/index.vue?d59f","webpack:///./src/assets/images/static_network.png","webpack:///./src/views/student/labInstances/index.vue?a96e","webpack:///./src/views/staticNetwork/index.vue?1fd5","webpack:///./src/views/student/labInstances/index.vue?8c81","webpack:///./src/views/student/labInstances/index.vue?b84d","webpack:///./src/views/student/labInstances/index.vue?af11","webpack:///./src/views/student/labInstances/index.vue","webpack:///./src/views/dashboard/index.vue?e7e0","webpack:///./src/views/dashboard/admin/index.vue?85d8","webpack:///./src/views/dashboard/admin/components/BarChart.vue?f6ea","webpack:///resize.ts","webpack:///./src/views/dashboard/admin/components/BarChart.vue?56d2","webpack:///./src/views/dashboard/admin/components/BarChart.vue?9d61","webpack:///./src/views/dashboard/admin/components/BarChart.vue","webpack:///./src/views/dashboard/admin/components/StaticNetworkInstancesTable.vue?30f6","webpack:///./src/views/dashboard/admin/components/StaticNetworkInstancesTable.vue?03b8","webpack:///./src/views/dashboard/admin/components/StaticNetworkInstancesTable.vue?ad8d","webpack:///./src/views/dashboard/admin/components/StaticNetworkInstancesTable.vue","webpack:///./src/views/dashboard/admin/components/DifficultyTimeCorrChart.vue?c6e4","webpack:///./src/views/dashboard/admin/components/DifficultyTimeCorrChart.vue?0a4a","webpack:///./src/views/dashboard/admin/components/DifficultyTimeCorrChart.vue?7e5f","webpack:///./src/views/dashboard/admin/components/DifficultyTimeCorrChart.vue","webpack:///./src/views/dashboard/admin/components/TotalMachineHoursTimeSeries.vue?cf39","webpack:///./src/views/dashboard/admin/components/TotalMachineHoursTimeSeries.vue?f37f","webpack:///./src/views/dashboard/admin/components/TotalMachineHoursTimeSeries.vue?d100","webpack:///./src/views/dashboard/admin/components/TotalMachineHoursTimeSeries.vue","webpack:///./src/views/dashboard/admin/components/PieChart.vue?2912","webpack:///./src/views/dashboard/admin/components/PieChart.vue?321f","webpack:///./src/views/dashboard/admin/components/PieChart.vue?4cdc","webpack:///./src/views/dashboard/admin/components/PieChart.vue","webpack:///./src/views/dashboard/admin/components/RadarChart.vue?3f54","webpack:///./src/views/dashboard/admin/components/RadarChart.vue?d4df","webpack:///./src/views/dashboard/admin/components/RadarChart.vue?b633","webpack:///./src/views/dashboard/admin/components/RadarChart.vue","webpack:///./src/views/dashboard/admin/components/PanelGroup.vue?8457","webpack:///./src/views/dashboard/admin/components/PanelGroup.vue?8554","webpack:///./src/views/dashboard/admin/components/PanelGroup.vue?5870","webpack:///./src/views/dashboard/admin/components/PanelGroup.vue","webpack:///./src/components/Panel/index.vue?c92d","webpack:///./src/components/Panel/index.vue?fafa","webpack:///./src/components/Panel/index.vue?42a6","webpack:///./src/components/Panel/index.vue","webpack:///./src/views/dashboard/admin/index.vue?ab70","webpack:///./src/views/dashboard/admin/index.vue?ff71","webpack:///./src/views/dashboard/admin/index.vue","webpack:///./src/views/dashboard/instructor/index.vue?cacd","webpack:///./src/views/dashboard/instructor/index.vue?fc58","webpack:///./src/views/dashboard/instructor/index.vue?431a","webpack:///./src/views/dashboard/instructor/index.vue","webpack:///./src/views/dashboard/index.vue?35f3","webpack:///./src/views/dashboard/index.vue?f9e4","webpack:///./src/views/dashboard/index.vue","webpack:///./src/views/staticNetwork/index.vue?dcbc","webpack:///./src/views/staticNetwork/index.vue?8bc7","webpack:///./src/views/staticNetwork/index.vue?603f","webpack:///./src/views/staticNetwork/index.vue","webpack:///./src/components/CustomDraggable/index.vue?6fda","webpack:///./src/views/staticNetwork/index.vue?d8aa","webpack:///./src/components/Panel/index.vue?2da4","webpack:///./src/views/dashboard/admin/index.vue?8f42","webpack:///./src/components/CustomDraggable/index.vue?27f3","webpack:///./src/components/CustomDraggable/index.vue?9118","webpack:///./src/components/CustomDraggable/index.vue?1c52","webpack:///./src/components/CustomDraggable/index.vue","webpack:///enums.ts","webpack:///request.ts","webpack:///./src/views/lms/nmap/index.vue?4fc7","webpack:///./src/views/lms/nmap/index.vue?7ea9","webpack:///./src/views/lms/nmap/index.vue?456a","webpack:///./src/views/lms/nmap/index.vue","webpack:///./src/views/dashboard/index.vue?17a3","webpack:///./src/components/Panel/index.vue?6725","webpack:///timeHelpers.ts","webpack:///./src/views/dashboard/instructor/index.vue?12f7","webpack:///./src/views/dashboard/admin/components/PanelGroup.vue?924a","webpack:///./src/views/dashboard/instructor/index.vue?d0ca","webpack:///./src/views/lms/wireshark/index.vue?4aa4","webpack:///./src/views/lms/wireshark/index.vue?ebae","webpack:///./src/views/lms/wireshark/index.vue?0252","webpack:///./src/views/lms/wireshark/index.vue"],"names":["module","exports","url","method","data","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","hidden","_b","attrs","background","currentPage","pageSize","layout","pageSizes","total","on","$event","handleSizeChange","handleCurrentChange","$attrs","staticRenderFns","easeInOutQuad","t","window","document","page","value","$emit","limit","autoScroll","scrollTo","required","default","name","component","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","staticStyle","handleCohortSelection","model","listQuery","callback","$$v","$set","expression","_l","cohort","key","directives","rawName","reloadStudentInstances","_v","_s","$t","noDataMessage","tableKey","filteredStudentInstances","prop","order","sortChange","handleSelectionChange","scopedSlots","_u","fn","ref","row","enrollment","handleUpdate","box","displayName","version","privateIpAddress","getTimeRemaining","instanceStatus","timeToShutDown","_f","nonStartState","handleActionCommand","nonStopState","nonResetState","needAddTime","addTime","showTerminalButton","launchLabInstance","showDesktopButton","length","getList","studentInstances","listLoading","cohortName","undefined","userEmail","sort","selectedStudentInstances","dialogPageviewsVisible","pageviewsData","inactionStates","searchTerm","getStudentInstances","$cyberlabHub","$on","onStudentInstanceStatusUpdated","filterBySearch","$off","filterStudentInstances","filterBySearchTerm","filter","si","toLowerCase","includes","studentInstance","status","message","messageType","targetStudentInstance","getStudentInstanceById","updateStudentInstanceStatus","$notify","title","type","duration","find","el","ids","forEach","i","updateStudentInstanceStatusId","cohorts","then","response","SetCohorts","error","console","log","time","timeDiffInSeconds","getTimeRemainingInSeconds","moment","humanize","fromTime","Date","toUTCString","toTime","unix","machineType","Window","Ubuntu","indexOf","isInactionState","isInLaunchConditions","WindowBox","machineTypeCode","isStudentMachine","UbuntuBox","command","action","startInstances","stopInstances","resetInstances","updateStudentInstanceStatusIds","connectionType","href","Linux","guacTerminalId","guacDesktopId","open","add","utc","format","remainingTime","components","Pagination","currentRole","tag","className","style","height","width","animationDuration","$nextTick","initChart","chart","dispose","init","$el","setOption","tooltip","trigger","axisPointer","grid","top","left","right","bottom","containLabel","xAxis","axisTick","alignWithLabel","yAxis","nameLocation","nameGap","boundaryGap","show","series","stack","itemStyle","normal","color","tableData","props","state","city","address","zip","date","text","scale","padding","symbolSize","label","emphasis","formatter","param","position","LinearGradient","offset","animationEasing","now","oneDay","randData","randomData","push","Math","random","toString","getFullYear","getMonth","getDate","join","round","setOptions","params","animation","splitLine","axisLabel","idx","showSymbol","hoverAnimation","legend","radius","center","radar","splitNumber","splitArea","areaStyle","opacity","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","indicator","max","handleSetLineChartData","slot","CountTo","panelTitle","_t","StaticNetworkInstancesTable","DifficultyTimeCorrChart","TotalMachineHoursTimeSeries","Panel","BarChart","PieChart","RadarChart","PanelGroup","_m","roles","isInternalEmployee","$router","AdminDashboard","InstructorDashboard","labList","list1","group","list2","CustomDraggable","headerText","list","element","Draggable","ConnectionTypes","MachineType","resize","modalTitle","dialogVisible","handleClose","modalMessage","handleGuacAuthentication","addEventListener","refocusGuacamole","verifyGuacAuthentication","removeEventListener","focused","activeElement","body","iframe","$refs","guac","focus","SplitPane"],"mappings":"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","file":"js/dashboard.cb47bc9e.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\"};","import request from \"@/utils/request\";\nexport const getStudentInstances = (params) => request({\n url: \"/student-instances\",\n method: \"get\",\n params\n});\nexport const createStudentInstances = (data) => request({\n url: \"/student-instances/create\",\n method: \"post\",\n data\n});\nexport const startStudentInstances = (data) => request({\n url: \"/student-instances/start\",\n method: \"post\",\n data\n});\nexport const stopStudentInstances = (data) => request({\n url: \"/student-instances/stop\",\n method: \"post\",\n data\n});\nexport const resetStudentInstances = (data) => request({\n url: \"/student-instances/reset\",\n method: \"post\",\n data\n});\nexport const terminateStudentInstances = (data) => request({\n url: \"/student-instances/terminate\",\n method: \"post\",\n data\n});\nexport const addTimeForStudentInstances = (data) => request({\n url: \"/student-instances/add-time\",\n method: \"post\",\n data\n});\n//# sourceMappingURL=studentInstances.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&scopes=true&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanelGroup.vue?vue&type=style&index=1&lang=scss&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\"};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"pagination-container\",class:{'hidden': _vm.hidden}},[_c('el-pagination',_vm._b({attrs:{\"background\":_vm.background,\"current-page\":_vm.currentPage,\"page-size\":_vm.pageSize,\"layout\":_vm.layout,\"page-sizes\":_vm.pageSizes,\"total\":_vm.total},on:{\"update:currentPage\":function($event){_vm.currentPage=$event},\"update:current-page\":function($event){_vm.currentPage=$event},\"update:pageSize\":function($event){_vm.pageSize=$event},\"update:page-size\":function($event){_vm.pageSize=$event},\"size-change\":_vm.handleSizeChange,\"current-change\":_vm.handleCurrentChange}},'el-pagination',_vm.$attrs,false))],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const easeInOutQuad = (t, b, c, d) => {\n t /= d / 2;\n if (t < 1) {\n return (c / 2) * t * t + b;\n }\n t--;\n return (-c / 2) * (t * (t - 2) - 1) + b;\n};\n// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts\nconst requestAnimFrame = (function() {\n return (\n window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n window.mozRequestAnimationFrame ||\n function(callback) {\n window.setTimeout(callback, 1000 / 60);\n }\n );\n})();\n// Because it's so fucking difficult to detect the scrolling element, just move them all\nconst move = amount => {\n document.documentElement.scrollTop = amount;\n document.body.parentNode.scrollTop = amount;\n document.body.scrollTop = amount;\n};\nconst position = () => {\n return (\n document.documentElement.scrollTop ||\n document.body.parentNode.scrollTop ||\n document.body.scrollTop\n );\n};\nexport const scrollTo = (to, duration, callback) => {\n const start = position();\n const change = to - start;\n const increment = 20;\n let currentTime = 0;\n duration = typeof duration === \"undefined\" ? 500 : duration;\n const animateScroll = function() {\n // increment the time\n currentTime += increment;\n // find the value with the quadratic in-out easing function\n const val = easeInOutQuad(currentTime, start, change, duration);\n // move the document.body\n move(val);\n // do the animation unless its over\n if (currentTime < duration) {\n requestAnimFrame(animateScroll);\n } else {\n if (callback && typeof callback === \"function\") {\n // the animation is done so lets callback\n callback();\n }\n }\n };\n animateScroll();\n};\n//# sourceMappingURL=scroll-to.js.map\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\nimport { scrollTo } from '@/utils/scroll-to'\n\n@Component({\n name: 'Pagination'\n})\nexport default class extends Vue {\n @Prop({ required: true }) private total!: number\n @Prop({ default: 1 }) private page!: number\n @Prop({ default: 20 }) private limit!: number\n @Prop({ default: () => [10, 20, 30, 50] }) private pageSizes!: number[]\n @Prop({ default: 'total, sizes, prev, pager, next, jumper' }) private layout!: string\n @Prop({ default: true }) private background!: boolean\n @Prop({ default: true }) private autoScroll!: boolean\n @Prop({ default: false }) private hidden!: boolean\n\n get currentPage() {\n return this.page\n }\n\n set currentPage(value) {\n this.$emit('update:page', value)\n }\n\n get pageSize() {\n return this.limit\n }\n\n set pageSize(value) {\n this.$emit('update:limit', value)\n }\n\n handleSizeChange(value: number) {\n this.$emit('pagination', { page: this.currentPage, limit: value })\n if (this.autoScroll) {\n scrollTo(0, 800)\n }\n }\n\n handleCurrentChange(value: number) {\n this.$emit('pagination', { page: value, limit: this.pageSize })\n if (this.autoScroll) {\n scrollTo(0, 800)\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2f4afb68&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=2f4afb68&lang=scss&scoped=true&\"\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 \"2f4afb68\",\n null\n \n)\n\nexport default component.exports","import request from '@/utils/request';\nexport const defaultCohort = {\n id: \"00000\",\n name: \"Pro Bootcamp\"\n};\nexport const getCohorts = (params) => request({\n url: '/cohorts',\n method: 'get',\n params\n});\nexport const getCohort = (id, params) => request({\n url: `/cohorts/${id}`,\n method: 'get',\n params\n});\n//# sourceMappingURL=cohorts.js.map","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=2f4afb68&lang=scss&scoped=true&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"73332\",\n\t\"./en-il.js\": \"73332\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df48\",\n\t\"./fa.js\": \"8df48\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b46\",\n\t\"./gd.js\": \"f6b46\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","import { __decorate } from \"tslib\";\nimport { VuexModule, Module, Action, Mutation, getModule } from 'vuex-module-decorators';\nimport store from '@/store';\nlet Cohort = class Cohort extends VuexModule {\n constructor() {\n super(...arguments);\n this.cohorts = [];\n }\n SET_COHORTS(cohorts) {\n this.cohorts = cohorts;\n }\n SetCohorts(cohorts) {\n return cohorts;\n }\n};\n__decorate([\n Mutation\n], Cohort.prototype, \"SET_COHORTS\", null);\n__decorate([\n Action({ commit: 'SET_COHORTS' })\n], Cohort.prototype, \"SetCohorts\", null);\nCohort = __decorate([\n Module({ dynamic: true, store, name: 'cohort' })\n], Cohort);\nexport const CohortModule = getModule(Cohort);\n//# sourceMappingURL=cohort.js.map","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&scopes=true&\"","module.exports = __webpack_public_path__ + \"img/static_network.cbeb710a.png\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=5f7e0238&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"lab-instance app-container\"},[_c('div',{staticClass:\"filter-container\"},[_c('el-select',{staticClass:\"filter-item\",staticStyle:{\"width\":\"220px\"},attrs:{\"autocomplete\":\"\",\"filterable\":\"\",\"placeholder\":\"Cohort\",\"clearable\":\"\"},on:{\"change\":_vm.handleCohortSelection},model:{value:(_vm.listQuery.cohort),callback:function ($$v) {_vm.$set(_vm.listQuery, \"cohort\", $$v)},expression:\"listQuery.cohort\"}},_vm._l((_vm.cohorts),function(cohort){return _c('el-option',{key:cohort.id,attrs:{\"label\":cohort.name,\"value\":cohort.name}})}),1),_c('el-button',{directives:[{name:\"waves\",rawName:\"v-waves\"}],staticClass:\"filter-item has-margin-left\",attrs:{\"type\":\"primary\",\"icon\":\"el-icon-refresh\"},on:{\"click\":_vm.reloadStudentInstances}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"table.refresh\"))+\"\\n \")])],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showNoDataWarning),expression:\"showNoDataWarning\"}],staticClass:\"no-data-warning el-alert el-alert--warning is-light\"},[_vm._v(_vm._s(_vm.noDataMessage))]),_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.listLoading),expression:\"listLoading\"},{name:\"show\",rawName:\"v-show\",value:(_vm.total>0),expression:\"total>0\"}],key:_vm.tableKey,staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.filteredStudentInstances,\"default-sort\":{prop: 'enrollment.name', order: 'ascending'},\"border\":\"\",\"fit\":\"\",\"stripe\":\"\",\"highlight-current-row\":\"\"},on:{\"sort-change\":_vm.sortChange,\"selection-change\":_vm.handleSelectionChange}},[_c('el-table-column',{attrs:{\"type\":\"selection\",\"width\":\"40\"}}),_c('el-table-column',{attrs:{\"label\":\"Enrollment\",\"prop\":\"enrollment.name\",\"sortable\":\"\",\"min-width\":\"210px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('span',{staticClass:\"link-type\"},[_vm._v(_vm._s(row.enrollment.name))])]}}])}),_c('el-table-column',{attrs:{\"label\":\"Box\",\"min-width\":\"100px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('span',{staticClass:\"link-type\",on:{\"click\":function($event){return _vm.handleUpdate(row)}}},[_vm._v(\"\\n \"+_vm._s(row.box.displayName)+\" - \"+_vm._s(row.box.version))])]}}])}),_c('el-table-column',{attrs:{\"label\":\"Private IP\",\"prop\":\"privateIpAddress\",\"sortable\":\"\",\"min-width\":\"70px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('span',{staticClass:\"link-type\",on:{\"click\":function($event){return _vm.handleUpdate(row)}}},[_vm._v(_vm._s(row.privateIpAddress))])]}}])}),_c('el-table-column',{attrs:{\"label\":\"Remaining Time\",\"min-width\":\"80px\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('span',{staticClass:\"link-type remaining-time\",class:{'danger': _vm.getTimeRemaining(row.instanceStatus, row.timeToShutDown) === '00:00:00'}},[_vm._v(\"\\n \"+_vm._s(_vm.getTimeRemaining(row.instanceStatus, row.timeToShutDown))+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"label\":\"Status\",\"class-name\":\"status-col\",\"prop\":\"instanceStatus\",\"sortable\":\"\",\"width\":\"120\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('el-tag',{staticClass:\"machine-status\",attrs:{\"type\":_vm._f(\"instanceStatusFilter\")(row.instanceStatus)}},[_vm._v(\"\\n \"+_vm._s(row.instanceStatus)+\"\\n \")])]}}])}),_c('el-table-column',{attrs:{\"label\":\"Action\",\"align\":\"center\",\"width\":\"360\",\"class-name\":\"fixed-width\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('el-button',{staticClass:\"el-button-start-instance\",attrs:{\"disabled\":_vm.nonStartState(row.instanceStatus),\"size\":\"mini\",\"type\":\"success\"},on:{\"click\":function($event){return _vm.handleActionCommand(row, 'Start')}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"play\"}}),_vm._v(\"\\n Start\\n \")],1),_c('el-button',{staticClass:\"el-button-stop-instance\",attrs:{\"disabled\":_vm.nonStopState(row.instanceStatus),\"size\":\"mini\",\"type\":\"danger\"},on:{\"click\":function($event){return _vm.handleActionCommand(row, 'Stop')}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"stop\"}}),_vm._v(\"\\n Stop\\n \")],1),_c('el-button',{staticClass:\"el-button-reset-instance\",attrs:{\"disabled\":_vm.nonResetState(row.instanceStatus),\"size\":\"mini\",\"type\":\"warning\"},on:{\"click\":function($event){return _vm.handleActionCommand(row, 'Reset')}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"redo\"}}),_vm._v(\"\\n Reset\\n \")],1),_c('el-button',{staticClass:\"el-button-reset-instance\",attrs:{\"disabled\":!_vm.needAddTime(row),\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.addTime(row)}}},[_c('font-awesome-icon',{attrs:{\"icon\":\"hourglass\"}}),_vm._v(\"\\n Add Time\\n \")],1)]}}])}),_c('el-table-column',{attrs:{\"align\":\"center\",\"width\":\"120\",\"class-name\":\"fixed-width\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('el-button',{staticClass:\"has-icon black-background open-terminal\",attrs:{\"disabled\":!_vm.showTerminalButton(row),\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.launchLabInstance(row, 'terminal')}}},[_c('console-icon',{staticClass:\"icon-2x\"})],1),_c('el-button',{staticClass:\"has-icon green-background open-desktop\",attrs:{\"disabled\":!_vm.showDesktopButton(row),\"size\":\"mini\",\"type\":\"primary\"},on:{\"click\":function($event){return _vm.launchLabInstance(row, 'rdp')}}},[_c('desktop-mac-icon',{staticClass:\"icon-2x\"})],1)]}}])})],1),_c('pagination',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.filteredStudentInstances.length > 0),expression:\"filteredStudentInstances.length > 0\"}],attrs:{\"total\":_vm.filteredStudentInstances.length,\"page\":_vm.listQuery.page,\"limit\":_vm.listQuery.limit},on:{\"update:page\":function($event){return _vm.$set(_vm.listQuery, \"page\", $event)},\"update:limit\":function($event){return _vm.$set(_vm.listQuery, \"limit\", $event)},\"pagination\":_vm.getList}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { Form } from \"element-ui\";\nimport { cloneDeep } from \"lodash\";\nimport { getCohorts } from \"@/api/cohorts\";\nimport { getStudentInstances, createStudentInstances, startStudentInstances, stopStudentInstances, resetStudentInstances, terminateStudentInstances, addTimeForStudentInstances } from \"@/api/studentInstances\";\nimport {\n IContact,\n ICohort,\n IEnrollment,\n ILab,\n IStudentInstance\n} from \"@/api/types\";\nimport Pagination from \"@/components/Pagination/index.vue\";\nimport { CohortModule } from \"@/store/modules/cohort\";\nimport { UserModule } from \"@/store/modules/user\";\nimport { getMinutesDiffFromNow } from \"@/utils/timeHelpers\";\nimport * as moment from 'moment';\nimport { MachineType } from \"@/api/enums\";\nimport { EventBus } from \"@/utils/eventBus\";\nimport { guacClientUrl } from '@/config';\n\n@Component({\n name: \"StudentLabInstance\",\n components: {\n Pagination\n }\n})\nexport default class extends Vue {\n private tableKey = 0;\n private studentInstances: IStudentInstance[] = [];\n private filteredStudentInstances: IStudentInstance[] = [];\n private total = 0;\n private listLoading = true;\n private listQuery = {\n cohortName: undefined,\n userEmail: \"\",\n page: 1,\n limit: 20,\n sort: \"+id\"\n };\n private selectedStudentInstances: IStudentInstance[] = [];\n private dialogPageviewsVisible = false;\n private pageviewsData = [];\n private inactionStates: string[] = [\"None\", \"Terminated\", \"Starting\", \"Stopping\", \"Resetting\"];\n private noDataMessage: string = \"There is no machine assigned to you. Please contact your instructor.\";\n private searchTerm: string = \"\";\n\n created() {\n this.getList();\n this.getStudentInstances();\n this.$cyberlabHub.$on(\"student-instance-status-updated\", this.onStudentInstanceStatusUpdated);\n EventBus.$on(\"student-instances-search\", this.filterBySearch);\n }\n\n destroyed() {\n this.$cyberlabHub.$off(\"student-instance-status-updated\", this.onStudentInstanceStatusUpdated);\n EventBus.$off(\"student-instances-search\", this.filterBySearch);\n }\n\n private filterBySearch(data: any) {\n this.searchTerm = data.value;\n this.filterStudentInstances();\n }\n\n private filterStudentInstances() {\n this.filteredStudentInstances = this.studentInstances\n this.filteredStudentInstances = this.filterBySearchTerm(this.filteredStudentInstances);\n }\n\n private filterBySearchTerm(studentInstances: IStudentInstance[]) {\n if (this.searchTerm !== \"\") {\n return studentInstances.filter((si: IStudentInstance) => {\n if (si.enrollment.name) {\n return si.enrollment.name.toLowerCase().includes(this.searchTerm.toLowerCase())\n }\n return false;\n });\n }\n return studentInstances;\n }\n\n get showNoDataWarning() {\n return this.total === 0 && !this.listLoading\n }\n\n private onStudentInstanceStatusUpdated(data: any) {\n let studentInstance: IStudentInstance = data.studentInstance\n let status: string = data.status\n let timeToShutDown: string = studentInstance.timeToShutDown\n let message: string = \"\";\n let messageType : \"info\" | \"success\" | \"warning\" | \"error\" = \"info\";\n let targetStudentInstance : IStudentInstance | undefined = this.getStudentInstanceById(studentInstance.id);\n\n switch(status) {\n case \"Active\": {\n message = `is ready`\n messageType = \"success\"\n break;\n }\n case \"Inactive\": {\n message = `has stopped`\n messageType = \"warning\"\n break;\n }\n case \"Terminated\": {\n message = `has terminated`\n messageType = \"error\"\n break;\n }\n }\n\n if (this.updateStudentInstanceStatus(targetStudentInstance, status, timeToShutDown)) {\n this.$notify({\n title: \"Lab Instance\",\n message: `Lab instance for ${studentInstance.enrollment.name} ${message}.`,\n type: messageType,\n duration: 5000\n });\n }\n }\n\n private getStudentInstanceById(id: string): IStudentInstance | undefined {\n return this.studentInstances.find(el => el.id === id);\n }\n\n private updateStudentInstanceStatus(studentInstance: IStudentInstance | undefined, status: string, timeToShutDown: string = \"\") {\n if (studentInstance && studentInstance.instanceStatus !== status) {\n studentInstance.instanceStatus = status;\n if (timeToShutDown !== \"\") {\n studentInstance.timeToShutDown = timeToShutDown;\n }\n return true;\n }\n return false;\n }\n\n private updateStudentInstanceStatusId(id: string, status: string) {\n let studentInstance: IStudentInstance | undefined = this.getStudentInstanceById(id);\n this.updateStudentInstanceStatus(studentInstance, status);\n }\n\n private updateStudentInstanceStatusIds(ids: string[], status: string) {\n ids.forEach(i => this.updateStudentInstanceStatusId(i, status));\n }\n\n get cohorts() {\n return CohortModule.cohorts;\n }\n\n private async getList() {\n this.listLoading = true;\n await getCohorts({}).then((response: any) => {\n let data = response.data;\n CohortModule.SetCohorts(data);\n });\n }\n\n private async getStudentInstances() {\n this.listLoading = true;\n await getStudentInstances(this.listQuery).then(\n (response: any) => {\n let data = response.data;\n this.studentInstances = data;\n this.filterStudentInstances();\n this.total = this.studentInstances.length;\n this.listLoading = false;\n },\n (error: any) => {\n console.log(error);\n this.listLoading = false;\n }\n );\n }\n\n private getTimeRemaining(status: string, time: string): string {\n if (status !== \"Active\") {\n return \"00:00:00\";\n } else {\n let timeDiffInSeconds: number = this.getTimeRemainingInSeconds(time);\n if (timeDiffInSeconds <= 0) {\n return \"00:00:00\";\n } else {\n let duration = moment.duration(timeDiffInSeconds, 'seconds');\n return duration.humanize();\n }\n }\n }\n\n private getTimeRemainingInSeconds(time: string): number {\n let fromTime = moment.utc(new Date().toUTCString());\n let toTime = moment.utc(new Date(time).toUTCString());\n let timeDiffInSeconds: number = toTime.unix() - fromTime.unix();\n return timeDiffInSeconds;\n }\n\n private WindowBox(machineType: MachineType): boolean {\n return machineType === MachineType.Window;\n }\n\n private UbuntuBox(machineType: MachineType): boolean {\n return machineType === MachineType.Ubuntu;\n }\n\n private reloadStudentInstances() {\n this.getStudentInstances();\n }\n\n private isInLaunchConditions(status: string): boolean {\n return status === \"Active\";\n }\n\n private isInactionState(status: string): boolean {\n return this.inactionStates.indexOf(status) >= 0;\n }\n\n private nonStartState(status: string): boolean {\n return this.isInactionState(status) || status === \"Active\";\n }\n\n private nonStopState(status: string): boolean {\n return this.isInactionState(status) || status === \"Inactive\";\n }\n\n private nonResetState(status: string): boolean {\n return this.isInactionState(status);\n }\n\n private showTerminalButton(row: IStudentInstance): boolean {\n return this.isInLaunchConditions(row.instanceStatus) && !this.WindowBox(row.box.machineTypeCode) && row.box.isStudentMachine;\n }\n\n private showDesktopButton(row: IStudentInstance): boolean {\n return this.isInLaunchConditions(row.instanceStatus) && !this.UbuntuBox(row.box.machineTypeCode) && row.box.isStudentMachine;\n }\n\n private handleCohortSelection(data: any) {\n this.listQuery.cohortName = data;\n this.getStudentInstances();\n }\n\n private sortChange(data: any) {}\n\n private handleSelectionChange(data: IStudentInstance[]) {\n this.selectedStudentInstances = data;\n }\n\n\n private handleActionCommand(row: IStudentInstance, command: any) {\n let action = \"\"\n switch(command) {\n case \"Start\": {\n this.startInstances([row]);\n action = \"Starting\"\n break;\n }\n case \"Stop\": {\n this.stopInstances([row]);\n action = \"Stopping\"\n break;\n }\n case \"Reset\": {\n this.resetInstances([row]);\n action = \"Reseting\"\n break;\n }\n }\n\n this.$notify({\n title: \"Lab Instance\",\n message: `${action} lab instance(s)...`,\n type: \"info\",\n duration: 5000\n });\n }\n\n private startInstances(studentInstances: IStudentInstance[]){\n startStudentInstances({ studentInstances: studentInstances }).then(\n (response: any) => {\n this.updateStudentInstanceStatusIds(studentInstances.map(el => el.id), \"Starting\");\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n\n private stopInstances(studentInstances: IStudentInstance[]){\n stopStudentInstances({ studentInstances: studentInstances }).then(\n (response: any) => {\n this.updateStudentInstanceStatusIds(studentInstances.map(el => el.id), \"Stopping\");\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n\n private resetInstances(studentInstances: IStudentInstance[]){\n resetStudentInstances({ studentInstances: studentInstances }).then(\n (response: any) => {\n this.updateStudentInstanceStatusIds(studentInstances.map(el => el.id), \"Resetting\");\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n\n private async launchLabInstance(row: any, connectionType: string) {\n let href: string = \"\";\n switch(row.box.machineTypeCode) {\n case MachineType.Linux:\n if (connectionType === \"terminal\") {\n href = `${guacClientUrl}${row.guacTerminalId}`;\n } else {\n href = `${guacClientUrl}${row.guacDesktopId}`;\n }\n break;\n case MachineType.Window:\n href = `${guacClientUrl}${row.guacDesktopId}`;\n break;\n case MachineType.Ubuntu:\n href = `${guacClientUrl}${row.guacTerminalId}`;\n break;\n }\n\n window.open(href, '_blank');\n }\n\n private handleUpdate(row: any) {}\n\n private addTime(row: IStudentInstance) {\n if (this.needAddTime(row)) {\n addTimeForStudentInstances({ studentInstances: [row] }).then(\n (response: any) => {\n row.timeToShutDown = moment.utc(new Date(row.timeToShutDown)).add(1, 'hours').utc().format();\n },\n (error: any) => {\n console.log(error);\n }\n );\n }\n }\n\n private needAddTime(row: IStudentInstance) {\n let remainingTime: number = this.getTimeRemainingInSeconds(row.timeToShutDown);\n return row.instanceStatus === \"Active\" && (remainingTime < (4*3600));\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5f7e0238&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=5f7e0238&lang=scss&scoped=true&\"\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 \"5f7e0238\",\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',{staticClass:\"dashboard-container\"},[_c(_vm.currentRole,{tag:\"component\"})],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',{staticClass:\"dashboard-admin-container\"},[_c('panel-group'),_c('el-row',{attrs:{\"gutter\":32}},[_c('el-col',{attrs:{\"xs\":24,\"sm\":24,\"lg\":8}},[_c('div',{staticClass:\"chart-wrapper\"},[_c('panel',{attrs:{\"panelTitle\":\"Current Machine Statuses\"}},[_c('pie-chart')],1)],1)]),_c('el-col',{attrs:{\"xs\":24,\"sm\":24,\"lg\":8}},[_c('div',{staticClass:\"chart-wrapper\"},[_c('panel',{attrs:{\"panelTitle\":\"Machine Usage\"}},[_c('bar-chart')],1)],1)]),_c('el-col',{attrs:{\"xs\":24,\"sm\":24,\"lg\":8}},[_c('div',{staticClass:\"chart-wrapper\"},[_c('panel',{attrs:{\"panelTitle\":\"Daily Machine Hours\"}},[_c('total-machine-hours-time-series')],1)],1)])],1),_c('el-row',{staticStyle:{\"background\":\"#fff\",\"padding\":\"16px 16px 0\",\"margin-bottom\":\"32px\"}},[_c('difficulty-time-corr-chart')],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',{class:_vm.className,style:({height: _vm.height, width: _vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { __decorate } from \"tslib\";\nimport { Component, Vue } from \"vue-property-decorator\";\nlet default_1 = class extends Vue {\n mounted() {\n this.initResizeEvent();\n this.initSidebarResizeEvent();\n }\n beforeDestroy() {\n this.destroyResizeEvent();\n this.destroySidebarResizeEvent();\n }\n activated() {\n this.initResizeEvent();\n this.initSidebarResizeEvent();\n }\n deactivated() {\n this.destroyResizeEvent();\n this.destroySidebarResizeEvent();\n }\n chartResizeHandler() {\n if (this.chart) {\n this.chart.resize();\n }\n }\n sidebarResizeHandler(e) {\n if (e.propertyName === \"width\") {\n this.chartResizeHandler();\n }\n }\n initResizeEvent() {\n if (this.chartResizeHandler) {\n window.addEventListener(\"resize\", this.chartResizeHandler);\n }\n }\n destroyResizeEvent() {\n if (this.chartResizeHandler) {\n window.removeEventListener(\"resize\", this.chartResizeHandler);\n }\n }\n initSidebarResizeEvent() {\n this.sidebarElm = document.getElementsByClassName(\"sidebar-container\")[0];\n if (this.sidebarElm) {\n this.sidebarElm.addEventListener(\"transitionend\", this.sidebarResizeHandler);\n }\n }\n destroySidebarResizeEvent() {\n if (this.sidebarElm) {\n this.sidebarElm.removeEventListener(\"transitionend\", this.sidebarResizeHandler);\n }\n }\n};\ndefault_1 = __decorate([\n Component({\n name: \"ResizeMixin\"\n })\n], default_1);\nexport default default_1;\n//# sourceMappingURL=resize.js.map","\n\n\n\n\n\n\n\nimport echarts, { EChartOption } from 'echarts'\nimport { Component, Prop } from 'vue-property-decorator'\nimport { mixins } from 'vue-class-component'\nimport ResizeMixin from '@/components/Charts/mixins/resize'\n\nconst animationDuration = 6000\n\n@Component({\n name: 'BarChart'\n})\nexport default class extends mixins(ResizeMixin) {\n @Prop({ default: 'chart' }) private className!: string\n @Prop({ default: '100%' }) private width!: string\n @Prop({ default: '350px' }) private height!: string\n\n mounted() {\n this.$nextTick(() => {\n this.initChart()\n })\n }\n\n beforeDestroy() {\n if (!this.chart) {\n return\n }\n this.chart.dispose()\n this.chart = null\n }\n\n private initChart() {\n this.chart = echarts.init(this.$el as HTMLDivElement, 'macarons')\n this.chart.setOption({\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow'\n }\n },\n grid: {\n top: '10%',\n left: '3%',\n right: '2%',\n bottom: '3%',\n containLabel: true\n },\n xAxis: [{\n type: 'category',\n data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],\n axisTick: {\n alignWithLabel: true\n }\n }],\n yAxis: [{\n type: 'value',\n name: 'Hours',\n nameLocation: 'middle',\n nameGap: 25,\n boundaryGap: false,\n axisTick: {\n show: false\n }\n }],\n series: [{\n name: 'Running',\n type: 'bar',\n stack: 'vistors',\n itemStyle: {normal: {color: '#6BD7DB'}},\n // barWidth: '60%',\n data: [165, 201, 129, 171, 213, 93, 36],\n animationDuration\n }, {\n name: 'Stopped',\n type: 'bar',\n stack: 'vistors',\n itemStyle: {normal: {color: '#F7CC95'}},\n // barWidth: '60%',\n data: [645, 609, 682, 629, 603, 715, 777],\n animationDuration\n }, {\n name: 'Terminated',\n type: 'bar',\n stack: 'vistors',\n itemStyle: {normal: {color: '#E08B8E'}},\n // barWidth: '60%',\n data: [6, 9, 9, 15, 15, 18, 21],\n animationDuration\n }]\n } as EChartOption)\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BarChart.vue?vue&type=template&id=9f2f525c&\"\nimport script from \"./BarChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./BarChart.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard-instructor-container\"},[_c('el-table',{staticStyle:{\"width\":\"100%\"},attrs:{\"data\":_vm.tableData}},[_c('el-table-column',{attrs:{\"type\":\"expand\"},scopedSlots:_vm._u([{key:\"default\",fn:function(props){return [_c('p',[_vm._v(\"State: \"+_vm._s(props.row.state))]),_c('p',[_vm._v(\"City: \"+_vm._s(props.row.city))]),_c('p',[_vm._v(\"Address: \"+_vm._s(props.row.address))]),_c('p',[_vm._v(\"Zip: \"+_vm._s(props.row.zip))])]}}])}),_c('el-table-column',{attrs:{\"label\":\"Date\",\"prop\":\"date\"}}),_c('el-table-column',{attrs:{\"label\":\"Name\",\"prop\":\"name\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\n\n@Component({\n name: 'StaticNetworkInstancesTable',\n components: {}\n})\nexport default class extends Vue {\n tableData = [{\n date: '2016-05-03',\n name: 'Tom',\n state: 'California',\n city: 'Los Angeles',\n address: 'No. 189, Grove St, Los Angeles',\n zip: 'CA 90036'\n }, {\n date: '2016-05-02',\n name: 'Tom',\n state: 'California',\n city: 'Los Angeles',\n address: 'No. 189, Grove St, Los Angeles',\n zip: 'CA 90036'\n }, {\n date: '2016-05-04',\n name: 'Tom',\n state: 'California',\n city: 'Los Angeles',\n address: 'No. 189, Grove St, Los Angeles',\n zip: 'CA 90036'\n }, {\n date: '2016-05-01',\n name: 'Tom',\n state: 'California',\n city: 'Los Angeles',\n address: 'No. 189, Grove St, Los Angeles',\n zip: 'CA 90036'\n }, {\n date: '2016-05-08',\n name: 'Tom',\n state: 'California',\n city: 'Los Angeles',\n address: 'No. 189, Grove St, Los Angeles',\n zip: 'CA 90036'\n }, {\n date: '2016-05-06',\n name: 'Tom',\n state: 'California',\n city: 'Los Angeles',\n address: 'No. 189, Grove St, Los Angeles',\n zip: 'CA 90036'\n }, {\n date: '2016-05-07',\n name: 'Tom',\n state: 'California',\n city: 'Los Angeles',\n address: 'No. 189, Grove St, Los Angeles',\n zip: 'CA 90036'\n }]\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StaticNetworkInstancesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StaticNetworkInstancesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StaticNetworkInstancesTable.vue?vue&type=template&id=15c91514&\"\nimport script from \"./StaticNetworkInstancesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./StaticNetworkInstancesTable.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height: _vm.height, width: _vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport echarts, { EChartOption, graphic } from 'echarts'\nimport { Component, Prop } from 'vue-property-decorator'\nimport { mixins } from 'vue-class-component'\nimport ResizeMixin from '@/components/Charts/mixins/resize'\n\nconst data = [\n [[66,58,'Application Stack'],\n [52,53,'Burp'],\n [90,85,'Cryptography'],\n [85,91,'Defense, Detection & Architecture'],\n [60,65,'Incident Response & Forensics'],\n [83,83,'Networking'],\n [39,32,'Nmap'],\n [112,94,'Security Hardening'],\n [56,60,'Vulnerability Management & Offensive Security']]\n];\n\n@Component({\n name: 'DifficultyTimeCorrChart'\n})\nexport default class extends mixins(ResizeMixin) {\n @Prop({ default: 'chart' }) private className!: string\n @Prop({ default: '100%' }) private width!: string\n @Prop({ default: '300px' }) private height!: string\n\n mounted() {\n this.$nextTick(() => {\n this.initChart()\n })\n }\n\n beforeDestroy() {\n if (!this.chart) {\n return\n }\n this.chart.dispose()\n this.chart = null\n }\n\n private initChart() {\n this.chart = echarts.init(this.$el as HTMLDivElement, 'macarons')\n this.chart.setOption({\n title: {\n text: 'Est. and Avg. Time Spent Scatter Plot'\n },\n xAxis: {\n name: 'Est. Time (Mins)',\n nameLocation: 'middle',\n nameGap: 20,\n boundaryGap: false,\n axisTick: {\n show: false\n }\n },\n yAxis: {\n name: 'Time Spent (Mins)',\n nameLocation: 'middle',\n nameGap: 30,\n boundaryGap: false,\n axisTick: {\n show: false\n },\n scale: true\n },\n grid: {\n left: 30,\n right: 20,\n bottom: 20,\n top: 50,\n containLabel: true\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'cross'\n },\n padding: 8\n },\n series: [{\n data: data[0],\n type: 'scatter',\n symbolSize: 20,\n label: {\n emphasis: {\n show: true,\n formatter: function(param: any) {\n return param.data[2];\n },\n position: 'top'\n }\n },\n itemStyle: {\n normal: {\n label: {\n show: true,\n position: 'top',\n formatter: function(data: any) {\n return data.value[2]\n }\n },\n color: new graphic.LinearGradient(0, 0, 0, 1,\n [\n {offset: 0, color: '#e96443'},\n {offset: 1, color: '#904e95'}\n ])\n }\n },\n animationDuration: 2800,\n animationEasing: 'quadraticOut'\n }]\n } as EChartOption)\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DifficultyTimeCorrChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DifficultyTimeCorrChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DifficultyTimeCorrChart.vue?vue&type=template&id=714f03fe&\"\nimport script from \"./DifficultyTimeCorrChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./DifficultyTimeCorrChart.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height: _vm.height, width: _vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport echarts, { EChartOption } from 'echarts'\nimport { Component, Prop, Watch } from 'vue-property-decorator'\nimport { mixins } from 'vue-class-component'\nimport ResizeMixin from '@/components/Charts/mixins/resize'\n\nexport interface ILineChartData {\n expectedData: number[]\n actualData: number[]\n}\n\ninterface DataPoint {\n name: string;\n value: (string | number)[];\n}\n\n@Component({\n name: 'TotalMachineHoursTimeSeries'\n})\nexport default class extends mixins(ResizeMixin) {\n @Prop({ default: 'chart' }) private className!: string\n @Prop({ default: '100%' }) private width!: string\n @Prop({ default: '350px' }) private height!: string\n data: any[] = [];\n now: Date = new Date(2020, 1, 1);\n oneDay = 24 * 3600 * 1000;\n // value = Math.random() * 1000;\n value = 217;\n\n // @Watch('chartData', { deep: true })\n // private onChartDataChange(value: ILineChartData) {\n // this.setOptions(value)\n // }\n\n mounted() {\n this.$nextTick(() => {\n for (let i = 0; i < 200; i++) {\n let randData = this.randomData();\n this.data.push(randData);\n }\n this.initChart()\n })\n }\n\n beforeDestroy() {\n if (!this.chart) {\n return\n }\n this.chart.dispose()\n this.chart = null\n }\n\n randomData(): DataPoint {\n this.now = new Date(+this.now + this.oneDay);\n this.value = this.value + (Math.random() * 21 - 10)/2;\n return {\n name: this.now.toString(),\n value: [\n [this.now.getFullYear(), this.now.getMonth() + 1, this.now.getDate()].join('/'),\n Math.round(this.value)\n ]\n }\n }\n\n private initChart() {\n this.chart = echarts.init(this.$el as HTMLDivElement, 'macarons')\n this.setOptions()\n }\n\n private setOptions() {\n if (this.chart) {\n this.chart.setOption({\n tooltip: {\n trigger: 'axis',\n formatter: function(data: any) {\n let params = data[0];\n var date = new Date(params.name);\n return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1] + ' Hours';\n },\n axisPointer: {\n animation: false\n }\n },\n grid: {\n top: '10%',\n left: '2%',\n right: '5%',\n bottom: '3%',\n containLabel: true\n },\n xAxis: {\n type: 'time',\n splitLine: {\n show: false\n },\n axisLabel: {\n formatter: function(value: string, idx: number) {\n var date = new Date(value);\n return idx === 0 ? value : [date.getMonth() + 1, date.getFullYear()].join('-');\n }\n }\n },\n yAxis: {\n type: 'value',\n boundaryGap: false\n },\n series: [{\n name: 'Daily Hours',\n type: 'line',\n showSymbol: false,\n hoverAnimation: false,\n data: this.data\n }]\n } as EChartOption)\n }\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalMachineHoursTimeSeries.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TotalMachineHoursTimeSeries.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TotalMachineHoursTimeSeries.vue?vue&type=template&id=6eb99ed3&\"\nimport script from \"./TotalMachineHoursTimeSeries.vue?vue&type=script&lang=ts&\"\nexport * from \"./TotalMachineHoursTimeSeries.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height: _vm.height, width: _vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport echarts, { EChartOption } from 'echarts'\nimport { Component, Prop } from 'vue-property-decorator'\nimport { mixins } from 'vue-class-component'\nimport ResizeMixin from '@/components/Charts/mixins/resize'\n\n@Component({\n name: 'PieChart'\n})\nexport default class extends mixins(ResizeMixin) {\n @Prop({ default: 'chart' }) private className!: string\n @Prop({ default: '100%' }) private width!: string\n @Prop({ default: '350px' }) private height!: string\n\n mounted() {\n this.$nextTick(() => {\n this.initChart()\n })\n }\n\n beforeDestroy() {\n if (!this.chart) {\n return\n }\n this.chart.dispose()\n this.chart = null\n }\n\n private initChart() {\n this.chart = echarts.init(this.$el as HTMLDivElement, 'macarons')\n this.chart.setOption({\n tooltip: {\n trigger: 'item',\n formatter: '{a}
{b} : {c} ({d}%)'\n },\n legend: {\n left: 'center',\n bottom: '10',\n data: ['Running', 'Stopped', 'Terminated']\n },\n series: [\n {\n name: 'AWS Instances',\n type: 'pie',\n radius: [15, 95],\n center: ['50%', '50%'],\n data: [\n { value: 83, name: 'Running', itemStyle: {color: '#6BD7DB'}, },\n { value: 187, name: 'Stopped', itemStyle: {color: '#F7CC95'}, },\n { value: 7, name: 'Terminated', itemStyle: {color: '#E08B8E'}, }\n ],\n animationEasing: 'cubicInOut',\n animationDuration: 2600\n }\n ]\n } as EChartOption)\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PieChart.vue?vue&type=template&id=f345080c&\"\nimport script from \"./PieChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./PieChart.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.className,style:({height: _vm.height, width: _vm.width})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport echarts, { EChartOption } from 'echarts'\nimport { Component, Prop } from 'vue-property-decorator'\nimport { mixins } from 'vue-class-component'\nimport ResizeMixin from '@/components/Charts/mixins/resize'\n\nconst animationDuration = 3000\n\n@Component({\n name: 'RadarChart'\n})\nexport default class extends mixins(ResizeMixin) {\n @Prop({ default: 'chart' }) private className!: string\n @Prop({ default: '100%' }) private width!: string\n @Prop({ default: '300px' }) private height!: string\n\n mounted() {\n this.$nextTick(() => {\n this.initChart()\n })\n }\n\n beforeDestroy() {\n if (!this.chart) {\n return\n }\n this.chart.dispose()\n this.chart = null\n }\n\n private initChart() {\n this.chart = echarts.init(this.$el as HTMLDivElement, 'macarons')\n this.chart.setOption({\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n type: 'shadow'\n }\n },\n radar: {\n radius: '66%',\n center: ['50%', '42%'],\n splitNumber: 8,\n splitArea: {\n areaStyle: {\n color: 'rgba(127,95,132,.3)',\n opacity: 1,\n shadowBlur: 45,\n shadowColor: 'rgba(0,0,0,.5)',\n shadowOffsetX: 0,\n shadowOffsetY: 15\n }\n },\n indicator: [\n { name: 'Sales', max: 10000 },\n { name: 'Administration', max: 20000 },\n { name: 'Information Techology', max: 20000 },\n { name: 'Customer Support', max: 20000 },\n { name: 'Development', max: 20000 },\n { name: 'Marketing', max: 20000 }\n ]\n },\n legend: {\n left: 'center',\n bottom: '10',\n data: ['Allocated Budget', 'Expected Spending', 'Actual Spending']\n },\n series: [{\n type: 'radar',\n symbolSize: 0,\n areaStyle: {\n shadowBlur: 13,\n shadowColor: 'rgba(0,0,0,.2)',\n shadowOffsetX: 0,\n shadowOffsetY: 10,\n opacity: 1\n },\n data: [\n {\n value: [5000, 7000, 12000, 11000, 15000, 14000],\n name: 'Allocated Budget'\n },\n {\n value: [4000, 9000, 15000, 15000, 13000, 11000],\n name: 'Expected Spending'\n },\n {\n value: [5500, 11000, 12000, 15000, 12000, 12000],\n name: 'Actual Spending'\n }\n ],\n animationDuration: animationDuration\n }]\n } as EChartOption)\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadarChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadarChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RadarChart.vue?vue&type=template&id=59062146&\"\nimport script from \"./RadarChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./RadarChart.vue?vue&type=script&lang=ts&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"panel-group\"},[_c('el-row',{staticClass:\"panel-group\",attrs:{\"gutter\":40}},[_c('el-col',{staticClass:\"card-panel-col\",attrs:{\"xs\":12,\"sm\":12,\"lg\":6}},[_c('div',{staticClass:\"card-panel bg-gradient-teal\",on:{\"click\":function($event){return _vm.handleSetLineChartData('newVisitis')}}},[_c('div',{staticClass:\"card-panel-description\"},[_c('div',{staticClass:\"card-panel-text\"},[_vm._v(\"\\n ACTIVE MACHINES\\n \"),_c('el-tooltip',{staticClass:\"small-margin-bottom\",attrs:{\"placement\":\"right\"}},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Unique machines utilized within the last week.\")]),_c('font-awesome-icon',{attrs:{\"icon\":\"info-circle\"}})],1)],1),_c('count-to',{staticClass:\"card-panel-num\",attrs:{\"start-val\":0,\"end-val\":270,\"duration\":2600}}),_c('el-progress',{attrs:{\"percentage\":97,\"show-text\":false}}),_c('div',{staticClass:\"stats-desc\"},[_c('span',[_vm._v(\"Change compared to last week: \")]),_c('div',{staticClass:\"display-inline-block uptrend-stats\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"arrow-up\"}}),_c('span',[_vm._v(\"3%\")])],1)])],1),_c('div',{staticClass:\"card-panel-icon-wrapper\"},[_c('remote-desktop-icon',{staticClass:\"icon-1p8x card-panel-icon\"})],1)])]),_c('el-col',{staticClass:\"card-panel-col\",attrs:{\"xs\":12,\"sm\":12,\"lg\":6}},[_c('div',{staticClass:\"card-panel bg-gradient-blue\",on:{\"click\":function($event){return _vm.handleSetLineChartData('messages')}}},[_c('div',{staticClass:\"card-panel-description\"},[_c('div',{staticClass:\"card-panel-text\"},[_vm._v(\"\\n ACTIVE HOURS\\n \"),_c('el-tooltip',{staticClass:\"small-margin-bottom\",attrs:{\"placement\":\"right\"}},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Hours utilized by the active machines within the last week.\")]),_c('font-awesome-icon',{attrs:{\"icon\":\"info-circle\"}})],1)],1),_c('count-to',{staticClass:\"card-panel-num\",attrs:{\"start-val\":0,\"end-val\":1338,\"duration\":3000}}),_c('el-progress',{attrs:{\"percentage\":70,\"show-text\":false}}),_c('div',{staticClass:\"stats-desc\"},[_c('span',[_vm._v(\"Change compared to last week: \")]),_c('div',{staticClass:\"display-inline-block downtrend-stats\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"arrow-down\"}}),_c('span',[_vm._v(\"-4%\")])],1)])],1),_c('div',{staticClass:\"card-panel-icon-wrapper\"},[_c('update-icon',{staticClass:\"icon-1p8x card-panel-icon\"})],1)])]),_c('el-col',{staticClass:\"card-panel-col\",attrs:{\"xs\":12,\"sm\":12,\"lg\":6}},[_c('div',{staticClass:\"card-panel bg-gradient-purple\",on:{\"click\":function($event){return _vm.handleSetLineChartData('purchases')}}},[_c('div',{staticClass:\"card-panel-description\"},[_c('div',{staticClass:\"card-panel-text\"},[_vm._v(\"\\n STUDENTS\\n \"),_c('el-tooltip',{staticClass:\"small-margin-bottom\",attrs:{\"placement\":\"right\"}},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Users enrolled in a cohort within the last week.\")]),_c('font-awesome-icon',{attrs:{\"icon\":\"info-circle\"}})],1)],1),_c('count-to',{staticClass:\"card-panel-num\",attrs:{\"start-val\":0,\"end-val\":84,\"duration\":3200}}),_c('el-progress',{attrs:{\"percentage\":95,\"show-text\":false}}),_c('div',{staticClass:\"stats-desc\"},[_c('span',[_vm._v(\"Change compared to last week: \")]),_c('div',{staticClass:\"display-inline-block uptrend-stats\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"arrow-up\"}}),_c('span',[_vm._v(\"2%\")])],1)])],1),_c('div',{staticClass:\"card-panel-icon-wrapper\"},[_c('account-multiple-icon',{staticClass:\"icon-1p8x card-panel-icon\"})],1)])]),_c('el-col',{staticClass:\"card-panel-col\",attrs:{\"xs\":12,\"sm\":12,\"lg\":6}},[_c('div',{staticClass:\"card-panel bg-gradient-black\",on:{\"click\":function($event){return _vm.handleSetLineChartData('shoppings')}}},[_c('div',{staticClass:\"card-panel-description\"},[_c('div',{staticClass:\"card-panel-text\"},[_vm._v(\"\\n COHORTS\\n \"),_c('el-tooltip',{staticClass:\"small-margin-bottom\",attrs:{\"placement\":\"right\"}},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(\"Cohorts that are currently active, and have students enrolled.\")]),_c('font-awesome-icon',{attrs:{\"icon\":\"info-circle\"}})],1)],1),_c('count-to',{staticClass:\"card-panel-num\",attrs:{\"start-val\":0,\"end-val\":3,\"duration\":3600}}),_c('el-progress',{attrs:{\"percentage\":86,\"show-text\":false}}),_c('div',{staticClass:\"stats-desc\"},[_c('span',[_vm._v(\"Change compared to last week: \")]),_c('div',{staticClass:\"display-inline-block nochange-stats\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"arrow-up\"}}),_c('span',[_vm._v(\"0%\")])],1)])],1),_c('div',{staticClass:\"card-panel-icon-wrapper\"},[_c('file-table-box-multiple-icon',{staticClass:\"icon-1p8x card-panel-icon\"})],1)])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\nimport CountTo from 'vue-count-to'\n\n@Component({\n name: 'PanelGroup',\n components: {\n CountTo\n }\n})\nexport default class extends Vue {\n // private handleSetLineChartData(type: string) {\n // this.$emit('handleSetLineChartData', type)\n // }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanelGroup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanelGroup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PanelGroup.vue?vue&type=template&id=6dce874d&scoped=true&\"\nimport script from \"./PanelGroup.vue?vue&type=script&lang=ts&\"\nexport * from \"./PanelGroup.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PanelGroup.vue?vue&type=style&index=0&id=6dce874d&lang=scss&scoped=true&\"\nimport style1 from \"./PanelGroup.vue?vue&type=style&index=1&lang=scss&\"\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 \"6dce874d\",\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',{staticClass:\"panel\"},[_c('el-card',{staticClass:\"box-card\"},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',{staticClass:\"panel-title\"},[_vm._v(_vm._s(_vm.panelTitle))]),_c('el-tooltip',{staticClass:\"small-margin-left\",attrs:{\"placement\":\"right\"}},[_c('div',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(_vm._s(_vm.panelTitle))]),_c('font-awesome-icon',{attrs:{\"icon\":\"info-circle\"}})],1)],1),_c('div',{staticClass:\"box-item\"},[_vm._t(\"default\")],2)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\n\n@Component({ name: 'Panel' })\nexport default class extends Vue {\n @Prop({ default: 'Panel Title' }) private panelTitle!: string\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=0e2393bb&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport 'echarts/theme/macarons.js' // Theme used in BarChart, LineChart, PieChart and RadarChart\nimport BarChart from './components/BarChart.vue'\nimport StaticNetworkInstancesTable from './components/StaticNetworkInstancesTable.vue'\nimport DifficultyTimeCorrChart from './components/DifficultyTimeCorrChart.vue'\nimport TotalMachineHoursTimeSeries from './components/TotalMachineHoursTimeSeries.vue'\nimport PieChart from './components/PieChart.vue'\nimport RadarChart from './components/RadarChart.vue'\nimport PanelGroup from './components/PanelGroup.vue'\nimport Panel from \"@/components/Panel/index.vue\";\n\n@Component({\n name: 'AdminDashboard',\n components: {\n StaticNetworkInstancesTable,\n DifficultyTimeCorrChart,\n TotalMachineHoursTimeSeries,\n Panel,\n BarChart,\n PieChart,\n RadarChart,\n PanelGroup, }\n})\nexport default class extends Vue {\n\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=098be9fe&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&scopes=true&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dashboard-instructor-container\"},[_c('span',[_vm._v(\"Instructor's Dashboard\")]),_c('div',[_c('img',{staticClass:\"emptyGif\",attrs:{\"src\":\"https://wpimg.wallstcn.com/0e03b7da-db9e-4819-ba10-9016ddfdaed3\"}})])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\n\n@Component({\n name: 'InstructorDashboard',\n components: {}\n})\nexport default class extends Vue {\n\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7bcf685f&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&scopes=true&\"\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\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport { UserModule } from '@/store/modules/user'\nimport AdminDashboard from './admin/index.vue'\nimport InstructorDashboard from './instructor/index.vue'\n\n@Component({\n name: 'Dashboard',\n components: {\n AdminDashboard,\n InstructorDashboard\n }\n})\nexport default class extends Vue {\n private currentRole = 'admin-dashboard'\n\n created() {\n if (!this.roles.includes('admin')) {\n this.currentRole = 'instructor-dashboard'\n }\n if (!UserModule.isInternalEmployee) {\n this.$router.push(\"/student-instances\");\n }\n }\n\n get name() {\n return UserModule.name\n }\n\n get roles() {\n return UserModule.roles\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=07a7885d&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=07a7885d&lang=scss&scoped=true&\"\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 \"07a7885d\",\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',{staticClass:\"static-network\"},[_vm._m(0),_c('el-table',{ref:\"singleTable\",staticClass:\"display-inline-block middle-vertical-align\",staticStyle:{\"width\":\"35%\"},attrs:{\"data\":_vm.labList,\"highlight-current-row\":\"\"},on:{\"current-change\":_vm.handleCurrentChange}},[_c('el-table-column',{attrs:{\"property\":\"name\",\"label\":\"Name\"}}),_c('el-table-column',{attrs:{\"property\":\"version\",\"width\":\"120\",\"label\":\"Subnet\"}}),_c('el-table-column',{attrs:{\"label\":\"Action\",\"align\":\"center\",\"width\":\"180\",\"class-name\":\"fixed-width\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar row = ref.row;\nreturn [_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"success\"}},[_vm._v(\"\\n Create\\n \")]),_c('el-button',{attrs:{\"size\":\"mini\",\"type\":\"warning\"}},[_vm._v(\"\\n Add Time\\n \")])]}}])})],1),_c('div',{staticClass:\"display-inline-block middle-vertical-align\"},[_c('div',{staticClass:\"components-container board\"},[_c('custom-draggable',{key:1,staticClass:\"kanban todo\",attrs:{\"list\":_vm.list1,\"group\":_vm.group,\"header-text\":\"Available Boxes\"}}),_c('custom-draggable',{key:2,staticClass:\"kanban working\",attrs:{\"list\":_vm.list2,\"group\":_vm.group,\"header-text\":\"Student Instances\"}})],1)])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"static-network-diagram\"},[_c('img',{attrs:{\"src\":require(\"../../assets/images/static_network.png\"),\"alt\":\"\"}})])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport CustomDraggable from '@/components/CustomDraggable/index.vue'\n\n@Component({\n name: 'StaticNetwork',\n components: {CustomDraggable}\n})\nexport default class extends Vue {\n private group = 'mission'\n private list1 = [\n { name: 'RCE', version: '5.5.6' },\n { name: 'Nagios', version: '1.0.1' },\n { name: 'Ubuntu', version: '1.0.2' },\n { name: 'Icebox', version: '1.0.0' },\n { name: 'Ident Evil Backdoored VM', version: '1.0.0' },\n { name: 'Exploit Bleed', version: '1.0.0' }\n ]\n private list2 = [\n { name: 'ESA Linux', version: '1.0.0' },\n { name: 'Windows', version: '1.0.0' }\n ]\n private labList = [\n { name: 'Reception', version: '10.50.7.0/24'},\n { name: 'Doctors', version: '10.50.1.0/24'},\n { name: 'Medicine', version: '10.50.6.0/24'},\n { name: 'Electronic Medical Record', version: '10.50.3.0/24'},\n { name: 'Accounts Department', version: '10.50.4.0/24'},\n { name: 'Database - Patients', version: '10.50.13.0/24'},\n { name: 'IT Department', version: '10.50.2.0/24'}\n ]\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=6a0eb732&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./index.vue?vue&type=style&index=1&id=6a0eb732&lang=scss&scoped=true&\"\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 \"6a0eb732\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=b40f73aa&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=1&id=6a0eb732&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\"};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"board-column\"},[_c('div',{staticClass:\"board-column-header\"},[_vm._v(\"\\n \"+_vm._s(_vm.headerText)+\"\\n \")]),_c('draggable',_vm._b({staticClass:\"board-column-content\",attrs:{\"list\":_vm.list}},'draggable',_vm.$attrs,false),_vm._l((_vm.list),function(element){return _c('div',{key:element.id,staticClass:\"board-item\"},[_vm._v(\"\\n \"+_vm._s(element.name)+\" - \"+_vm._s(element.version)+\"\\n \")])}),0)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Draggable from 'vuedraggable'\nimport { Component, Prop, Vue } from 'vue-property-decorator'\n\n@Component({\n name: 'CustomDraggable',\n components: {\n Draggable\n }\n})\nexport default class extends Vue {\n @Prop({ default: 'header' }) private headerText!: string\n @Prop({ default: () => [] }) private list!: any[]\n @Prop({ default: () => {} }) private options!: object\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=b40f73aa&scoped=true&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=b40f73aa&lang=scss&scoped=true&\"\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 \"b40f73aa\",\n null\n \n)\n\nexport default component.exports","export var ConnectionTypes;\n(function(ConnectionTypes) {\n ConnectionTypes[(ConnectionTypes[\"SSH\"] = 0)] = \"SSH\";\n ConnectionTypes[(ConnectionTypes[\"RDP\"] = 1)] = \"RDP\";\n ConnectionTypes[(ConnectionTypes[\"PS\"] = 2)] = \"PS\";\n ConnectionTypes[(ConnectionTypes[\"WRDP\"] = 3)] = \"WRDP\"; // Windows RDP\n})(ConnectionTypes || (ConnectionTypes = {}));\nexport var MachineType;\n(function(MachineType) {\n MachineType[(MachineType[\"Linux\"] = 717580000)] = \"Linux\";\n MachineType[(MachineType[\"Window\"] = 717580001)] = \"Window\";\n MachineType[(MachineType[\"Ubuntu\"] = 717580002)] = \"Ubuntu\";\n})(MachineType || (MachineType = {}));\n//# sourceMappingURL=enums.js.map\n","import axios from \"axios\";\nimport { baseUrlApi } from \"@/config\";\nimport { Message } from \"element-ui\";\nimport { getToken } from \"@/utils/cookies\";\nconst Agent = require(\"agentkeepalive\");\n// const Qs = require('qs');\nconst keepAliveAgent = new Agent({\n maxSockets: 100,\n maxFreeSockets: 10,\n timeout: 60000,\n freeSocketTimeout: 30000 // free socket keepalive for 30 seconds\n});\nconst service = axios.create({\n baseURL: baseUrlApi + \"api/\",\n timeout: 60000,\n httpsAgent: keepAliveAgent,\n headers: {}\n // transformRequest: [\n // function(data, headers) {\n // // Do whatever you want to transform the data\n // return data;\n // }\n // ]\n // transformResponse: [function(data) {\n // // Do whatever you want to transform the data\n // return data;\n // }],\n // `paramsSerializer` is an optional function in charge of serializing `params`\n // paramsSerializer: function(params) {\n // return Qs.stringify(params, {arrayFormat: 'brackets'})\n // },\n // withCredentials: true // send cookies when cross-domain requests\n});\n// Request interceptors\nservice.interceptors.request.use(\n config => {\n // Add X-Access-Token header to every request, you can add other custom headers here\n if (getToken()) {\n config.headers[\"Authorization\"] = \"Bearer \" + getToken();\n }\n return config;\n },\n error => {\n Promise.reject(error);\n }\n);\n// Response interceptors\nservice.interceptors.response.use(\n response => {\n // console.log(\"Response:\", response)\n return response;\n },\n error => {\n if (!!error.isAxiosError && !error.response) {\n // window.location.href = `${baseUrl}session/signin`;\n } else {\n let response = error.response;\n if (response.status == 401) {\n Message({\n message: \"Unauthorization Error\",\n type: \"error\",\n duration: 5000\n });\n // window.location.href = `${baseUrl}session/signin`;\n } else {\n Message({\n message: response.data.Message,\n type: \"error\",\n duration: 5000\n });\n }\n }\n return Promise.reject(error);\n }\n);\nexport default service;\n//# sourceMappingURL=request.js.map\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"nmap\"},[_c('split-pane',{attrs:{\"split\":\"vertical\"},on:{\"resize\":_vm.resize}},[_c('template',{slot:\"paneL\"},[_c('div',{staticClass:\"left-container\"},[_c('h2',{staticClass:\"lab-name\"},[_vm._v(\"NETWORKING: SERVICE DISCOVERY (NMAP) LAB\")]),_c('div',{staticClass:\"lab-header\"},[_vm._v(\"Lab Instructions\")]),_c('div',{staticClass:\"lab-text\"},[_vm._v(\"Run the following command:\")]),_c('div',{staticClass:\"command\"},[_c('span',{staticClass:\"code\"},[_vm._v(\"nmap -Pn hack.evolvesecurity.io\")]),_vm._v(\". Press \"),_c('span',{staticClass:\"custom-button\"},[_vm._v(\"Enter\")])])])]),_c('template',{slot:\"paneR\"},[_c('iframe',{ref:\"guac\",attrs:{\"id\":\"guac\",\"sandbox\":\"allow-same-origin allow-scripts allow-popups allow-forms\",\"src\":\"https://shell.cyberlab.evolvesecurity.com:8443/guacamole\"}})])],2),_c('el-dialog',{attrs:{\"title\":_vm.modalTitle,\"visible\":_vm.dialogVisible,\"width\":\"30%\",\"before-close\":_vm.handleClose},on:{\"update:visible\":function($event){_vm.dialogVisible=$event}}},[_c('span',[_vm._v(_vm._s(_vm.modalMessage))]),_c('span',{staticClass:\"dialog-footer\",attrs:{\"slot\":\"footer\"},slot:\"footer\"},[_c('el-button',{attrs:{\"type\":\"primary\"},on:{\"click\":_vm.handleGuacAuthentication}},[_vm._v(\"Authenticate\")])],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport SplitPane from 'vue-splitpane'\nimport { Component, Vue } from 'vue-property-decorator'\nimport { isGuacAuthenticatedForTerminal, authenticateGuacTerminal } from \"@/utils/timeHelpers\";\n\n@Component({\n name: 'Wireshark',\n components: {SplitPane}\n})\nexport default class extends Vue {\n private dialogVisible: boolean = false;\n private modalTitle: string = \"\";\n private modalMessage: string = \"\";\n created() {\n document.addEventListener(\"click\", this.refocusGuacamole);\n document.addEventListener(\"keydown\", this.refocusGuacamole);\n this.verifyGuacAuthentication();\n }\n\n destroyed() {\n document.removeEventListener(\"click\", this.refocusGuacamole);\n document.removeEventListener(\"keydown\", this.refocusGuacamole);\n }\n\n private verifyGuacAuthentication() {\n if (!isGuacAuthenticatedForTerminal()) {\n this.modalTitle = \"Guacamole Terminal - Session expired\";\n this.modalMessage = \"Session for Guacamole Terminal expired. Redirect for authentication.\";\n this.dialogVisible = true;\n }\n }\n\n private handleGuacAuthentication() {\n authenticateGuacTerminal()\n this.dialogVisible = false;\n }\n\n refocusGuacamole() {\n // Do not refocus if focus is on an input field\n let focused = document.activeElement;\n // let controlPanelItem = (this.$refs.controlPanelItem as Vue).$el as HTMLElement;\n\n // let collapseContent = controlPanelItem.firstChild as HTMLElement;\n\n // if (focused && focused !== controlPanel)\n // controlPanelItem.classList.remove(\"is-active\");\n if (\n focused &&\n focused !== document.body\n // focused !== collapseContent.firstChild\n )\n return;\n // Ensure iframe is focused\n let iframe = this.$refs.guac as HTMLElement;\n iframe.focus();\n }\n\n resize() {\n // Handle resize\n }\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=0ff1079e&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&lang=scss&scopes=true&\"\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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=07a7885d&lang=scss&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&\"","import { getAuthenticatedTimeForGuacTerminal, setAuthenticatedTimeForGuacTerminal, getAuthenticatedTimeForGuacDesktop, setAuthenticatedTimeForGuacDesktop } from \"@/utils/cookies\";\nexport const getMinutesDiffFromNow = (time) => {\n let loginTimeStr = time || new Date(2019, 1, 1).toString();\n let loginTime = new Date(loginTimeStr);\n let minutes = Math.floor((Date.now() - loginTime.getTime()) / 1000 / 60);\n return minutes;\n};\nexport const isGuacAuthenticatedForTerminal = () => {\n let minutes = getMinutesDiffFromNow(getAuthenticatedTimeForGuacTerminal());\n return minutes < 238;\n};\nexport const isGuacAuthenticatedForDesktop = () => {\n let minutes = getMinutesDiffFromNow(getAuthenticatedTimeForGuacDesktop());\n return minutes < 238;\n};\nexport const authenticateGuacTerminal = () => {\n window.open(\"https://shell.cyberlab.evolvesecurity.com:8443/guacamole\", \"_blank\");\n setAuthenticatedTimeForGuacTerminal(new Date());\n};\nexport const authenticateGuacDesktop = () => {\n window.open(\"https://desktop.cyberlab.evolvesecurity.com:8443/guacamole\", \"_blank\");\n setAuthenticatedTimeForGuacDesktop(new Date());\n};\n//# sourceMappingURL=timeHelpers.js.map","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\"};","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PanelGroup.vue?vue&type=style&index=0&id=6dce874d&lang=scss&scoped=true&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/style-resources-loader/lib/index.js??ref--8-oneOf-1-4!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&lang=scss&scopes=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wireshark\"},[_c('span',[_vm._v(\"Wireshark\")]),_c('div')])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\n\n@Component({\n name: 'Wireshark',\n components: {}\n})\nexport default class extends Vue {\n\n}\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--13-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=5f3c02a8&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\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"],"sourceRoot":""}