{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///./src/views/seminars/components/Rephrase.vue?c57a","webpack:///./src/views/seminars/components/Rephrase.vue","webpack:///./src/views/seminars/components/Rephrase.vue?63c6","webpack:///./src/views/seminars/components/Rephrase.vue?c3f6","webpack:///./src/views/goals/components/ConditionDisplay.vue?52bf","webpack:///./src/views/goals/components/ConditionDisplay.vue","webpack:///./src/views/goals/components/ConditionDisplay.vue?c258","webpack:///./src/views/goals/components/ConditionDisplay.vue?9fce","webpack:///./src/views/seminars/components/GoalElement.vue?be52","webpack:///./src/views/seminars/components/GoalElement.vue","webpack:///./src/views/seminars/components/GoalElement.vue?f5fc","webpack:///./src/views/seminars/components/GoalElement.vue?df52","webpack:///./src/views/seminars/components/Content.vue?415b","webpack:///./src/views/seminars/components/Content.vue","webpack:///./src/views/seminars/components/Content.vue?5725","webpack:///./src/views/seminars/components/Content.vue?bfea","webpack:///./src/views/seminars/components/RecordVideo.vue?33d7","webpack:///./src/views/seminars/components/RecordVideo.vue","webpack:///./src/views/seminars/components/RecordVideo.vue?fbba","webpack:///./src/views/seminars/components/RecordVideo.vue?ebd8","webpack:///./src/views/seminars/components/WatchVideo.vue?61b9","webpack:///./src/views/seminars/components/WatchVideo.vue","webpack:///./src/views/seminars/components/WatchVideo.vue?c375","webpack:///./src/views/seminars/components/WatchVideo.vue?4eb2","webpack:///./src/views/seminars/components/WatchFeedback.vue?ee26","webpack:///./src/views/seminars/components/WatchFeedback.vue","webpack:///./src/views/seminars/components/WatchFeedback.vue?f5f1","webpack:///./src/views/seminars/components/WatchFeedback.vue?d412","webpack:///./src/views/seminars/components/RephraseSubmission.vue?c374","webpack:///./src/views/seminars/components/RephraseSubmission.vue","webpack:///./src/views/seminars/components/RephraseSubmission.vue?250d","webpack:///./src/views/seminars/components/RephraseSubmission.vue?ae3a","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelContent.ts","webpack:///./src/views/seminars/components/Sidebar.vue?138a","webpack:///./src/views/seminars/components/GapTextSubmission.vue?85f6","webpack:///./src/views/seminars/components/GapTextSubmission.vue","webpack:///./src/views/seminars/components/GapTextSubmission.vue?f664","webpack:///./src/views/seminars/components/GapTextSubmission.vue?9b03","webpack:///./node_modules/core-js/modules/es.string.replace-all.js","webpack:///./src/views/seminars/components/Sidebar.vue?db31","webpack:///./src/views/seminars/components/Sidebar.vue","webpack:///./src/views/seminars/components/Sidebar.vue?2764","webpack:///./src/views/seminars/components/Sidebar.vue?1504","webpack:///./src/views/seminars/components/Block.vue?ec4a","webpack:///./src/views/seminars/components/GiveFeedback.vue?8966","webpack:///./src/views/seminars/components/GiveFeedback.vue","webpack:///./src/views/seminars/components/GiveFeedback.vue?10ae","webpack:///./src/views/seminars/components/GiveFeedback.vue?337c","webpack:///./src/views/seminars/pages/Details.vue?4666","webpack:///./src/views/seminars/pages/Details.vue","webpack:///./src/views/seminars/pages/Details.vue?7781","webpack:///./src/views/seminars/pages/Details.vue?afe4","webpack:///./src/views/seminars/components/Block.vue?ee6d","webpack:///./src/views/seminars/components/Block.vue","webpack:///./src/views/seminars/components/Block.vue?1ae6","webpack:///./src/views/seminars/components/Block.vue?1de5","webpack:///../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts","webpack:///./src/views/seminars/components/GapText.vue?e223","webpack:///./src/views/seminars/components/GapText.vue","webpack:///./src/views/seminars/components/GapText.vue?8772","webpack:///./src/views/seminars/components/GapText.vue?1a47","webpack:///../../../src/components/VExpansionPanel/VExpansionPanel.ts","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","webpack:///./src/views/seminars/components/Content.vue?e3f3"],"names":["BaseItemGroup","extend","name","provide","expansionPanels","this","props","accordion","Boolean","disabled","flat","hover","focusable","inset","popout","readonly","tile","computed","classes","options","call","created","$attrs","hasOwnProperty","breaking","Array","isArray","value","length","methods","updateItem","item","index","getValue","nextValue","isActive","toggleMethod","nextIsActive","render","_vm","_h","$createElement","_c","_self","VDivider","staticClass","submissions","_l","submission","i","key","attrs","element","sentence","class","first","last","sentences","_v","_s","_e","VTextField","model","inputs","callback","$$v","$set","expression","_f","skipped","createdAt","submit","staticRenderFns","RephraseElement","submitting","seminar","filter","x","elementId","id","find","Error","some","displaySnackbar","$t","toString","data","answers","seminarId","api","post","addSubmission","description","type","fill","Vue","__decorate","Prop","default","Action","Component","components","RephraseSubmission","ElementControls","component","VList","staticStyle","ConditionDisplay","condition","ConditionType","DueDate","val","d","DateTime","fromISO","now","fromMillis","Date","rel","setLocale","$i18n","locale","toRelative","includes","split","msgstr","SessionScore","n","FillerWords","SpeechClarity","OverallScore","Repetition","SpeechSpeed","n1","n2","Sentiment","Pitch","Volume","Pauses","target","progress","cond","isAssignedToUser","VBtn","assigning","on","assignToGoal","VSpacer","refreshing","refresh","VIcon","GoalElement","console","debug","assignToGoalAction","goalId","setAssignedToGoalAction","makeCall","refreshGoalElement","window","addEventListener","removeEventListener","Getter","SubmissionFooter","VSheet","percent","VProgressLinear","owner","email","myEmail","openEdit","skipping","skipElement","block","title","body","domProps","isLast","SeminarContent","complete","elements","elementStatus","Math","round","isNaN","calcPercent","route","$router","push","blocks","blocksWithEls","lastBlock","lastElement","skip","next","Watch","immediate","WatchVideo","RecordVideo","GiveFeedback","WatchFeedback","GapText","Rephrase","Categorize","VRTraining","canShare","isTimed","expectedLen","maxLen","upload","maxNumSubs","numReq","sharedSubs","maxNumShared","numReqShared","RecordVideoElement","isShared","requiredSubmissions","requiredNumShared","maxSubmissions","maxShared","rateableSubmissions","blob","askForFeedback","FormData","file","File","append","headers","log","VideoRecorder","VideoPlayer","VideoSubmission","videoURI","WatchVideoElement","videos","VCol","video","rateFeedback","WatchFeedbackElement","loading","one","users","username","get","rateFeedbackVideo","getVideos","_","solutions","baseMixins","mixins","Bootable","Colorable","RegistrableInject","parentIsActive","expansionPanel","watch","handler","oldVal","isBooted","$nextTick","registerContent","beforeDestroy","unregisterContent","h","VExpandTransition","showLazyContent","setBackgroundColor","color","directives","getSlot","formattedText","GapTextSubmission","base","text","replaceAll","forEach","replace","$","requireObjectCoercible","isRegExp","getRegExpFlags","wellKnownSymbol","IS_PURE","REPLACE","RegExpPrototype","RegExp","prototype","proto","searchValue","replaceValue","IS_REG_EXP","flags","replacer","string","searchString","template","result","position","O","String","indexOf","TypeError","undefined","join","$event","VExpansionPanels","blockIndex","Sidebar","error","Block","uri","uploading","GiveFeedbackElement","submitted","end","userId","subId","getVideo","VProgressCircular","SeminarDetails","param","$route","params","getSeminar","Number","Content","VExpansionPanel","current","VExpansionPanelHeader","VExpansionPanelContent","el","selectEl","isCurrentElement","completed","isComplete","isSkipped","elementIndex","e","prevBlock","lastElOfPrevBlock","prevEl","set","ripple","disableIconRotate","expandIcon","hideActions","Object","hasMousedown","isDisabled","isReadonly","registerHeader","unregisterHeader","onClick","$emit","genIcon","icon","VFadeTransition","tabindex","$listeners","click","mousedown","mouseup","open","line","part","j","GapTextElement","map","parts","gapCount","reduce","cum","cur","y","trim","GroupableFactory","RegistrableProvide","content","header","groupClasses","vm","$on","detail","$el","blur","toggle","requiredScore","sub","VRow","score","getting","getSubs","VRTrainingElement","getSubmissions"],"mappings":"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","file":"assets/js/chunk-5bc57d07.8f2d4190.js","sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { BaseItemGroup, GroupableInstance } from '../VItemGroup/VItemGroup'\nimport VExpansionPanel from './VExpansionPanel'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\ninterface VExpansionPanelInstance extends InstanceType {}\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'v-expansion-panels',\n\n provide (): object {\n return {\n expansionPanels: this,\n }\n },\n\n props: {\n accordion: Boolean,\n disabled: Boolean,\n flat: Boolean,\n hover: Boolean,\n focusable: Boolean,\n inset: Boolean,\n popout: Boolean,\n readonly: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...BaseItemGroup.options.computed.classes.call(this),\n 'v-expansion-panels': true,\n 'v-expansion-panels--accordion': this.accordion,\n 'v-expansion-panels--flat': this.flat,\n 'v-expansion-panels--hover': this.hover,\n 'v-expansion-panels--focusable': this.focusable,\n 'v-expansion-panels--inset': this.inset,\n 'v-expansion-panels--popout': this.popout,\n 'v-expansion-panels--tile': this.tile,\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('expand')) {\n breaking('expand', 'multiple', this)\n }\n\n /* istanbul ignore next */\n if (\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n typeof this.value[0] === 'boolean'\n ) {\n breaking(':value=\"[true, false, true]\"', ':value=\"[0, 2]\"', this)\n }\n },\n\n methods: {\n updateItem (item: GroupableInstance & VExpansionPanelInstance, index: number) {\n const value = this.getValue(item, index)\n const nextValue = this.getValue(item, index + 1)\n\n item.isActive = this.toggleMethod(value)\n item.nextIsActive = this.toggleMethod(nextValue)\n },\n },\n})\n","import { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c(VDivider,{staticClass:\"mb-4\"}),(_vm.submissions.length > 0)?_c('div',_vm._l((_vm.submissions),function(submission,i){return _c('RephraseSubmission',{key:i,staticClass:\"mt-4\",attrs:{\"element\":_vm.element,\"submission\":submission}})}),1):_c('div',_vm._l((_vm.element.sentences),function(sentence,i){return _c('div',{key:i,staticClass:\"rephrase-row\"},[_c('div',{staticClass:\"left\",class:{\n first: i === 0,\n last: i === _vm.element.sentences.length - 1,\n }},[_c('div',[_vm._v(_vm._s(sentence))]),(i !== _vm.element.sentences.length - 1)?_c(VDivider,{staticClass:\"mt-2 mb-n2\"}):_vm._e()],1),_c('div',{staticClass:\"middle\",class:{\n first: i === 0,\n last: i === _vm.element.sentences.length - 1,\n }},[_c(VTextField,{staticClass:\"mx-2 pa-0 other\",attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"placeholder\":\"Your answer\"},model:{value:(_vm.inputs[i]),callback:function ($$v) {_vm.$set(_vm.inputs, i, $$v)},expression:\"inputs[i]\"}}),(i !== _vm.element.sentences.length - 1)?_c(VDivider,{staticClass:\"mt-2 mb-n2\"}):_vm._e()],1),_c('div',{staticClass:\"flex-1 pa-2\"})])}),0),(_vm.skipped)?_c('div',[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\" This task was skipped on \"+_vm._s(_vm._f(\"formatwithtime\")(_vm.skipped.createdAt))+\". \")])]):_vm._e(),_c('ElementControls',{attrs:{\"submit\":_vm.submit}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport api from \"@/core/utils/api\";\r\nimport { Seminar, SeminarElement, Submission } from \"@/core/models\";\r\nimport RephraseSubmission from \"./RephraseSubmission.vue\";\r\nimport ElementControls from \"./ElementControls.vue\";\r\n\r\n@Component({ components: { RephraseSubmission, ElementControls } })\r\nexport default class RephraseElement extends Vue {\r\n @Prop({ default: () => undefined }) seminar?: Seminar;\r\n @Prop({ default: () => ({} as SeminarElement) }) element!: SeminarElement;\r\n @Action(\"seminars/addSubmission\") addSubmission!: (s: Submission) => void;\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 get skipped() {\r\n return this.seminar?.submissions?.find(\r\n x => x.skipped && x.elementId === this.element.id,\r\n );\r\n }\r\n\r\n submitting = false;\r\n inputs: string[] = [];\r\n async submit() {\r\n if (this.submitting) throw new Error(\"Submit loading...\");\r\n\r\n if (this.inputs.some(x => !x.length)) {\r\n this.displaySnackbar(this.$t(\"seminars.rephrase.error\").toString());\r\n throw new Error(\"Not all inputs have been filled out\");\r\n }\r\n\r\n this.submitting = true;\r\n try {\r\n const data = {\r\n elementId: this.element.id,\r\n answers: this.inputs,\r\n seminarId: this.element.seminarId,\r\n };\r\n const submission = (await api.post(\r\n \"/api/Submissions/Rephrase\",\r\n data,\r\n )) as Submission;\r\n this.addSubmission(submission);\r\n } catch (error) {\r\n this.displaySnackbar(error.description);\r\n }\r\n this.submitting = false;\r\n }\r\n\r\n // todo delete element -> refresh\r\n // todo go to seminar and load it\r\n // todo solve issue where site always loads at home page\r\n\r\n created() {\r\n if (this.element.type !== \"rephrase\") return;\r\n this.inputs = new Array(this.element.sentences.length).fill(\"\");\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!./Rephrase.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!./Rephrase.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Rephrase.vue?vue&type=template&id=6ba07706&\"\nimport script from \"./Rephrase.vue?vue&type=script&lang=ts&\"\nexport * from \"./Rephrase.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 { VListItemSubtitle } from 'vuetify/lib/components/VList';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VListItemSubtitle,[(_vm.isDueDate)?_c('span',{staticStyle:{\"font-weight\":\"600\"}},[_vm._v(_vm._s(_vm.value))]):_c('span',[_vm._v(_vm._s(_vm.value))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { DateTime } from \"luxon\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { Condition, ConditionType } from \"@/core/models\";\r\n\r\n@Component\r\nexport default class ConditionDisplay extends Vue {\r\n @Prop({ default: () => {} }) condition!: Condition;\r\n\r\n get isDueDate() {\r\n return this.condition.type === ConditionType.DueDate;\r\n }\r\n get value() {\r\n let val = this.condition.value;\r\n const type = this.condition.type;\r\n if (type === ConditionType.DueDate) {\r\n const d = DateTime.fromISO(val);\r\n const now = DateTime.fromMillis(Date.now());\r\n if (d < now) return this.$t(\"goals.condmsg.overdue\").toString();\r\n const rel = d.setLocale(this.$i18n.locale).toRelative();\r\n return `${this.$t(\"goals.condmsg.duein\")} ${rel}`;\r\n }\r\n\r\n if (typeof val === \"string\" && val.includes(\";\")) val = val.split(\";\");\r\n\r\n const msgstr = `goals.condmsg.${type}`;\r\n switch (type) {\r\n case ConditionType.SessionScore:\r\n return this.$t(msgstr, { n: val });\r\n case ConditionType.FillerWords:\r\n return this.$t(msgstr, { n: val });\r\n case ConditionType.SpeechClarity:\r\n return this.$t(msgstr, { n: val });\r\n case ConditionType.OverallScore:\r\n return this.$t(msgstr, { n: val });\r\n case ConditionType.Repetition:\r\n return this.$t(msgstr, { n: val });\r\n case ConditionType.SpeechSpeed:\r\n return this.$t(msgstr, { n1: val[0], n2: val[1] });\r\n case ConditionType.Sentiment:\r\n return this.$t(msgstr, { n1: val[0], n2: val[1] });\r\n case ConditionType.Pitch:\r\n return this.$t(msgstr, { n1: val[0], n2: val[1] });\r\n case ConditionType.Volume:\r\n return this.$t(msgstr, { n1: val[0], n2: val[1] });\r\n case ConditionType.Pauses:\r\n return this.$t(msgstr, { n1: val[0], n2: val[1] });\r\n\r\n default:\r\n return \"\";\r\n }\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!./ConditionDisplay.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!./ConditionDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConditionDisplay.vue?vue&type=template&id=15e84086&\"\nimport script from \"./ConditionDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConditionDisplay.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 { VIcon } from 'vuetify/lib/components/VIcon';\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('div',[_c('b',[_vm._v(_vm._s(_vm.$t(\"seminars.goal.target\"))+\": \")]),_c('u',[_vm._v(_vm._s(_vm.element.target))])]),(_vm.element.isAssignedToUser)?_c('div',{staticClass:\"mb-4\"},[_c('b',[_vm._v(_vm._s(_vm.$t(\"seminars.goal.progress\"))+\": \")]),_c('u',[_vm._v(_vm._s(_vm.element.progress))])]):_vm._e(),_vm._l((_vm.element.conditions),function(cond,i){return _c('div',{key:i,staticClass:\"mt-2\"},[_c('ConditionDisplay',{attrs:{\"condition\":cond}})],1)}),(!_vm.element.isAssignedToUser)?_c('div',{staticClass:\"mt-4\"},[_c('h3',[_vm._v(_vm._s(_vm.$t(\"seminars.goal.title\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"seminars.goal.description\")))]),_c(VBtn,{attrs:{\"elevation\":\"0\",\"color\":\"primary\",\"loading\":_vm.assigning,\"disabled\":_vm.assigning},on:{\"click\":_vm.assignToGoal}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"seminars.goal.assign\")))])])],1):_vm._e(),_c('div',{staticClass:\"d-flex\"},[_c(VSpacer),_c(VBtn,{attrs:{\"elevation\":\"0\",\"loading\":_vm.refreshing,\"disabled\":_vm.refreshing},on:{\"click\":function () { return _vm.refresh(true); }}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"seminars.vr_training.refresh\")))]),_c(VIcon,{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-refresh\")])],1)],1)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { GetSubsRequest, Goal, Seminar, SeminarElement } from \"@/core/models\";\r\n\r\nimport ConditionDisplay from \"@/views/goals/components/ConditionDisplay.vue\";\r\nimport SubmissionFooter from \"./SubmissionFooter.vue\";\r\n\r\n@Component({ components: { SubmissionFooter, ConditionDisplay } })\r\nexport default class GoalElement extends Vue {\r\n @Prop({ default: () => undefined }) seminar?: Seminar;\r\n @Prop({ default: () => undefined }) element?: SeminarElement;\r\n\r\n @Getter(\"goals/getAssignedGoals\") goals!: Goal[];\r\n @Action(\"goals/assignToGoal\")\r\n assignToGoalAction!: (id: number) => Promise;\r\n\r\n @Action(\"seminars/getSubmissions\")\r\n getSubmissions!: (r: GetSubsRequest) => Promise;\r\n @Action(\"seminars/refreshGoalElement\")\r\n refreshGoalElement!: (d: {\r\n element: SeminarElement;\r\n makeCall: boolean;\r\n }) => Promise;\r\n @Action(\"seminars/setAssignedToGoal\")\r\n setAssignedToGoalAction!: (e: SeminarElement) => Promise;\r\n\r\n @Action(\"displaySnackbar\") displaySnackbar!: (m: string) => void;\r\n\r\n // tood show skipped submission\r\n\r\n assigning = false;\r\n async assignToGoal() {\r\n if (this.element?.type !== \"goal\") return;\r\n\r\n console.debug(\"[goals] element\", this.element);\r\n this.assigning = true;\r\n await this.assignToGoalAction(this.element.goalId);\r\n await this.setAssignedToGoalAction(this.element);\r\n this.assigning = false;\r\n }\r\n\r\n refreshing = false;\r\n async refresh(makeCall = false) {\r\n if (!this.element) return;\r\n\r\n this.refreshing = await this.refreshGoalElement({\r\n element: this.element,\r\n makeCall,\r\n });\r\n\r\n if (makeCall)\r\n window.addEventListener(\"got-goals\", () => this.refresh(false));\r\n }\r\n\r\n beforeDestroy() {\r\n window.removeEventListener(\"got-goals\", () => this.refresh(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!./GoalElement.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!./GoalElement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GoalElement.vue?vue&type=template&id=1a5600b0&\"\nimport script from \"./GoalElement.vue?vue&type=script&lang=ts&\"\nexport * from \"./GoalElement.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 { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[(_vm.seminar)?_c(VSheet,{staticClass:\"py-4 px-8 mb-4\",attrs:{\"rounded\":\"\"}},[_c('div',{staticClass:\"py-4 d-flex\"},[_c('div',{staticClass:\"flex-1\"},[_c('div',{staticClass:\"mb-2 accentText--text font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"seminars.percentComplete\", { percent: _vm.percent }))+\" \")]),_c(VProgressLinear,{staticStyle:{\"width\":\"200px\"},attrs:{\"value\":_vm.percent,\"height\":\"8px\",\"rounded\":\"\"}})],1),_c('div',{staticClass:\"d-flex\"},[(_vm.seminar.owner.email === _vm.myEmail)?_c(VBtn,{attrs:{\"icon\":\"\",\"small\":\"\",\"color\":\"accentText\"},on:{\"click\":_vm.openEdit}},[_c(VIcon,[_vm._v(\"mdi-pencil\")])],1):_vm._e(),_c('div',{staticClass:\"mx-2\"}),_c(VBtn,{attrs:{\"small\":\"\",\"outlined\":\"\",\"color\":\"accentText\",\"loading\":_vm.skipping,\"disabled\":_vm.skipping},on:{\"click\":_vm.skipElement}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"seminars.skipTask\")))])])],1)]),_c('div',{staticClass:\"overline mt-4\"},[_vm._v(_vm._s(_vm.block.title))]),_c('h1',{staticClass:\"mb-4 mt-n2\"},[_vm._v(_vm._s(_vm.element.title))]),(_vm.element.body !== null)?_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.element.body)}}):_vm._e(),_c('div',{staticClass:\"content\"},[(_vm.element.type === 'watch_video')?_c('WatchVideo',{attrs:{\"element\":_vm.element}}):(_vm.element.type === 'video_presentation')?_c('RecordVideo',{attrs:{\"element\":_vm.element,\"seminar\":_vm.seminar}}):(_vm.element.type === 'give_feedback')?_c('GiveFeedback',{attrs:{\"element\":_vm.element,\"seminar\":_vm.seminar}}):(_vm.element.type === 'watch_feedback')?_c('WatchFeedback',{attrs:{\"element\":_vm.element}}):(_vm.element.type === 'gap_text')?_c('GapText',{attrs:{\"element\":_vm.element,\"seminar\":_vm.seminar}}):(_vm.element.type === 'rephrase')?_c('Rephrase',{attrs:{\"element\":_vm.element,\"seminar\":_vm.seminar}}):(_vm.element.type === 'categorize')?_c('Categorize',{attrs:{\"element\":_vm.element,\"seminar\":_vm.seminar}}):(_vm.element.type === 'vr_training')?_c('VRTraining',{attrs:{\"element\":_vm.element,\"seminar\":_vm.seminar}}):(_vm.element.type === 'goal')?_c('GoalElement',{attrs:{\"element\":_vm.element,\"seminar\":_vm.seminar}}):_vm._e(),(_vm.shouldShowControls)?_c('ElementControls',{attrs:{\"is-last\":_vm.isLast,\"submit\":function () {}}}):_vm._e()],1)]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Watch } from \"vue-property-decorator\";\r\nimport { Seminar, SeminarBlock, SeminarElement } from \"@/core/models\";\r\n\r\nimport WatchVideo from \"./WatchVideo.vue\";\r\nimport RecordVideo from \"./RecordVideo.vue\";\r\nimport GiveFeedback from \"./GiveFeedback.vue\";\r\nimport WatchFeedback from \"./WatchFeedback.vue\";\r\nimport GapText from \"./GapText.vue\";\r\nimport Rephrase from \"./Rephrase.vue\";\r\nimport Categorize from \"./Categorize.vue\";\r\nimport VRTraining from \"./VRTraining.vue\";\r\nimport GoalElement from \"./GoalElement.vue\";\r\nimport ElementControls from \"./ElementControls.vue\";\r\n\r\nimport { elementStatus } from \"@/core/utils/seminars\";\r\n\r\n@Component({\r\n components: {\r\n WatchVideo,\r\n RecordVideo,\r\n GiveFeedback,\r\n WatchFeedback,\r\n GapText,\r\n Rephrase,\r\n Categorize,\r\n VRTraining,\r\n GoalElement,\r\n ElementControls,\r\n },\r\n})\r\nexport default class SeminarContent extends Vue {\r\n @Getter(\"profile/getUserEmail\") myEmail!: string;\r\n @Getter(\"profile/id\") userId!: string;\r\n\r\n @Getter(\"seminars/block\") block?: SeminarBlock;\r\n @Getter(\"seminars/selected\") seminar?: Seminar;\r\n @Getter(\"seminars/blocks\") blocks!: SeminarBlock[];\r\n @Getter(\"seminars/element\") element?: SeminarElement;\r\n\r\n @Action(\"seminars/next\") next!: () => void;\r\n @Action(\"seminars/skip\") skip!: (el: SeminarElement) => Promise;\r\n\r\n percent = 0;\r\n calcPercent() {\r\n if (!this.block) return;\r\n const complete = this.block.elements.filter(\r\n x => elementStatus(x, this.seminar) === \"completed\",\r\n ).length;\r\n const val = Math.round((complete / this.block.elements.length) * 100);\r\n this.percent = isNaN(val) ? 0 : val;\r\n }\r\n\r\n @Watch(\"seminar\", { immediate: true })\r\n seminarChanged() {\r\n this.calcPercent();\r\n }\r\n @Watch(\"block\", { immediate: true })\r\n blockChanged() {\r\n this.calcPercent();\r\n }\r\n\r\n openEdit() {\r\n if (!this.seminar || !this.block || !this.element) return;\r\n const route = `/seminars/edit/${this.seminar.id}?block=${this.block.id}&element=${this.element.id}`;\r\n this.$router.push(route);\r\n }\r\n\r\n get isLast() {\r\n if (!this.blocks?.length || !this.block || !this.element) return false;\r\n const blocksWithEls = this.blocks.filter(x => x.elements.length > 0);\r\n const lastBlock = blocksWithEls[blocksWithEls.length - 1];\r\n const lastElement = lastBlock.elements[lastBlock.elements.length - 1];\r\n return (\r\n lastElement.id === this.element.id && this.element.type === \"read_text\"\r\n );\r\n }\r\n get shouldShowControls() {\r\n return (\r\n this.element?.type === \"read_text\" ||\r\n this.element?.type === \"watch_video\" ||\r\n this.element?.type === \"vr_training\"\r\n );\r\n }\r\n\r\n skipping = false;\r\n async skipElement() {\r\n if (!this.element) return;\r\n this.skipping = true;\r\n try {\r\n await this.skip(this.element);\r\n this.next();\r\n } catch (error) {\r\n console.debug(error);\r\n }\r\n this.skipping = 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!./Content.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!./Content.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Content.vue?vue&type=template&id=89b35adc&scoped=true&\"\nimport script from \"./Content.vue?vue&type=script&lang=ts&\"\nexport * from \"./Content.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Content.vue?vue&type=style&index=0&id=89b35adc&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"89b35adc\",\n null\n \n)\n\nexport default component.exports","import { VDivider } from 'vuetify/lib/components/VDivider';\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(VDivider,{staticClass:\"my-4\"}),(_vm.submissions.length > 0)?_c('div',_vm._l((_vm.submissions),function(submission,i){return _c('div',{key:i,staticClass:\"mt-4\"},[_c('VideoSubmission',{attrs:{\"id\":(\"presentation_\" + (submission.userId) + \"_\" + i),\"seminar\":_vm.seminar,\"submission\":submission,\"horizontal\":true}})],1)}),0):_vm._e(),(_vm.canRecord)?_c('VideoRecorder',{attrs:{\"loading\":_vm.submitting,\"can-share\":_vm.canShare,\"is-timed\":_vm.element.isTimed,\"expected-len\":_vm.element.expectedLen,\"max-len\":_vm.element.maxLen,\"can-ask-for-feedback\":false},on:{\"upload\":_vm.upload}}):_vm._e(),_c('div',{staticClass:\"d-flex mt-4\"},[(_vm.skipped)?_c('div',[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\" This task was skipped on \"+_vm._s(_vm._f(\"formatwithtime\")(_vm.skipped.createdAt))+\". \")])]):_vm._e(),_c(VSpacer),_c('div',[_c('div',{staticClass:\"px-4 py-2 rounded-lg lightgray2 mb-4\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.submissions.length)+\"/\"+_vm._s(_vm.maxNumSubs)+\" \"+_vm._s(_vm.$t(\"seminars.video_presentation.submissions\"))+\" \")]),(_vm.submissions.length < _vm.numReq)?_c('div',[_vm._v(\" \"+_vm._s(_vm.numReq)+\" \"+_vm._s(_vm.$t(\"seminars.video_presentation.reqSubmissions\"))+\" \")]):_vm._e()]),(_vm.canShare)?_c('div',{staticClass:\"px-4 py-2 rounded-lg lightgray2\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.sharedSubs.length)+\"/\"+_vm._s(_vm.maxNumShared)+\" \"+_vm._s(_vm.$t(\"seminars.video_presentation.sharedSubmissions\"))+\" \"),(_vm.sharedSubs.length < _vm.numReqShared)?_c('div',[_vm._v(\" \"+_vm._s(_vm.numReqShared)+\" \"+_vm._s(_vm.$t(\"seminars.video_presentation.reqSharedSubmissions\"))+\" \")]):_vm._e()])]):_vm._e()])],1),_c('ElementControls',{attrs:{\"submit\":function () {}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport api from \"@/core/utils/api\";\r\nimport { Seminar, SeminarElement, Submission } from \"@/core/models\";\r\n\r\nimport VideoRecorder from \"@/components/common/VideoRecorder.vue\";\r\nimport VideoPlayer from \"@/components/common/VideoPlayer.vue\";\r\nimport SubmissionFooter from \"./SubmissionFooter.vue\";\r\nimport ElementControls from \"./ElementControls.vue\";\r\nimport VideoSubmission from \"./VideoSubmission.vue\";\r\n\r\n@Component({\r\n components: {\r\n VideoRecorder,\r\n SubmissionFooter,\r\n VideoPlayer,\r\n ElementControls,\r\n VideoSubmission,\r\n },\r\n})\r\nexport default class RecordVideoElement extends Vue {\r\n @Prop({ default: () => ({} as Seminar) }) seminar!: Seminar;\r\n @Prop({ default: () => ({} as SeminarElement) }) element!: SeminarElement;\r\n @Action(\"seminars/addSubmission\") addSubmission!: (s: Submission) => 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 get sharedSubs() {\r\n return (\r\n this.seminar.submissions?.filter(\r\n x => x.elementId === this.element.id && !x.skipped && x.isShared,\r\n ) || []\r\n );\r\n }\r\n\r\n get skipped() {\r\n return this.seminar?.submissions?.find(\r\n x => x.skipped && x.elementId === this.element.id,\r\n );\r\n }\r\n\r\n get numReq() {\r\n if (this.element.type !== \"video_presentation\") return 0;\r\n return this.element.requiredSubmissions || 1;\r\n }\r\n\r\n get numReqShared() {\r\n if (this.element.type !== \"video_presentation\") return 0;\r\n return this.element.requiredNumShared || 0;\r\n }\r\n\r\n get maxNumSubs() {\r\n if (this.element.type !== \"video_presentation\") return 1;\r\n return this.element.maxSubmissions || 10;\r\n }\r\n\r\n get maxNumShared() {\r\n if (this.element.type !== \"video_presentation\") return 1;\r\n return this.element.maxNumShared || 2;\r\n }\r\n\r\n get canRecord() {\r\n if (this.element.type !== \"video_presentation\") return false;\r\n return this.submissions.length < this.maxNumSubs;\r\n }\r\n\r\n get canShare() {\r\n if (this.element.type !== \"video_presentation\") return false;\r\n const maxShared = this.element.maxNumShared;\r\n return (\r\n this.element.rateableSubmissions &&\r\n maxShared &&\r\n this.sharedSubs.length < maxShared\r\n );\r\n }\r\n\r\n submitting = false;\r\n async upload({\r\n blob,\r\n isShared,\r\n askForFeedback,\r\n }: {\r\n blob: Blob;\r\n isShared: boolean;\r\n askForFeedback: boolean;\r\n }) {\r\n this.submitting = true;\r\n try {\r\n const data = new FormData();\r\n const file = new File([blob], \"record_video.mp4\", { type: \"video/mp4\" });\r\n data.append(\"elementId\", this.element.id.toString());\r\n data.append(\"isShared\", isShared.toString());\r\n data.append(\"seminarId\", this.seminar.id.toString());\r\n data.append(\"askForFeedback\", askForFeedback.toString());\r\n data.append(\"videoFile\", file);\r\n const submission = (await api.post(\r\n \"/api/Submissions/VideoPresentation\",\r\n data,\r\n { headers: { \"Content-Type\": \"multipart/form-data\" } },\r\n )) as Submission;\r\n submission.isShared = isShared;\r\n this.addSubmission(submission);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n this.submitting = 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!./RecordVideo.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!./RecordVideo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordVideo.vue?vue&type=template&id=54be5985&\"\nimport script from \"./RecordVideo.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordVideo.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.element.videoURI)?_c('div',{staticStyle:{\"max-width\":\"1000px\",\"margin\":\"0 auto\"}},[_c('VideoPlayer',{attrs:{\"id\":(\"watch_video_\" + (_vm.element.id)),\"url\":_vm.element.videoURI}})],1):_c('div',[_vm._v(\"Video not found\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { SeminarElement } from \"@/core/models\";\r\nimport VideoPlayer from \"@/components/common/VideoPlayer.vue\";\r\n\r\n@Component({ components: { VideoPlayer } })\r\nexport default class WatchVideoElement extends Vue {\r\n @Prop({ default: () => ({} as SeminarElement) }) element!: SeminarElement;\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!./WatchVideo.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!./WatchVideo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WatchVideo.vue?vue&type=template&id=904eb0f0&\"\nimport script from \"./WatchVideo.vue?vue&type=script&lang=ts&\"\nexport * from \"./WatchVideo.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 { VCol } 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.watch_feedback.title\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"seminars.watch_feedback.text\")))]),(_vm.videos.length > 0)?_c(VCol,{attrs:{\"cols\":\"12\",\"md\":\"8\"}},_vm._l((_vm.videos),function(video,i){return _c('div',{key:i,staticClass:\"mb-4\"},[_c('VideoSubmission',{attrs:{\"id\":(\"watch_feedback_\" + i),\"seminar\":_vm.seminar,\"submission\":video},on:{\"rate\":_vm.rateFeedback}})],1)}),0):_c('div',[_vm._v(_vm._s(_vm.$t(\"seminars.watch_feedback.no_feedback\")))]),(_vm.skipped)?_c('div',[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\" This task was skipped on \"+_vm._s(_vm._f(\"formatwithtime\")(_vm.skipped.createdAt))+\". \")])]):_vm._e(),_c('ElementControls',{attrs:{\"submit\":_vm.submit}})],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\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\n\r\nimport {\r\n RateVideoAction,\r\n Seminar,\r\n SeminarElement,\r\n SimpleUser,\r\n Submission,\r\n} from \"@/core/models\";\r\nimport api from \"@/core/utils/api\";\r\nimport VideoSubmission from \"./VideoSubmission.vue\";\r\nimport ElementControls from \"./ElementControls.vue\";\r\n\r\n@Component({ components: { VideoSubmission, ElementControls } })\r\nexport default class WatchFeedbackElement extends Vue {\r\n @Prop({ default: () => ({} as SeminarElement) }) element!: SeminarElement;\r\n\r\n @Getter(\"profile/id\") userId!: string;\r\n\r\n @Getter(\"seminars/users\") users!: SimpleUser[];\r\n @Getter(\"seminars/selected\") seminar?: Seminar;\r\n\r\n @Action(\"seminars/next\") next!: () => void;\r\n @Action(\"seminars/addSubmission\") addSubmission!: (s: Submission) => void;\r\n @Action(\"seminars/rateFeedbackVideo\") rateFeedbackVideo!: (d: any) => void;\r\n\r\n user(id: string) {\r\n const one = this.users.find(x => x.id === id);\r\n if (!one) return \"Seminar owner\";\r\n return `${one.username} (${one.email})`;\r\n }\r\n\r\n get skipped() {\r\n return this.seminar?.submissions?.find(\r\n x => x.skipped && x.elementId === this.element.id,\r\n );\r\n }\r\n\r\n videos: Submission[] = [];\r\n loading = false;\r\n async getVideos() {\r\n if (!this.seminar) return;\r\n this.loading = true;\r\n try {\r\n this.videos = (await api.get(\r\n `/api/Elements/Feedback/${this.seminar.id}`,\r\n )) as Submission[];\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n this.loading = false;\r\n }\r\n\r\n async submit() {\r\n if (!this.videos.length) throw new Error(\"no_video\");\r\n const submission = (await api.post(\"/api/Submissions/WatchFeedback\", {\r\n elementId: this.element.id,\r\n seminarId: this.element.seminarId,\r\n })) as Submission;\r\n this.addSubmission(submission);\r\n this.next();\r\n }\r\n\r\n rateFeedback(d: RateVideoAction) {\r\n if (!this.seminar) return;\r\n this.rateFeedbackVideo({ ...d, seminarId: this.seminar.id });\r\n }\r\n\r\n @Watch(\"seminar\", { immediate: true })\r\n seminarUpdated() {\r\n this.getVideos();\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!./WatchFeedback.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!./WatchFeedback.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WatchFeedback.vue?vue&type=template&id=13f7a9d6&\"\nimport script from \"./WatchFeedback.vue?vue&type=script&lang=ts&\"\nexport * from \"./WatchFeedback.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 { VDivider } from 'vuetify/lib/components/VDivider';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._l((_vm.sentences),function(_,i){return _c('div',{key:((_vm.submission.createdAt) + \"_\" + i),staticClass:\"rephrase-row\"},[_c('div',{staticClass:\"left\",class:{ first: i === 0, last: i === _vm.sentences.length - 1 }},[_c('div',[_vm._v(_vm._s(_vm.sentences[i]))]),(i !== _vm.sentences.length - 1)?_c(VDivider,{staticClass:\"mt-2 mb-n2\"}):_vm._e()],1),_c('div',{staticClass:\"middle\",class:{ first: i === 0, last: i === _vm.sentences.length - 1 }},[_c('div',[_vm._v(_vm._s(_vm.answers[i]))]),(i !== _vm.sentences.length - 1)?_c(VDivider,{staticClass:\"mt-2 mb-n2\"}):_vm._e()],1),_c('div',{staticClass:\"right\",class:{ first: i === 0, last: i === _vm.sentences.length - 1 }},[_c('div',[_vm._v(_vm._s(_vm.solutions[i]))]),(i !== _vm.sentences.length - 1)?_c(VDivider,{staticClass:\"mt-2 mb-n2\"}):_vm._e()],1)])}),_c('SubmissionFooter',{attrs:{\"submission\":_vm.submission}})],2)}\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 { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { SeminarElement, Submission } from \"@/core/models\";\r\nimport SubmissionFooter from \"./SubmissionFooter.vue\";\r\n\r\n@Component({ components: { SubmissionFooter } })\r\nexport default class RephraseSubmission extends Vue {\r\n @Prop({ default: () => undefined }) element?: SeminarElement;\r\n @Prop({ default: () => undefined }) submission?: Submission;\r\n\r\n sentences: string[] = [];\r\n solutions: string[] = [];\r\n answers: string[] = [];\r\n created() {\r\n if (\r\n this.element?.type !== \"rephrase\" ||\r\n this.submission?.type !== \"rephrase\"\r\n )\r\n return;\r\n this.sentences = this.element.sentences;\r\n this.solutions = this.element.answers;\r\n this.answers = (this.submission as any).answers;\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!./RephraseSubmission.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!./RephraseSubmission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RephraseSubmission.vue?vue&type=template&id=413c9b5b&\"\nimport script from \"./RephraseSubmission.vue?vue&type=script&lang=ts&\"\nexport * from \"./RephraseSubmission.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","// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n expansionPanel: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (h): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n h('div', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-content',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this)),\n ]),\n ]))\n },\n})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=2a940224&prod&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formattedText)}}),_c('SubmissionFooter',{attrs:{\"submission\":_vm.submission}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { SeminarElement, Submission } from \"@/core/models\";\r\nimport SubmissionFooter from \"./SubmissionFooter.vue\";\r\n\r\n@Component({ components: { SubmissionFooter } })\r\nexport default class GapTextSubmission extends Vue {\r\n @Prop({ default: () => undefined }) element?: SeminarElement;\r\n @Prop({ default: () => undefined }) submission?: Submission;\r\n\r\n get formattedText() {\r\n if (this.element?.type !== \"gap_text\") return \"<>\";\r\n const answers =\r\n this.submission?.type !== \"gap_text\"\r\n ? new Array(this.element.answers.length).fill(\"\")\r\n : this.submission.answers;\r\n\r\n let base = this.element.text.replaceAll(/[\\n\\r+]/g, \"
\");\r\n this.element.answers.forEach(\r\n (x, i) =>\r\n (base = base.replace(\"__\", `${x} (${answers[i]})`)),\r\n );\r\n return base;\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!./GapTextSubmission.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!./GapTextSubmission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GapTextSubmission.vue?vue&type=template&id=00bc1113&\"\nimport script from \"./GapTextSubmission.vue?vue&type=script&lang=ts&\"\nexport * from \"./GapTextSubmission.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","'use strict';\nvar $ = require('../internals/export');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar isRegExp = require('../internals/is-regexp');\nvar getRegExpFlags = require('../internals/regexp-flags');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar RegExpPrototype = RegExp.prototype;\n\n// `String.prototype.replaceAll` method\n// https://github.com/tc39/proposal-string-replace-all\n$({ target: 'String', proto: true }, {\n replaceAll: function replaceAll(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var IS_REG_EXP, flags, replacer, string, searchString, template, result, position, index;\n if (searchValue != null) {\n IS_REG_EXP = isRegExp(searchValue);\n if (IS_REG_EXP) {\n flags = String(requireObjectCoercible('flags' in RegExpPrototype\n ? searchValue.flags\n : getRegExpFlags.call(searchValue)\n ));\n if (!~flags.indexOf('g')) throw TypeError('`.replaceAll` does not allow non-global regexes');\n }\n replacer = searchValue[REPLACE];\n if (replacer !== undefined) {\n return replacer.call(searchValue, O, replaceValue);\n } else if (IS_PURE && IS_REG_EXP) {\n return String(O).replace(searchValue, replaceValue);\n }\n }\n string = String(O);\n searchString = String(searchValue);\n if (searchString === '') return replaceAll.call(string, /(?:)/g, replaceValue);\n template = string.split(searchString);\n if (typeof replaceValue !== 'function') {\n return template.join(String(replaceValue));\n }\n result = template[0];\n position = result.length;\n for (index = 1; index < template.length; index++) {\n result += String(replaceValue(searchString, position, string));\n position += searchString.length + template[index].length;\n result += template[index];\n }\n return result;\n }\n});\n","import { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"wrapper\"},[_c('div',{staticClass:\"sidebar-conatiner\"},[_c('div',{staticClass:\"d-flex mb-4\"},[_c(VBtn,{attrs:{\"small\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.$router.push('/seminars/dashboard/' + _vm.id)}}},[_c(VIcon,{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_c('span',[_vm._v(\"Dashboard\")])],1),_c('div',{staticClass:\"mx-1\"}),_c(VBtn,{attrs:{\"small\":\"\",\"elevation\":\"0\",\"loading\":_vm.refreshing,\"disabled\":_vm.refreshing},on:{\"click\":_vm.refresh}},[_c(VIcon,{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-refresh\")])],1)],1),_c('h3',[_vm._v(_vm._s(_vm.$t(\"seminars.progress\")))]),_c(VExpansionPanels,{attrs:{\"flat\":\"\",\"value\":_vm.blockIndex}},_vm._l((_vm.blocks),function(block,i){return _c('Block',{key:i,attrs:{\"index\":i}})}),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\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component } from \"vue-property-decorator\";\r\n\r\nimport { SeminarBlock } from \"@/core/models\";\r\nimport Block from \"../components/Block.vue\";\r\n\r\n@Component({ components: { Block } })\r\nexport default class Sidebar extends Vue {\r\n @Getter(\"seminars/selectedId\") id!: number;\r\n @Getter(\"seminars/blocks\") blocks!: SeminarBlock[];\r\n @Getter(\"seminars/blockIndex\") blockIndex!: number;\r\n @Action(\"seminars/get\") get!: (d: any) => Promise;\r\n\r\n refreshing = false;\r\n async refresh() {\r\n this.refreshing = true;\r\n try {\r\n await this.get({ id: this.id, refresh: true });\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n this.refreshing = 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!./Sidebar.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!./Sidebar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=2a940224&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=ts&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=2a940224&prod&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2a940224\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Block.vue?vue&type=style&index=0&id=27d7f242&prod&lang=scss&\"","import { VCol } 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',[(_vm.submissions.length > 0)?_c('div',[_c('h3',{staticClass:\"mb-4\"},[_vm._v(_vm._s(_vm.$t(\"seminars.give_feedback.yourSubmissions\")))]),_vm._l((_vm.submissions),function(submission,i){return _c('VideoSubmission',{key:i,attrs:{\"id\":(\"feedback_\" + (submission.userId) + \"_\" + (submission.feedbackFor)),\"seminar\":_vm.seminar,\"submission\":submission,\"horizontal\":true}})})],2):_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t(\"seminars.give_feedback.title\")))]),_c('p',[_vm._v(_vm._s(_vm.$t(\"seminars.give_feedback.text\")))]),(_vm.video)?_c('div',[_c(VCol,{attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('VideoPlayer',{attrs:{\"id\":(\"give_feedback_to_\" + (_vm.video.userId)),\"url\":_vm.video.uri}})],1),_c('VideoRecorder',{attrs:{\"can-share\":false,\"default-shared\":_vm.canShare,\"loading\":_vm.uploading,\"is-timed\":_vm.element.isTimed,\"expected-len\":_vm.element.expectedLen,\"max-len\":_vm.element.maxLen},on:{\"upload\":_vm.upload}})],1):_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t(\"seminars.give_feedback.noVideo\")))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"seminars.give_feedback.noVideoDetail\"))+\" \")])])]),(_vm.skipped)?_c('div',[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\" This task was skipped on \"+_vm._s(_vm._f(\"formatwithtime\")(_vm.skipped.createdAt))+\". \")])]):_vm._e(),_c('ElementControls',{attrs:{\"submit\":function () {}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\n\r\nimport api from \"@/core/utils/api\";\r\nimport VideoRecorder from \"@/components/common/VideoRecorder.vue\";\r\nimport VideoPlayer from \"@/components/common/VideoPlayer.vue\";\r\nimport { Seminar, SeminarElement, Submission } from \"@/core/models\";\r\nimport ElementControls from \"./ElementControls.vue\";\r\nimport VideoSubmission from \"./VideoSubmission.vue\";\r\n\r\ntype Video = {\r\n subId: number;\r\n userId: string;\r\n uri: string;\r\n};\r\n\r\n@Component({\r\n components: {\r\n VideoRecorder,\r\n VideoPlayer,\r\n ElementControls,\r\n VideoSubmission,\r\n },\r\n})\r\nexport default class GiveFeedbackElement extends Vue {\r\n @Getter(\"seminars/selectedId\") id!: number;\r\n @Prop({ default: () => undefined }) seminar?: Seminar;\r\n @Prop({ default: () => ({} as SeminarElement) }) element!: SeminarElement;\r\n @Action(\"seminars/addSubmission\") addSubmission!: (s: Submission) => 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 get skipped() {\r\n return this.seminar?.submissions?.find(\r\n x => x.skipped && x.elementId === this.element.id,\r\n );\r\n }\r\n\r\n get canShare() {\r\n if (this.element.type !== \"give_feedback\") return false;\r\n return this.element.rateableSubmissions || false;\r\n }\r\n\r\n loading = false;\r\n video: Video | null = null;\r\n async getVideo() {\r\n this.loading = true;\r\n try {\r\n const end = `/api/Elements/RandomVideoPresentation/${this.element.id}`;\r\n this.video = (await api.get(end)) || null;\r\n console.log(this.video);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n this.loading = false;\r\n }\r\n\r\n submitted = false;\r\n uploading = false;\r\n async upload({\r\n blob,\r\n askForFeedback,\r\n }: {\r\n blob: Blob;\r\n askForFeedback: boolean;\r\n }) {\r\n if (!this.video) throw new Error(\"no_video\");\r\n\r\n this.uploading = true;\r\n try {\r\n const data = new FormData();\r\n data.append(\"elementId\", this.element.id.toString());\r\n data.append(\"feedbackFor\", this.video.userId);\r\n data.append(\"feedbackForSubmission\", this.video.subId.toString());\r\n data.append(\"isShared\", this.canShare.toString());\r\n data.append(\"videoFile\", blob);\r\n data.append(\"seminarId\", this.element.seminarId.toString());\r\n data.append(\"askForFeedback\", askForFeedback.toString());\r\n const submission = (await api.post(\r\n \"/api/Submissions/GiveFeedback\",\r\n data,\r\n { headers: { \"Content-Type\": \"multipart/form-data\" } },\r\n )) as Submission;\r\n this.addSubmission(submission);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n this.uploading = false;\r\n }\r\n\r\n @Watch(\"id\", { immediate: true })\r\n seminarUpdated() {\r\n if (!this.id) return;\r\n this.getVideo();\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!./GiveFeedback.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!./GiveFeedback.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GiveFeedback.vue?vue&type=template&id=dbf356f0&\"\nimport script from \"./GiveFeedback.vue?vue&type=script&lang=ts&\"\nexport * from \"./GiveFeedback.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 { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"calc(100vh - 124px)\"}},[(_vm.loading)?_c('div',{staticClass:\"d-flex flex-column align-center justify-center pt-12\"},[_c(VProgressCircular,{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}}),_c('h3',{staticClass:\"mt-4\"},[_vm._v(_vm._s(_vm.$t(\"seminars.loading\")))])],1):(_vm.seminar.blocks && _vm.seminar.blocks.length > 0)?_c('div',{staticClass:\"d-flex\",staticStyle:{\"height\":\"100%\"}},[_c('Sidebar'),_c('Content')],1):_c('div',{staticClass:\"pa-4\"},[_c('div',{staticClass:\"d-flex mb-4\"},[_c(VBtn,{attrs:{\"small\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.$router.replace('/seminars')}}},[_c(VIcon,{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_c('span',[_vm._v(\"Back to seminar list\")])],1),_c('div',{staticClass:\"mx-2\"}),_c(VBtn,{attrs:{\"small\":\"\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.$router.replace('/seminars/dashboard/' + _vm.seminar.id)}}},[_c(VIcon,{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(\"mdi-view-dashboard\")]),_c('span',[_vm._v(\"Dashboard\")])],1)],1),_c('h1',{staticClass:\"mb-0\"},[_vm._v(_vm._s(_vm.seminar.name))]),_c('div',{staticClass:\"mb-4\"},[_vm._v(_vm._s(_vm.seminar.description))]),_c('div',[_vm._v(_vm._s(_vm.$t(\"seminars.noBlocks\")))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action, Getter } from \"vuex-class\";\r\nimport { Component, Watch } from \"vue-property-decorator\";\r\n\r\nimport { Seminar, SeminarElement } from \"@/core/models\";\r\nimport Sidebar from \"../components/Sidebar.vue\";\r\nimport Content from \"../components/Content.vue\";\r\n\r\n@Component({ components: { Sidebar, Content } })\r\nexport default class SeminarDetails extends Vue {\r\n @Getter(\"seminars/loading\") loading!: boolean;\r\n @Getter(\"seminars/selected\") seminar?: Seminar;\r\n @Getter(\"seminars/element\") element?: SeminarElement;\r\n\r\n @Action(\"seminars/next\") next!: () => void;\r\n @Action(\"seminars/get\") getSeminar!: (d: any) => Promise;\r\n\r\n @Action(\"displaySnackbar\") displaySnackbar!: (m: string) => void;\r\n\r\n @Watch(\"$route\", { immediate: true })\r\n onRouteChanged() {\r\n const param = this.$route.params.id as string | undefined;\r\n if (!param) this.$router.replace(\"/seminars?from=details\");\r\n else this.getSeminar({ id: Number(param) });\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!./Details.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!./Details.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Details.vue?vue&type=template&id=f952b660&\"\nimport script from \"./Details.vue?vue&type=script&lang=ts&\"\nexport * from \"./Details.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 { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(VExpansionPanel,{staticClass:\"block\",class:{ current: _vm.blockIndex === _vm.index },attrs:{\"id\":(\"block-\" + _vm.index)}},[_c(VExpansionPanelHeader,[_c('div',[_c('h3',[_vm._v(_vm._s(_vm.block.title))]),_c('div',{staticClass:\"accentText--text\"},[_vm._v(_vm._s(_vm.block.description))])])]),_c(VExpansionPanelContent,[_c('h4',[_vm._v(_vm._s(_vm.$t(\"seminars.tasks\")))]),_c('div',_vm._l((_vm.block.elements),function(el,i){return _c('div',{key:i,staticClass:\"element\",class:{ last: i === _vm.block.elements.length - 1 },attrs:{\"id\":(\"element-\" + _vm.index + \"-\" + i)},on:{\"click\":function($event){return _vm.selectEl(i)}}},[_c('div',{staticClass:\"utils-container\"},[_c('div',{staticClass:\"circle\",class:{\n current: _vm.isCurrentElement(_vm.index, i),\n completed: _vm.isComplete(el),\n skipped: _vm.isSkipped(el),\n }},[(_vm.isComplete(el))?_c(VIcon,{attrs:{\"small\":\"\",\"color\":\"other\"}},[_vm._v(\" mdi-check \")]):_vm._e(),(_vm.isSkipped(el))?_c(VIcon,{attrs:{\"small\":\"\",\"color\":\"primary\"}},[_vm._v(\" mdi-skip-next \")]):_vm._e()],1),_c('div',{staticClass:\"line\",class:{ first: i === 0, completed: _vm.isComplete(el) }})]),_c('div',{staticClass:\"title text-truncate\",class:{ current: _vm.isCurrentElement(_vm.index, i) }},[_c('div',{staticClass:\"text-truncate\"},[_vm._v(_vm._s(el.title))])])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Getter } from \"vuex-class\";\r\nimport { Component, Prop } from \"vue-property-decorator\";\r\n\r\nimport { Seminar, SeminarBlock, SeminarElement } from \"@/core/models\";\r\nimport { elementStatus } from \"@/core/utils/seminars\";\r\n\r\n@Component\r\nexport default class Block extends Vue {\r\n @Prop({ default: () => 0 }) index!: number;\r\n\r\n @Getter(\"seminars/selected\") seminar!: Seminar;\r\n @Getter(\"seminars/blocks\") blocks!: SeminarBlock[];\r\n @Getter(\"seminars/blockIndex\") blockIndex!: number;\r\n @Getter(\"seminars/elementIndex\") elementIndex!: number;\r\n @Getter(\"profile/id\") userId!: string;\r\n\r\n @Action(\"seminars/setindices\") set!: (d: [number, number]) => void;\r\n\r\n get block() {\r\n return this.blocks[this.index];\r\n }\r\n\r\n isCurrentElement(block: number, el: number) {\r\n return this.blockIndex === block && this.elementIndex === el;\r\n }\r\n\r\n isComplete(e: SeminarElement) {\r\n return elementStatus(e, this.seminar) === \"completed\";\r\n }\r\n\r\n isSkipped(e: SeminarElement) {\r\n return elementStatus(e, this.seminar) === \"skipped\";\r\n }\r\n\r\n selectEl(i: number) {\r\n const prevBlock = this.index - 1 < 0 ? null : this.blocks[this.index - 1];\r\n const lastElOfPrevBlock =\r\n prevBlock?.elements[prevBlock.elements.length - 1];\r\n const prevEl =\r\n i === 0 ? lastElOfPrevBlock : this.blocks[this.index].elements[i - 1];\r\n\r\n if (!prevEl || elementStatus(prevEl, this.seminar) !== \"active\")\r\n this.set([this.index, i]);\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!./Block.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!./Block.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Block.vue?vue&type=template&id=27d7f242&\"\nimport script from \"./Block.vue?vue&type=script&lang=ts&\"\nexport * from \"./Block.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Block.vue?vue&type=style&index=0&id=27d7f242&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue {\n $el: HTMLElement\n expansionPanel: InstanceType\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', this.setBackgroundColor(this.color, {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n","import { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\n\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c(VDivider,{staticClass:\"my-4\"}),(_vm.submissions.length > 0)?_c('div',_vm._l((_vm.submissions),function(submission,i){return _c('GapTextSubmission',{key:i,staticClass:\"mt-4\",attrs:{\"element\":_vm.element,\"submission\":submission}})}),1):_c('div',[_c('div',[_c('div',_vm._l((_vm.parts),function(line,i){return _c('div',{key:i,staticClass:\"d-flex flex-wrap align-baseline\"},_vm._l((line),function(part,j){return _c('div',{key:j,staticClass:\"d-flex flex-wrap align-baseline\"},[_c('span',[_vm._v(_vm._s(part))]),(j !== line.length - 1)?_c(VTextField,{staticStyle:{\"max-width\":\"100px\",\"padding\":\"0px 10px\",\"margin\":\"0\"},attrs:{\"hide-details\":\"\",\"autocomplete\":\"prezp\"},model:{value:(_vm.inputs[i][j]),callback:function ($$v) {_vm.$set(_vm.inputs[i], j, $$v)},expression:\"inputs[i][j]\"}}):_vm._e()],1)}),0)}),0)])]),(_vm.skipped)?_c('div',[_c('h4',{staticClass:\"mt-4\"},[_vm._v(\" This task was skipped on \"+_vm._s(_vm._f(\"formatwithtime\")(_vm.skipped.createdAt))+\". \")])]):_vm._e(),_c('ElementControls',{attrs:{\"submit\":_vm.submit}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Action } from \"vuex-class\";\r\nimport { Component, Prop, Watch } from \"vue-property-decorator\";\r\n\r\nimport api from \"@/core/utils/api\";\r\nimport { Seminar, SeminarElement, Submission } from \"@/core/models\";\r\n\r\nimport GapTextSubmission from \"./GapTextSubmission.vue\";\r\nimport ElementControls from \"./ElementControls.vue\";\r\n\r\n@Component({ components: { GapTextSubmission, ElementControls } })\r\nexport default class GapTextElement extends Vue {\r\n @Prop({ default: () => undefined }) seminar?: Seminar;\r\n @Prop({ default: () => ({} as SeminarElement) }) element!: SeminarElement;\r\n @Action(\"seminars/addSubmission\") addSubmission!: (s: Submission) => void;\r\n @Action(\"displaySnackbar\") displaySnackbar!: (m: string) => void;\r\n\r\n inputs: string[][] = [];\r\n get parts() {\r\n if (this.element.type !== \"gap_text\") return [];\r\n return this.element.text.split(\"\\n\").map(x => x.split(\"__\"));\r\n }\r\n @Watch(\"element\", { immediate: true })\r\n elementChanged() {\r\n if (this.element.type !== \"gap_text\") return;\r\n this.parts.forEach(x => {\r\n const gapCount = x\r\n .map(x => x.split(\"__\").length)\r\n .reduce((cum, cur) => cum + cur);\r\n this.inputs.push(new Array(gapCount - 1).fill(\"\"));\r\n });\r\n }\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 get skipped() {\r\n return this.seminar?.submissions?.find(\r\n x => x.skipped && x.elementId === this.element.id,\r\n );\r\n }\r\n\r\n submitting = false;\r\n async submit() {\r\n if (this.element.type !== \"gap_text\") throw new Error(\"invalid\");\r\n\r\n if (this.inputs.some(x => x.some(y => y.trim().length === 0))) {\r\n this.displaySnackbar(this.$t(\"seminars.gap_text.error\").toString());\r\n throw new Error(\"invalid\");\r\n }\r\n\r\n this.submitting = true;\r\n try {\r\n const data = {\r\n elementId: this.element.id,\r\n answers: this.inputs.flat(),\r\n seminarId: this.element.seminarId,\r\n };\r\n const submission = (await api.post(\r\n \"/api/Submissions/GapText\",\r\n data,\r\n )) as Submission;\r\n this.addSubmission(submission);\r\n } catch (error) {\r\n this.displaySnackbar(error.description);\r\n }\r\n this.submitting = 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!./GapText.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!./GapText.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GapText.vue?vue&type=template&id=37102781&\"\nimport script from \"./GapText.vue?vue&type=script&lang=ts&\"\nexport * from \"./GapText.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","// Components\nimport VExpansionPanels from './VExpansionPanels'\nimport VExpansionPanelHeader from './VExpansionPanelHeader'\nimport VExpansionPanelContent from './VExpansionPanelContent'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\ntype VExpansionPanelHeaderInstance = InstanceType\ntype VExpansionPanelContentInstance = InstanceType\n\nexport default mixins(\n GroupableFactory<'expansionPanels', typeof VExpansionPanels>('expansionPanels', 'v-expansion-panel', 'v-expansion-panels'),\n RegistrableProvide('expansionPanel', true)\n /* @vue/component */\n).extend({\n name: 'v-expansion-panel',\n\n props: {\n disabled: Boolean,\n readonly: Boolean,\n },\n\n data () {\n return {\n content: null as VExpansionPanelContentInstance | null,\n header: null as VExpansionPanelHeaderInstance | null,\n nextIsActive: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel--active': this.isActive,\n 'v-expansion-panel--next-active': this.nextIsActive,\n 'v-expansion-panel--disabled': this.isDisabled,\n ...this.groupClasses,\n }\n },\n isDisabled (): boolean {\n return this.expansionPanels.disabled || this.disabled\n },\n isReadonly (): boolean {\n return this.expansionPanels.readonly || this.readonly\n },\n },\n\n methods: {\n registerContent (vm: VExpansionPanelContentInstance) {\n this.content = vm\n },\n unregisterContent () {\n this.content = null\n },\n registerHeader (vm: VExpansionPanelHeaderInstance) {\n this.header = vm\n vm.$on('click', this.onClick)\n },\n unregisterHeader () {\n this.header = null\n },\n onClick (e: MouseEvent) {\n if (e.detail) this.header!.$el.blur()\n\n this.$emit('click', e)\n\n this.isReadonly || this.isDisabled || this.toggle()\n },\n toggle () {\n this.$nextTick(() => this.$emit('change'))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-expansion-panel',\n class: this.classes,\n attrs: {\n 'aria-expanded': String(this.isActive),\n },\n }, getSlot(this))\n },\n})\n","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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Content.vue?vue&type=style&index=0&id=89b35adc&prod&scoped=true&lang=scss&\""],"sourceRoot":""}