{"version":3,"sources":["webpack:///../../../src/components/VExpansionPanel/VExpansionPanels.ts","webpack:///./src/views/seminars/components/Rephrase.vue?323f","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?c96a","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?0e0b","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?0882","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?1587","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?5a34","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?bcae","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?1c78","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?ee1e","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/Block.vue?7d39","webpack:///./src/views/seminars/components/Sidebar.vue?5142","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/GiveFeedback.vue?dfa0","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?dae2","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/Content.vue?f41a","webpack:///./src/views/seminars/components/Block.vue?c89f","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?7b4c","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?f991","webpack:///./src/views/seminars/components/VRTraining.vue","webpack:///./src/views/seminars/components/VRTraining.vue?7c5e","webpack:///./src/views/seminars/components/VRTraining.vue?0a9e"],"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","Condition","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-73e6d854.77303660.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 type { 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=d3cf0bac&\"\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 type { GetSubsRequest, Seminar, SeminarElement } from \"@/core/models\";\r\nimport { Goal } 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=9890ff3a&\"\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 type { 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=0a7c255c&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=0a7c255c&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 \"0a7c255c\",\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 type { 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=211b9bed&\"\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 type { 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=60152498&\"\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 type {\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=84a3b30c&\"\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 type { 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=b420f562&\"\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 type { 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=034dea52&\"\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","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=187cfdb6&prod&lang=scss&\"","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","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 type { 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=7a42aedc&\"\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 type { 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=25927dba&\"\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","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=0a7c255c&prod&scoped=true&lang=scss&\"","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 type { 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=187cfdb6&\"\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=187cfdb6&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 type { 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=b560e0fe&\"\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 type { 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=7b5a53c6&\"\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":""}