{"version":3,"sources":["webpack:///./node_modules/core-js/internals/engine-ff-version.js","webpack:///./src/services/notetaker-service.ts","webpack:///./src/views/NoteTakingRequest.vue?9990","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./src/services/term-service.ts","webpack:///./src/views/NoteTakingRequest.vue","webpack:///./src/views/NoteTakingRequest.vue?7ff2","webpack:///./src/helpers/id-helper.ts","webpack:///./src/components/Form/MandatoryFieldFlag.vue?d35e","webpack:///./src/helpers/date-helper.ts","webpack:///./node_modules/core-js/modules/es.array.sort.js","webpack:///./node_modules/core-js/internals/engine-webkit-version.js","webpack:///./node_modules/dayjs/dayjs.min.js","webpack:///./src/helpers/string-helper.ts","webpack:///./node_modules/core-js/modules/es.array.find.js","webpack:///./src/helpers/querystring-helper.ts","webpack:///./src/views/NoteTakingRequest.vue?09c9","webpack:///./src/services/course-service.ts","webpack:///./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack:///./src/components/Form/MandatoryFieldFlag.vue?e8f2","webpack:///./src/components/Form/MandatoryFieldFlag.vue","webpack:///./src/components/Form/MandatoryFieldFlag.vue?c1c8","webpack:///./src/components/Form/RadioButtonGroup.vue?6a61","webpack:///./src/components/Form/RadioButtonGroup.vue","webpack:///./src/components/Form/RadioButtonGroup.vue?bb43"],"names":["userAgent","firefox","match","module","exports","NoteTakerService","noteTakerParameters","endpointController","enpointRoute","queryString","this","generateQuerystring","getNoteTakerById","baseApiUrl","fetch","getAllNoteTakers","id","parameterName","parameterArgument","luEduPersonPrimaryId","getApplicant","getStatus","noteTaker","addOrUpdateNoteTaker","method","headers","body","JSON","stringify","status","length","forEach","generateSearchAndPagingParameters","n","_hoisted_1","class","_hoisted_2","key","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_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","href","target","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","render","_ctx","_cache","$props","$setup","$data","$options","_component_Modal","_component_LuSpinner","_component_TextInput","_component_Accordion","_component_MandatoryFieldFlag","_component_CourseInput","ref","onClose","$event","reloadView","default","popupSuccessMessage","_","name","fn","$t","firstName","undefined","goToStudentHome","isAnActiveStudentInNeed","isLoading","personHasInterimPersonalId","onSubmit","sendApplication","innerHTML","expanded","button","content","personalId","lastName","email","telephoneNumber","label","maxLength","value","address","required","postcode","city","courses","terms","term","currentTerm","getTermString","getCoursesByTerm","course","courseCode","courseOccurrenceId","getCourseOccurrenceId","courseUid","tooltipText","disabled","isSupportCourse","isCompleted","isCompletedCourse","isDeletedByAdmin","onCourseCheckedChanged","type","onClick","submitButtonText","hasBeenSent","dataIsUpdated","_objectWithoutPropertiesLoose","source","excluded","i","sourceKeys","Object","keys","indexOf","_objectWithoutProperties","objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","endpointRoute","getStudyTermInfo","then","studyTermInfo","thisTerm","previousTerm","components","MandatoryFieldFlag","TextInput","RadioButtonGroup","Select","Accordion","CourseInput","Modal","LuSpinner","data","noterTakerOnload","selectedCourseUidsOnLoad","selectedCourseUids","methods","getNoteTaker","getLuEduPersonPrimaryId","$route","query","lucatid","$refs","open","map","checked","isProposedCourse","getItemsOnLoad","catch","e","console","error","applicationData","proposedCourses","result","setNoteTakerAndSelectedCourseUidsOnLoad","proposedCourse","find","toLowerCase","supportCourseOccurrences","supportCourse","assignmentStart","getCourseEndDate","completedCourse","courseEndDate","$router","push","isDisabled","date","formatDate","sort","isCurrentlySelected","x","filter","stringifyToLowerCase","window","location","reload","deletedByAdmin","computed","getTerms","regex","mounted","getCurrentTerm","__exports__","IdHelper","lucatId","currentUser","state","currentUserId","entitlements","includes","env","DateHelper","dateA","dateB","a","b","isBefore","isAfter","format","DateFormat","earlierDate","laterDate","diff","days","add","toDate","isSame","$","uncurryThis","aCallable","toObject","lengthOfArrayLike","toString","fails","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","test","un$Sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","index","String","fromCharCode","k","v","charAt","FORCED","getSortCompare","comparefn","y","proto","forced","array","itemsLength","items","arrayLength","webkit","t","r","s","u","o","f","h","c","d","l","M","weekdays","split","months","m","Array","join","g","z","utcOffset","Math","abs","floor","year","month","clone","ceil","p","w","D","ms","Q","replace","S","args","arguments","O","locale","$L","utc","$u","$x","$offset","parse","$d","Date","NaN","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","startOf","endOf","$g","set","unix","valueOf","getTime","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","toJSON","toISOString","toUTCString","T","extend","$i","isDayjs","en","Ls","StringHelper","input","stringLength","useLastWordBoundary","subString","lastIndexOf","item","$find","addToUnscopables","FIND","SKIPS_HOLES","callbackfn","QuerystringHelper","parameters","search","sortBy","sortOrder","pageNumber","pageSize","CourseService","paramName","paramValue","querystring","getCoursesByLuEduPersonPrimaryId","getCourseOccurrences","getCourseOccurrenceById","updateCourseOccurrence","noteTakerId","parameterName2","parameterArgument2","DeleteNoteTakerFromCourseOccurrence","studentId","paramName2","paramValue2","DeleteStudentFromCourseOccurrence","SendOfferToNoteTaker","offerId","CancelOffer","addStudentToCourseInstance","coordinatorId","replacement","NotAvailable","startsWith","MinDateValue","startsWithIsoShortDate","isoShortDatePattern","title","unavailable","grantedSupportDate","selectedCourses","dateAisBeforeDateB","courseStartDate","UA","verticalLayout","showFieldset","showTitle","values","selected","onChange","ref_for","onInvalid","validityMessage","setValidityMessage","for","$slots","helpText","props","Boolean","$emit","message","setCustomValidity"],"mappings":"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","file":"assets/js/chunk-c2ab4202.b4472269.js","sourcesContent":["var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","import QuerystringHelper from \"@/helpers/querystring-helper\";\nimport {\n NoteTaker,\n NoteTakerStatusCount,\n NoteTakerParameters,\n PagedList,\n OverviewNoteTaker,\n} from \"@/interfaces/api\";\nimport BaseService from \"./base-service\";\n\nclass NoteTakerService extends BaseService {\n /**\n * Fetches note takers according to the specified filter/paging parameters\n *\n * @param {NoteTakerParameters} noteTakerParameters - The filter/paging parameters to be added to the resource querystring\n * @returns {Promise>} A Promise with all the note takers that matched the parameters\n */\n getFiltered(\n noteTakerParameters: NoteTakerParameters\n ): Promise> {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"search\";\n const queryString = this.generateQuerystring(noteTakerParameters);\n const getNoteTakerById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}${queryString}`;\n return this.fetch>(getNoteTakerById);\n }\n\n /**\n * Fetches all note takers\n * @returns {Promise>} A Promise with all note takers\n */\n getAllNoteTakers(): Promise> {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"one-call\";\n const getAllNoteTakers = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}`;\n return this.fetch>(getAllNoteTakers);\n }\n\n /**\n * Fetches the note taker with the specified id\n *\n * @param {number} id - The id of the note taker to fetch\n * @returns {Promise} A Promise with the note taker\n */\n getNoteTakerById(id: number): Promise {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"id\";\n const parameterName = \"id\";\n const parameterArgument = id;\n const getNoteTakerById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${parameterName}=${parameterArgument}`;\n return this.fetch(getNoteTakerById);\n }\n\n /**\n * Fetches the note taker with the specified luEduPersonPrimaryId\n *\n * @param {string} luEduPersonPrimaryId - The luEduPersonPrimaryId of the note taker to fetch\n * @returns {Promise} A promise with the applicant\n */\n getApplicant(luEduPersonPrimaryId: string): Promise {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"primaryId\";\n const parameterName = \"luEduPersonPrimaryId\";\n const parameterArgument = luEduPersonPrimaryId;\n const getApplicant = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${parameterName}=${parameterArgument}`;\n return this.fetch(getApplicant);\n }\n\n /**\n * Fetches the count of statuses\n *\n * @returns {Promise} A promise with the count of statuses\n */\n getNoteTakerStatusCount(): Promise {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"statusCount\";\n const getStatus = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}`;\n return this.fetch(getStatus);\n }\n\n /**\n * Adds or updates a note taker\n *\n * @param {NoteTaker} noteTaker - The note taker to Add och Update\n * @returns {Promise} A promise with a boolean value indicating whether or not the operation was successful\n */\n addOrUpdateNoteTaker(noteTaker: NoteTaker): Promise {\n const endpointController = \"NoteTaker\";\n const addOrUpdateNoteTaker = `${this.baseApiUrl}api/${endpointController}`;\n return this.fetch(addOrUpdateNoteTaker, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(noteTaker),\n });\n }\n\n /**\n * Returns a query string according to the specified filter parameters\n *\n * @param {NoteTakerParameters} noteTakerParameters - The filter/paging parameters to be added to the resource querystring\n * @returns {string} The generated query string\n */\n private generateQuerystring(\n noteTakerParameters: NoteTakerParameters\n ): string {\n let queryString = \"?\";\n\n if (noteTakerParameters.status.length > 0) {\n noteTakerParameters.status.forEach((status) => {\n queryString += `Status=${status}&`;\n });\n }\n\n queryString +=\n QuerystringHelper.generateSearchAndPagingParameters(noteTakerParameters);\n\n return queryString;\n }\n}\n\nexport default new NoteTakerService();\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createSlots as _createSlots, createVNode as _createVNode, createTextVNode as _createTextVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2049a5f6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"m-0\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"p-3\"\n}\nconst _hoisted_3 = { class: \"m-0\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"p-3\"\n}\nconst _hoisted_5 = { class: \"m-0\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"p-3\"\n}\nconst _hoisted_7 = { class: \"m-0\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"p-3\"\n}\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = { class: \"card col-12 col-lg-8\" }\nconst _hoisted_12 = [\"innerHTML\"]\nconst _hoisted_13 = { class: \"information\" }\nconst _hoisted_14 = { class: \"form-row mb-3\" }\nconst _hoisted_15 = { class: \"caption pr-2\" }\nconst _hoisted_16 = { class: \"col text-right text-sm-left\" }\nconst _hoisted_17 = { class: \"form-row mb-3\" }\nconst _hoisted_18 = { class: \"caption pr-2\" }\nconst _hoisted_19 = { class: \"col text-right text-sm-left\" }\nconst _hoisted_20 = { class: \"form-row mb-3\" }\nconst _hoisted_21 = { class: \"caption pr-2\" }\nconst _hoisted_22 = { class: \"col text-right text-sm-left\" }\nconst _hoisted_23 = { class: \"form-row mb-3\" }\nconst _hoisted_24 = { class: \"caption pr-2\" }\nconst _hoisted_25 = { class: \"col text-right text-sm-left\" }\nconst _hoisted_26 = { class: \"form-row mb-3\" }\nconst _hoisted_27 = {\n id: \"formTextHelp\",\n class: \"form-text text-muted\"\n}\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"https://www.student.ladok.se/student/app/studentwebb/\",\n target: \"_blank\"\n}, \" Ladok \", -1))\nconst _hoisted_29 = { class: \"form-row\" }\nconst _hoisted_30 = { class: \"form-row\" }\nconst _hoisted_31 = { class: \"card-header\" }\nconst _hoisted_32 = { class: \"card-body\" }\nconst _hoisted_33 = { class: \"form-row\" }\nconst _hoisted_34 = [\"value\", \"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_LuSpinner = _resolveComponent(\"LuSpinner\")!\n const _component_TextInput = _resolveComponent(\"TextInput\")!\n const _component_Accordion = _resolveComponent(\"Accordion\")!\n const _component_MandatoryFieldFlag = _resolveComponent(\"MandatoryFieldFlag\")!\n const _component_CourseInput = _resolveComponent(\"CourseInput\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Modal, {\n ref: \"success-modal\",\n onClose: _cache[0] || (_cache[0] = ($event: any) => (_ctx.reloadView()))\n }, _createSlots({\n default: _withCtx(() => [\n (_ctx.noteTaker !== null)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _toDisplayString(_ctx.popupSuccessMessage), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (_ctx.noteTaker !== null)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h2\", _hoisted_1, _toDisplayString(_ctx.$t(\"note-taking-request.popup-success.title\", {\n name: _ctx.noteTaker.firstName,\n })), 1)\n ])\n }\n : undefined\n ]), 1536),\n _createVNode(_component_Modal, { ref: \"error-modal\" }, _createSlots({\n default: _withCtx(() => [\n (_ctx.noteTaker !== null)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(_ctx.$t(\"shared.popup-error.message\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (_ctx.noteTaker !== null)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h2\", _hoisted_3, _toDisplayString(_ctx.$t(\"shared.popup-error.title\", {\n name: _ctx.noteTaker.firstName,\n })), 1)\n ])\n }\n : undefined\n ]), 1536),\n _createVNode(_component_Modal, { ref: \"alert-modal\" }, _createSlots({\n default: _withCtx(() => [\n (_ctx.noteTaker !== null)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_6, _toDisplayString(_ctx.$t(\"note-taking-request.alert-message\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (_ctx.noteTaker !== null)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h2\", _hoisted_5, _toDisplayString(_ctx.$t(\"shared.popup-error.title\", {\n name: _ctx.noteTaker.firstName,\n })), 1)\n ])\n }\n : undefined\n ]), 1536),\n _createVNode(_component_Modal, {\n ref: \"not-possible-modal\",\n onClose: _cache[1] || (_cache[1] = ($event: any) => (_ctx.goToStudentHome()))\n }, _createSlots({\n default: _withCtx(() => [\n (_ctx.noteTaker !== null)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_8, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"note-taking-request.popup-not-possible.message\")), 1),\n (_ctx.noteTaker.isAnActiveStudentInNeed)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, _toDisplayString(_ctx.$t(\"note-taking-request.popup-not-possible.student-message\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(\"note-taking-request.popup-not-possible.interim-message\")), 1))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (_ctx.noteTaker !== null)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h2\", _hoisted_7, _toDisplayString(_ctx.$t(\"note-taking-request.popup-not-possible.title\", {\n name: _ctx.noteTaker.firstName,\n })), 1)\n ])\n }\n : undefined\n ]), 1536),\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LuSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (\n _ctx.noteTaker !== null &&\n !_ctx.noteTaker.isAnActiveStudentInNeed &&\n !_ctx.personHasInterimPersonalId\n )\n ? (_openBlock(), _createElementBlock(\"form\", {\n key: 1,\n class: \"row justify-content-center\",\n onSubmit: _cache[7] || (_cache[7] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.sendApplication && _ctx.sendApplication(...args)), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t(\"note-taking-request.title\")), 1),\n _createElementVNode(\"span\", {\n innerHTML: _ctx.$t('note-taking-request.description'),\n class: \"description\"\n }, null, 8, _hoisted_12),\n _createVNode(_component_Accordion, {\n expanded: _ctx.noteTaker.id === 0,\n class: \"mb-3\"\n }, {\n button: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t(\"note-taking-request.info-about-you\")), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.$t(\"person.personalId\")), 1),\n _createElementVNode(\"div\", _hoisted_16, _toDisplayString(_ctx.noteTaker.personalId), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, _toDisplayString(_ctx.$t(\"person.name\")), 1),\n _createElementVNode(\"div\", _hoisted_19, _toDisplayString(_ctx.noteTaker.firstName) + \" \" + _toDisplayString(_ctx.noteTaker.lastName), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, _toDisplayString(_ctx.$t(\"person.email\")), 1),\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString(_ctx.noteTaker.email), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, _toDisplayString(_ctx.$t(\"person.telephoneNumber\")), 1),\n _createElementVNode(\"div\", _hoisted_25, _toDisplayString(_ctx.noteTaker.telephoneNumber), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"small\", _hoisted_27, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"note-taking-request.edit-information-ladok\")) + \" \", 1),\n _hoisted_28\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createVNode(_component_TextInput, {\n label: _ctx.$t('person.address'),\n maxLength: 250,\n value: _ctx.noteTaker.address,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.noteTaker.address) = $event)),\n required: \"\"\n }, null, 8, [\"label\", \"value\"])\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _createVNode(_component_TextInput, {\n label: _ctx.$t('person.postcode'),\n maxLength: 10,\n value: _ctx.noteTaker.postcode,\n \"onUpdate:value\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.noteTaker.postcode) = $event)),\n required: true\n }, null, 8, [\"label\", \"value\"]),\n _createVNode(_component_TextInput, {\n label: _ctx.$t('person.city'),\n maxLength: 250,\n value: _ctx.noteTaker.city,\n \"onUpdate:value\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.noteTaker.city) = $event)),\n required: true\n }, null, 8, [\"label\", \"value\"])\n ])\n ]),\n _: 1\n }, 8, [\"expanded\"])\n ]),\n (_ctx.courses !== null)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"card col-12 col-lg-8\",\n onSubmit: _cache[6] || (_cache[6] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.sendApplication && _ctx.sendApplication(...args)), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_31, _toDisplayString(_ctx.$t(\"shared.courses\")), 1),\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"p\", null, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"note-taking-request.choose-courses-label\")) + \" \", 1),\n _createVNode(_component_MandatoryFieldFlag)\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.terms, (term) => {\n return (_openBlock(), _createBlock(_component_Accordion, {\n key: term,\n class: \"mb-3\",\n expanded: term === _ctx.currentTerm\n }, {\n button: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.getTermString(term)), 1)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getCoursesByTerm(term), (course) => {\n return (_openBlock(), _createBlock(_component_CourseInput, {\n key: course.courseCode,\n course: course,\n courseOccurrenceId: _ctx.getCourseOccurrenceId(course.courseUid),\n tooltipText: _ctx.tooltipText(course.disabled, course.courseUid),\n isSupportCourse: _ctx.isSupportCourse(course.courseUid),\n isCompleted: _ctx.isCompletedCourse(course.courseUid),\n isDeletedByAdmin: _ctx.isDeletedByAdmin(course.courseUid),\n onCourseCheckedChanged: _ctx.onCourseCheckedChanged\n }, null, 8, [\"course\", \"courseOccurrenceId\", \"tooltipText\", \"isSupportCourse\", \"isCompleted\", \"isDeletedByAdmin\", \"onCourseCheckedChanged\"]))\n }), 128))\n ]),\n _: 2\n }, 1032, [\"expanded\"]))\n }), 128)),\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"button\", {\n id: \"cancelBtn\",\n type: \"button\",\n class: \"btn btn-outline-primary mb-3\",\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.goToStudentHome()))\n }, _toDisplayString(_ctx.$t(\"shared.cancel\")), 1),\n _createElementVNode(\"input\", {\n type: \"submit\",\n class: \"btn btn-primary mb-3\",\n value: _ctx.submitButtonText,\n disabled: _ctx.hasBeenSent || !_ctx.dataIsUpdated\n }, null, 8, _hoisted_34)\n ])\n ])\n ], 32))\n : _createCommentVNode(\"\", true)\n ], 32))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","import { StudyTermInfo } from \"@/interfaces/api\";\nimport BaseService from \"@/services/base-service\";\n\nclass TermService extends BaseService {\n /**\n * Fetches StudyTermInfo for current and previous term\n *\n * @returns {Promise} A promise with the StudyTermInfo\n */\n getStudyTermInfo(): Promise {\n const endpointController = \"Term\";\n const endpointRoute = \"studyTermInfo\";\n const getStudyTermInfo = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}`;\n return this.fetch(getStudyTermInfo);\n }\n\n /**\n * Fetches the current term\n *\n * @returns {Promise} A promise with the current term\n */\n getCurrentTerm(): Promise {\n return this.getStudyTermInfo().then(\n (studyTermInfo) => studyTermInfo.thisTerm\n );\n }\n\n /**\n * Fetches the previous term\n *\n * @returns {Promise} A promise with the previous term\n */\n getPreviousTerm(): Promise {\n return this.getStudyTermInfo().then(\n (studyTermInfo) => studyTermInfo.previousTerm\n );\n }\n}\n\nexport default new TermService();\n","\nimport { Options, Vue } from \"vue-class-component\";\nimport MandatoryFieldFlag from \"@/components/Form/MandatoryFieldFlag.vue\";\nimport TextInput from \"@/components/Form/TextInput.vue\";\nimport RadioButtonGroup from \"@/components/Form/RadioButtonGroup.vue\";\nimport Select from \"@/components/Form/Select.vue\";\nimport Accordion from \"@/components/Accordion.vue\";\nimport CourseInput from \"@/components/CourseInput.vue\";\nimport Modal from \"@/components/Modal.vue\";\nimport LuSpinner from \"@/components/Lu/LuSpinner.vue\";\nimport TermService from \"@/services/term-service\";\nimport NoteTakerService from \"@/services/notetaker-service\";\nimport {\n Course,\n ProposedCourse,\n SupportCourseOccurrence,\n} from \"@/interfaces/api\";\nimport { PersonCourse } from \"@/interfaces/PersonCourse\";\nimport DateHelper from \"@/helpers/date-helper\";\nimport IdHelper from \"@/helpers/id-helper\";\nimport StringHelper from \"@/helpers/string-helper\";\nimport TermHelper from \"@/helpers/term-helper\";\nimport CourseService from \"@/services/course-service\";\n\n@Options({\n components: {\n MandatoryFieldFlag,\n TextInput,\n RadioButtonGroup,\n Select,\n Accordion,\n CourseInput,\n Modal,\n LuSpinner,\n },\n data: () => ({\n hasBeenSent: false,\n /**\n * The note taker that is applying\n */\n noteTaker: null,\n /**\n * The current term\n */\n currentTerm: null,\n /**\n * The person´s courses\n */\n courses: null,\n /**\n * A json string representing the state of the note-taker on load\n * Used in order to enable the submit button\n */\n noterTakerOnload: null,\n /**\n * A json string representing the uids of the selected courses on load\n * Used in order to enable the submit button\n */\n selectedCourseUidsOnLoad: null,\n /**\n * Updated when courses are selected or deselected\n * Used in order to enable the submit button\n */\n selectedCourseUids: [],\n /**\n * Used to show or hide spinner\n */\n isLoading: false,\n }),\n methods: {\n /**\n * Fetches the note taker\n */\n getNoteTaker(): void {\n this.isLoading = true;\n const luEduPersonPrimaryId = IdHelper.getLuEduPersonPrimaryId(\n this.$route.query.lucatid\n );\n\n NoteTakerService.getApplicant(luEduPersonPrimaryId)\n .then((data) => {\n this.noteTaker = data;\n\n if (\n this.noteTaker.isAnActiveStudentInNeed ||\n this.personHasInterimPersonalId\n ) {\n this.isLoading = false;\n this.$refs[\"not-possible-modal\"].open();\n return;\n }\n\n this.courses = this.noteTaker.courses.map((course: Course) => {\n return {\n ...course,\n checked: this.isProposedCourse(course.courseUid),\n disabled:\n this.isSupportCourse(course.courseUid) ||\n this.isCompletedCourse(course.courseUid) ||\n this.isDeletedByAdmin(course.courseUid),\n };\n });\n this.getItemsOnLoad();\n this.isLoading = false;\n })\n .catch((e: Error) => {\n console.error(e);\n });\n },\n /**\n * Gets called when the user clicks the submit button\n * Sends request information to the backend\n */\n sendApplication(): void {\n this.hasBeenSent = true;\n this.isLoading = true;\n if (\n this.noteTaker.id !== 0 ||\n this.applicationData.proposedCourses.length > 0\n ) {\n NoteTakerService.addOrUpdateNoteTaker(this.applicationData).then(\n (result: boolean) => {\n if (result) {\n this.$refs[\"success-modal\"].open();\n } else {\n this.$refs[\"error-modal\"].open();\n }\n this.isLoading = false;\n this.hasBeenSent = false;\n this.setNoteTakerAndSelectedCourseUidsOnLoad();\n }\n );\n } else {\n this.isLoading = false;\n this.hasBeenSent = false;\n this.$refs[\"alert-modal\"].open();\n }\n },\n /**\n * Get courses within a term\n *\n * @param {string} term The term\n * @returns {PersonCourse[]} The courses within the term\n */\n getCoursesByTerm(term: string): PersonCourse[] {\n return TermHelper.getCoursesByTerm(this.courses, term);\n },\n getTermString(term: string): string {\n return TermHelper.getTermString(term, this.$t);\n },\n /**\n * Checks whether the course with the specified course Uid is one of the note-taker's current proposed courses\n * Used for setting the checked attribute on the course checkbox\n *\n * @param {string} courseUid The course Uid\n * @returns {boolean} whether the course is one of the note-taker's current proposed courses\n */\n isProposedCourse(courseUid: string): boolean {\n if (!this.noteTaker.proposedCourses) {\n return false;\n }\n\n const proposedCourse = this.noteTaker.proposedCourses.find(\n (course: ProposedCourse) =>\n course.courseUid.toLowerCase() === courseUid.toLowerCase()\n );\n\n return proposedCourse != null;\n },\n /**\n * Checks whether the course with the specified course Uid is one of the note-taker's current active support courses\n * Used for setting the disabled attribute on the course checkbox\n *\n * @param {string} courseUid The course Uid\n * @returns {boolean} whether the course is one of the note-taker's current active support courses\n */\n isSupportCourse(courseUid: string): boolean {\n if (!this.noteTaker.supportCourseOccurrences) {\n return false;\n }\n\n const supportCourse = this.noteTaker.supportCourseOccurrences.find(\n (course: SupportCourseOccurrence) =>\n course.courseUid.toLowerCase() === courseUid.toLowerCase() &&\n course.assignmentStart !== null\n );\n\n return supportCourse != null;\n },\n /**\n * Checks whether the course with the specified course Uid has an end date that has passed\n * Used for setting the disabled attribute on the course checkbox\n *\n * @param {string} courseUid The course Uid\n * @returns {boolean} whether the course has an end date that has passed\n */\n isCompletedCourse(courseUid: string): boolean {\n return CourseService.isCompletedCourse(courseUid, this.noteTaker.courses);\n },\n /**\n * Gets the course end date for the specified course\n *\n * @param {string} courseUid The course Uid\n * @returns {number} The course end date\n */\n getCourseEndDate(courseUid: string): string {\n if (!this.noteTaker.courses) {\n return \"\";\n }\n\n const completedCourse = this.noteTaker.courses.find(\n (course: Course) =>\n course.courseUid.toLowerCase() === courseUid.toLowerCase()\n );\n\n return completedCourse != null ? completedCourse.courseEndDate : \"\";\n },\n /**\n * Gets the course occurrence id for the specified course\n *\n * @param {string} courseUid The course Uid\n * @returns {number} The course occurrence id\n */\n getCourseOccurrenceId(courseUid: string): number {\n if (!this.noteTaker.supportCourseOccurrences) {\n return 0;\n }\n\n const supportCourse = this.noteTaker.supportCourseOccurrences.find(\n (course: SupportCourseOccurrence) =>\n course.courseUid.toLowerCase() === courseUid.toLowerCase()\n );\n\n return supportCourse ? supportCourse.courseOccurrenceId : 0;\n },\n /*\n * Navigates to the student home page\n */\n goToStudentHome() {\n this.$router.push({ name: \"StudentHome\" });\n },\n /*\n * Tool tip text for disabled course checkboxes\n */\n tooltipText(isDisabled: boolean, courseUid: string): string {\n const isCompletedCourse = this.isCompletedCourse(courseUid);\n const courseEndDate = this.getCourseEndDate(courseUid);\n const isDeletedByAdmin = this.isDeletedByAdmin(courseUid);\n\n return isDisabled\n ? isCompletedCourse\n ? this.$t(\"note-taking-request.completed-course\", {\n date: DateHelper.formatDate(courseEndDate),\n })\n : isDeletedByAdmin\n ? this.$t(\"note-taking-request.cannot-reregister\")\n : this.$t(\"note-taking-request.cannot-deregister\")\n : null;\n },\n /*\n * Gets the state of the note-taker and proposed courses\n * Called when page loads and is used to check if data has been updated\n */\n getItemsOnLoad() {\n this.selectedCourseUids = this.noteTaker.proposedCourses\n ? this.noteTaker.proposedCourses\n .map((course: ProposedCourse) => course.courseUid.toLowerCase())\n .sort()\n : [];\n this.setNoteTakerAndSelectedCourseUidsOnLoad();\n },\n /*\n * Emitted from the CourseInput component when the course checkbox state is changed\n */\n onCourseCheckedChanged(course: PersonCourse): void {\n const courseUid = course.courseUid.toLowerCase();\n\n const isCurrentlySelected = this.selectedCourseUids.find(\n (x: string) => x.toLowerCase() === courseUid\n );\n\n if (course.checked === true) {\n if (!isCurrentlySelected) {\n this.selectedCourseUids.push(courseUid);\n }\n } else {\n if (isCurrentlySelected) {\n this.selectedCourseUids = this.selectedCourseUids.filter(\n (x: string) => x.toLowerCase() !== courseUid\n );\n }\n }\n\n this.selectedCourseUids = this.selectedCourseUids.sort();\n },\n /*\n * Gets the state of the note-taker and selected courses\n * Called when page loads or is updated and saved and is used to check if data has been updated\n */\n setNoteTakerAndSelectedCourseUidsOnLoad(): void {\n this.noterTakerOnload = StringHelper.stringifyToLowerCase(this.noteTaker);\n this.selectedCourseUidsOnLoad = StringHelper.stringifyToLowerCase(\n this.selectedCourseUids\n );\n },\n /**\n * Reloads the view\n */\n reloadView(): void {\n if (this.noteTaker.id === 0) {\n window.location.reload();\n }\n },\n /**\n * Checks whether the course with the specified course Uid has been ended by admin\n * Used for setting the disabled attribute on the course checkbox\n *\n * @param {string} courseUid The course Uid\n *\n * @returns {boolean} whether the course has been ended by admin\n *\n */ isDeletedByAdmin(courseUid: string): boolean {\n if (!this.noteTaker.supportCourseOccurrences) {\n return false;\n }\n\n const supportCourse = this.noteTaker.supportCourseOccurrences.find(\n (course: SupportCourseOccurrence) =>\n course.courseUid.toLowerCase() === courseUid.toLowerCase() &&\n course.deletedByAdmin === true\n );\n\n return supportCourse != null;\n },\n },\n computed: {\n /**\n * Gets the note-taker, with filled information and proposed courses\n */\n applicationData() {\n const courses: PersonCourse[] = this.courses.filter(\n (course: PersonCourse) => course.checked\n );\n // Add proposedCourses to note taker\n let data = {\n ...this.noteTaker,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n proposedCourses: courses.map(({ checked, ...course }) => course),\n };\n\n return data;\n },\n /**\n * Gets the terms\n * Eg: ['VT22', 'HT22']\n */\n terms(): string[] {\n return TermHelper.getTerms(this.courses);\n },\n /**\n * Sets the submit button text depending on if it is the first time the data is being saved\n */\n submitButtonText(): string {\n return this.noteTaker.id === 0\n ? this.$t(\"shared.save\")\n : this.$t(\"shared.update\");\n },\n /**\n * Sets the popup success message depending on if it is the first time the data is being saved\n */\n popupSuccessMessage(): string {\n return this.noteTaker.id === 0\n ? this.$t(\"note-taking-request.popup-success.message\", {\n email: this.noteTaker.email,\n })\n : this.$t(\"note-taking-request.popup-success.updateMessage\");\n },\n /*\n * Checks if data has been updated in order to enable the submit button\n */\n dataIsUpdated(): boolean {\n return (\n StringHelper.stringifyToLowerCase(this.noteTaker) !==\n this.noterTakerOnload ||\n StringHelper.stringifyToLowerCase(this.selectedCourseUids) !==\n this.selectedCourseUidsOnLoad\n );\n },\n /**\n * Checks if the logged in user has an interim personal id\n * Used in order to prevent the user making an application\n */\n personHasInterimPersonalId(): boolean {\n const personalId = this.noteTaker.personalId;\n const regex = /^\\d{12}$/;\n return !personalId.match(regex);\n },\n },\n async mounted() {\n this.currentTerm = await TermService.getCurrentTerm();\n this.getNoteTaker();\n },\n})\nexport default class NoteTakingRequest extends Vue {}\n","import { render } from \"./NoteTakingRequest.vue?vue&type=template&id=2049a5f6&scoped=true&ts=true\"\nimport script from \"./NoteTakingRequest.vue?vue&type=script&lang=ts\"\nexport * from \"./NoteTakingRequest.vue?vue&type=script&lang=ts\"\n\nimport \"./NoteTakingRequest.vue?vue&type=style&index=0&id=2049a5f6&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-2049a5f6\"]])\n\nexport default __exports__","import store from \"@/store\";\n\nclass IdHelper {\n /**\n * Returns a luEduPersonPrimaryId dependent on the environment and if a querystring parameter has been retrieved\n * Querystring parameter can be used in the URL to imitate note takers\n * ?lucatid=fr5643li\n */\n getLuEduPersonPrimaryId(lucatId: string): string {\n const currentUser = store.state.currentUser;\n const currentUserId = currentUser ? currentUser.luEduPersonPrimaryId : \"\";\n\n const luEduPersonPrimaryId = currentUser?.entitlements?.includes(\n \"SuperAdmin\"\n )\n ? lucatId ?? currentUserId\n : currentUserId;\n\n return luEduPersonPrimaryId;\n }\n\n /**\n * Returns a personalId dependent on the environment and if a querystring parameter has been retrieved\n * Querystring parameter can be used in the URL to imitate another user\n * ?personalId=123456789123\n */\n getPersonalId(personalId: string): string {\n const currentUser = store.state.currentUser;\n const currentUserId = currentUser ? currentUser.personalId : \"\";\n const env = process.env.VUE_APP_ENV_NAME;\n\n if (!personalId) {\n return currentUserId;\n }\n\n const result =\n env === \"Development\" ||\n env === \"Test\" ||\n currentUser?.entitlements?.includes(\"SuperAdmin\") ||\n currentUser?.entitlements?.includes(\"Tuition fees administratör\")\n ? personalId ?? currentUserId\n : currentUserId;\n\n return result;\n }\n}\n\nexport default new IdHelper();\n","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\"","import dayjs from \"dayjs\";\nimport { Constants } from \"@/constants/constants\";\n\ntype DateType = dayjs.Dayjs | Date | string;\n\nclass DateHelper {\n /*\n * Compared the two dates\n * Returns 0 if the dates are equal\n * Returns -1 if dateA is before dateB\n * Returns 1 if dateA is after dateB\n */\n dateCompareFunction(dateA: DateType, dateB: DateType): -1 | 0 | 1 {\n const a = dayjs(dateA);\n const b = dayjs(dateB);\n if (a.isBefore(b)) return -1;\n if (a.isAfter(b)) return 1;\n return 0;\n }\n\n /*\n * Formats the date to the specific format\n * Defaults to YYYY-MM-DD\n */\n formatDate(\n date: DateType | null,\n format: string = Constants.DateFormat\n ): string {\n return date ? dayjs(date).format(format) : \"\";\n }\n\n /*\n * Returns a boolean value indicating whether dateA is before dateB\n */\n dateAisBeforeDateB(\n dateA: string | DateType,\n dateB: string | DateType\n ): boolean {\n return dayjs(dateA).isBefore(dayjs(dateB));\n }\n\n /*\n * Returns the number of days between the 2 specified dates\n */\n daysBetweenDates(\n earlierDate: string | DateType,\n laterDate: string | DateType\n ): number {\n return dayjs(laterDate).diff(dayjs(earlierDate), \"days\");\n }\n\n /*\n * Adds the number of specified days to the specified date\n */\n addDaysToDate(date: DateType, days: number): Date {\n const result = dayjs(date).add(days, \"day\");\n return dayjs(result).toDate();\n }\n\n /**\n * Checks if two dates are the same.\n * @param {string | DateType} dateA - Either a string or a `DateType` representing a date.\n * object.\n * @param {string | DateType} dateB - Either a string or a `DateType` representing the second date to be compared with dateA.\n * @returns A boolean value indicating whether the two dates provided as arguments are the same.\n */\n datesAreSame(dateA: string | DateType, dateB: string | DateType): boolean {\n return dayjs(dateA).isSame(dayjs(dateB));\n }\n}\n\nexport default new DateHelper();\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = items.length;\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) delete array[index++];\n\n return array;\n }\n});\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",$=\"Invalid Date\",l=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t) 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","import { QueryStringParameters } from \"@/interfaces/api\";\n\nclass QuerystringHelper {\n generateSearchAndPagingParameters(parameters: QueryStringParameters): string {\n let queryString = \"\";\n\n if (parameters.search) {\n queryString += `Search=${parameters.search}&`;\n }\n\n queryString += `SortBy=${parameters.sortBy}&`;\n\n queryString += `SortOrder=${parameters.sortOrder}&`;\n\n queryString += `PageNumber=${parameters.pageNumber}&`;\n\n queryString += `PageSize=${parameters.pageSize}`;\n\n return queryString;\n }\n}\n\nexport default new QuerystringHelper();\n","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!./NoteTakingRequest.vue?vue&type=style&index=0&id=2049a5f6&scoped=true&lang=css\"","import { Constants } from \"@/constants/constants\";\nimport DateHelper from \"@/helpers/date-helper\";\nimport QuerystringHelper from \"@/helpers/querystring-helper\";\nimport {\n Course,\n CourseOccurrence,\n CourseOccurrenceBase,\n PagedList,\n QueryStringParameters,\n} from \"@/interfaces/api\";\nimport { PersonCourse } from \"@/interfaces/PersonCourse\";\nimport BaseService from \"@/services/base-service\";\n\nclass CourseService extends BaseService {\n /**\n * Fetches all the courses for a person with a specific luEduPersonPrimaryId\n *\n * @param {string} luEduPersonPrimaryId - The luEduPersonPrimaryId of the person\n * @returns {Promise>} A promise with all the courses\n */\n getCoursesByLuEduPersonPrimaryId(\n luEduPersonPrimaryId: string\n ): Promise> {\n const endpointController = \"Course\";\n const endpointRoute = \"luEduPersonPrimaryId\";\n const paramName = \"luEduPersonPrimaryId\";\n const paramValue = luEduPersonPrimaryId;\n const querystring = `${paramName}=${paramValue}`;\n const getCoursesByLuEduPersonPrimaryId = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${querystring}`;\n return this.fetch>(getCoursesByLuEduPersonPrimaryId);\n }\n\n /**\n * Fetches all course occurrences according to the specified paging parameters\n *\n * @param {QueryStringParameters} parameters - A Promise with a paged list containing paging data and a list of\n * all the course occurrences sorted according to the specified parameters\n */\n getCourseOccurrences(\n parameters: QueryStringParameters\n ): Promise> {\n const endpointController = \"Course\";\n const enpointRoute = \"courseOccurrences\";\n const queryString = this.generateQuerystring(parameters);\n const getCourseOccurrences = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}${queryString}`;\n return this.fetch>(getCourseOccurrences);\n }\n\n /**\n * Fetches the note taker with the specified id\n *\n * @param {number} id - The id of the note taker to fetch\n * @returns {Promise} A Promise with the note taker\n */\n getCourseOccurrenceById(id: number): Promise {\n const endpointController = \"Course\";\n const enpointRoute = \"courseOccurrenceId\";\n const paramName = \"id\";\n const paramValue = id;\n const getCourseOccurrenceById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${paramName}=${paramValue}`;\n return this.fetch(getCourseOccurrenceById);\n }\n\n /**\n * Updates a course occurrence\n *\n * @param {CourseOccurrence} course - The course to update\n *\n * @returns {Promise} A promise with a boolean value indicating whether or not the operation was successful\n */\n updateCourseOccurrence(course: CourseOccurrence): Promise {\n const endpointController = \"Course\";\n const updateCourseOccurrence = `${this.baseApiUrl}api/${endpointController}`;\n return this.fetch(updateCourseOccurrence, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(course),\n });\n }\n\n deleteNoteTakerFromCourseOccurrence(\n courseOccurrenceId: number,\n noteTakerId: number\n ): Promise {\n const endpointController = \"Course\";\n const endpointRoute = \"courseOccurrences/noteTaker\";\n const parameterName = \"courseOccurrenceId\";\n const parameterArgument = courseOccurrenceId;\n const parameterName2 = \"noteTakerId\";\n const parameterArgument2 = noteTakerId;\n const queryString = `${parameterName}=${parameterArgument}&${parameterName2}=${parameterArgument2}`;\n const DeleteNoteTakerFromCourseOccurrence = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\n return this.fetch(DeleteNoteTakerFromCourseOccurrence, {\n method: \"DELETE\",\n });\n }\n\n deleteStudentFromCourseOccurrence(\n courseOccurrenceId: number,\n studentId: number\n ): Promise {\n const endpointController = \"Course\";\n const endpointRoute = \"courseOccurrences/student\";\n const paramName = \"courseOccurrenceId\";\n const paramValue = courseOccurrenceId;\n const paramName2 = \"studentId\";\n const paramValue2 = studentId;\n const queryString = `${paramName}=${paramValue}&${paramName2}=${paramValue2}`;\n const DeleteStudentFromCourseOccurrence = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\n return this.fetch(DeleteStudentFromCourseOccurrence, {\n method: \"DELETE\",\n });\n }\n\n sendOfferToNoteTaker(\n courseOccurrenceId: number,\n noteTakerId: number\n ): Promise {\n const endpointController = \"Course\";\n const endpointRoute = \"courseOccurrences/offer\";\n const paramName = \"courseOccurrenceId\";\n const paramValue = courseOccurrenceId;\n const paramName2 = \"noteTakerId\";\n const paramValue2 = noteTakerId;\n const queryString = `${paramName}=${paramValue}&${paramName2}=${paramValue2}`;\n const SendOfferToNoteTaker = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\n return this.fetch(SendOfferToNoteTaker, { method: \"POST\" });\n }\n\n cancelOffer(offerId: number): Promise {\n const endpointController = \"Course\";\n const endpointRoute = \"courseOccurrences/offer\";\n const paramName = \"offerId\";\n const paramValue = offerId;\n const CancelOffer = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${paramName}=${paramValue}`;\n return this.fetch(CancelOffer, { method: \"DELETE\" });\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 courseOccurrenceStatusColor(status: string): string {\n switch (status) {\n case \"Green\":\n return \"#3d7d40\";\n case \"Orange\":\n return \"#ef8943\";\n case \"Yellow\":\n return \"#f8dc7b\";\n case \"Red\":\n return \"#c83532\";\n case \"Grey\":\n return \"#909090\";\n default:\n return \"\";\n }\n }\n\n /**\n * Returns a text based on course occurrence status\n *\n * @param {string} status The status we want text for\n */\n courseOccurrenceStatusText(status: string): string {\n return `course-occurrence.statusText.${status}`;\n }\n\n /**\n * Adds student to a course instance\n *\n * @param {number} studentId The id of the student\n * @param {string} courseUid The course Uid of where the student should be added\n * @param {string} facultySv The course's faculty name in Swedish\n * @param {string} occurrence A concatenation of the course code and term\n * @param {string} courseEndDate The course's end date\n *\n * @returns {Promise} A promise with a boolean value indicating whether or not the operation was successful\n */\n addStudentToCourseInstance(\n studentId: number,\n course: Course\n ): Promise {\n const endpointController = \"Course\";\n const endpointRoute = \"courseOccurrences/student\";\n const paramName = \"studentId\";\n const paramValue = studentId;\n const queryString = `${paramName}=${paramValue}`;\n const addStudentToCourseInstance = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\n return this.fetch(addStudentToCourseInstance, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(course),\n });\n }\n\n /**\n * Returns a query string according to the specified filter parameters\n *\n * @param {QueryStringParameters} parameters - The filter/paging parameters to be added to the resource querystring\n * @returns {string} The generated query string\n */\n private generateQuerystring(parameters: QueryStringParameters): string {\n let queryString = \"?\";\n\n queryString += `CoordinatorId=${parameters.coordinatorId}&`;\n\n queryString +=\n QuerystringHelper.generateSearchAndPagingParameters(parameters);\n\n return queryString;\n }\n\n /**\n * Checks if the specified value is \"unavailable\" and if so, replaces it with the specified replacement.\n * This occurs when the backend could not find the course in Ladok\n *\n * Also checks if the value is a date and if so, formats it\n * This is in conjunction with the backend now using a DateTime type for dates instead of a string\n *\n * @param {string} value - The value to check\n * @param {string} replacement - The replacement value\n *\n * @returns {string} The checked string\n */\n replaceUnvailableOrFormatDate(value: string, replacement: string): string {\n if (\n value === Constants.NotAvailable ||\n value.startsWith(Constants.MinDateValue)\n ) {\n value = replacement;\n } else if (this.startsWithIsoShortDate(value)) {\n value = DateHelper.formatDate(value);\n }\n\n return value;\n }\n\n /**\n * Checks if the specified string starts with an ISO short date\n *\n * @param {string} input - The string to check\n *\n * @returns {boolean} Whether the string starts with an ISO short date\n */\n startsWithIsoShortDate(input: string): boolean {\n const isoShortDatePattern = /^\\d{4}-\\d{2}-\\d{2}/;\n return isoShortDatePattern.test(input);\n }\n\n /**\n * Sets the course title to be used as text for tooltip over link to course detail view\n * because just the text \"unavailable\" could be misunderstood to mean the linked view is unavailable\n */\n getCourseTitleTooltipText(title: string, unavailable: string): string {\n return `${title} ${unavailable.toLowerCase()}`;\n }\n\n /**\n * Checks if the granted support date is earlier than any of the selected course start dates\n *\n * @param {Date | string} grantedSupportDate The granted support date\n * @returns {Array} selectedCourses The selected courses\n *\n * @returns {Array} The courses that match the criteria\n */\n checkGrantedSupportDate(\n grantedSupportDate: Date | string,\n selectedCourses: Array\n ): Array {\n if (grantedSupportDate) {\n return selectedCourses.filter((course: PersonCourse) =>\n DateHelper.dateAisBeforeDateB(\n grantedSupportDate,\n course.courseStartDate\n )\n );\n }\n return new Array();\n }\n\n /**\n * Checks whether the course with the specified course Uid has an end date that has passed\n * Used for setting the disabled attribute on the course checkbox\n *\n * @param {string} courseUid The course Uid\n * @param {Array} courses The courses to search\n *\n * @returns {boolean} whether the course has an end date that has passed\n */\n isCompletedCourse(courseUid: string, courses: Array): boolean {\n if (!courses) {\n return false;\n }\n\n const completedCourse = courses.find(\n (course: Course) =>\n course.courseUid.toLowerCase() === courseUid.toLowerCase() &&\n DateHelper.dateAisBeforeDateB(course.courseEndDate, new Date())\n );\n\n return completedCourse != null;\n }\n}\n\nexport default new CourseService();\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","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, vShow as _vShow, createElementVNode as _createElementVNode, withDirectives as _withDirectives, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, renderSlot as _renderSlot, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = [\"name\"]\nconst _hoisted_2 = { class: \"custom-control custom-radio mr-3\" }\nconst _hoisted_3 = [\"id\", \"name\", \"value\", \"checked\", \"disabled\", \"required\", \"onChange\"]\nconst _hoisted_4 = [\"for\"]\nconst _hoisted_5 = {\n key: 0,\n class: \"form-text text-muted\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"fieldset\", {\n name: `${_ctx.name}_RadioGroup`,\n class: _normalizeClass([\"d-flex\", [\n this.verticalLayout ? 'flex-column' : 'flex-row',\n this.showFieldset ? '' : 'border-0',\n !this.showTitle && this.showFieldset ? 'pt-3' : '',\n ]])\n }, [\n _withDirectives(_createElementVNode(\"legend\", null, _toDisplayString(_ctx.name), 513), [\n [_vShow, _ctx.showTitle]\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.values, (value) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: value }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"input\", {\n type: \"radio\",\n class: \"custom-control-input\",\n id: `${_ctx.name}_RadioGroup_${value}`,\n name: `${_ctx.name}_RadioGroup`,\n value: value,\n checked: value === _ctx.selected,\n disabled: _ctx.disabled,\n required: _ctx.required,\n onChange: ($event: any) => (_ctx.onChange(value)),\n ref_for: true,\n ref: \"input\",\n onInvalid: _cache[0] || (_cache[0] = ($event: any) => (\n _ctx.validityMessage ? _ctx.setValidityMessage(_ctx.validityMessage) : null\n ))\n }, null, 40, _hoisted_3),\n _createElementVNode(\"label\", {\n class: \"custom-control-label\",\n for: `${_ctx.name}_RadioGroup_${value}`\n }, [\n _renderSlot(_ctx.$slots, \"default\", { value: value }, () => [\n _createTextVNode(_toDisplayString(value), 1)\n ])\n ], 8, _hoisted_4)\n ])\n ]))\n }), 128))\n ], 10, _hoisted_1),\n (_ctx.helpText)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.helpText), 1))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /**\n * The name of the radiobutton group\n */\n name: {\n type: String as PropType,\n required: true,\n },\n /**\n * The value options\n */\n values: {\n type: Array,\n required: true,\n },\n /**\n * The current selected option\n */\n selected: {\n type: String as PropType,\n required: true,\n },\n /**\n * If the radiobuttons should be stack on top of each other\n */\n verticalLayout: {\n type: Boolean as PropType,\n required: false,\n default: true,\n },\n /**\n * If title should be visible\n */\n showTitle: {\n type: Boolean as PropType,\n required: false,\n default: true,\n },\n /**\n * If fieldset should be visible\n */\n showFieldset: {\n type: Boolean as PropType,\n required: false,\n default: true,\n },\n /**\n * If the input is disabled\n */\n disabled: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * The help text for the input\n */\n helpText: {\n type: String as PropType,\n required: false,\n },\n /**\n * If the input is required\n */\n required: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * Custom validity message\n */\n validityMessage: {\n type: String as PropType,\n required: false,\n },\n },\n methods: {\n /**\n * Gets called when the value changes\n */\n onChange(value: string): void {\n this.setValidityMessage(\"\");\n this.$emit(\"update:selected\", value);\n },\n /**\n * Sets a custom validity message\n *\n * @param {string} message The message\n */\n setValidityMessage(message: string): void {\n this.$refs.input[0].setCustomValidity(message);\n },\n },\n})\nexport default class RadioButtonGroup extends Vue {}\n","import { render } from \"./RadioButtonGroup.vue?vue&type=template&id=21a30830&ts=true\"\nimport script from \"./RadioButtonGroup.vue?vue&type=script&lang=ts\"\nexport * from \"./RadioButtonGroup.vue?vue&type=script&lang=ts\"\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]])\n\nexport default __exports__"],"sourceRoot":""}