{"version":3,"sources":["webpack:///./@core/pages/Home.vue?b1e2","webpack:///./@core/pages/Home.vue?3973","webpack:///./@core/pages/HomeMixin.ts","webpack:///./@core/pages/Home.vue","webpack:///./@core/pages/Home.vue?793f","webpack:///./@core/pages/Home.vue?c7ba"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_l","direct","didx","key","on","$event","goTo","_v","_s","title","staticRenderFns","isLoading","$store","getters","currentUser","isSuperUser","isBscReviewer","isProductAdmin","isAdviser","isSupervisor","routeName","show","path","directories","filter","$router","push","name","window","location","href","uiService","sharedVariable","component"],"mappings":"yIAAA,W,yCCAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,aAAa,CAACF,EAAG,MAAM,CAACE,YAAY,eAAeN,EAAIO,GAAIP,EAAsB,oBAAE,SAASQ,EAAOC,GAAM,OAAOL,EAAG,MAAM,CAACM,IAAK,KAAOD,EAAMH,YAAY,aAAaK,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOZ,EAAIa,KAAKL,MAAW,CAACJ,EAAG,OAAO,CAACJ,EAAIc,GAAGd,EAAIe,GAAGP,EAAOQ,eAAc,MAC9XC,EAAkB,G,gICWT,EAAb,yG,0BACY,EAAAC,WAAY,EADxB,kDAUE,WACE,OAAOjB,KAAKkB,OAAOC,QAAQC,cAX/B,uBAcE,WACE,OAAOpB,KAAKoB,YAAYC,cAf5B,yBAkBE,WACE,OAAOrB,KAAKkB,OAAOC,QAAQG,gBAnB/B,0BAsBE,WACE,OAAOtB,KAAKkB,OAAOC,QAAQI,iBAvB/B,qBA0BE,WACE,OAAOvB,KAAKkB,OAAOC,QAAQK,YA3B/B,wBA8BE,WACE,OAAOxB,KAAKkB,OAAOC,QAAQM,eA/B/B,uBAkCE,WACE,MAAO,CACL,CACEV,MAAO,WACPW,UAAW,WACXC,KAAM3B,KAAKsB,eAEb,CACEP,MAAO,eACPW,UAAW,eACXC,KAAM3B,KAAKwB,WAAaxB,KAAKyB,cAAgBzB,KAAKqB,aAEpD,CACEN,MAAO,kBACPW,UAAW,kBACXC,KAAM3B,KAAKyB,cAAgBzB,KAAKqB,aAElC,CACEN,MAAO,kBACPW,UAAW,kBACXC,KAAM3B,KAAKqB,aAEb,CACEN,MAAO,sBACPW,UAAW,YACXC,KAAM3B,KAAKqB,aAEb,CACEN,MAAO,uBACPW,UAAW,aACXC,KAAM3B,KAAKqB,aAEb,CACEN,MAAO,qBACPa,KAAM,iBACND,KAAM3B,KAAKqB,aAAerB,KAAKuB,mBArEvC,8BA0EE,WACE,OAAOvB,KAAK6B,YAAYC,QAAO,SAAAvB,GAAM,OAAIA,EAAOoB,UA3EpD,kBA8EE,SAAMpB,GACAA,EAAOmB,UACT1B,KAAK+B,QAAQC,KAAK,CAAEC,KAAM1B,EAAOmB,YAC5BQ,OAAOC,SAASC,KAAhB,mBAAmC7B,EAAOqB,QAjFrD,8EAoFE,8FAEE5B,KAAKqC,UAAYrC,KAAKsC,eAAeD,UAFvC,gDApFF,8DAA+B,QAQ7B,gBADC,uB,qCAPU,EAAS,gBADrB,QACY,GCIb,IAAqB,EAArB,qIAAkC,eAAO,IAApB,EAAI,gBADxB,QACoB,WChB0W,I,wBCQ3XE,EAAY,eACd,EACAzC,EACAkB,GACA,EACA,KACA,WACA,MAIa,aAAAuB,E","file":"js/chunk-6c136c29.f93ca641.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.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/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=6ab1be45&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home-page\"},[_c('div',{staticClass:\"direct-grid\"},_vm._l((_vm.allowedDirectories),function(direct,didx){return _c('div',{key:(\"go\" + didx),staticClass:\"direct-box\",on:{\"click\":function($event){return _vm.goTo(direct)}}},[_c('span',[_vm._v(_vm._s(direct.title))])])}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator'\nimport { inject } from 'inversify-props'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\n\ntype Directory = {\n title: string;\n routeName?: string; // for named route in router\n path?: string; // for legacy page\n show: boolean;\n}\n@Component\nexport class HomeMixin extends Vue {\n protected isLoading = false\n\n protected error: string\n\n uiService: UIService\n\n @inject()\n private sharedVariable: SharedVariable\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n get isSuperUser () {\n return this.currentUser.isSuperUser\n }\n\n get isBscReviewer () {\n return this.$store.getters.isBscReviewer\n }\n\n get isProductAdmin () {\n return this.$store.getters.isProductAdmin\n }\n\n get isAdviser () {\n return this.$store.getters.isAdviser\n }\n\n get isSupervisor () {\n return this.$store.getters.isSupervisor\n }\n\n get directories (): Directory[] {\n return [\n {\n title: 'Bsc Home',\n routeName: 'bsc-home',\n show: this.isBscReviewer\n },\n {\n title: 'Adviser Home',\n routeName: 'home-adviser',\n show: this.isAdviser || this.isSupervisor || this.isSuperUser\n },\n {\n title: 'Supervisor Home',\n routeName: 'home-supervisor',\n show: this.isSupervisor || this.isSuperUser\n },\n {\n title: 'Submission Home',\n routeName: 'home-submission',\n show: this.isSuperUser\n },\n {\n title: 'User Administration',\n routeName: 'user-list',\n show: this.isSuperUser\n },\n {\n title: 'Group Administration',\n routeName: 'group-list',\n show: this.isSuperUser\n },\n {\n title: 'Product Management',\n path: 'admin-products',\n show: this.isSuperUser || this.isProductAdmin\n }\n ]\n }\n\n get allowedDirectories (): Directory[] {\n return this.directories.filter(direct => direct.show)\n }\n\n goTo (direct: Directory) {\n if (direct.routeName) {\n this.$router.push({ name: direct.routeName })\n } else window.location.href = `/live/${direct.path}`\n }\n\n async created () {\n // take injected UIService and set it to local\n this.uiService = this.sharedVariable.uiService\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\nimport { Mixins, Component } from 'vue-property-decorator'\nimport { HomeMixin } from './HomeMixin'\n\n@Component\nexport default class Home extends Mixins(HomeMixin) {\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=6ab1be45&scoped=true&\"\nimport script from \"./Home.vue?vue&type=script&lang=ts&\"\nexport * from \"./Home.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=6ab1be45&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 \"6ab1be45\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}