{"version":3,"sources":["webpack:///user.ts","webpack:///./src/layout/components/Sidebar/SidebarNav.vue?f106","webpack:///./src/layout/components/Sidebar/SidebarNav.vue?4403","webpack:///./src/layout/components/Sidebar/index.vue?d29c","webpack:///./src/styles/element-variables.scss?a5b5","webpack:///./src/layout/components/Sidebar/SidebarItem.vue?96d9","webpack:///index.ts","webpack:///./src/layout/index.vue?3b6d","webpack:///cookies.ts","webpack:///./src/layout/components/Header/index.vue?0e9a","webpack:///./src/layout/components/Sidebar/SidebarNav.vue?0c39","webpack:///eventBus.ts","webpack:///./src/layout/components/Sidebar/SidebarNavProfile.vue?34c8","webpack:///./src/styles/_variables.scss","webpack:///./src/styles/index.scss?335d","webpack:///./src/layout/components/Sidebar/SidebarNav.vue?33de","webpack:///./src/App.vue?a6ef","webpack:///users.ts","webpack:///./src/App.vue?ec60","webpack:///./src/App.vue?640d","webpack:///./src/App.vue","webpack:///en.ts","webpack:///zh.ts","webpack:///es.ts","webpack:///ja.ts","webpack:///app.ts","webpack:///./src/layout/index.vue?1a98","webpack:///./src/layout/components/AppMain.vue?32e2","webpack:///./src/layout/components/AppMain.vue?6814","webpack:///./src/layout/components/AppMain.vue?c133","webpack:///./src/layout/components/AppMain.vue","webpack:///./src/layout/components/Sidebar/index.vue?fd83","webpack:///./src/layout/components/Sidebar/SidebarNav.vue?91d3","webpack:///./src/layout/components/Sidebar/SidebarItem.vue?0532","webpack:///validate.ts","webpack:///./src/layout/components/Sidebar/SidebarItemLink.vue?d9bc","webpack:///./src/layout/components/Sidebar/SidebarItemLink.vue?8a4c","webpack:///./src/layout/components/Sidebar/SidebarItemLink.vue?22ad","webpack:///./src/layout/components/Sidebar/SidebarItemLink.vue","webpack:///./src/layout/components/Sidebar/SidebarItem.vue?0280","webpack:///./src/layout/components/Sidebar/SidebarItem.vue?6e5e","webpack:///./src/layout/components/Sidebar/SidebarItem.vue","webpack:///./src/layout/components/Sidebar/SidebarNav.vue?809e","webpack:///./src/layout/components/Sidebar/SidebarNav.vue?69e0","webpack:///./src/layout/components/Sidebar/SidebarNav.vue","webpack:///./src/layout/components/Sidebar/SidebarNavProfile.vue?8937","webpack:///./src/layout/components/Sidebar/SidebarNavProfile.vue?373d","webpack:///./src/layout/components/Sidebar/SidebarNavProfile.vue?204a","webpack:///./src/layout/components/Sidebar/SidebarNavProfile.vue","webpack:///./src/layout/components/Sidebar/index.vue?e7a6","webpack:///./src/layout/components/Sidebar/index.vue?e3e5","webpack:///./src/layout/components/Sidebar/index.vue","webpack:///./src/layout/components/Header/index.vue?ba00","webpack:///steps.ts","webpack:///./src/layout/components/Header/index.vue?3e01","webpack:///./src/layout/components/Header/index.vue?d4d1","webpack:///./src/layout/components/Header/index.vue","webpack:///resize.ts","webpack:///./src/layout/index.vue?170f","webpack:///./src/layout/index.vue?411a","webpack:///./src/layout/index.vue","webpack:///router.ts","webpack:///dashboard.ts","webpack:///database.ts","webpack:///example.ts","webpack:///eye-off.ts","webpack:///eye-on.ts","webpack:///form.ts","webpack:///hamburger.ts","webpack:///link.ts","webpack:///nested.ts","webpack:///password.ts","webpack:///server.ts","webpack:///table.ts","webpack:///tree.ts","webpack:///permission.ts","webpack:///cyberlabHub.ts","webpack:///./src/main.ts","webpack:///./src/layout/components/Sidebar/SidebarItem.vue?f270","webpack:///./src/layout/components/AppMain.vue?aa9d","webpack:///./src/layout/components/Sidebar/SidebarItem.vue?9cbd"],"names":["module","exports","a","EventBus","_vm","this","_h","$createElement","_c","_self","attrs","key","$route","fullPath","staticRenderFns","verifyAuth","getClaims","then","response","SetAuth","SetUserInfo","data","accessToken","currentRoute","$router","redirectUri","includes","query","redirect","push","path","error","name","component","route","dashboard","documentation","guide","permission","pagePermission","rolePermission","directivePermission","icons","components","tinymce","markdown","jsonEditor","splitPane","avatarUpload","dropzone","sticky","countTo","componentMixin","backToTop","draggableDialog","draggableKanban","draggableList","draggableSelect","charts","barChart","lineChart","mixedChart","example","nested","menu1","menu2","table","dynamicTable","draggableTable","inlineEditTable","complexTable","tab","form","createArticle","editArticle","articleList","errorPages","page401","page404","errorLog","excel","exportExcel","selectExcel","mergeHeader","uploadExcel","zip","pdf","exportZip","theme","clipboard","i18n","externalLink","profile","navbar","logOut","github","size","login","title","logIn","username","password","any","thirdparty","thirdpartyTips","createRole","editPermission","roles","switchRoles","tips","delete","confirm","cancel","description","button","tinymceTips","stickyTips","backToTopTips1","backToTopTips2","imageUploadTips","dynamicTips1","dynamicTips2","dragTips1","dragTips2","importance","type","remark","search","add","export","reviewer","id","date","author","readings","status","actions","edit","publish","draft","warning","selectedExport","placeholder","change","tagsView","refresh","close","closeOthers","closeAll","settings","showTagsView","showSidebarLogo","fixedHeader","sidebarTextTheme","staticClass","class","classObj","mobile","sidebar","opened","on","handleClickOutside","_e","scrollTop","dismissSidebar","_v","isCollapse","variables","menuBg","menuText","menuActiveText","_l","isMobile","$event","toggleSideBar","iconName","item","meta","hidden","isFirstLevel","theOnlyOneChild","children","resolvePath","icon","brandIcon","slot","_s","child","isExternal","to","_t","required","showingChildren","filter","length","showingChildNumber","routePath","basePath","resolve","default","SidebarItemLink","menu","setIconName","AppModule","device","DeviceType","Mobile","routes","options","isInternalEmployee","r","studentRoute","ToggleSideBar","SidebarItem","toggleMenu","userName","jobTitle","showMenu","SidebarNav","SidebarNavProfile","toggleMobileRightSidebar","directives","rawName","value","expression","domProps","target","composing","globalSearchText","handleUserMenuCommand","steps","driver","oldValue","$emit","defineSteps","start","command","window","location","href","showGuide","deep","WIDTH","get","hideSidebar","openSidebar","withoutAnimation","CloseSideBar","AppMain","CyberLabHeader","CyberLabSidebar","register","width","height","viewBox","Vue","connection","use","t","tagName","defaultWidth","defaultHeight","Console","Powershell","DesktopMac","Timelapse","Restart","RemoteDesktop","Update","Plus","PlusCircle","AccountMultiple","FileTableBoxMultiple","CyberLabHub","Object","keys","forEach","directive","prototype","$axios","config","productionTip","errorHandler","err","vm","info","console","log","toString","warnHandler","msg","trace","router","store","render","h","$mount","guacClientUrl"],"mappings":"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","file":"js/app.88acbce6.js","sourcesContent":["/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'user': {\n width: 130,\n height: 130,\n viewBox: '0 0 130 130',\n data: ''\n }\n});\n//# sourceMappingURL=user.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!./SidebarNav.vue?vue&type=style&index=1&lang=scss&\"","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=25d0277e&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\",\"theme\":\"#1890ff\"};","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!./SidebarItem.vue?vue&type=style&index=1&id=157cc64e&lang=scss&scoped=true&\"","export const guacClientUrl = \"https://guacamole.cyberlab.evolvesecurity.com/#/client/\";\nexport const baseUrl = window.location.hostname === \"localhost\"\n ? \"https://localhost:5003/\"\n : window.location.hostname ===\n \"evolve-cyberlab-staging.azurewebsites.net\"\n ? \"https://evolve-cyberlab-staging.azurewebsites.net/\"\n : \"https://control.cyberlab.evolvesecurity.com/\";\nexport const baseUrlApi = window.location.hostname === \"localhost\"\n ? \"https://localhost:5001/\"\n : window.location.hostname ===\n \"evolve-cyberlab-staging.azurewebsites.net\"\n ? \"https://cyberlab-api-staging.azurewebsites.net/\"\n : \"https://api.cyberlab.evolvesecurity.com/\";\n//# sourceMappingURL=index.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=3aa8bd82&lang=scss&scoped=true&\"","import Cookies from 'js-cookie';\n// App\nconst sidebarStatusKey = 'sidebar_status';\nexport const getSidebarStatus = () => Cookies.get(sidebarStatusKey);\nexport const setSidebarStatus = (sidebarStatus) => Cookies.set(sidebarStatusKey, sidebarStatus);\nconst languageKey = 'language';\nexport const getLanguage = () => Cookies.get(languageKey);\nexport const setLanguage = (language) => Cookies.set(languageKey, language);\nconst sizeKey = 'size';\nexport const getSize = () => Cookies.get(sizeKey);\nexport const setSize = (size) => Cookies.set(sizeKey, size);\n// User\nconst tokenKey = 'cyber_lab';\nexport const getToken = () => Cookies.get(tokenKey);\nexport const setToken = (token) => Cookies.set(tokenKey, token);\nexport const removeToken = () => Cookies.remove(tokenKey);\n// Authenticated time\nconst authenticatedTimeForTerminal = \"authenticatedTimeForGuacTerminal\";\nexport const getAuthenticatedTimeForGuacTerminal = () => Cookies.get(authenticatedTimeForTerminal);\nexport const setAuthenticatedTimeForGuacTerminal = (time) => Cookies.set(authenticatedTimeForTerminal, time);\nexport const removeAuthenticatedTimeForGuacTerminal = () => Cookies.remove(authenticatedTimeForTerminal);\nconst authenticatedTimeForDesktop = \"authenticatedTimeForGuacDesktop\";\nexport const getAuthenticatedTimeForGuacDesktop = () => Cookies.get(authenticatedTimeForDesktop);\nexport const setAuthenticatedTimeForGuacDesktop = (time) => Cookies.set(authenticatedTimeForDesktop, time);\nexport const removeAuthenticatedTimeForGuacDesktop = () => Cookies.remove(authenticatedTimeForDesktop);\n//# sourceMappingURL=cookies.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=42f3fc7d&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!./SidebarNav.vue?vue&type=style&index=0&id=4e06cfc8&lang=scss&scoped=true&\"","import Vue from \"vue\";\nexport const EventBus = new Vue();\n//# sourceMappingURL=eventBus.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!./SidebarNavProfile.vue?vue&type=style&index=0&id=50cd2f2f&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\"};","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!./SidebarNav.vue?vue&type=style&index=2&id=4e06cfc8&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view',{key:_vm.$route.fullPath})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from \"axios\";\nimport { baseUrl } from \"@/config\";\nconst request = axios.create({\n baseURL: baseUrl + \"api/\",\n timeout: 60000,\n headers: {}\n});\nexport const getUserInfo = (data) => request({\n url: \"/users/info\",\n method: \"post\",\n data\n});\nexport const login = () => request({\n url: \"/session/signin\",\n method: \"get\"\n});\nexport const getClaims = () => request({\n url: \"/user/claims\",\n method: \"get\"\n});\nexport const logout = () => request({\n url: \"/users/logout\",\n method: \"post\"\n});\n//# sourceMappingURL=users.js.map","\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport { getClaims } from \"@/api/users\";\nimport { UserModule } from \"@/store/modules/user\";\nimport { setToken } from \"@/utils/cookies\";\n\n@Component({\n name: 'App'\n})\nexport default class extends Vue {\n mounted() {\n this.verifyAuth();\n }\n\n private async verifyAuth() {\n await getClaims().then((response: any) => {\n UserModule.SetAuth(true);\n UserModule.SetUserInfo(response.data);\n setToken(response.data.accessToken);\n\n let currentRoute: any = this.$router.currentRoute;\n let redirectUri: string | null = \"\";\n\n if (currentRoute.fullPath.includes(\"/login?redirect\")) {\n redirectUri = currentRoute.query.redirect;\n } else {\n redirectUri = currentRoute.fullPath;\n }\n\n if (redirectUri) {\n this.$router.push({ path: redirectUri });\n }\n }, (error: any) => {\n UserModule.SetAuth(false);\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!./App.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!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=56a41b32&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.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","export default {\n route: {\n dashboard: \"Dashboard\",\n documentation: \"Documentation\",\n guide: \"Guide\",\n permission: \"Permission\",\n pagePermission: \"Page Permission\",\n rolePermission: \"Role Permission\",\n directivePermission: \"Directive Permission\",\n icons: \"Icons\",\n components: \"Components\",\n tinymce: \"Tinymce\",\n markdown: \"Markdown\",\n jsonEditor: \"JSON Editor\",\n splitPane: \"SplitPane\",\n avatarUpload: \"Avatar Upload\",\n dropzone: \"Dropzone\",\n sticky: \"Sticky\",\n countTo: \"Count To\",\n componentMixin: \"Mixin\",\n backToTop: \"Back To Top\",\n draggableDialog: \"Draggable Dialog\",\n draggableKanban: \"Draggable Kanban\",\n draggableList: \"Draggable List\",\n draggableSelect: \"Draggable Select\",\n charts: \"Charts\",\n barChart: \"Bar Chart\",\n lineChart: \"Line Chart\",\n mixedChart: \"Mixed Chart\",\n example: \"Example\",\n nested: \"Nested Routes\",\n menu1: \"Menu 1\",\n \"menu1-1\": \"Menu 1-1\",\n \"menu1-2\": \"Menu 1-2\",\n \"menu1-2-1\": \"Menu 1-2-1\",\n \"menu1-2-2\": \"Menu 1-2-2\",\n \"menu1-3\": \"Menu 1-3\",\n menu2: \"Menu 2\",\n table: \"Table\",\n dynamicTable: \"Dynamic Table\",\n draggableTable: \"Draggable Table\",\n inlineEditTable: \"Inline Edit Table\",\n complexTable: \"Complex Table\",\n tab: \"Tab\",\n form: \"Form\",\n createArticle: \"Create Article\",\n editArticle: \"Edit Article\",\n articleList: \"Article List\",\n errorPages: \"Error Pages\",\n page401: \"401\",\n page404: \"404\",\n errorLog: \"Error Log\",\n excel: \"Excel\",\n exportExcel: \"Export Excel\",\n selectExcel: \"Export Selected\",\n mergeHeader: \"Merge Header\",\n uploadExcel: \"Upload Excel\",\n zip: \"Zip\",\n pdf: \"PDF\",\n exportZip: \"Export Zip\",\n theme: \"Theme\",\n clipboard: \"Clipboard\",\n i18n: \"I18n\",\n externalLink: \"External Link\",\n profile: \"Profile\"\n },\n navbar: {\n logOut: \"Log Out\",\n dashboard: \"Dashboard\",\n github: \"Github\",\n theme: \"Theme\",\n size: \"Global Size\",\n profile: \"Profile\"\n },\n login: {\n title: \"Login Form\",\n logIn: \"Login\",\n username: \"Username\",\n password: \"Password\",\n any: \"any\",\n thirdparty: \"Or connect with\",\n thirdpartyTips: \"Can not be simulated on local, so please combine you own business simulation! ! !\"\n },\n documentation: {\n documentation: \"Documentation\",\n github: \"Github Repository\"\n },\n permission: {\n createRole: \"New Role\",\n editPermission: \"Edit\",\n roles: \"Your roles\",\n switchRoles: \"Switch roles\",\n tips: \"In some cases, using v-permission will have no effect. For example: Element-UI el-tab or el-table-column and other scenes that dynamically render dom. You can only do this with v-if.\",\n delete: \"Delete\",\n confirm: \"Confirm\",\n cancel: \"Cancel\"\n },\n guide: {\n description: \"The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on \",\n button: \"Show Guide\"\n },\n components: {\n documentation: \"Documentation\",\n tinymceTips: \"Rich text is a core feature of the management backend, but at the same time it is a place with lots of pits. In the process of selecting rich texts, I also took a lot of detours. The common rich texts on the market have been basically used, and I finally chose Tinymce. See the more detailed rich text comparison and introduction.\",\n stickyTips: \"when the page is scrolled to the preset position will be sticky on the top.\",\n backToTopTips1: \"When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner\",\n backToTopTips2: \"You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally\",\n imageUploadTips: \"Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.\"\n },\n table: {\n dynamicTips1: \"Fixed header, sorted by header order\",\n dynamicTips2: \"Not fixed header, sorted by click order\",\n dragTips1: \"The default order\",\n dragTips2: \"The after dragging order\",\n title: \"Title\",\n name: \"Name\",\n importance: \"Importance\",\n type: \"Type\",\n remark: \"Remark\",\n search: \"Search\",\n refresh: \"Refresh\",\n add: \"Add\",\n export: \"Export\",\n reviewer: \"Reviewer\",\n id: \"ID\",\n date: \"Date\",\n author: \"Author\",\n readings: \"Readings\",\n status: \"Status\",\n actions: \"Actions\",\n edit: \"Edit\",\n active: \"Active\",\n inactive: \"Inactive\",\n terminated: \"Terminated\",\n cancel: \"Cancel\",\n confirm: \"Confirm\"\n },\n example: {\n warning: \"Creating and editing pages cannot be cached by keep-alive because keep-alive's 'include' currently does not support caching based on routes, so now it's cached based on component name. If you want to achieve a similar caching effect, you can use a browser caching scheme such as localStorage. Or don't use keep-alive's 'include' to cache all pages directly. See details\"\n },\n errorLog: {\n tips: \"Please click the bug icon in the upper right corner\",\n description: \"Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.\",\n documentation: \"Document introduction\"\n },\n excel: {\n export: \"Export\",\n selectedExport: \"Export Selected Items\",\n placeholder: \"Please enter the file name (default excel-list)\"\n },\n zip: {\n export: \"Export\",\n placeholder: \"Please enter the file name (default file)\"\n },\n pdf: {\n tips: \"Here we use window.print() to implement the feature of downloading PDF.\"\n },\n theme: {\n change: \"Change Theme\",\n documentation: \"Theme documentation\",\n tips: \"Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.\"\n },\n tagsView: {\n refresh: \"Refresh\",\n close: \"Close\",\n closeOthers: \"Close Others\",\n closeAll: \"Close All\"\n },\n settings: {\n title: \"Page style setting\",\n theme: \"Theme Color\",\n showTagsView: \"Open Tags-View\",\n showSidebarLogo: \"Sidebar Logo\",\n fixedHeader: \"Fixed Header\",\n sidebarTextTheme: \"Sidebar Text Theme\"\n }\n};\n//# sourceMappingURL=en.js.map","export default {\n route: {\n dashboard: '首页',\n documentation: '文档',\n guide: '引导页',\n permission: '权限测试页',\n rolePermission: '角色权限',\n pagePermission: '页面权限',\n directivePermission: '指令权限',\n icons: '图标',\n components: '组件',\n tinymce: '富文本编辑器',\n markdown: 'Markdown',\n jsonEditor: 'JSON 编辑器',\n splitPane: 'Splitpane',\n avatarUpload: '头像上传',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'Count To',\n componentMixin: '小组件',\n backToTop: '返回顶部',\n draggableDialog: '可拖拽对话框',\n draggableKanban: '可拖拽看板',\n draggableList: '可拖拽列表',\n draggableSelect: '可拖拽选择',\n charts: '图表',\n barChart: '柱状图表',\n lineChart: '折线图',\n mixedChart: '混合图表',\n example: '综合实例',\n nested: '路由嵌套',\n menu1: '菜单 1',\n 'menu1-1': '菜单 1-1',\n 'menu1-2': '菜单 1-2',\n 'menu1-2-1': '菜单 1-2-1',\n 'menu1-2-2': '菜单 1-2-2',\n 'menu1-3': '菜单 1-3',\n menu2: '菜单 2',\n table: '表格',\n dynamicTable: '动态表格',\n draggableTable: '可拖拽表格',\n inlineEditTable: '表格内编辑',\n complexTable: '综合表格',\n tab: '分栏',\n form: '表单',\n createArticle: '创建文章',\n editArticle: '编辑文章',\n articleList: '文章列表',\n errorPages: '错误页面',\n page401: '401',\n page404: '404',\n errorLog: '错误日志',\n excel: 'Excel',\n exportExcel: '导出 Excel',\n selectExcel: '导出 已选择项',\n mergeHeader: '导出 多级表头',\n uploadExcel: '上传 Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: '导出 Zip',\n theme: '换肤',\n clipboard: '粘贴板',\n i18n: '国际化',\n externalLink: '外链',\n profile: '个人中心'\n },\n navbar: {\n logOut: '退出登录',\n dashboard: '首页',\n github: '项目地址',\n theme: '换肤',\n size: '布局大小',\n profile: '个人中心'\n },\n login: {\n title: '系统登录',\n logIn: '登录',\n username: '账号',\n password: '密码',\n any: '随便填',\n thirdparty: '第三方登录',\n thirdpartyTips: '本地不能模拟,请结合自己业务进行模拟!!!'\n },\n documentation: {\n documentation: '文档',\n github: 'Github 地址'\n },\n permission: {\n createRole: '新增角色',\n editPermission: '编辑权限',\n roles: '你的权限',\n switchRoles: '切换权限',\n tips: '在某些情况下,不适合使用 v-permission。例如:Element-UI 的 el-tab 或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。',\n delete: '删除',\n confirm: '确定',\n cancel: '取消'\n },\n guide: {\n description: '引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于',\n button: '打开引导'\n },\n components: {\n documentation: '文档',\n tinymceTips: '富文本是管理后台一个核心的功能,但同时又是一个有很多坑的地方。在选择富文本的过程中我也走了不少的弯路,市面上常见的富文本都基本用过了,最终权衡了一下选择了Tinymce。更详细的富文本比较和介绍见',\n stickyTips: '当页面滚动到预设的位置会吸附在顶部',\n backToTopTips1: '页面滚动到指定位置会在右下角出现返回顶部按钮',\n backToTopTips2: '可自定义按钮的样式、show/hide、出现的高度、返回的位置 如需文字提示,可在外部使用Element的el-tooltip元素',\n imageUploadTips: '由于我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。'\n },\n table: {\n dynamicTips1: '固定表头, 按照表头顺序排序',\n dynamicTips2: '不固定表头, 按照点击顺序排序',\n dragTips1: '默认顺序',\n dragTips2: '拖拽后顺序',\n title: '标题',\n importance: '重要性',\n type: '类型',\n remark: '点评',\n search: '搜索',\n add: '添加',\n export: '导出',\n reviewer: '审核人',\n id: '序号',\n date: '时间',\n author: '作者',\n readings: '阅读数',\n status: '状态',\n actions: '操作',\n edit: '编辑',\n publish: '发布',\n draft: '草稿',\n delete: '删除',\n cancel: '取 消',\n confirm: '确 定'\n },\n example: {\n warning: '创建和编辑页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基于 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见'\n },\n errorLog: {\n tips: '请点击右上角bug小图标',\n description: '现在的管理后台基本都是spa的形式了,它增强了用户体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。',\n documentation: '文档介绍'\n },\n excel: {\n export: '导出',\n selectedExport: '导出已选择项',\n placeholder: '请输入文件名(默认excel-list)'\n },\n zip: {\n export: '导出',\n placeholder: '请输入文件名(默认file)'\n },\n pdf: {\n tips: '这里使用 window.print() 来实现下载pdf的功能'\n },\n theme: {\n change: '换肤',\n documentation: '换肤文档',\n tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。'\n },\n tagsView: {\n refresh: '刷新',\n close: '关闭',\n closeOthers: '关闭其它',\n closeAll: '关闭所有'\n },\n settings: {\n title: '系统布局配置',\n theme: '主题色',\n showTagsView: '显示 Tags-View',\n showSidebarLogo: '显示侧边栏 Logo',\n fixedHeader: '固定 Header',\n sidebarTextTheme: '侧边栏文字主题色'\n }\n};\n//# sourceMappingURL=zh.js.map","export default {\n route: {\n dashboard: 'Panel de control',\n documentation: 'Documentación',\n guide: 'Guía',\n permission: 'Permisos',\n rolePermission: 'Permisos de rol',\n pagePermission: 'Permisos de la página',\n directivePermission: 'Permisos de la directiva',\n icons: 'Iconos',\n components: 'Componentes',\n tinymce: 'Tinymce',\n markdown: 'Markdown',\n jsonEditor: 'Editor JSON',\n splitPane: 'Panel dividido',\n avatarUpload: 'Subir avatar',\n dropzone: 'Subir ficheros',\n sticky: 'Sticky',\n countTo: 'Count To',\n componentMixin: 'Mixin',\n backToTop: 'Ir arriba',\n draggableDialog: 'Draggable Dialog',\n draggableKanban: 'Draggable Kanban',\n draggableList: 'Draggable List',\n draggableSelect: 'Draggable Select',\n charts: 'Gráficos',\n barChart: 'Bar Chart',\n lineChart: 'Gráfico de líneas',\n mixedChart: 'Mixed Chart',\n example: 'Ejemplo',\n nested: 'Rutas anidadass',\n menu1: 'Menu 1',\n 'menu1-1': 'Menu 1-1',\n 'menu1-2': 'Menu 1-2',\n 'menu1-2-1': 'Menu 1-2-1',\n 'menu1-2-2': 'Menu 1-2-2',\n 'menu1-3': 'Menu 1-3',\n menu2: 'Menu 2',\n table: 'Tabla',\n dynamicTable: 'Tabla dinámica',\n draggableTable: 'Arrastrar tabla',\n inlineEditTable: 'Editor',\n complexTable: 'Complex Table',\n tab: 'Pestaña',\n form: 'Formulario',\n createArticle: 'Crear artículo',\n editArticle: 'Editar artículo',\n articleList: 'Listado de artículos',\n errorPages: 'Páginas de error',\n page401: '401',\n page404: '404',\n errorLog: 'Registro de errores',\n excel: 'Excel',\n exportExcel: 'Exportar a Excel',\n selectExcel: 'Export seleccionado',\n mergeHeader: 'Merge Header',\n uploadExcel: 'Subir Excel',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Exportar a Zip',\n theme: 'Tema',\n clipboard: 'Clipboard',\n i18n: 'I18n',\n externalLink: 'Enlace externo',\n profile: 'Profile'\n },\n navbar: {\n logOut: 'Salir',\n dashboard: 'Panel de control',\n github: 'Github',\n theme: 'Tema',\n size: 'Tamaño global',\n profile: 'Profile'\n },\n login: {\n title: 'Formulario de acceso',\n logIn: 'Acceso',\n username: 'Usuario',\n password: 'Contraseña',\n any: 'nada',\n thirdparty: 'Conectar con',\n thirdpartyTips: 'No se puede simular en local, así que combine su propia simulación de negocios. ! !'\n },\n documentation: {\n documentation: 'Documentación',\n github: 'Repositorio Github'\n },\n permission: {\n createRole: 'Nuevo rol',\n editPermission: 'Permiso de edición',\n roles: 'Tus permisos',\n switchRoles: 'Cambiar permisos',\n tips: 'In some cases it is not suitable to use v-permission, such as element Tab component or el-table-column and other asynchronous rendering dom cases which can only be achieved by manually setting the v-if.',\n delete: 'Borrar',\n confirm: 'Confirmar',\n cancel: 'Cancelar'\n },\n guide: {\n description: 'The guide page is useful for some people who entered the project for the first time. You can briefly introduce the features of the project. Demo is based on ',\n button: 'Ver guía'\n },\n components: {\n documentation: 'Documentación',\n tinymceTips: 'Rich text editor is a core part of management system, but at the same time is a place with lots of problems. In the process of selecting rich texts, I also walked a lot of detours. The common rich text editors in the market are basically used, and the finally chose Tinymce. See documentation for more detailed rich text editor comparisons and introductions.',\n stickyTips: 'when the page is scrolled to the preset position will be sticky on the top.',\n backToTopTips1: 'When the page is scrolled to the specified position, the Back to Top button appears in the lower right corner',\n backToTopTips2: 'You can customize the style of the button, show / hide, height of appearance, height of the return. If you need a text prompt, you can use element-ui el-tooltip elements externally',\n imageUploadTips: 'Since I was using only the vue@1 version, and it is not compatible with mockjs at the moment, I modified it myself, and if you are going to use it, it is better to use official version.'\n },\n table: {\n dynamicTips1: 'Fixed header, sorted by header order',\n dynamicTips2: 'Not fixed header, sorted by click order',\n dragTips1: 'Orden por defecto',\n dragTips2: 'The after dragging order',\n title: 'Título',\n importance: 'Importancia',\n type: 'Tipo',\n remark: 'Remark',\n search: 'Buscar',\n add: 'Añadir',\n export: 'Exportar',\n reviewer: 'Reviewer',\n id: 'ID',\n date: 'Fecha',\n author: 'Autor',\n readings: 'Lector',\n status: 'Estado',\n actions: 'Acciones',\n edit: 'Editar',\n publish: 'Publicar',\n draft: 'Draft',\n delete: 'Eliminar',\n cancel: 'Cancelar',\n confirm: 'Confirmar'\n },\n example: {\n warning: 'Creating and editing pages cannot be cached by keep-alive because keep-alive include does not currently support caching based on routes, so it is currently cached based on component name. If you want to achieve a similar caching effect, you can use a browser caching scheme such as localStorage. Or do not use keep-alive include to cache all pages directly. See details'\n },\n errorLog: {\n tips: 'Please click the bug icon in the upper right corner',\n description: 'Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.',\n documentation: 'Documento de introducción'\n },\n excel: {\n export: 'Exportar',\n selectedExport: 'Exportar seleccionados',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n zip: {\n export: 'Exportar',\n placeholder: 'Por favor escribe un nombre de fichero'\n },\n pdf: {\n tips: 'Here we use window.print() to implement the feature of downloading PDF.'\n },\n theme: {\n change: 'Cambiar tema',\n documentation: 'Documentación del tema',\n tips: 'Tips: It is different from the theme-pick on the navbar is two different skinning methods, each with different application scenarios. Refer to the documentation for details.'\n },\n tagsView: {\n refresh: 'Actualizar',\n close: 'Cerrar',\n closeOthers: 'Cerrar otros',\n closeAll: 'Cerrar todos'\n },\n settings: {\n title: 'Page style setting',\n theme: 'Theme Color',\n showTagsView: 'Show Tags-View',\n showSidebarLogo: 'Show Sidebar Logo',\n fixedHeader: 'Fixed Header',\n sidebarTextTheme: 'Sidebar Text Theme'\n }\n};\n//# sourceMappingURL=es.js.map","export default {\n route: {\n dashboard: 'トップ',\n documentation: 'ドキュメント',\n guide: 'ガイド',\n permission: '権限',\n rolePermission: '権限ロール',\n pagePermission: 'ページ権限',\n directivePermission: 'ディレクティブ権限',\n icons: 'アイコン',\n components: 'コンポーネント',\n tinymce: 'TinyMCE',\n markdown: 'Markdown',\n jsonEditor: 'JSON Editor',\n splitPane: 'パネル',\n avatarUpload: 'アバターアップロード',\n dropzone: 'Dropzone',\n sticky: 'Sticky',\n countTo: 'Count To',\n componentMixin: 'コンポーネントMixin',\n backToTop: 'Back To Top',\n draggableDialog: 'Draggable Dialog',\n draggableKanban: 'Draggable 看板',\n draggableList: 'Draggable List',\n draggableSelect: 'Draggable Select',\n charts: 'チャート',\n barChart: 'Barチャート',\n lineChart: 'Lineチャート',\n mixedChart: 'Mixedチャート',\n example: 'Example',\n nested: 'Nested Routes',\n menu1: 'メニュー1',\n 'menu1-1': 'メニュー 1-1',\n 'menu1-2': 'メニュー 1-2',\n 'menu1-2-1': 'メニュー 1-2-1',\n 'menu1-2-2': 'メニュー 1-2-2',\n 'menu1-3': 'メニュー 1-3',\n menu2: 'メニュー 2',\n table: 'Table',\n dynamicTable: '可変 Table',\n draggableTable: 'Draggable Table',\n inlineEditTable: 'Inline Edit Table',\n complexTable: 'Complex Table',\n tab: 'Tab',\n form: 'フォーム',\n createArticle: '投稿作成',\n editArticle: '投稿編集',\n articleList: '投稿リスト',\n errorPages: 'エラーページ',\n page401: '401',\n page404: '404',\n errorLog: 'エラーログ',\n excel: 'Excel',\n exportExcel: '一括エクスポート',\n selectExcel: '複数選択エクスポート',\n mergeHeader: 'ヘッダーマージ',\n uploadExcel: 'アップロード',\n zip: 'Zip',\n pdf: 'PDF',\n exportZip: 'Export Zip',\n theme: 'テーマ変更',\n clipboard: 'Clipboard',\n i18n: '多言語',\n externalLink: '外部リンク',\n profile: 'プロフィール'\n },\n navbar: {\n dashboard: 'トップ',\n github: 'GitHub',\n logOut: 'ログアウト',\n profile: 'プロフィール',\n theme: 'テーマ変更',\n size: '画面サイズ'\n },\n login: {\n title: 'ユーザログイン',\n logIn: 'ログイン',\n username: 'ユーザ名',\n password: 'パスワード',\n any: 'any',\n thirdparty: '外部IDでログイン',\n thirdpartyTips: 'ローカル環境ではログインできません。実装が必要です。'\n },\n documentation: {\n documentation: 'ドキュメント',\n github: 'Github Link'\n },\n permission: {\n createRole: 'ロール追加',\n editPermission: 'ロール変更',\n roles: 'ロール',\n switchRoles: 'ロール切替',\n tips: 'v-permissionは使えない時があります。例えば: Element-UI の el-tab、 el-table-column 及び他の dom。v-ifを使う必要があります。',\n delete: '削除',\n confirm: '確認',\n cancel: 'キャンセル'\n },\n guide: {\n description: 'ガイドは各機能の説明です。',\n button: 'ガイドを見る'\n },\n components: {\n documentation: 'ドキュメント',\n tinymceTips: 'tinymceは管理画面に重要な機能ですが、その同時に落とし穴がありあす。tinymceを使う道のりが大変でした。Tinymceを使う時に各自のプロジェクト状況で判断が必要です。ドキュメントはこちら',\n stickyTips: 'ページの指定位置へスクロールした場合、表示されます。',\n backToTopTips1: 'トップへスクロールが表示されます。',\n backToTopTips2: 'ボタンのスタイルはカスタマイズできます。例えば、show/hide、height、position。 またはElementのel-tooltipを使って、ツールチップを実装できます。',\n imageUploadTips: 'mockjsは使えないため、カスタマイズしています。公式の最新バージョンを使ってください。'\n },\n table: {\n dynamicTips1: '先頭は固定、最後に追加',\n dynamicTips2: '戦後に追加せず、指定列に追加',\n dragTips1: 'デフォルト順番',\n dragTips2: 'Drag後の順番',\n title: 'タイトル',\n importance: '重要',\n type: 'タイプ',\n remark: '評価',\n search: '検索',\n add: '追加',\n export: 'エクスポート',\n reviewer: 'レビュアー',\n id: '番号',\n date: '日時',\n author: '作成者',\n readings: '閲覧数',\n status: 'ステータス',\n actions: '操作',\n edit: '編集',\n publish: '公開',\n draft: '下書き',\n delete: 'キャンセル',\n cancel: 'キャンセル',\n confirm: '確認'\n },\n example: {\n warning: '新規作成と編集画面は keep-alive を使えないです。keep-alive の include はrouteのキャッシュは使えないです。そのため、component name を使ってキャッシュさせるようにします。このようなキャッシュ機能を作りたい場合,localStorageを使う手があります。もしくは keep-alive の includeを使って、全ページキャッシュする方法はあります。'\n },\n errorLog: {\n tips: '右上のbugアイコンをクリックしてください。',\n description: '管理画面はspaを使う場合が多い、ユーザ体現向上はできますが、想定外エラーが発生する場合があります。Vueはそのエラーハンドリング機能を提供し、エラーレポートができます。',\n documentation: 'ドキュメント'\n },\n excel: {\n export: 'エクスポート',\n selectedExport: 'エクスポート対象を選択してください。',\n placeholder: 'ファイル名を入力してください。'\n },\n zip: {\n export: 'エクスポート',\n placeholder: 'ファイル名を入力してください。'\n },\n pdf: {\n tips: 'window.print() を使ってPDFダウンロードしています。'\n },\n theme: {\n change: 'テーマ切替',\n documentation: 'ドキュメント',\n tips: 'Tips: テーマの切り替え方法はnavbarのtheme-pickと異なります、使い方はドキュメントを確認してください。'\n },\n tagsView: {\n refresh: '更新',\n close: '閉じる',\n closeOthers: 'その他閉じる',\n closeAll: 'すべて閉じる'\n },\n settings: {\n title: 'システムテーマ',\n theme: 'テーマ色',\n showTagsView: 'Tags-View 開く',\n showSidebarLogo: 'Show Sidebar Logo',\n fixedHeader: 'Fixed Header',\n sidebarTextTheme: 'Sidebar Text Theme'\n }\n};\n//# sourceMappingURL=ja.js.map","import { __decorate } from \"tslib\";\nimport {\n VuexModule,\n Module,\n Mutation,\n Action,\n getModule\n} from \"vuex-module-decorators\";\nimport {\n getSidebarStatus,\n getSize,\n setSidebarStatus,\n setLanguage,\n setSize\n} from \"@/utils/cookies\";\nimport { getLocale } from \"@/lang\";\nimport store from \"@/store\";\nexport var DeviceType;\n(function(DeviceType) {\n DeviceType[(DeviceType[\"Mobile\"] = 0)] = \"Mobile\";\n DeviceType[(DeviceType[\"Desktop\"] = 1)] = \"Desktop\";\n})(DeviceType || (DeviceType = {}));\nlet App = class App extends VuexModule {\n constructor() {\n super(...arguments);\n this.sidebar = {\n opened: getSidebarStatus() !== \"closed\",\n withoutAnimation: false\n };\n this.device = DeviceType.Desktop;\n this.language = getLocale();\n this.size = getSize() || \"medium\";\n }\n TOGGLE_SIDEBAR(withoutAnimation) {\n this.sidebar.opened = !this.sidebar.opened;\n this.sidebar.withoutAnimation = withoutAnimation;\n if (this.sidebar.opened) {\n setSidebarStatus(\"opened\");\n } else {\n setSidebarStatus(\"closed\");\n }\n }\n CLOSE_SIDEBAR(withoutAnimation) {\n this.sidebar.opened = false;\n this.sidebar.withoutAnimation = withoutAnimation;\n setSidebarStatus(\"closed\");\n }\n TOGGLE_DEVICE(device) {\n this.device = device;\n }\n SET_LANGUAGE(language) {\n this.language = language;\n setLanguage(this.language);\n }\n SET_SIZE(size) {\n this.size = size;\n setSize(this.size);\n }\n ToggleSideBar(withoutAnimation) {\n this.TOGGLE_SIDEBAR(withoutAnimation);\n }\n CloseSideBar(withoutAnimation) {\n this.CLOSE_SIDEBAR(withoutAnimation);\n }\n ToggleDevice(device) {\n this.TOGGLE_DEVICE(device);\n }\n SetLanguage(language) {\n this.SET_LANGUAGE(language);\n }\n SetSize(size) {\n this.SET_SIZE(size);\n }\n};\n__decorate([Mutation], App.prototype, \"TOGGLE_SIDEBAR\", null);\n__decorate([Mutation], App.prototype, \"CLOSE_SIDEBAR\", null);\n__decorate([Mutation], App.prototype, \"TOGGLE_DEVICE\", null);\n__decorate([Mutation], App.prototype, \"SET_LANGUAGE\", null);\n__decorate([Mutation], App.prototype, \"SET_SIZE\", null);\n__decorate([Action], App.prototype, \"ToggleSideBar\", null);\n__decorate([Action], App.prototype, \"CloseSideBar\", null);\n__decorate([Action], App.prototype, \"ToggleDevice\", null);\n__decorate([Action], App.prototype, \"SetLanguage\", null);\n__decorate([Action], App.prototype, \"SetSize\", null);\nApp = __decorate([Module({ dynamic: true, store, name: \"app\" })], App);\nexport const AppModule = getModule(App);\n//# sourceMappingURL=app.js.map\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-wrapper main fade page-sidebar-fixed page-header-fixed show page-container has-scroll\",class:_vm.classObj},[(_vm.classObj.mobile && _vm.sidebar.opened)?_c('div',{staticClass:\"drawer-bg\",on:{\"click\":_vm.handleClickOutside}}):_vm._e(),_c('cyber-lab-header'),_c('cyber-lab-sidebar',{staticClass:\"sidebar-container\"}),_c('div',{staticClass:\"main-container\"},[_c('app-main')],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('section',{staticClass:\"app-main\"},[_c('transition',{attrs:{\"name\":\"fade-transform\",\"mode\":\"out-in\"}},[_c('router-view')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\n\n@Component({\n name: 'AppMain'\n})\nexport default class extends Vue {}\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!./AppMain.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!./AppMain.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppMain.vue?vue&type=template&id=ef0a2012&scoped=true&\"\nimport script from \"./AppMain.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppMain.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppMain.vue?vue&type=style&index=0&id=ef0a2012&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 \"ef0a2012\",\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:\"cyberlab-sidebar height-full\",class:{'overflow-scroll': false}},[_c('div',{staticClass:\"sidebar\",attrs:{\"id\":\"sidebar\"}},[_c('div',[(_vm.sidebar.opened)?_c('sidebar-nav-profile'):_vm._e(),_c('sidebar-nav',{attrs:{\"scroll-top\":_vm.scrollTop}})],1)]),_c('div',{staticClass:\"sidebar-bg\"}),_c('div',{staticClass:\"mobile-click\",on:{\"click\":_vm.dismissSidebar}})])}\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:\"sidebar-nav\"},[_c('div',{staticClass:\"nav\"},[(_vm.sidebar.opened)?_c('div',{staticClass:\"nav-header\"},[_vm._v(\"Navigation\")]):_vm._e(),_c('el-scrollbar',{attrs:{\"wrap-class\":\"scrollbar-wrapper\"}},[_c('el-menu',{attrs:{\"collapse\":_vm.isCollapse,\"background-color\":_vm.variables.menuBg,\"text-color\":_vm.variables.menuText,\"active-text-color\":_vm.variables.menuActiveText,\"unique-opened\":false,\"collapse-transition\":false,\"mode\":\"vertical\"}},_vm._l((_vm.routes),function(route){return _c('sidebar-item',{key:route.path,attrs:{\"item\":route,\"base-path\":route.path,\"is-collapse\":_vm.isCollapse}})}),1)],1),(!_vm.isMobile)?_c('a',{staticClass:\"sidebar-minify-btn\",attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){return _vm.toggleSideBar()}}},[_c('font-awesome-icon',{attrs:{\"icon\":_vm.iconName}})],1):_vm._e()],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.item.meta || !_vm.item.meta.hidden)?_c('div',{class:['menu-wrapper', _vm.isCollapse ? 'simple-mode' : 'full-mode', {'first-level': _vm.isFirstLevel}]},[(_vm.theOnlyOneChild && !_vm.theOnlyOneChild.children)?[(_vm.theOnlyOneChild.meta)?_c('sidebar-item-link',{attrs:{\"to\":_vm.resolvePath(_vm.theOnlyOneChild.path)}},[_c('el-menu-item',{class:{'submenu-title-noDropdown': _vm.isFirstLevel},attrs:{\"index\":_vm.resolvePath(_vm.theOnlyOneChild.path)}},[(_vm.theOnlyOneChild.meta.icon)?_c('font-awesome-icon',{attrs:{\"icon\":_vm.theOnlyOneChild.meta.icon}}):_vm._e(),(_vm.theOnlyOneChild.meta.brandIcon)?_c('font-awesome-icon',{attrs:{\"icon\":['fab', _vm.theOnlyOneChild.meta.brandIcon]}}):_vm._e(),(_vm.theOnlyOneChild.meta.title)?_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.theOnlyOneChild.meta.title))]):_vm._e()],1)],1):_vm._e()]:_c('el-submenu',{attrs:{\"index\":_vm.resolvePath(_vm.item.path),\"popper-append-to-body\":\"\"}},[_c('template',{slot:\"title\"},[(_vm.item.meta && _vm.item.meta.icon)?_c('font-awesome-icon',{attrs:{\"icon\":_vm.item.meta.icon}}):_vm._e(),(_vm.item.meta && _vm.item.meta.title)?_c('span',{attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(_vm._s(_vm.item.meta.title))]):_vm._e()],1),(_vm.item.children)?_vm._l((_vm.item.children),function(child){return _c('sidebar-item',{key:child.path,staticClass:\"nest-menu\",attrs:{\"item\":child,\"is-collapse\":_vm.isCollapse,\"is-first-level\":false,\"base-path\":_vm.resolvePath(child.path)}})}):_vm._e()],2)],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const isValidUsername = (str) => ['admin', 'editor'].indexOf(str.trim()) >= 0;\nexport const isExternal = (path) => /^(https?:|mailto:|tel:)/.test(path);\nexport const isArray = (arg) => {\n if (typeof Array.isArray === 'undefined') {\n return Object.prototype.toString.call(arg) === '[object Array]';\n }\n return Array.isArray(arg);\n};\nexport const isValidURL = (url) => {\n const reg = /^(https?|ftp):\\/\\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\\/($|[a-zA-Z0-9.,?'\\\\+&%$#=~_-]+))*$/;\n return reg.test(url);\n};\n//# sourceMappingURL=validate.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isExternal(_vm.to))?_c('a',{attrs:{\"href\":_vm.to,\"target\":\"_blank\",\"rel\":\"noopener\"}},[_vm._t(\"default\")],2):_c('router-link',{attrs:{\"to\":_vm.to}},[_vm._t(\"default\")],2)}\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'\nimport { isExternal } from '@/utils/validate'\n\n@Component({\n name: 'SidebarItemLink'\n})\nexport default class extends Vue {\n @Prop({ required: true }) private to!: string\n\n private isExternal = isExternal\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!./SidebarItemLink.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!./SidebarItemLink.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SidebarItemLink.vue?vue&type=template&id=0d65696a&\"\nimport script from \"./SidebarItemLink.vue?vue&type=script&lang=ts&\"\nexport * from \"./SidebarItemLink.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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 path from 'path'\nimport { Component, Prop, Vue } from 'vue-property-decorator'\nimport { Route, RouteConfig } from 'vue-router'\nimport { isExternal } from '@/utils/validate'\nimport SidebarItemLink from './SidebarItemLink.vue'\n\n@Component({\n // Set 'name' here to prevent uglifyjs from causing recursive component not work\n // See https://medium.com/haiiro-io/element-component-name-with-vue-class-component-f3b435656561 for detail\n name: 'SidebarItem',\n components: {\n SidebarItemLink\n }\n})\nexport default class extends Vue {\n @Prop({ required: true }) private item!: RouteConfig\n @Prop({ default: false }) private isCollapse!: boolean\n @Prop({ default: true }) private isFirstLevel!: boolean\n @Prop({ default: '' }) private basePath!: string\n\n get showingChildNumber() {\n if (this.item.children) {\n const showingChildren = this.item.children.filter((item) => {\n if (item.meta && item.meta.hidden) {\n return false\n } else {\n return true\n }\n })\n return showingChildren.length\n }\n return 0\n }\n\n get theOnlyOneChild() {\n if (this.showingChildNumber > 1) {\n return null\n }\n if (this.item.children) {\n for (let child of this.item.children) {\n if (!child.meta || !child.meta.hidden) {\n return child\n }\n }\n }\n // If there is no children, return itself with path removed,\n // because this.basePath already conatins item's path information\n return { ...this.item, path: '' }\n }\n\n private resolvePath(routePath: string) {\n if (isExternal(routePath)) {\n return routePath\n }\n if (isExternal(this.basePath)) {\n return this.basePath\n }\n return path.resolve(this.basePath, routePath)\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!./SidebarItem.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!./SidebarItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SidebarItem.vue?vue&type=template&id=157cc64e&scoped=true&\"\nimport script from \"./SidebarItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./SidebarItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SidebarItem.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./SidebarItem.vue?vue&type=style&index=1&id=157cc64e&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 \"157cc64e\",\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\nimport { Component, Prop, Vue } from 'vue-property-decorator'\nimport { DeviceType, AppModule } from '@/store/modules/app'\nimport { UserModule } from '@/store/modules/user'\nimport SidebarItem from './SidebarItem.vue'\nimport variables from '@/styles/_variables.scss'\n\n@Component({\n name: 'CyberLabSidebar',\n components: {\n SidebarItem\n }\n})\nexport default class extends Vue {\n private menu: boolean = true;\n private menus: any;\n private iconName: string = 'angle-double-left';\n\n dismissSidebar() {}\n handleCollapseOther(menu: any) {}\n\n mounted() {\n this.setIconName();\n }\n\n get isMobile() {\n return AppModule.device === DeviceType.Mobile;\n }\n\n get sidebar() {\n return AppModule.sidebar\n }\n\n get routes() {\n let routes: any = (this.$router as any).options.routes;\n if (UserModule.isInternalEmployee) {\n routes = routes.filter((r: any) => !r.meta.studentRoute);\n } else {\n routes = routes.filter((r: any) => r.meta.studentRoute);\n }\n return routes;\n }\n\n get variables() {\n return variables\n }\n\n get isCollapse() {\n return !this.sidebar.opened\n }\n\n private toggleSideBar() {\n AppModule.ToggleSideBar(false)\n this.setIconName()\n }\n\n setIconName() {\n this.iconName = this.sidebar.opened ? 'angle-double-left' : 'angle-double-right';\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!./SidebarNav.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!./SidebarNav.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SidebarNav.vue?vue&type=template&id=4e06cfc8&scoped=true&\"\nimport script from \"./SidebarNav.vue?vue&type=script&lang=ts&\"\nexport * from \"./SidebarNav.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SidebarNav.vue?vue&type=style&index=0&id=4e06cfc8&lang=scss&scoped=true&\"\nimport style1 from \"./SidebarNav.vue?vue&type=style&index=1&lang=scss&\"\nimport style2 from \"./SidebarNav.vue?vue&type=style&index=2&id=4e06cfc8&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 \"4e06cfc8\",\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:\"cyberlab-nav-profile\"},[_c('ul',{staticClass:\"nav\"},[_c('li',{staticClass:\"nav-profile\"},[_c('a',{attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){return _vm.toggleMenu()}}},[_c('div',{staticClass:\"cover with-shadow\"}),_c('div',{staticClass:\"image image-icon bg-black text-grey-darker\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"user\"}})],1),_c('div',{staticClass:\"info\"},[_vm._v(\"\\n \"+_vm._s(_vm.userName)+\"\\n \"),_c('small',[_vm._v(_vm._s(_vm.jobTitle))])])])])])])}\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\nimport { Component, Vue } from 'vue-property-decorator'\nimport { UserModule } from '@/store/modules/user'\n\n@Component({\n name: 'CyberLabNavProfile'\n})\nexport default class extends Vue {\n showMenu: boolean = false;\n\n get userName() {\n return UserModule.name\n }\n\n get jobTitle() {\n return UserModule.jobTitle\n }\n\n toggleMenu() {\n this.showMenu = !this.showMenu;\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!./SidebarNavProfile.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!./SidebarNavProfile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SidebarNavProfile.vue?vue&type=template&id=50cd2f2f&scoped=true&\"\nimport script from \"./SidebarNavProfile.vue?vue&type=script&lang=ts&\"\nexport * from \"./SidebarNavProfile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SidebarNavProfile.vue?vue&type=style&index=0&id=50cd2f2f&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 \"50cd2f2f\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport SidebarNav from './SidebarNav.vue';\nimport SidebarNavProfile from './SidebarNavProfile.vue';\nimport { AppModule } from '@/store/modules/app'\n\n@Component({\n name: 'CyberLabSidebar',\n components: {\n SidebarNav,\n SidebarNavProfile\n }\n})\nexport default class extends Vue {\n scrollTop() {}\n dismissSidebar() {}\n get sidebar() {\n return AppModule.sidebar\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=25d0277e&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=25d0277e&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 \"25d0277e\",\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:\"cyberlab-header\"},[_c('div',{staticClass:\"header navbar-default\",attrs:{\"id\":\"header\"}},[_c('div',{staticClass:\"navbar-header\"},[_c('button',{staticClass:\"navbar-toggle pull-right\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.toggleMobileRightSidebar}},[_c('span',{staticClass:\"icon-bar\"}),_c('span',{staticClass:\"icon-bar\"}),_c('span',{staticClass:\"icon-bar\"})]),_c('router-link',{staticClass:\"navbar-brand\",attrs:{\"to\":\"/\"}},[_c('div',{staticClass:\"logo\"},[_c('img',{staticClass:\"evolve-logo\",attrs:{\"src\":\"favicon.svg\"}}),_c('b',[_vm._v(\"CyberLAB\")]),_c('sup',[_vm._v(\"TM\")])])])],1),_c('ul',{staticClass:\"navbar-nav navbar-right\"},[_c('li',{staticClass:\"search\"},[_c('form',{staticClass:\"navbar-form\"},[_c('div',{staticClass:\"form-group\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.globalSearchText),expression:\"globalSearchText\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":\"Enter keyword\"},domProps:{\"value\":(_vm.globalSearchText)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.globalSearchText=$event.target.value}}}),_c('button',{staticClass:\"btn btn-search\",attrs:{\"type\":\"submit\"}},[_c('font-awesome-icon',{attrs:{\"icon\":\"search\"}})],1)])])]),_c('li',{staticClass:\"dropdown navbar-user\"},[_c('el-dropdown',{attrs:{\"variant\":\"link\",\"menu-class\":\"dropdown-menu-right\",\"trigger\":\"click\"},on:{\"command\":_vm.handleUserMenuCommand}},[_c('div',{staticClass:\"avatar-wrapper\"},[_c('div',{staticClass:\"image image-icon bg-black text-grey-darker\"},[_c('font-awesome-icon',{attrs:{\"icon\":\"user\"}})],1),_c('div',{staticClass:\"avatar-username\"},[_c('span',{staticClass:\"username d-none d-md-inline\"},[_vm._v(_vm._s(_vm.userName))]),_c('i',{staticClass:\"el-icon-caret-bottom\"})])]),_c('el-dropdown-menu',{attrs:{\"slot\":\"dropdown\"},slot:\"dropdown\"},[_c('el-dropdown-item',{attrs:{\"href\":\"javascript:;\",\"command\":\"showGuide\"}},[_vm._v(\"Show Tour\")]),_c('el-dropdown-item',{attrs:{\"href\":\"javascript:;\",\"command\":\"resetPassword\"}},[_vm._v(\"Reset Password\")]),_c('el-dropdown-item',{attrs:{\"divided\":\"\",\"href\":\"javascript:;\",\"command\":\"logout\"}},[_vm._v(\"Log Out\")])],1)],1)],1)])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const steps = [\n {\n element: \".machine-type\",\n popover: {\n title: \"Machine Type\",\n description: \"Machine type: ESA Linux, Windows, or Ubuntu\",\n position: \"bottom\"\n }\n },\n {\n element: \".remaining-time\",\n popover: {\n title: \"Remaining Time\",\n description: \"When the remaining time is 00:00:00, the machine will be shutdown at any point in time.\",\n position: \"bottom\"\n }\n },\n {\n element: \".machine-status\",\n popover: {\n title: \"Machine Status\",\n description: \"Machine status will be updated in real time.\",\n position: \"bottom\"\n }\n },\n {\n element: \".el-button-start-instance\",\n popover: {\n title: \"Start Instance\",\n description: \"Start your machine\",\n position: \"bottom\"\n }\n },\n {\n element: \".el-button-stop-instance\",\n popover: {\n title: \"Stop Instance\",\n description: \"Stop your machine\",\n position: \"bottom\"\n }\n },\n {\n element: \".el-button-reset-instance\",\n popover: {\n title: \"Reset Instance\",\n description: \"Terminate and build a new machine.\",\n position: \"bottom\"\n }\n },\n {\n element: \".open-terminal\",\n popover: {\n title: \"Open Terminal\",\n description: \"Navigate to the terminal of the machine type.\",\n position: \"left\"\n }\n },\n {\n element: \".open-desktop\",\n popover: {\n title: \"Open Desktop\",\n description: \"Navigate to the desktop of the machine type.\",\n position: \"left\"\n }\n }\n];\nexport default steps;\n//# sourceMappingURL=steps.js.map","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 Driver from 'driver.js'\nimport 'driver.js/dist/driver.min.css'\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { UserModule } from '@/store/modules/user';\nimport { AppModule } from '@/store/modules/app';\nimport { baseUrl } from \"@/config\";\nimport { EventBus } from \"@/utils/eventBus\";\nimport steps from './steps'\n\n@Component({\n name: 'CyberLabHeader'\n})\nexport default class extends Vue {\n private globalSearchText: string = \"\";\n private driver: Driver | null = null\n\n mounted() {\n this.driver = new Driver()\n }\n\n toggleMobileRightSidebar() {\n AppModule.ToggleSideBar(false)\n }\n get userName() {\n return UserModule.name\n }\n\n @Watch('globalSearchText', {deep: true})\n onPropertyChanged(value: string, oldValue: string) {\n let fullPath: string = this.$router.currentRoute.fullPath;\n if (fullPath === \"/labs/student-instances\" || fullPath === \"/student-instances\") {\n EventBus.$emit(\"student-instances-search\", { oldValue: oldValue, value: value});\n } else if (fullPath === \"/labs/cohort-labs\" || fullPath === \"/cohort-labs\") {\n EventBus.$emit(\"cohort-labs-search\", { oldValue: oldValue, value: value});\n } else if (fullPath === \"/labs/aws-machines\" || fullPath === \"/aws-machines\") {\n EventBus.$emit(\"aws-machines-search\", { oldValue: oldValue, value: value});\n }\n }\n\n private showGuide() {\n if (this.driver) {\n this.driver.defineSteps(steps)\n this.driver.start()\n }\n }\n\n private handleUserMenuCommand(command: any) {\n switch(command) {\n case \"resetPassword\":\n window.location.href = `${baseUrl}session/resetpassword`;\n break;\n case \"logout\":\n window.location.href = `${baseUrl}session/signout`;\n break;\n case \"showGuide\":\n this.showGuide();\n break;\n default:\n break;\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=42f3fc7d&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=42f3fc7d&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 \"42f3fc7d\",\n null\n \n)\n\nexport default component.exports","import { __decorate } from \"tslib\";\nimport { Component, Vue, Watch } from 'vue-property-decorator';\nimport { AppModule, DeviceType } from '@/store/modules/app';\nconst WIDTH = 992; // refer to Bootstrap's responsive design\nlet default_1 = class default_1 extends Vue {\n get device() {\n return AppModule.device;\n }\n get sidebar() {\n return AppModule.sidebar;\n }\n onRouteChange() {\n if (this.device === DeviceType.Mobile && this.sidebar.opened) {\n AppModule.CloseSideBar(false);\n }\n }\n beforeMount() {\n window.addEventListener('resize', this.resizeHandler);\n }\n mounted() {\n const isMobile = this.isMobile();\n if (isMobile) {\n AppModule.ToggleDevice(DeviceType.Mobile);\n AppModule.CloseSideBar(true);\n }\n }\n beforeDestroy() {\n window.removeEventListener('resize', this.resizeHandler);\n }\n isMobile() {\n const rect = document.body.getBoundingClientRect();\n return rect.width - 1 < WIDTH;\n }\n resizeHandler() {\n if (!document.hidden) {\n const isMobile = this.isMobile();\n AppModule.ToggleDevice(isMobile ? DeviceType.Mobile : DeviceType.Desktop);\n if (isMobile) {\n AppModule.CloseSideBar(true);\n }\n }\n }\n};\n__decorate([\n Watch('$route')\n], default_1.prototype, \"onRouteChange\", null);\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\n\n\n\n\n\n\n\nimport { Component } from 'vue-property-decorator'\nimport { mixins } from 'vue-class-component'\nimport { DeviceType, AppModule } from '@/store/modules/app'\nimport { AppMain, CyberLabSidebar, CyberLabHeader } from './components'\nimport ResizeMixin from './mixin/resize'\n\n@Component({\n name: 'Layout',\n components: {\n AppMain,\n CyberLabHeader,\n CyberLabSidebar\n }\n})\nexport default class extends mixins(ResizeMixin) {\n get classObj() {\n return {\n hideSidebar: !this.sidebar.opened,\n openSidebar: this.sidebar.opened,\n withoutAnimation: this.sidebar.withoutAnimation,\n mobile: this.device === DeviceType.Mobile\n }\n }\n\n private handleClickOutside() {\n AppModule.CloseSideBar(false)\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=3aa8bd82&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=3aa8bd82&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 \"3aa8bd82\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\nimport Router from \"vue-router\";\nimport Layout from \"@/layout/index.vue\";\nVue.use(Router);\n/*\n redirect: if set to 'noredirect', no redirect action will be trigger when clicking the breadcrumb\n meta: {\n title: 'title' the name showed in subMenu and breadcrumb (recommend set)\n icon: 'svg-name' the icon showed in the sidebar\n breadcrumb: false if false, the item will be hidden in breadcrumb (default is true)\n hidden: true if true, this route will not show in the sidebar (default is false)\n }\n*/\nexport default new Router({\n // mode: 'history', // Enable this if you need.\n scrollBehavior: (to, from, savedPosition) => {\n if (savedPosition) {\n return savedPosition;\n }\n else {\n return { x: 0, y: 0 };\n }\n },\n base: process.env.BASE_URL,\n routes: [\n {\n path: \"/login\",\n component: () => import(/* webpackChunkName: \"login\" */ \"@/views/login/index.vue\"),\n meta: {\n hidden: true,\n title: \"Login\",\n requireAuth: false,\n studentRoute: false\n }\n },\n {\n path: \"/labs/instances/:id/terminal\",\n component: () => import(/* webpackChunkName: \"terminal\" */ \"@/views/labs/terminal/index.vue\"),\n meta: {\n hidden: true,\n title: \"CyberLAB Terminal\",\n requireAuth: false,\n studentRoute: false\n }\n },\n {\n path: \"/labs/instances/:id/rdp\",\n component: () => import(/* webpackChunkName: \"terminal\" */ \"@/views/labs/terminal/index.vue\"),\n meta: {\n hidden: true,\n title: \"CyberLAB Rdp\",\n requireAuth: false,\n studentRoute: false\n }\n },\n {\n path: \"/404\",\n component: () => import(/* webpackChunkName: \"404\" */ \"@/views/404.vue\"),\n meta: { hidden: true, requireAuth: false, studentRoute: false }\n },\n {\n path: \"/\",\n component: Layout,\n redirect: \"/dashboard\",\n meta: {\n studentRoute: false\n },\n children: [\n {\n path: \"dashboard\",\n component: () => import(/* webpackChunkName: \"dashboard\" */ \"@/views/dashboard/index.vue\"),\n meta: {\n title: \"Dashboard\",\n icon: \"tachometer-alt\",\n requireAuth: true,\n studentRoute: false\n }\n }\n ]\n },\n {\n path: \"/static-network\",\n component: Layout,\n meta: {\n studentRoute: false\n },\n children: [\n {\n path: \"\",\n component: () => import(/* webpackChunkName: \"dashboard\" */ \"@/views/staticNetwork/index.vue\"),\n meta: {\n title: \"Static Network\",\n icon: \"network-wired\",\n requireAuth: true,\n studentRoute: false\n }\n }\n ]\n },\n {\n path: \"/labs\",\n component: Layout,\n redirect: \"/instances\",\n meta: {\n title: \"Labs\",\n icon: \"flask\",\n requireAuth: true,\n studentRoute: false\n },\n children: [\n {\n path: \"student-instances\",\n component: () => import(/* webpackChunkName: \"lab-instances\" */ \"@/views/labs/studentInstances/index.vue\"),\n meta: {\n title: \"Student Instances\",\n icon: \"user-graduate\",\n requireAuth: true,\n studentRoute: false\n }\n },\n {\n path: \"lab-instances\",\n component: () => import(/* webpackChunkName: \"lab-instances\" */ \"@/views/labs/labInstances/index.vue\"),\n meta: {\n title: \"Lab Instances\",\n icon: \"cogs\",\n requireAuth: true,\n studentRoute: false\n }\n },\n {\n path: \"cohort-labs\",\n component: () => import(/* webpackChunkName: \"cohort-labs\" */ \"@/views/labs/cohortLabs/index.vue\"),\n meta: {\n title: \"Cohort Labs\",\n icon: \"dice-d20\",\n requireAuth: true,\n studentRoute: false\n }\n },\n {\n path: \"aws-machines\",\n component: () => import(/* webpackChunkName: \"aws-machines\" */ \"@/views/labs/awsMachines/index.vue\"),\n meta: {\n title: \"AWS Machines\",\n icon: \"\",\n brandIcon: \"phoenix-framework\",\n requireAuth: true,\n studentRoute: false\n }\n },\n {\n path: \"customize-labs\",\n component: () => import(/* webpackChunkName: \"customize-labs\" */ \"@/views/labs/customizeLabs/index.vue\"),\n meta: {\n title: \"Customize Labs\",\n icon: \"cubes\",\n requireAuth: true,\n studentRoute: false\n }\n }\n ]\n },\n {\n path: \"/lms\",\n component: Layout,\n redirect: \"/instances\",\n meta: {\n title: \"PRO Bootcamp\",\n icon: \"university\",\n requireAuth: true,\n studentRoute: false\n },\n children: [\n {\n path: \"nmap\",\n component: () => import(/* webpackChunkName: \"dashboard\" */ \"@/views/lms/nmap/index.vue\"),\n meta: {\n title: \"Nmap Overview\",\n requireAuth: true,\n studentRoute: false\n }\n },\n {\n path: \"wireshark\",\n component: () => import(/* webpackChunkName: \"dashboard\" */ \"@/views/lms/wireshark/index.vue\"),\n meta: {\n title: \"Wireshark Overview\",\n requireAuth: true,\n studentRoute: false\n }\n }\n ]\n },\n {\n path: \"/student-instances\",\n component: Layout,\n meta: {\n studentRoute: true\n },\n children: [\n {\n path: \"\",\n component: () => import(/* webpackChunkName: \"dashboard\" */ \"@/views/student/labInstances/index.vue\"),\n meta: {\n title: \"My Machines\",\n icon: \"desktop\",\n requireAuth: true,\n studentRoute: true\n }\n }\n ]\n },\n {\n path: \"*\",\n redirect: \"/404\",\n meta: { hidden: true, requireAuth: false, studentRoute: false }\n }\n ]\n});\n//# sourceMappingURL=router.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'dashboard': {\n width: 128,\n height: 100,\n viewBox: '0 0 128 100',\n data: ''\n }\n});\n//# sourceMappingURL=dashboard.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'database': {\n width: 16,\n height: 16,\n viewBox: '0 0 60 60',\n data: ''\n }\n});\n//# sourceMappingURL=database.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'example': {\n width: 128,\n height: 128,\n viewBox: '0 0 128 128',\n data: ''\n }\n});\n//# sourceMappingURL=example.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'eye-off': {\n width: 128,\n height: 64,\n viewBox: '0 0 128 64',\n data: ''\n }\n});\n//# sourceMappingURL=eye-off.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'eye-on': {\n width: 128,\n height: 128,\n viewBox: '0 0 1024 1024',\n data: ''\n }\n});\n//# sourceMappingURL=eye-on.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'form': {\n width: 128,\n height: 128,\n viewBox: '0 0 128 128',\n data: ''\n }\n});\n//# sourceMappingURL=form.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'hamburger': {\n width: 64,\n height: 64,\n viewBox: '0 0 1024 1024',\n data: ''\n }\n});\n//# sourceMappingURL=hamburger.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'link': {\n width: 128,\n height: 128,\n viewBox: '0 0 128 128',\n data: ''\n }\n});\n//# sourceMappingURL=link.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'nested': {\n width: 128,\n height: 128,\n viewBox: '0 0 128 128',\n data: ''\n }\n});\n//# sourceMappingURL=nested.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'password': {\n width: 128,\n height: 128,\n viewBox: '0 0 128 128',\n data: ''\n }\n});\n//# sourceMappingURL=password.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'server': {\n width: 16,\n height: 16,\n viewBox: '0 0 60 60',\n data: ''\n }\n});\n//# sourceMappingURL=server.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'table': {\n width: 128,\n height: 128,\n viewBox: '0 0 128 128',\n data: ''\n }\n});\n//# sourceMappingURL=table.js.map","/* eslint-disable */\n/* tslint:disable */\n// @ts-ignore\nimport icon from 'vue-svgicon';\nicon.register({\n 'tree': {\n width: 128,\n height: 128,\n viewBox: '0 0 128 128',\n data: ''\n }\n});\n//# sourceMappingURL=tree.js.map","import Vue from \"vue\";\nimport router from \"./router\";\nimport NProgress from \"nprogress\";\nimport \"nprogress/nprogress.css\";\nimport { Message } from \"element-ui\";\nimport { UserModule } from \"@/store/modules/user\";\nNProgress.configure({ showSpinner: false });\nconst whiteList = [\n \"/login\"\n];\nrouter.beforeEach(async (to, _, next) => {\n // Start progress bar\n NProgress.start();\n // Determine whether the user has logged in\n if (UserModule.isAuthenticated) {\n Vue.prototype.startSignalR(UserModule.email);\n if (to.path === \"/login\") {\n // If is logged in, redirect to the home page\n next({ path: \"/\" });\n NProgress.done();\n }\n else {\n // Check whether the user has obtained his permission roles\n if (UserModule.roles.length === 0) {\n try {\n next({ ...to, replace: true });\n }\n catch (err) {\n // Remove token and redirect to login page\n Message.error(err || \"Has Error\");\n next(`/login?redirect=${to.path}`);\n NProgress.done();\n }\n }\n else {\n next();\n }\n }\n }\n else {\n // Has no token\n if (whiteList.indexOf(to.path) !== -1 || !to.meta.requireAuth) {\n // In the free login whitelist, go directly\n next();\n }\n else {\n // Other pages that do not have permission to access are redirected to the login page.\n next(`/login?redirect=${to.path}`);\n NProgress.done();\n }\n }\n});\nrouter.afterEach((to) => {\n // Finish progress bar\n NProgress.done();\n // set page title\n document.title = to.meta.title;\n});\n//# sourceMappingURL=permission.js.map","import { HubConnectionBuilder, LogLevel } from \"@aspnet/signalr\";\nimport { baseUrlApi } from \"@/config\";\nimport { getToken } from \"@/utils/cookies\";\nexport function CyberLabHub(Vue, options) {\n // use a new Vue instance as the interface for Vue components to receive/send SignalR events\n // this way every component can listen to events or send new events using this.$cyberlabHub\n const cyberlabHub = new Vue();\n Vue.prototype.$cyberlabHub = cyberlabHub;\n // Provide methods to connect/disconnect from the SignalR hub\n let connection = null;\n let startedPromise = null;\n let manuallyClosed = false;\n Vue.prototype.startSignalR = (jwtToken) => {\n let loginToken = getToken();\n connection = new HubConnectionBuilder()\n .withUrl(`${baseUrlApi}cyberlab-hub`, { accessTokenFactory: () => loginToken })\n .configureLogging(LogLevel.Information)\n .build();\n // Forward hub events through the event, so we can listen for them in the Vue components\n connection.on(\"StudentInstanceStatusUpdated\", (studentInstance, status) => {\n cyberlabHub.$emit(\"student-instance-status-updated\", {\n studentInstance: studentInstance,\n status: status\n });\n });\n connection.on(\"LabInstanceStatusUpdated\", (labInstance, status) => {\n cyberlabHub.$emit(\"lab-instance-status-updated\", {\n labInstance: labInstance,\n status: status\n });\n });\n // You need to call connection.start() to establish the connection but the client wont handle reconnecting for you!\n // Docs recommend listening onclose and handling it there.\n // This is the simplest of the strategies\n function start() {\n startedPromise = connection.start().catch((err) => {\n console.error(\"Failed to connect with hub\", err);\n return new Promise((resolve, reject) => setTimeout(() => start()\n .then(resolve)\n .catch(reject), 5000));\n });\n return startedPromise;\n }\n connection.onclose(() => {\n if (!manuallyClosed)\n start();\n });\n // Start everything\n manuallyClosed = false;\n start();\n };\n Vue.prototype.stopSignalR = () => {\n if (!startedPromise)\n return;\n manuallyClosed = true;\n return startedPromise\n .then(() => connection.stop())\n .then(() => {\n startedPromise = null;\n });\n };\n // Provide methods for components to send messages back to server\n // Make sure no invocation happens until the connection is established\n function labInstancesOpened(email) {\n if (!startedPromise)\n return;\n return startedPromise\n .then(() => connection.invoke(\"JoinStudentInstanceGroup\", email))\n .catch(console.error);\n }\n function labInstancesClosed(email) {\n if (!startedPromise)\n return;\n return startedPromise\n .then(() => connection.invoke(\"LeaveStudentInstanceGroup\", email))\n .catch(console.error);\n }\n // cyberlabHub.sendMessage = message => {\n // if (!startedPromise) return;\n // return startedPromise\n // .then(() => connection.invoke(\"SendLiveChatMessage\", message))\n // .catch(console.error);\n // };\n}\n//# sourceMappingURL=cyberlabHub.js.map","import Vue, { DirectiveOptions } from \"vue\";\nimport axios from \"axios\";\n\nimport \"normalize.css\";\nimport ElementUI from \"element-ui\";\nimport SvgIcon from \"vue-svgicon\";\nimport ConsoleIcon from \"icons/Console.vue\";\nimport PowershellIcon from \"icons/Powershell.vue\";\nimport DesktopMacIcon from \"icons/DesktopMac.vue\";\nimport TimelapseIcon from \"icons/Timelapse.vue\";\nimport RestartIcon from \"icons/Restart.vue\";\nimport RemoteDesktopIcon from \"icons/RemoteDesktop.vue\";\nimport UpdateIcon from \"icons/Update.vue\";\nimport PlusIcon from \"icons/Plus.vue\";\nimport PlusCircleIcon from \"icons/PlusCircle.vue\";\nimport AccountMultipleIcon from \"icons/AccountMultiple.vue\";\nimport FileTableBoxMultipleIcon from \"icons/FileTableBoxMultiple.vue\";\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\nimport {\n faUser,\n faBell,\n faBug,\n faTh,\n faCalendar,\n faPlus,\n faCircle,\n faAngleDoubleLeft,\n faAngleDoubleRight,\n faQuestionCircle,\n faChevronRight,\n faChevronDown,\n faEnvelope,\n faComment,\n faExclamationCircle,\n faSearch,\n faTachometerAlt,\n faFlask,\n faUserGraduate,\n faCogs,\n faNetworkWired,\n faCubes,\n faUniversity,\n faDesktop,\n faPlay,\n faStop,\n faRedo,\n faHourglass,\n faClock,\n faArrowUp,\n faArrowDown,\n faInfoCircle,\n faDiceD20\n} from \"@fortawesome/free-solid-svg-icons\";\nimport { faPhoenixFramework\n} from \"@fortawesome/free-brands-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/vue-fontawesome\";\n\nimport \"@/styles/element-variables.scss\";\nimport \"@/styles/index.scss\";\n\nimport VueParticles from \"vue-particles\";\n\nimport App from \"@/App.vue\";\nimport store from \"@/store\";\nimport { AppModule } from \"@/store/modules/app\";\nimport router from \"@/router\";\nimport i18n from \"@/lang\";\nimport \"@/icons/components\";\nimport \"@/permission\";\nimport * as directives from \"@/directives\";\nimport * as filters from \"@/filters\";\n\nimport splitPane from \"vue-splitpane\";\nimport { CyberLabHub } from \"@/hubs/cyberlabHub\";\n\nlibrary.add(\n faUser,\n faBell,\n faBug,\n faTh,\n faCalendar,\n faPlus,\n faCircle,\n faAngleDoubleLeft,\n faAngleDoubleRight,\n faQuestionCircle,\n faChevronRight,\n faChevronDown,\n faEnvelope,\n faComment,\n faExclamationCircle,\n faSearch,\n faTachometerAlt,\n faFlask,\n faUserGraduate,\n faCogs,\n faNetworkWired,\n faCubes,\n faUniversity,\n faDesktop,\n faPlay,\n faStop,\n faRedo,\n faHourglass,\n faClock,\n faArrowUp,\n faArrowDown,\n faInfoCircle,\n faDiceD20,\n faPhoenixFramework\n);\nVue.component(\"font-awesome-icon\", FontAwesomeIcon);\nVue.component(\"split-pane\", splitPane);\n\nVue.use(ElementUI, {\n size: AppModule.size, // Set element-ui default size\n i18n: (key: string, value: string) => i18n.t(key, value)\n});\nVue.use(SvgIcon, {\n tagName: \"svg-icon\",\n defaultWidth: \"1em\",\n defaultHeight: \"1em\"\n});\nVue.component(\"console-icon\", ConsoleIcon);\nVue.component(\"powershell-icon\", PowershellIcon);\nVue.component(\"desktop-mac-icon\", DesktopMacIcon);\nVue.component(\"timelapse-icon\", TimelapseIcon);\nVue.component(\"restart-icon\", RestartIcon);\nVue.component(\"remote-desktop-icon\", RemoteDesktopIcon);\nVue.component(\"update-icon\", UpdateIcon);\nVue.component(\"plus-icon\", PlusIcon);\nVue.component(\"plus-circle-icon\", PlusCircleIcon);\nVue.component(\"account-multiple-icon\", AccountMultipleIcon);\nVue.component(\"file-table-box-multiple-icon\", FileTableBoxMultipleIcon);\nVue.use(CyberLabHub);\nVue.use(require(\"vue-moment\"));\nVue.use(VueParticles);\n\n// Register global directives\nObject.keys(directives).forEach(key => {\n Vue.directive(key, (directives as { [key: string]: DirectiveOptions })[key]);\n});\n\n// Register global filter functions\nObject.keys(filters).forEach(key => {\n Vue.filter(key, (filters as { [key: string]: Function })[key]);\n});\n\nVue.prototype.$axios = axios;\nVue.config.productionTip = false;\n\nVue.config.errorHandler = function(err, vm, info) {\n console.log(`Error: ${err.toString()}\\nInfo: ${info}`);\n};\n\nVue.config.warnHandler = function(msg, vm, trace) {\n console.log(`Warn: ${msg}\\nTrace: ${trace}`);\n};\n\nnew Vue({\n router,\n store,\n i18n,\n render: h => h(App)\n}).$mount(\"#app\");\n","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!./SidebarItem.vue?vue&type=style&index=0&lang=scss&\"","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!./AppMain.vue?vue&type=style&index=0&id=ef0a2012&lang=scss&scoped=true&\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"activeIconColor\":\"#00acac\",\"menuColorHover\":\"#fff\",\"menuBg\":\"#2d353c\",\"menuText\":\"#a8acb1\",\"menuActiveText\":\"#fff\"};"],"sourceRoot":""}