{"version":3,"sources":["webpack:///../../../src/components/VGrid/VRow.ts","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///./src/views/seminars/components/SubmissionFooter.vue?6b9b","webpack:///./src/views/seminars/components/SubmissionFooter.vue","webpack:///./src/views/seminars/components/SubmissionFooter.vue?bb34","webpack:///./src/views/seminars/components/SubmissionFooter.vue?6832","webpack:///./src/views/seminars/components/VRTraining.vue?1a05","webpack:///./src/views/seminars/components/VRTraining.vue","webpack:///./src/views/seminars/components/VRTraining.vue?7c5e","webpack:///./src/views/seminars/components/VRTraining.vue?0a9e"],"names":["breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","props","val","upperFirst","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","Vue","extend","name","functional","tag","dense","Boolean","noGutters","render","h","data","children","cacheKey","classList","get","forEach","value","push","set","mergeData","staticClass","class","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","_vm","this","_h","$createElement","_c","_self","marginTop","_v","_s","user","submission","userId","_e","$t","_f","createdAt","staticRenderFns","SubmissionFooter","id","one","users","find","x","username","email","__decorate","Getter","Prop","Component","component","element","requiredScore","submissions","length","_l","sub","i","VRow","key","VCol","attrs","Math","round","score","VSpacer","VBtn","getting","on","getSubs","VIcon","VRTrainingElement","seminar","filter","elementId","skipped","seminarId","displaySnackbar","getSubmissions","error","console","log","Action","components"],"mappings":"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","file":"assets/js/chunk-7485c819.51a9d7c4.js","sourcesContent":["import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n return breakpoints.reduce((props, val) => {\n props[prefix + upperFirst(val)] = def()\n return props\n }, {} as Dictionary)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n type: String,\n default: null,\n validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n type: String,\n default: null,\n validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n type: String,\n default: null,\n validator: alignContentValidator,\n}))\n\nconst propMap = {\n align: Object.keys(alignProps),\n justify: Object.keys(justifyProps),\n alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n align: 'align',\n justify: 'justify',\n alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n let className = classMap[type]\n if (val == null) {\n return undefined\n }\n if (prop) {\n // alignSm -> Sm\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // .align-items-sm-center\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-row',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'div',\n },\n dense: Boolean,\n noGutters: Boolean,\n align: {\n type: String,\n default: null,\n validator: alignValidator,\n },\n ...alignProps,\n justify: {\n type: String,\n default: null,\n validator: justifyValidator,\n },\n ...justifyProps,\n alignContent: {\n type: String,\n default: null,\n validator: alignContentValidator,\n },\n ...alignContentProps,\n },\n render (h, { props, data, children }) {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `align`, `justify`, `alignContent` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n classList.push({\n 'no-gutters': props.noGutters,\n 'row--dense': props.dense,\n [`align-${props.align}`]: props.align,\n [`justify-${props.justify}`]: props.justify,\n [`align-content-${props.alignContent}`]: props.alignContent,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'row',\n class: classList,\n }),\n children\n )\n },\n})\n","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n return breakpoints.reduce((props, val) => {\n props[val] = {\n type: [Boolean, String, Number],\n default: false,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst offsetProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['offset' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst orderProps = (() => {\n return breakpoints.reduce((props, val) => {\n props['order' + upperFirst(val)] = {\n type: [String, Number],\n default: null,\n }\n return props\n }, {} as Dictionary)\n})()\n\nconst propMap = {\n col: Object.keys(breakpointProps),\n offset: Object.keys(offsetProps),\n order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n let className = type\n if (val == null || val === false) {\n return undefined\n }\n if (prop) {\n const breakpoint = prop.replace(type, '')\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return className.toLowerCase()\n }\n // .order-md-6\n className += `-${val}`\n return className.toLowerCase()\n}\n\nconst cache = new Map()\n\nexport default Vue.extend({\n name: 'v-col',\n functional: true,\n props: {\n cols: {\n type: [Boolean, String, Number],\n default: false,\n },\n ...breakpointProps,\n offset: {\n type: [String, Number],\n default: null,\n },\n ...offsetProps,\n order: {\n type: [String, Number],\n default: null,\n },\n ...orderProps,\n alignSelf: {\n type: String,\n default: null,\n validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n },\n tag: {\n type: String,\n default: 'div',\n },\n },\n render (h, { props, data, children, parent }): VNode {\n // Super-fast memoization based on props, 5x faster than JSON.stringify\n let cacheKey = ''\n for (const prop in props) {\n cacheKey += String((props as any)[prop])\n }\n let classList = cache.get(cacheKey)\n\n if (!classList) {\n classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n let type: keyof typeof propMap\n for (type in propMap) {\n propMap[type].forEach(prop => {\n const value: string | number | boolean = (props as any)[prop]\n const className = breakpointClass(type, prop, value)\n if (className) classList!.push(className)\n })\n }\n\n const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: !hasColClasses || !props.cols,\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf,\n })\n\n cache.set(cacheKey, classList)\n }\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"text-right text-body-2\",class:{ 'mt-4': _vm.marginTop ? true : false }},[(_vm.isOwner)?_c('div',[_vm._v(\" Submitted by: \"),_c('b',[_vm._v(_vm._s(_vm.user(_vm.submission.userId)))])]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.$t(\"seminars.submittedOn\"))+\": \"),_c('b',[_vm._v(_vm._s(_vm._f(\"formatwithtime\")(_vm.submission.createdAt)))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\nimport { SimpleUser, Submission } from \"@/core/models\";\r\n\r\n@Component\r\nexport default class SubmissionFooter extends Vue {\r\n @Getter(\"seminars/isOwner\") isOwner!: boolean;\r\n @Getter(\"seminars/users\") users!: SimpleUser[];\r\n\r\n user(id: string) {\r\n const one = this.users.find(x => x.id === id);\r\n if (!one) return \"You\";\r\n return `${one.username} (${one.email})`;\r\n }\r\n\r\n @Prop({ default: () => undefined }) submission?: Submission;\r\n @Prop({ default: () => true }) marginTop?: boolean;\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmissionFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubmissionFooter.vue?vue&type=template&id=70f11129&\"\nimport script from \"./SubmissionFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubmissionFooter.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","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h3',[_vm._v(\" \"+_vm._s(_vm.$t(\"seminars.vr_training.requiredScore\"))+\": \"+_vm._s(_vm.element.requiredScore)+\" \")]),(_vm.submissions.length > 0)?_c('div',{staticClass:\"mt-4\"},[_c('h4',{staticClass:\"mb-4\"},[_vm._v(_vm._s(_vm.$t(\"seminars.vr_training.yourSubmissions\")))]),_vm._l((_vm.submissions),function(sub,i){return _c(VRow,{key:i,staticClass:\"mb-4\"},[_c(VCol,{staticClass:\"pa-0\",attrs:{\"cols\":\"6\",\"md\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"seminars.vr_training.score\"))+\": \"),_c('b',[_vm._v(_vm._s(Math.round(sub.score * 10) / 10))])]),_c(VCol,{staticClass:\"pa-0\",attrs:{\"cols\":\"6\",\"md\":\"3\"}},[_c('SubmissionFooter',{attrs:{\"submission\":sub,\"margin-top\":false}})],1)],1)})],2):_vm._e(),_c('div',{staticClass:\"d-flex\"},[_c(VSpacer),_c(VBtn,{attrs:{\"elevation\":\"0\",\"loading\":_vm.getting,\"disabled\":_vm.getting},on:{\"click\":_vm.getSubs}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"seminars.vr_training.refresh\")))]),_c(VIcon,{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-refresh\")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { GetSubsRequest, Seminar, SeminarElement } from \"@/core/models\";\r\nimport SubmissionFooter from \"../components/SubmissionFooter.vue\";\r\n\r\n@Component({ components: { SubmissionFooter } })\r\nexport default class VRTrainingElement extends Vue {\r\n @Prop({ default: () => undefined }) seminar?: Seminar;\r\n @Prop({ default: () => undefined }) element?: SeminarElement;\r\n @Action(\"seminars/getSubmissions\")\r\n getSubmissions!: (r: GetSubsRequest) => Promise;\r\n @Action(\"displaySnackbar\") displaySnackbar!: (m: string) => void;\r\n\r\n get submissions() {\r\n return (\r\n this.seminar?.submissions?.filter(\r\n x => x.elementId === this.element?.id && !x.skipped,\r\n ) || []\r\n );\r\n }\r\n\r\n getting = false;\r\n async getSubs() {\r\n const seminarId = this.seminar?.id;\r\n const elementId = this.element?.id;\r\n if (!seminarId) return this.displaySnackbar(\"Seminar not found\");\r\n if (!elementId) return this.displaySnackbar(\"Element not found\");\r\n\r\n this.getting = true;\r\n try {\r\n this.getSubmissions({ elementId, seminarId });\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n this.getting = false;\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VRTraining.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VRTraining.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VRTraining.vue?vue&type=template&id=352cf0b7&\"\nimport script from \"./VRTraining.vue?vue&type=script&lang=ts&\"\nexport * from \"./VRTraining.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}