{"version":3,"sources":["webpack:///./src/components/ConfirmationModal.vue?0bff","webpack:///./src/components/Form/MandatoryFieldFlag.vue?d35e","webpack:///./src/components/SuccessStatusMsg.vue?b861","webpack:///./src/components/DetailsHeader.vue?ba0f","webpack:///./src/components/DetailsHeader.vue","webpack:///./src/components/DetailsHeader.vue?135b","webpack:///./src/components/Form/EditButtonsGroup.vue?2a0c","webpack:///./src/components/DetailsRow.vue?13ad","webpack:///./src/components/DetailsHeader.vue?067d","webpack:///./src/views/administrator/CourseOccurrenceDetails.vue?c1e1","webpack:///./src/components/Form/MandatoryFieldFlag.vue?e8f2","webpack:///./src/components/Form/MandatoryFieldFlag.vue","webpack:///./src/components/Form/MandatoryFieldFlag.vue?c1c8","webpack:///./src/views/administrator/CourseOccurrenceDetails.vue?3610","webpack:///./src/components/ConfirmationModal.vue?29c2","webpack:///./src/components/ConfirmationModal.vue","webpack:///./src/components/ConfirmationModal.vue?e689","webpack:///./src/components/Form/EditButtonsGroup.vue?bb4d","webpack:///./src/components/SuccessStatusMsg.vue?8ec7","webpack:///./src/components/SuccessStatusMsg.vue","webpack:///./src/components/SuccessStatusMsg.vue?e9da","webpack:///./src/components/Form/EditButtonsGroup.vue","webpack:///./src/components/Form/EditButtonsGroup.vue?5e2a","webpack:///./src/views/administrator/CourseOccurrenceDetails.vue","webpack:///./src/views/administrator/CourseOccurrenceDetails.vue?d3b1","webpack:///./src/components/DetailsRow.vue?5ff4","webpack:///./src/components/DetailsRow.vue","webpack:///./src/components/DetailsRow.vue?864c"],"names":["_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","style","_hoisted_5","tabindex","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","render","_ctx","_cache","$props","$setup","$data","$options","_component_font_awesome_icon","showPrevious","key","id","onfocus","onClick","$event","$emit","icon","$t","title","showNext","props","type","String","required","default","Boolean","emits","__exports__","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_component_ConfirmationModal","_component_LuSpinner","_component_DetailsHeader","_component_DetailsRow","_component_SelectItem","_component_router_link","_component_Table","_component_EditButtonsGroup","ref","onConfirm","studentId","deleteStudent","header","student","data","item","name","_","noteTakerId","$refs","deleteNoteTakerModal","close","deleteNoteTaker","noteTaker","sendOffer","offerId","cancelOffer","isLoading","onBack","navigateToOverview","onPrevious","navigateToCourseOccurrence","previousCourseOccurrenceId","onNext","nextCourseOccurrenceId","occurrence","isRemovedFromLadok","notAvailableReason","caption","details","replaceUnvailableOrFormatDate","courseTitle","courseStartDate","courseEndDate","faculty","institution","status","showDetailsAsBadge","badgeBackgroundColor","statusBgColor","showTooltip","tooltipText","statusText","tooltipColor","tooltipTextColor","statusTextColor","editEnable","value","coordinatorId","coordinatorName","options","coordinators","placeholder","rows","studentRows","td","col","to","params","row","val","rowActionEnd","disabled","studentOrNoteTakerBtnDisabled","deleteStudentModal","open","noteTakerRows","formatDate","proposedNoteTakersWithoutAssignmentRows","hiddenColumns","offerCanceled","sendOfferModal","offerSent","cancelOfferModal","noteTakerUploads","length","saveBtnDisabled","onOnCancelClicked","cancelCoordinatorUpdate","onOnSaveClicked","updateCourseOccurrence","role","$slots","undefined","onCancel","shown","methods","this","_component_SuccessStatusMsg","successful","saveSuccessful","showSuccessMsg","edit","cancel","save","n","show","successMsg","showMsg","computed","components","SuccessStatusMsg","setEditEnable","showUnsuccessfulMsg","showSuccessStatus","DetailsRow","Table","DetailsHeader","ConfirmationModal","SelectItem","LuSpinner","EditButtonsGroup","currentOccurrenceId","Array","currentCoordinator","allCourseOccurrenceIds","sortedCourseOccurrenceIds","getItem","SortedCourseOccurrenceIds","currentIdIndex","indexOf","nextIdIndex","slice","previousIdIndex","$i18n","locale","titleSv","titleEn","facultySv","facultyEn","institutionSv","institutionEn","students","map","firstName","lastName","personalId","noteTakers","started","supportCourseOccurrences","find","course","courseOccurrenceId","assignmentStart","proposedNoteTakersWithoutAssignment","proposedNoteTakers","filter","proposedNoteTaker","noteTakerProposedCourse","workOffers","noteTakerOffers","offer","lastWorkOffer","sort","offerA","offerB","dateCompareFunction","sent","reverse","interest","inserted","canceled","uploads","noteTakerUploadSummaries","courseUid","dateAisBeforeDateB","Date","date","getCourseOccurrence","localstorageLang","$root","$route","parseInt","getCourseOccurrenceById","then","NotAvailable","updateCurrentCoordinator","getCoordinators","catch","e","console","error","getCachedCoordinatorsByFunctionId","NoteTakingFunctionId","success","$router","push","courseOccurrenceStatusColor","courseOccurrenceStatusText","detailViewLinks","personList","detailsViewRoute","links","mapPersonToDetailViewLinks","deleteStudentFromCourseOccurrence","$store","commit","deleteNoteTakerFromCourseOccurrence","finally","sendOfferToNoteTaker","mounted","watch","_component_MandatoryFieldFlag","_component_Badge","_component_Tooltip","detailsAreHtml","detailsAreList","innerHTML","text","bgColor","color","rounded","backgroundColor","showDetailsInBadge","Badge","Tooltip","MandatoryFieldFlag"],"mappings":"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","file":"assets/js/chunk-671f7733.c53a1cbd.js","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ConfirmationModal.vue?vue&type=style&index=0&id=2961bac3&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MandatoryFieldFlag.vue?vue&type=style&index=0&id=11cc3317&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./SuccessStatusMsg.vue?vue&type=style&index=0&id=27dfd67d&scoped=true&lang=css\"","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0f3c00a4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"d-flex flex-row align-items-center p-2\" }\nconst _hoisted_3 = { class: \"d-flex justify-content-start w-100\" }\nconst _hoisted_4 = { style: {\"padding\":\"0 10px\"} }\nconst _hoisted_5 = { tabindex: \"0\" }\nconst _hoisted_6 = { class: \"page-heading\" }\nconst _hoisted_7 = { class: \"d-flex justify-content-end w-100\" }\nconst _hoisted_8 = { tabindex: \"0\" }\nconst _hoisted_9 = { style: {\"padding\":\"0 10px\"} }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.showPrevious)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n id: \"previousBtn\",\n class: \"btn btn-link btn-block text-left\",\n onfocus: \"this.blur()\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('previous')))\n }, [\n _createElementVNode(\"span\", _hoisted_4, [\n _createVNode(_component_font_awesome_icon, { icon: \"arrow-circle-left\" })\n ]),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"pagination.previous\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"h1\", _hoisted_6, _toDisplayString(_ctx.title), 1),\n _createElementVNode(\"div\", _hoisted_7, [\n (_ctx.showNext)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n id: \"nextBtn\",\n class: \"btn btn-link btn-block text-right\",\n onfocus: \"this.blur()\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$emit('next')))\n }, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t(\"pagination.next\")), 1),\n _createElementVNode(\"span\", _hoisted_9, [\n _createVNode(_component_font_awesome_icon, { icon: \"arrow-circle-right\" })\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n}","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /*\n * Holds the id of the item and is populated from the route's id parameter when the page loads\n */\n title: {\n type: String as PropType,\n required: false,\n default: \"\",\n },\n\n showPrevious: {\n type: Boolean as PropType,\n required: false,\n default: true,\n },\n\n showNext: {\n type: Boolean as PropType,\n required: false,\n default: true,\n },\n },\n emits: [\"previous\", \"next\"],\n})\nexport default class DetailsHeader extends Vue {}\n","import { render } from \"./DetailsHeader.vue?vue&type=template&id=0f3c00a4&scoped=true&ts=true\"\nimport script from \"./DetailsHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./DetailsHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./DetailsHeader.vue?vue&type=style&index=0&id=0f3c00a4&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0f3c00a4\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./EditButtonsGroup.vue?vue&type=style&index=0&id=1e13c39e&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DetailsRow.vue?vue&type=style&index=0&id=0948d347&scoped=true&lang=css\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DetailsHeader.vue?vue&type=style&index=0&id=0f3c00a4&scoped=true&lang=css\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./CourseOccurrenceDetails.vue?vue&type=style&index=0&id=1608d1ac&scoped=true&lang=css\"","import { openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-11cc3317\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"title\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"span\", {\n class: \"mandatory-field-flag\",\n title: _ctx.$t('mandatoryField.title')\n }, \" * \", 8, _hoisted_1))\n}","\nimport { Vue } from \"vue-class-component\";\n\nexport default class MandatoryFieldFlag extends Vue {}\n","import { render } from \"./MandatoryFieldFlag.vue?vue&type=template&id=11cc3317&scoped=true&ts=true\"\nimport script from \"./MandatoryFieldFlag.vue?vue&type=script&lang=ts\"\nexport * from \"./MandatoryFieldFlag.vue?vue&type=script&lang=ts\"\n\nimport \"./MandatoryFieldFlag.vue?vue&type=style&index=0&id=11cc3317&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-11cc3317\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, createTextVNode as _createTextVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1608d1ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { class: \"container w-75\" }\nconst _hoisted_6 = { class: \"card\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"form-container\"\n}\nconst _hoisted_8 = {\n key: 0,\n class: \"course-not-exists-container\"\n}\nconst _hoisted_9 = { class: \"course-not-exists\" }\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { key: 1 }\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = [\"disabled\", \"onClick\"]\nconst _hoisted_15 = { key: 0 }\nconst _hoisted_16 = { key: 1 }\nconst _hoisted_17 = { key: 2 }\nconst _hoisted_18 = { key: 0 }\nconst _hoisted_19 = { key: 1 }\nconst _hoisted_20 = [\"disabled\", \"onClick\"]\nconst _hoisted_21 = { key: 0 }\nconst _hoisted_22 = { key: 1 }\nconst _hoisted_23 = { key: 2 }\nconst _hoisted_24 = { key: 3 }\nconst _hoisted_25 = { key: 4 }\nconst _hoisted_26 = { key: 0 }\nconst _hoisted_27 = { key: 1 }\nconst _hoisted_28 = { key: 2 }\nconst _hoisted_29 = [\"disabled\", \"onClick\"]\nconst _hoisted_30 = { key: 1 }\nconst _hoisted_31 = { key: 3 }\nconst _hoisted_32 = [\"disabled\", \"onClick\"]\nconst _hoisted_33 = { key: 1 }\nconst _hoisted_34 = { key: 0 }\nconst _hoisted_35 = { key: 1 }\nconst _hoisted_36 = { key: 2 }\nconst _hoisted_37 = { key: 0 }\nconst _hoisted_38 = { key: 1 }\nconst _hoisted_39 = { key: 2 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ConfirmationModal = _resolveComponent(\"ConfirmationModal\")!\n const _component_LuSpinner = _resolveComponent(\"LuSpinner\")!\n const _component_DetailsHeader = _resolveComponent(\"DetailsHeader\")!\n const _component_DetailsRow = _resolveComponent(\"DetailsRow\")!\n const _component_SelectItem = _resolveComponent(\"SelectItem\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Table = _resolveComponent(\"Table\")!\n const _component_EditButtonsGroup = _resolveComponent(\"EditButtonsGroup\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ConfirmationModal, {\n ref: \"deleteStudentModal\",\n onConfirm: _cache[0] || (_cache[0] = ({ id: studentId }) => _ctx.deleteStudent(studentId))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"shared.confirm-removal\")), 1)\n ]),\n default: _withCtx(({ data: student }) => [\n student\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_1, _toDisplayString(_ctx.$t(\"shared.confirm-remove-thing\", {\n item: student.name,\n })), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 512),\n _createVNode(_component_ConfirmationModal, {\n ref: \"deleteNoteTakerModal\",\n onConfirm: _cache[1] || (_cache[1] = \n ({ id: noteTakerId }) => {\n _ctx.$refs.deleteNoteTakerModal.close();\n _ctx.deleteNoteTaker(noteTakerId);\n }\n )\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"course-occurrence.confirm-removal\")), 1)\n ]),\n default: _withCtx(({ data: noteTaker }) => [\n noteTaker\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"course-occurrence.confirm-remove-note-taker\", {\n name: noteTaker.name,\n })), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 512),\n _createVNode(_component_ConfirmationModal, {\n ref: \"sendOfferModal\",\n onConfirm: _cache[2] || (_cache[2] = ({ id: noteTakerId }) => _ctx.sendOffer(noteTakerId))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"course-occurrence.offer.sendOffer\")), 1)\n ]),\n default: _withCtx(({ data: noteTaker }) => [\n noteTaker\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_3, _toDisplayString(_ctx.$t(\"course-occurrence.offer.confirmSendOffer\", {\n name: noteTaker.name,\n })), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 512),\n _createVNode(_component_ConfirmationModal, {\n ref: \"cancelOfferModal\",\n onConfirm: _cache[3] || (_cache[3] = ({ offerId }) => _ctx.cancelOffer(offerId))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"course-occurrence.offer.cancelOffer\")), 1)\n ]),\n default: _withCtx(({ data: noteTaker }) => [\n noteTaker\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(_ctx.$t(\"course-occurrence.offer.confirmCancelOffer\", {\n name: noteTaker.name,\n })), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 512),\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LuSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_DetailsHeader, {\n title: _ctx.$t('shared.routes.course-occurrence-details'),\n onBack: _cache[4] || (_cache[4] = ($event: any) => (_ctx.navigateToOverview())),\n onPrevious: _cache[5] || (_cache[5] = ($event: any) => (_ctx.navigateToCourseOccurrence(_ctx.previousCourseOccurrenceId))),\n onNext: _cache[6] || (_cache[6] = ($event: any) => (_ctx.navigateToCourseOccurrence(_ctx.nextCourseOccurrenceId)))\n }, null, 8, [\"title\"]),\n _createElementVNode(\"form\", _hoisted_6, [\n (_ctx.occurrence)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n (_ctx.isRemovedFromLadok)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_ctx.notAvailableReason), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_DetailsRow, {\n caption: \"course-occurrence.occurrence\",\n details: _ctx.replaceUnvailableOrFormatDate(_ctx.occurrence.occurrence)\n }, null, 8, [\"details\"]),\n _createVNode(_component_DetailsRow, {\n caption: \"course-occurrence.title\",\n details: _ctx.replaceUnvailableOrFormatDate(_ctx.courseTitle)\n }, null, 8, [\"details\"]),\n _createVNode(_component_DetailsRow, {\n caption: \"course-occurrence.courseStartDate\",\n details: _ctx.replaceUnvailableOrFormatDate(_ctx.occurrence.courseStartDate)\n }, null, 8, [\"details\"]),\n _createVNode(_component_DetailsRow, {\n caption: \"course-occurrence.courseEndDate\",\n details: _ctx.replaceUnvailableOrFormatDate(_ctx.occurrence.courseEndDate)\n }, null, 8, [\"details\"]),\n _createVNode(_component_DetailsRow, {\n caption: \"course-occurrence.faculty\",\n details: _ctx.replaceUnvailableOrFormatDate(_ctx.faculty)\n }, null, 8, [\"details\"]),\n _createVNode(_component_DetailsRow, {\n caption: \"course-occurrence.institution\",\n details: _ctx.replaceUnvailableOrFormatDate(_ctx.institution)\n }, null, 8, [\"details\"]),\n _createVNode(_component_DetailsRow, {\n caption: \"course-occurrence.status\",\n details: _ctx.occurrence.status,\n showDetailsAsBadge: true,\n badgeBackgroundColor: _ctx.statusBgColor(_ctx.occurrence.status),\n showTooltip: true,\n tooltipText: _ctx.statusText(_ctx.occurrence.status),\n tooltipColor: _ctx.statusBgColor(_ctx.occurrence.status),\n tooltipTextColor: _ctx.statusTextColor(_ctx.occurrence.status)\n }, null, 8, [\"details\", \"badgeBackgroundColor\", \"tooltipText\", \"tooltipColor\", \"tooltipTextColor\"]),\n _createVNode(_component_DetailsRow, { caption: \"shared.coordinator\" }, {\n default: _withCtx(() => [\n (_ctx.editEnable)\n ? (_openBlock(), _createBlock(_component_SelectItem, {\n key: 0,\n id: \"coordinator\",\n value: _ctx.occurrence.coordinatorId,\n \"onUpdate:value\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.occurrence.coordinatorId) = $event)),\n name: _ctx.occurrence.coordinatorName,\n \"onUpdate:name\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.occurrence.coordinatorName) = $event)),\n options: _ctx.coordinators,\n placeholder: `- ${_ctx.$t('shared.choose')} -`\n }, null, 8, [\"value\", \"name\", \"options\", \"placeholder\"]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_10, _toDisplayString(_ctx.occurrence.coordinatorName), 1))\n ]),\n _: 1\n }),\n _createVNode(_component_DetailsRow, { caption: \"course-occurrence.students\" }, {\n default: _withCtx(() => [\n _createVNode(_component_Table, { rows: _ctx.studentRows }, {\n td: _withCtx((data) => [\n (data.col === 'name')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_ctx.$t(\"person.name\")), 1))\n : _createCommentVNode(\"\", true),\n (data.col === 'personalId')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, _toDisplayString(_ctx.$t(\"person.personalId\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx((data) => [\n (data.col === 'name')\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n to: { name: 'StudentDetails', params: { id: data.row.id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(data.val), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_13, _toDisplayString(data.val), 1))\n ]),\n rowActionEnd: _withCtx((data) => [\n _createElementVNode(\"button\", {\n disabled: _ctx.studentOrNoteTakerBtnDisabled,\n type: \"button\",\n class: \"btn btn-outline-secondary\",\n onClick: ($event: any) => (_ctx.$refs.deleteStudentModal.open(data.row))\n }, _toDisplayString(_ctx.$t(\"course-occurrence.remove-student\")), 9, _hoisted_14)\n ]),\n _: 1\n }, 8, [\"rows\"])\n ]),\n _: 1\n }),\n _createVNode(_component_DetailsRow, { caption: \"course-occurrence.noteTakers\" }, {\n default: _withCtx(() => [\n _createVNode(_component_Table, { rows: _ctx.noteTakerRows }, {\n td: _withCtx((data) => [\n (data.col === 'name')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_15, _toDisplayString(_ctx.$t(\"person.name\")), 1))\n : _createCommentVNode(\"\", true),\n (data.col === 'personalId')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_16, _toDisplayString(_ctx.$t(\"person.personalId\")), 1))\n : _createCommentVNode(\"\", true),\n (data.col === 'started')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_17, _toDisplayString(_ctx.$t(\"course-occurrence.assignment.assignment-start\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx((data) => [\n (data.col === 'name')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n _createVNode(_component_router_link, {\n to: {\n name: 'NoteTakerDetails',\n params: { id: data.row.id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(data.val), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]))\n : (data.col === 'started')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_19, _toDisplayString(_ctx.formatDate(data.val)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n rowActionEnd: _withCtx((data) => [\n _createElementVNode(\"button\", {\n disabled: _ctx.studentOrNoteTakerBtnDisabled,\n type: \"button\",\n class: \"btn btn-outline-secondary\",\n onClick: ($event: any) => (_ctx.$refs.deleteNoteTakerModal.open(data.row))\n }, _toDisplayString(_ctx.$t(\"course-occurrence.assignment.endAssignment\")), 9, _hoisted_20)\n ]),\n _: 1\n }, 8, [\"rows\"])\n ]),\n _: 1\n }),\n _createVNode(_component_DetailsRow, { caption: \"course-occurrence.proposedNoteTakers\" }, {\n default: _withCtx(() => [\n _createVNode(_component_Table, {\n rows: _ctx.proposedNoteTakersWithoutAssignmentRows,\n hiddenColumns: ['id', 'offerId']\n }, {\n td: _withCtx((data) => [\n (data.col === 'name')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_21, _toDisplayString(_ctx.$t(\"person.name\")), 1))\n : (data.col === 'personalId')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_22, _toDisplayString(_ctx.$t(\"person.personalId\")), 1))\n : (data.col === 'interest')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_23, _toDisplayString(_ctx.$t(\"shared.interest\")), 1))\n : (data.col === 'offerSent')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_24, _toDisplayString(_ctx.$t(\"course-occurrence.offer.offerSent\")), 1))\n : (data.col === 'offerCanceled')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_25, _toDisplayString(_ctx.$t(\"course-occurrence.offer.offerCanceled\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx((data) => [\n (data.col === 'name')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_26, [\n _createVNode(_component_router_link, {\n to: {\n name: 'NoteTakerDetails',\n params: { id: data.row.id },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(data.val), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]))\n : _createCommentVNode(\"\", true),\n (data.col === 'interest')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_27, _toDisplayString(_ctx.formatDate(data.val)), 1))\n : _createCommentVNode(\"\", true),\n (data.col === 'offerSent')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_28, [\n (!data.val || data.row.offerCanceled)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n disabled: _ctx.studentOrNoteTakerBtnDisabled,\n type: \"button\",\n class: \"btn btn-outline-secondary\",\n onClick: ($event: any) => (_ctx.$refs.sendOfferModal.open(data.row))\n }, _toDisplayString(_ctx.$t(\"course-occurrence.offer.sendOffer\")), 9, _hoisted_29))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_30, _toDisplayString(_ctx.formatDate(data.val)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n (data.col === 'offerCanceled')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_31, [\n (!data.val)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n (data.row.offerSent)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n disabled: _ctx.studentOrNoteTakerBtnDisabled,\n type: \"button\",\n class: \"btn btn-outline-secondary\",\n onClick: ($event: any) => (_ctx.$refs.cancelOfferModal.open(data.row))\n }, _toDisplayString(_ctx.$t(\"course-occurrence.offer.cancelOffer\")), 9, _hoisted_32))\n : _createCommentVNode(\"\", true)\n ], 64))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_33, _toDisplayString(_ctx.formatDate(data.val)), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"rows\"])\n ]),\n _: 1\n }),\n (_ctx.noteTakerUploads.length > 0)\n ? (_openBlock(), _createBlock(_component_DetailsRow, {\n key: 1,\n caption: \"course-occurrence.uploads.title\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Table, {\n rows: _ctx.noteTakerUploads,\n hiddenColumns: ['noteTakerId']\n }, {\n td: _withCtx((data) => [\n (data.col === 'noteTakerName')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_34, _toDisplayString(_ctx.$t(\"course-occurrence.uploads.note-taker\")), 1))\n : (data.col === 'totalUploads')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_35, _toDisplayString(_ctx.$t(\"course-occurrence.uploads.number-of-files\")), 1))\n : (data.col === 'lastUpload')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_36, _toDisplayString(_ctx.$t(\"course-occurrence.uploads.latest-upload\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx((data) => [\n (data.col === 'noteTakerName')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_37, [\n _createVNode(_component_router_link, {\n to: {\n name: 'NoteTakerDetails',\n params: { id: data.row.noteTakerId },\n }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(data.val), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]))\n : _createCommentVNode(\"\", true),\n (data.col === 'totalUploads')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_38, _toDisplayString(data.val), 1))\n : _createCommentVNode(\"\", true),\n (data.col === 'lastUpload')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_39, _toDisplayString(_ctx.formatDate(data.val)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"rows\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_DetailsRow, null, {\n default: _withCtx(() => [\n _createVNode(_component_EditButtonsGroup, {\n ref: \"editButtonsGroup\",\n editEnable: _ctx.editEnable,\n \"onUpdate:editEnable\": _cache[9] || (_cache[9] = ($event: any) => ((_ctx.editEnable) = $event)),\n saveBtnDisabled: _ctx.saveBtnDisabled,\n onOnCancelClicked: _ctx.cancelCoordinatorUpdate,\n onOnSaveClicked: _ctx.updateCourseOccurrence\n }, null, 8, [\"editEnable\", \"saveBtnDisabled\", \"onOnCancelClicked\", \"onOnSaveClicked\"])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 64))\n}","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2961bac3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"modal\",\n role: \"dialog\"\n}\nconst _hoisted_2 = {\n class: \"modal-dialog my-0 mx-auto\",\n role: \"document\"\n}\nconst _hoisted_3 = { class: \"modal-content border-0 rounded-0\" }\nconst _hoisted_4 = { class: \"nav border-bottom p-3 flex-row justify-content-between align-items-center sticky-top bg-white\" }\nconst _hoisted_5 = {\n id: \"modal-header\",\n class: \"h3 m-0\"\n}\nconst _hoisted_6 = { class: \"p-3\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _withDirectives(_createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"nav\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _renderSlot(_ctx.$slots, \"header\", { data: _ctx.data }, undefined, true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"default\", { data: _ctx.data }, undefined, true),\n _createElementVNode(\"button\", {\n class: \"btn btn-danger confirmBtn\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onConfirm()))\n }, _toDisplayString(_ctx.$t(\"shared.confirm\")), 1),\n _createElementVNode(\"button\", {\n class: \"btn btn-outline-secondary ml-1 cancelBtn\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCancel()))\n }, _toDisplayString(_ctx.$t(\"shared.cancel\")), 1)\n ])\n ])\n ])\n ], 512), [\n [_vShow, _ctx.shown]\n ])\n ]))\n}","\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n data: () => ({\n /**\n * If the modal is shown\n */\n shown: false,\n /**\n * Custom data stored and consumed by parent\n */\n data: null,\n }),\n methods: {\n /**\n * Open the modal\n */\n open(data: unknown): void {\n this.shown = true;\n this.$emit(\"open\");\n this.data = data ?? null;\n },\n /**\n * Close the modal\n */\n close(): void {\n this.shown = false;\n this.data = null;\n this.$emit(\"close\");\n },\n /**\n * On cancel\n */\n onCancel(): void {\n this.$emit(\"cancel\", this.data);\n this.close();\n },\n /**\n * On confirm\n */\n onConfirm(): void {\n this.$emit(\"confirm\", this.data);\n this.close();\n },\n },\n})\nexport default class ConfirmationModal extends Vue {}\n","import { render } from \"./ConfirmationModal.vue?vue&type=template&id=2961bac3&scoped=true&ts=true\"\nimport script from \"./ConfirmationModal.vue?vue&type=script&lang=ts\"\nexport * from \"./ConfirmationModal.vue?vue&type=script&lang=ts\"\n\nimport \"./ConfirmationModal.vue?vue&type=style&index=0&id=2961bac3&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2961bac3\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1e13c39e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"detailsRow d-flex\" }\nconst _hoisted_2 = { class: \"detailsCol\" }\nconst _hoisted_3 = [\"title\"]\nconst _hoisted_4 = [\"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_SuccessStatusMsg = _resolveComponent(\"SuccessStatusMsg\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_SuccessStatusMsg, {\n successful: _ctx.saveSuccessful,\n showSuccessMsg: _ctx.showSuccessMsg,\n \"onUpdate:showSuccessMsg\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.showSuccessMsg) = $event))\n }, null, 8, [\"successful\", \"showSuccessMsg\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (!_ctx.editEnable)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n title: _ctx.$t('course-occurrence.edit-btn-title'),\n id: \"editBtn\",\n type: \"button\",\n class: \"btn btn-outline-primary\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.edit()))\n }, _toDisplayString(_ctx.$t(\"shared.edit\")), 9, _hoisted_3))\n : _createCommentVNode(\"\", true),\n (_ctx.editEnable)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: \"cancelBtn\",\n type: \"button\",\n class: \"btn btn-outline-primary mr-2\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.cancel()))\n }, _toDisplayString(_ctx.$t(\"shared.cancel\")), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.editEnable)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n \"background-color\": \"btn btn-primary\",\n id: \"saveBtn\",\n type: \"button\",\n class: \"btn btn-primary\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.save())),\n disabled: _ctx.saveBtnDisabled\n }, _toDisplayString(_ctx.$t(\"shared.save\")), 9, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 64))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-27dfd67d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { \"aria-hidden\": \"true\" }, \"×\", -1))\nconst _hoisted_2 = [\n _hoisted_1\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_ctx.show)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass(_ctx.successful ? 'save-successful' : 'save-unsuccessful')\n }, [\n _createTextVNode(_toDisplayString(_ctx.successMsg) + \" \", 1),\n (_ctx.show)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n type: \"button\",\n class: \"close\",\n \"data-dismiss\": \"alert\",\n \"aria-label\": \"Close\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.close()))\n }, _hoisted_2))\n : _createCommentVNode(\"\", true)\n ], 2))\n : _createCommentVNode(\"\", true)\n}","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /**\n * If true, displays the successful state message\n * otherwise the unsuccessful state message\n */\n successful: {\n type: Boolean as PropType,\n required: true,\n },\n /**\n * If true, displays the success status message\n * Triggered from the parent componenet\n */\n showSuccessMsg: {\n type: Boolean as PropType,\n required: true,\n },\n },\n emits: [\"update:showSuccessMsg\"],\n data: () => ({\n /**\n * If true, displays the success status message\n * Triggered from the parent componenet\n */\n showMsg: false,\n }),\n computed: {\n successMsg() {\n return this.successful\n ? this.$t(\"shared.saveSuccessful\")\n : this.$t(\"shared.saveUnsuccessful\");\n },\n show() {\n return (this.showMsg = this.showSuccessMsg);\n },\n },\n methods: {\n close(): void {\n this.showMsg = false;\n this.$emit(\"update:showSuccessMsg\", false);\n },\n },\n})\nexport default class SuccessStatusMsg extends Vue {}\n","import { render } from \"./SuccessStatusMsg.vue?vue&type=template&id=27dfd67d&scoped=true&ts=true\"\nimport script from \"./SuccessStatusMsg.vue?vue&type=script&lang=ts\"\nexport * from \"./SuccessStatusMsg.vue?vue&type=script&lang=ts\"\n\nimport \"./SuccessStatusMsg.vue?vue&type=style&index=0&id=27dfd67d&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27dfd67d\"]])\n\nexport default __exports__","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\nimport SuccessStatusMsg from \"@/components/SuccessStatusMsg.vue\";\n\n@Options({\n components: {\n SuccessStatusMsg,\n },\n props: {\n /**\n * Whether the save button should be disabled\n */\n saveBtnDisabled: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n },\n emits: [\"onSaveClicked\", \"onCancelClicked\", \"update:editEnable\"],\n data: () => ({\n /**\n * If edit-mode is enabled or not\n */\n editEnable: false,\n /**\n * If true, displays the save status message\n * Triggered from the parent componenet\n */\n showSuccessMsg: false,\n /**\n * Whether the save operation was successful\n */\n saveSuccessful: false,\n }),\n methods: {\n /**\n * Triggers save function in parent component\n */\n save(): void {\n this.$emit(\"onSaveClicked\");\n },\n /**\n * Activates edit mode\n */\n edit(): void {\n this.$emit(\"update:editEnable\", true);\n this.setEditEnable(true);\n },\n /**\n * Cancels edit mode\n */\n cancel(): void {\n this.$emit(\"onCancelClicked\");\n this.setEditEnable(false);\n },\n /**\n * Sets editEnable and hides the current success message\n */\n setEditEnable(editEnable: boolean): void {\n this.editEnable = editEnable;\n this.showSuccessMsg = false;\n this.showUnsuccessfulMsg = false;\n },\n /**\n * Triggered from the parent component\n */\n showSuccessStatus(saveSuccessful: boolean): void {\n this.saveSuccessful = saveSuccessful;\n this.showSuccessMsg = true;\n this.editEnable = false;\n },\n },\n})\nexport default class EditButtonsGroup extends Vue {}\n","import { render } from \"./EditButtonsGroup.vue?vue&type=template&id=1e13c39e&scoped=true&ts=true\"\nimport script from \"./EditButtonsGroup.vue?vue&type=script&lang=ts\"\nexport * from \"./EditButtonsGroup.vue?vue&type=script&lang=ts\"\n\nimport \"./EditButtonsGroup.vue?vue&type=style&index=0&id=1e13c39e&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1e13c39e\"]])\n\nexport default __exports__","\nimport { Options, Vue } from \"vue-class-component\";\nimport CoordinatorService from \"@/services/coordinator-service\";\nimport CourseService from \"@/services/course-service\";\nimport LocalStorageService from \"@/services/localstorage-service\";\nimport {\n CourseOccurrence,\n NoteTakerProposedCourse,\n Person,\n Student,\n NoteTakerOffer,\n} from \"@/interfaces/api\";\nimport { Constants } from \"@/constants/constants\";\nimport DetailsRow from \"@/components/DetailsRow.vue\";\nimport Table from \"@/components/Table.vue\";\nimport DetailsHeader from \"@/components/DetailsHeader.vue\";\nimport ConfirmationModal from \"@/components/ConfirmationModal.vue\";\nimport EditButtonsGroup from \"@/components/Form/EditButtonsGroup.vue\";\nimport SelectItem from \"@/components/Form/SelectItem.vue\";\nimport LuSpinner from \"@/components/Lu/LuSpinner.vue\";\nimport MappingHelper from \"@/helpers/mapping-helper\";\nimport DateHelper from \"@/helpers/date-helper\";\nimport { INameAndId } from \"@/interfaces/INameAndId\";\n\n@Options({\n components: {\n DetailsRow,\n Table,\n DetailsHeader,\n ConfirmationModal,\n SelectItem,\n LuSpinner,\n EditButtonsGroup,\n },\n data: () => ({\n /*\n * Holds the id of the occurrence and is populated from the route's id parameter when the page loads\n */\n currentOccurrenceId: 0,\n /*\n * Holds the occurrence data and is populated by a call to the occurrence service when the page loads\n */\n occurrence: null,\n /*\n * Holds a list of coordinator names and ids and is populated by a call to the coordinator service when the page loads\n */\n coordinators: new Array(),\n /**\n * Used to show or hide spinner\n */\n isLoading: false,\n /**\n * If edit-mode is enabled or not\n */\n editEnable: false,\n /**\n * The id and name of the currently saved coordinator\n * Used in order to revert to in the case that update fails or more than one save is performed\n */\n currentCoordinator: { id: 0, name: \"\" },\n /**\n * The course has been removed from Ladok and contains property values \"unavailable\"\n */\n isRemovedFromLadok: false,\n }),\n computed: {\n /*\n * Used by the previous/next button logic\n */\n allCourseOccurrenceIds() {\n const sortedCourseOccurrenceIds = LocalStorageService.getItem(\n Constants.SortedCourseOccurrenceIds\n );\n return sortedCourseOccurrenceIds;\n },\n /*\n * The id of the occurrence to load when the next button is clicked\n */\n nextCourseOccurrenceId() {\n const currentIdIndex = this.allCourseOccurrenceIds.indexOf(\n this.currentOccurrenceId\n );\n let nextIdIndex = currentIdIndex + 1;\n if (nextIdIndex >= this.allCourseOccurrenceIds.length) {\n nextIdIndex = 0;\n }\n return this.allCourseOccurrenceIds.slice(nextIdIndex, nextIdIndex + 1)[0];\n },\n /*\n * The id of the occurrence to load when the previous button is clicked\n */\n previousCourseOccurrenceId() {\n const currentIdIndex = this.allCourseOccurrenceIds.indexOf(\n this.currentOccurrenceId\n );\n let previousIdIndex = currentIdIndex - 1;\n if (previousIdIndex < 0) {\n previousIdIndex = this.allCourseOccurrenceIds.length - 1;\n }\n return this.allCourseOccurrenceIds.slice(\n previousIdIndex,\n previousIdIndex + 1\n )[0];\n },\n /**\n * Holds course title value depending on chosen locale\n */\n courseTitle() {\n return this.$i18n.locale === \"sv\"\n ? this.occurrence.titleSv\n : this.occurrence.titleEn;\n },\n /**\n * Holds faculty value depending on chosen locale\n */\n faculty() {\n return this.$i18n.locale === \"sv\"\n ? this.occurrence.facultySv\n : this.occurrence.facultyEn;\n },\n /**\n * Holds institution value depending on chosen locale\n */\n institution() {\n return this.$i18n.locale === \"sv\"\n ? this.occurrence.institutionSv\n : this.occurrence.institutionEn;\n },\n /**\n * Holds the active student to show in the table\n */\n studentRows() {\n return this.occurrence.students.map((student: Student) => ({\n id: student.id,\n name: `${student.firstName} ${student.lastName}`,\n personalId: student.personalId,\n }));\n },\n /**\n * Holds the active notetakers to show in the table\n */\n noteTakerRows() {\n const occurrence = this.occurrence as CourseOccurrence;\n const noteTakers = occurrence.noteTakers;\n if (!noteTakers) {\n return [];\n }\n\n const noteTakerRows = noteTakers?.map((noteTaker) => ({\n id: noteTaker.id,\n name: `${noteTaker.firstName} ${noteTaker.lastName}`,\n personalId: noteTaker.personalId,\n started: noteTaker.supportCourseOccurrences?.find(\n (course) => course.courseOccurrenceId === occurrence.id\n )?.assignmentStart,\n }));\n\n return noteTakerRows;\n },\n /**\n * Only notetakers that have an intrest but not an assignment\n */\n proposedNoteTakersWithoutAssignment(): NoteTakerProposedCourse[] {\n const occurrence = this.occurrence as CourseOccurrence;\n const proposedNoteTakers = occurrence.proposedNoteTakers;\n if (!proposedNoteTakers) {\n return [];\n }\n return proposedNoteTakers?.filter(\n ({ noteTaker: proposedNoteTaker }) =>\n !occurrence.noteTakers?.find(\n (noteTaker) => noteTaker.id === proposedNoteTaker.id\n )\n );\n },\n /**\n * Only notetakers that have an intrest but not an assignment\n */\n proposedNoteTakersWithoutAssignmentRows() {\n const occurrence = this.occurrence as CourseOccurrence;\n\n const proposedNoteTakersWithoutAssignment: NoteTakerProposedCourse[] =\n this.proposedNoteTakersWithoutAssignment;\n\n return proposedNoteTakersWithoutAssignment.map(\n (noteTakerProposedCourse) => {\n const noteTaker = noteTakerProposedCourse.noteTaker;\n const workOffers = occurrence.noteTakerOffers?.filter(\n (offer) => offer.noteTakerId === noteTaker.id\n );\n\n const lastWorkOffer = workOffers\n ?.sort((offerA: NoteTakerOffer, offerB: NoteTakerOffer) =>\n DateHelper.dateCompareFunction(offerA.sent, offerB.sent)\n )\n .reverse()[0];\n\n return {\n id: noteTaker.id,\n name: `${noteTaker.firstName} ${noteTaker.lastName}`,\n personalId: noteTaker.personalId,\n interest: noteTakerProposedCourse.inserted,\n offerSent: lastWorkOffer?.sent,\n offerCanceled: lastWorkOffer?.canceled,\n offerId: lastWorkOffer?.id,\n };\n }\n );\n },\n /**\n * Holds the summary of note-taker uploads to show in the table\n */\n noteTakerUploads() {\n const occurrence = this.occurrence as CourseOccurrence;\n const uploads = occurrence.noteTakerUploadSummaries;\n if (!uploads) {\n return [];\n }\n\n return uploads;\n },\n /*\n * Prevents using the save button unless the coordinator has been changed\n */\n saveBtnDisabled(): boolean {\n return this.occurrence.coordinatorId === this.currentCoordinator.id;\n },\n /**\n * The unavailable reason translation for the current locale\n */\n notAvailableReason(): string {\n return this.$t(\"course-occurrence.unavailable-reason\", {\n courseUid: this.occurrence.courseUid,\n occurrence: this.occurrence.occurrence,\n });\n },\n /*\n * Prevents change of student or note-taker after course end\n */\n studentOrNoteTakerBtnDisabled(): boolean {\n return DateHelper.dateAisBeforeDateB(\n this.occurrence.courseEndDate,\n new Date()\n );\n },\n },\n methods: {\n /*\n * Formats the date to YYYY-MM-DD\n */\n formatDate(date: Date): string {\n return DateHelper.formatDate(date);\n },\n /**\n * Fetches the course occurrence with the id from route parameter\n */\n getCourseOccurrence(): void {\n this.isLoading = true;\n const localstorageLang = LocalStorageService.getItem(\"language\");\n this.$root.$i18n.locale = localstorageLang;\n if (\n this.$route.name === \"CourseOccurrenceDetails\" &&\n this.$route.params.id\n ) {\n this.currentOccurrenceId = parseInt(this.$route.params.id);\n CourseService.getCourseOccurrenceById(this.currentOccurrenceId)\n .then((data: CourseOccurrence | undefined) => {\n this.occurrence = data;\n this.isRemovedFromLadok =\n this.occurrence.titleSv === Constants.NotAvailable;\n this.updateCurrentCoordinator();\n this.getCoordinators();\n this.isLoading = false;\n })\n .catch((e: Error) => {\n console.error(e);\n });\n }\n },\n /**\n * Fetches the coordinators for the function with the supplied id\n */\n getCoordinators() {\n CoordinatorService.getCachedCoordinatorsByFunctionId(\n Constants.NoteTakingFunctionId\n ).then((coordinators) => {\n this.coordinators = coordinators;\n });\n },\n /*\n * Updates the course occurrence - triggered from EditButtonsGroup component\n */\n updateCourseOccurrence(): void {\n this.isLoading = true;\n CourseService.updateCourseOccurrence(this.occurrence).then(\n (success: boolean) => {\n if (success) {\n this.$refs[\"editButtonsGroup\"].showSuccessStatus(true);\n this.updateCurrentCoordinator();\n } else {\n this.$refs[\"editButtonsGroup\"].showSuccessStatus(false);\n this.occurrence.coordinatorId = this.currentCoordinator.id;\n this.occurrence.coordinatorName = this.currentCoordinator.name;\n }\n this.isLoading = false;\n this.editEnable = false;\n }\n );\n },\n /*\n * Updates the current coordinator\n */\n updateCurrentCoordinator(): void {\n this.currentCoordinator = {\n id: this.occurrence.coordinatorId,\n name: this.occurrence.coordinatorName,\n };\n },\n /*\n * Navigates to the course occurrence with the specified id\n * Called from the next/previous button click\n */\n navigateToCourseOccurrence(id: number): void {\n this.$router.push({\n name: \"CourseOccurrenceDetails\",\n params: { id: id },\n });\n },\n /*\n * Navigates to the course occurrence overview\n * Called from the overview button click\n */\n navigateToOverview(): void {\n this.$router.push({\n name: \"CourseOccurrenceList\",\n });\n },\n /**\n * Returns a color based on course occurrence status\n *\n * @param {string} status The status we want a color for\n */\n statusBgColor(status: string): string {\n return CourseService.courseOccurrenceStatusColor(status);\n },\n /**\n * Returns a color based on status\n *\n * @param {string} status The status we want a color for\n */\n statusTextColor(status: string): string {\n return status === \"Yellow\" ? \"black\" : \"white\";\n },\n /**\n * Returns a text based on status\n *\n * @param {string} status The status we want a tooltip text for\n */\n statusText(status: string): string {\n return this.$t(CourseService.courseOccurrenceStatusText(status));\n },\n /**\n * Returns a list of links to Details view for the specified person list\n */\n detailViewLinks(\n personList: Array,\n detailsViewRoute: string\n ): Array {\n const localstorageLang = LocalStorageService.getItem(\"language\");\n this.$root.$i18n.locale = localstorageLang;\n const links = MappingHelper.mapPersonToDetailViewLinks(\n personList,\n `/administrator/${detailsViewRoute}`\n );\n\n return links;\n },\n /**\n * Delete the specified student from the course occurrence\n */\n deleteStudent(studentId: number): Promise {\n return CourseService.deleteStudentFromCourseOccurrence(\n this.currentOccurrenceId,\n studentId\n ).then(this.getCourseOccurrence);\n },\n /**\n * Delete the specified note taker from the course occurrence\n */\n deleteNoteTaker(noteTakerId: number): Promise {\n this.$store.commit(\"showSpinner\", true);\n return CourseService.deleteNoteTakerFromCourseOccurrence(\n this.currentOccurrenceId,\n noteTakerId\n )\n .then(this.getCourseOccurrence)\n .finally(() => {\n this.$store.commit(\"showSpinner\", false);\n });\n },\n sendOffer(noteTakerId: number): Promise {\n return CourseService.sendOfferToNoteTaker(\n this.currentOccurrenceId,\n noteTakerId\n ).then(this.getCourseOccurrence);\n },\n cancelOffer(offerId: number): Promise {\n return CourseService.cancelOffer(offerId).then(this.getCourseOccurrence);\n },\n /**\n * Triggered from editbuttons group component\n */\n cancelCoordinatorUpdate() {\n this.editEnable = false;\n this.occurrence.coordinatorId = this.currentCoordinator.id;\n this.occurrence.coordinatorName = this.currentCoordinator.name;\n },\n /**\n * Checks if the specified value is unavailable and if so,\n * replaces it with the the unavailable translation for the current locale\n * Also checks if the value is a date and if so, formats it to YYYY-MM-DD\n */\n replaceUnvailableOrFormatDate(value: string): string {\n return CourseService.replaceUnvailableOrFormatDate(\n value,\n this.$t(\"course-occurrence.unavailable\")\n );\n },\n },\n mounted() {\n this.getCourseOccurrence();\n },\n watch: {\n $route() {\n this.getCourseOccurrence();\n },\n },\n})\nexport default class CourseOccurrenceDetails extends Vue {}\n","import { render } from \"./CourseOccurrenceDetails.vue?vue&type=template&id=1608d1ac&scoped=true&ts=true\"\nimport script from \"./CourseOccurrenceDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./CourseOccurrenceDetails.vue?vue&type=script&lang=ts\"\n\nimport \"./CourseOccurrenceDetails.vue?vue&type=style&index=0&id=1608d1ac&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1608d1ac\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, renderSlot as _renderSlot, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0948d347\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"detailsRow\" }\nconst _hoisted_2 = { class: \"detailsCaption\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"detailsCol\"\n}\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = {\n key: 2,\n class: \"detailsCol\"\n}\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { key: 1 }\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = {\n key: 3,\n class: \"detailsCol\"\n}\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = [\"innerHTML\"]\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = {\n key: 4,\n class: \"detailsCol\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MandatoryFieldFlag = _resolveComponent(\"MandatoryFieldFlag\")!\n const _component_Badge = _resolveComponent(\"Badge\")!\n const _component_Tooltip = _resolveComponent(\"Tooltip\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.caption ? _ctx.$t(_ctx.caption) : \"\") + \" \", 1),\n (_ctx.required)\n ? (_openBlock(), _createBlock(_component_MandatoryFieldFlag, { key: 0 }))\n : _createCommentVNode(\"\", true)\n ]),\n (\n !_ctx.detailsAreHtml && !_ctx.showDetailsAsBadge && !_ctx.detailsAreList && _ctx.details\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.details), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.detailsAreHtml && !_ctx.showDetailsAsBadge && !_ctx.detailsAreList)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"detailsCol\",\n innerHTML: _ctx.details\n }, null, 8, _hoisted_4))\n : _createCommentVNode(\"\", true),\n (_ctx.showDetailsAsBadge)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n (_ctx.showTooltip)\n ? (_openBlock(), _createBlock(_component_Tooltip, {\n key: 0,\n text: _ctx.tooltipText,\n bgColor: _ctx.tooltipColor,\n color: _ctx.tooltipTextColor\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Badge, {\n rounded: true,\n backgroundColor: _ctx.badgeBackgroundColor\n }, {\n default: _withCtx(() => [\n (_ctx.showDetailsInBadge)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString(_ctx.details), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_7, \" \"))\n ]),\n _: 1\n }, 8, [\"backgroundColor\"])\n ]),\n _: 1\n }, 8, [\"text\", \"bgColor\", \"color\"]))\n : (_openBlock(), _createBlock(_component_Badge, {\n key: 1,\n rounded: true,\n backgroundColor: _ctx.badgeBackgroundColor\n }, {\n default: _withCtx(() => [\n (_ctx.showDetailsInBadge)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_8, _toDisplayString(_ctx.details), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_9, \" \"))\n ]),\n _: 1\n }, 8, [\"backgroundColor\"]))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.detailsAreList)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n (_ctx.detailsAreHtml)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_11, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.details, (item) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: item,\n innerHTML: item\n }, null, 8, _hoisted_12))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"ul\", _hoisted_13, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.details, (item) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: item }, _toDisplayString(item), 1))\n }), 128))\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.details || !_ctx.details.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\nimport Badge from \"@/components/Badge.vue\";\nimport Tooltip from \"@/components/Tooltip.vue\";\nimport MandatoryFieldFlag from \"@/components/Form/MandatoryFieldFlag.vue\";\n\n@Options({\n components: {\n Badge,\n Tooltip,\n MandatoryFieldFlag,\n },\n props: {\n /**\n * The caption for the row\n */\n caption: {\n type: String as PropType,\n required: false,\n },\n /**\n * The info/details for the row\n */\n details: {\n type: [String, Array] as PropType>,\n required: false,\n },\n /**\n * If set to true the details are shown as a badge\n */\n showDetailsAsBadge: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * If set to true the details are shown in the badge,\n * otherwise the badge can be used for example purely as a status color\n * showDetailsAsBadge must also be set to true\n */\n showDetailsInBadge: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * Background color of the badge\n */\n badgeBackgroundColor: {\n type: String as PropType,\n required: false,\n },\n /**\n * If set to true the details are shown as a list\n */\n detailsAreList: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * If set to true the details are rendered as a HTML\n */\n detailsAreHtml: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n showTooltip: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n tooltipText: {\n type: String as PropType,\n required: false,\n },\n tooltipColor: {\n type: String as PropType,\n required: false,\n },\n tooltipTextColor: {\n type: String as PropType,\n required: false,\n },\n required: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n },\n})\nexport default class DetailsRow extends Vue {}\n","import { render } from \"./DetailsRow.vue?vue&type=template&id=0948d347&scoped=true&ts=true\"\nimport script from \"./DetailsRow.vue?vue&type=script&lang=ts\"\nexport * from \"./DetailsRow.vue?vue&type=script&lang=ts\"\n\nimport \"./DetailsRow.vue?vue&type=style&index=0&id=0948d347&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0948d347\"]])\n\nexport default __exports__"],"sourceRoot":""}