{"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?7fcb","webpack:///./src/views/NoteTakingRequest.vue?7ff2","webpack:///./src/helpers/id-helper.ts","webpack:///./src/components/Form/MandatoryFieldFlag.vue?d35e","webpack:///./node_modules/core-js/modules/es.string.match.js","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?c7c1","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","fixRegExpWellKnownSymbolLogic","anObject","toLength","toString","requireObjectCoercible","getMethod","advanceStringIndex","regExpExec","MATCH","nativeMatch","maybeCallNative","regexp","O","matcher","RegExp","string","rx","S","res","done","global","fullUnicode","unicode","lastIndex","A","matchStr","DateHelper","dateA","dateB","a","b","isBefore","isAfter","format","DateFormat","earlierDate","laterDate","diff","days","add","toDate","isSame","$","uncurryThis","aCallable","toObject","lengthOfArrayLike","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","args","arguments","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","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-4dc56584.486c04d4.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\";\r\nimport {\r\n NoteTaker,\r\n NoteTakerStatusCount,\r\n NoteTakerParameters,\r\n PagedList,\r\n OverviewNoteTaker,\r\n} from \"@/interfaces/api\";\r\nimport BaseService from \"./base-service\";\r\n\r\nclass NoteTakerService extends BaseService {\r\n /**\r\n * Fetches note takers according to the specified filter/paging parameters\r\n *\r\n * @param {NoteTakerParameters} noteTakerParameters - The filter/paging parameters to be added to the resource querystring\r\n * @returns {Promise>} A Promise with all the note takers that matched the parameters\r\n */\r\n getFiltered(\r\n noteTakerParameters: NoteTakerParameters\r\n ): Promise> {\r\n const endpointController = \"NoteTaker\";\r\n const enpointRoute = \"search\";\r\n const queryString = this.generateQuerystring(noteTakerParameters);\r\n const getNoteTakerById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}${queryString}`;\r\n return this.fetch>(getNoteTakerById);\r\n }\r\n\r\n /**\r\n * Fetches all note takers\r\n * @returns {Promise>} A Promise with all note takers\r\n */\r\n getAllNoteTakers(): Promise> {\r\n const endpointController = \"NoteTaker\";\r\n const enpointRoute = \"one-call\";\r\n const getAllNoteTakers = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}`;\r\n return this.fetch>(getAllNoteTakers);\r\n }\r\n\r\n /**\r\n * Fetches the note taker with the specified id\r\n *\r\n * @param {number} id - The id of the note taker to fetch\r\n * @returns {Promise} A Promise with the note taker\r\n */\r\n getNoteTakerById(id: number): Promise {\r\n const endpointController = \"NoteTaker\";\r\n const enpointRoute = \"id\";\r\n const parameterName = \"id\";\r\n const parameterArgument = id;\r\n const getNoteTakerById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${parameterName}=${parameterArgument}`;\r\n return this.fetch(getNoteTakerById);\r\n }\r\n\r\n /**\r\n * Fetches the note taker with the specified luEduPersonPrimaryId\r\n *\r\n * @param {string} luEduPersonPrimaryId - The luEduPersonPrimaryId of the note taker to fetch\r\n * @returns {Promise} A promise with the applicant\r\n */\r\n getApplicant(luEduPersonPrimaryId: string): Promise {\r\n const endpointController = \"NoteTaker\";\r\n const enpointRoute = \"primaryId\";\r\n const parameterName = \"luEduPersonPrimaryId\";\r\n const parameterArgument = luEduPersonPrimaryId;\r\n const getApplicant = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${parameterName}=${parameterArgument}`;\r\n return this.fetch(getApplicant);\r\n }\r\n\r\n /**\r\n * Fetches the count of statuses\r\n *\r\n * @returns {Promise} A promise with the count of statuses\r\n */\r\n getNoteTakerStatusCount(): Promise {\r\n const endpointController = \"NoteTaker\";\r\n const enpointRoute = \"statusCount\";\r\n const getStatus = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}`;\r\n return this.fetch(getStatus);\r\n }\r\n\r\n /**\r\n * Adds or updates a note taker\r\n *\r\n * @param {NoteTaker} noteTaker - The note taker to Add och Update\r\n * @returns {Promise} A promise with a boolean value indicating whether or not the operation was successful\r\n */\r\n addOrUpdateNoteTaker(noteTaker: NoteTaker): Promise {\r\n const endpointController = \"NoteTaker\";\r\n const addOrUpdateNoteTaker = `${this.baseApiUrl}api/${endpointController}`;\r\n return this.fetch(addOrUpdateNoteTaker, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(noteTaker),\r\n });\r\n }\r\n\r\n /**\r\n * Returns a query string according to the specified filter parameters\r\n *\r\n * @param {NoteTakerParameters} noteTakerParameters - The filter/paging parameters to be added to the resource querystring\r\n * @returns {string} The generated query string\r\n */\r\n private generateQuerystring(\r\n noteTakerParameters: NoteTakerParameters\r\n ): string {\r\n let queryString = \"?\";\r\n\r\n if (noteTakerParameters.status.length > 0) {\r\n noteTakerParameters.status.forEach((status) => {\r\n queryString += `Status=${status}&`;\r\n });\r\n }\r\n\r\n queryString +=\r\n QuerystringHelper.generateSearchAndPagingParameters(noteTakerParameters);\r\n\r\n return queryString;\r\n }\r\n}\r\n\r\nexport default new NoteTakerService();\r\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\", {\r\n name: _ctx.noteTaker.firstName,\r\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\", {\r\n name: _ctx.noteTaker.firstName,\r\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\", {\r\n name: _ctx.noteTaker.firstName,\r\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\", {\r\n name: _ctx.noteTaker.firstName,\r\n })), 1)\n ])\n }\n : undefined\n ]), 1536),\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LuSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (\r\n _ctx.noteTaker !== null &&\r\n !_ctx.noteTaker.isAnActiveStudentInNeed &&\r\n !_ctx.personHasInterimPersonalId\r\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\";\r\nimport BaseService from \"@/services/base-service\";\r\n\r\nclass TermService extends BaseService {\r\n /**\r\n * Fetches StudyTermInfo for current and previous term\r\n *\r\n * @returns {Promise} A promise with the StudyTermInfo\r\n */\r\n getStudyTermInfo(): Promise {\r\n const endpointController = \"Term\";\r\n const endpointRoute = \"studyTermInfo\";\r\n const getStudyTermInfo = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}`;\r\n return this.fetch(getStudyTermInfo);\r\n }\r\n\r\n /**\r\n * Fetches the current term\r\n *\r\n * @returns {Promise} A promise with the current term\r\n */\r\n getCurrentTerm(): Promise {\r\n return this.getStudyTermInfo().then(\r\n (studyTermInfo) => studyTermInfo.thisTerm\r\n );\r\n }\r\n\r\n /**\r\n * Fetches the previous term\r\n *\r\n * @returns {Promise} A promise with the previous term\r\n */\r\n getPreviousTerm(): Promise {\r\n return this.getStudyTermInfo().then(\r\n (studyTermInfo) => studyTermInfo.previousTerm\r\n );\r\n }\r\n}\r\n\r\nexport default new TermService();\r\n","\r\nimport { Options, Vue } from \"vue-class-component\";\r\nimport MandatoryFieldFlag from \"@/components/Form/MandatoryFieldFlag.vue\";\r\nimport TextInput from \"@/components/Form/TextInput.vue\";\r\nimport RadioButtonGroup from \"@/components/Form/RadioButtonGroup.vue\";\r\nimport Select from \"@/components/Form/Select.vue\";\r\nimport Accordion from \"@/components/Accordion.vue\";\r\nimport CourseInput from \"@/components/CourseInput.vue\";\r\nimport Modal from \"@/components/Modal.vue\";\r\nimport LuSpinner from \"@/components/Lu/LuSpinner.vue\";\r\nimport TermService from \"@/services/term-service\";\r\nimport NoteTakerService from \"@/services/notetaker-service\";\r\nimport {\r\n Course,\r\n ProposedCourse,\r\n SupportCourseOccurrence,\r\n} from \"@/interfaces/api\";\r\nimport { PersonCourse } from \"@/interfaces/PersonCourse\";\r\nimport DateHelper from \"@/helpers/date-helper\";\r\nimport IdHelper from \"@/helpers/id-helper\";\r\nimport StringHelper from \"@/helpers/string-helper\";\r\nimport TermHelper from \"@/helpers/term-helper\";\r\nimport CourseService from \"@/services/course-service\";\r\n\r\n@Options({\r\n components: {\r\n MandatoryFieldFlag,\r\n TextInput,\r\n RadioButtonGroup,\r\n Select,\r\n Accordion,\r\n CourseInput,\r\n Modal,\r\n LuSpinner,\r\n },\r\n data: () => ({\r\n hasBeenSent: false,\r\n /**\r\n * The note taker that is applying\r\n */\r\n noteTaker: null,\r\n /**\r\n * The current term\r\n */\r\n currentTerm: null,\r\n /**\r\n * The person´s courses\r\n */\r\n courses: null,\r\n /**\r\n * A json string representing the state of the note-taker on load\r\n * Used in order to enable the submit button\r\n */\r\n noterTakerOnload: null,\r\n /**\r\n * A json string representing the uids of the selected courses on load\r\n * Used in order to enable the submit button\r\n */\r\n selectedCourseUidsOnLoad: null,\r\n /**\r\n * Updated when courses are selected or deselected\r\n * Used in order to enable the submit button\r\n */\r\n selectedCourseUids: [],\r\n /**\r\n * Used to show or hide spinner\r\n */\r\n isLoading: false,\r\n }),\r\n methods: {\r\n /**\r\n * Fetches the note taker\r\n */\r\n getNoteTaker(): void {\r\n this.isLoading = true;\r\n const luEduPersonPrimaryId = IdHelper.getLuEduPersonPrimaryId(\r\n this.$route.query.lucatid\r\n );\r\n\r\n NoteTakerService.getApplicant(luEduPersonPrimaryId)\r\n .then((data) => {\r\n this.noteTaker = data;\r\n\r\n if (\r\n this.noteTaker.isAnActiveStudentInNeed ||\r\n this.personHasInterimPersonalId\r\n ) {\r\n this.isLoading = false;\r\n this.$refs[\"not-possible-modal\"].open();\r\n return;\r\n }\r\n\r\n this.courses = this.noteTaker.courses.map((course: Course) => {\r\n return {\r\n ...course,\r\n checked: this.isProposedCourse(course.courseUid),\r\n disabled:\r\n this.isSupportCourse(course.courseUid) ||\r\n this.isCompletedCourse(course.courseUid) ||\r\n this.isDeletedByAdmin(course.courseUid),\r\n };\r\n });\r\n this.getItemsOnLoad();\r\n this.isLoading = false;\r\n })\r\n .catch((e: Error) => {\r\n console.error(e);\r\n });\r\n },\r\n /**\r\n * Gets called when the user clicks the submit button\r\n * Sends request information to the backend\r\n */\r\n sendApplication(): void {\r\n this.hasBeenSent = true;\r\n this.isLoading = true;\r\n if (\r\n this.noteTaker.id !== 0 ||\r\n this.applicationData.proposedCourses.length > 0\r\n ) {\r\n NoteTakerService.addOrUpdateNoteTaker(this.applicationData).then(\r\n (result: boolean) => {\r\n if (result) {\r\n this.$refs[\"success-modal\"].open();\r\n } else {\r\n this.$refs[\"error-modal\"].open();\r\n }\r\n this.isLoading = false;\r\n this.hasBeenSent = false;\r\n this.setNoteTakerAndSelectedCourseUidsOnLoad();\r\n }\r\n );\r\n } else {\r\n this.isLoading = false;\r\n this.hasBeenSent = false;\r\n this.$refs[\"alert-modal\"].open();\r\n }\r\n },\r\n /**\r\n * Get courses within a term\r\n *\r\n * @param {string} term The term\r\n * @returns {PersonCourse[]} The courses within the term\r\n */\r\n getCoursesByTerm(term: string): PersonCourse[] {\r\n return TermHelper.getCoursesByTerm(this.courses, term);\r\n },\r\n getTermString(term: string): string {\r\n return TermHelper.getTermString(term, this.$t);\r\n },\r\n /**\r\n * Checks whether the course with the specified course Uid is one of the note-taker's current proposed courses\r\n * Used for setting the checked attribute on the course checkbox\r\n *\r\n * @param {string} courseUid The course Uid\r\n * @returns {boolean} whether the course is one of the note-taker's current proposed courses\r\n */\r\n isProposedCourse(courseUid: string): boolean {\r\n if (!this.noteTaker.proposedCourses) {\r\n return false;\r\n }\r\n\r\n const proposedCourse = this.noteTaker.proposedCourses.find(\r\n (course: ProposedCourse) =>\r\n course.courseUid.toLowerCase() === courseUid.toLowerCase()\r\n );\r\n\r\n return proposedCourse != null;\r\n },\r\n /**\r\n * Checks whether the course with the specified course Uid is one of the note-taker's current active support courses\r\n * Used for setting the disabled attribute on the course checkbox\r\n *\r\n * @param {string} courseUid The course Uid\r\n * @returns {boolean} whether the course is one of the note-taker's current active support courses\r\n */\r\n isSupportCourse(courseUid: string): boolean {\r\n if (!this.noteTaker.supportCourseOccurrences) {\r\n return false;\r\n }\r\n\r\n const supportCourse = this.noteTaker.supportCourseOccurrences.find(\r\n (course: SupportCourseOccurrence) =>\r\n course.courseUid.toLowerCase() === courseUid.toLowerCase() &&\r\n course.assignmentStart !== null\r\n );\r\n\r\n return supportCourse != null;\r\n },\r\n /**\r\n * Checks whether the course with the specified course Uid has an end date that has passed\r\n * Used for setting the disabled attribute on the course checkbox\r\n *\r\n * @param {string} courseUid The course Uid\r\n * @returns {boolean} whether the course has an end date that has passed\r\n */\r\n isCompletedCourse(courseUid: string): boolean {\r\n return CourseService.isCompletedCourse(courseUid, this.noteTaker.courses);\r\n },\r\n /**\r\n * Gets the course end date for the specified course\r\n *\r\n * @param {string} courseUid The course Uid\r\n * @returns {number} The course end date\r\n */\r\n getCourseEndDate(courseUid: string): string {\r\n if (!this.noteTaker.courses) {\r\n return \"\";\r\n }\r\n\r\n const completedCourse = this.noteTaker.courses.find(\r\n (course: Course) =>\r\n course.courseUid.toLowerCase() === courseUid.toLowerCase()\r\n );\r\n\r\n return completedCourse != null ? completedCourse.courseEndDate : \"\";\r\n },\r\n /**\r\n * Gets the course occurrence id for the specified course\r\n *\r\n * @param {string} courseUid The course Uid\r\n * @returns {number} The course occurrence id\r\n */\r\n getCourseOccurrenceId(courseUid: string): number {\r\n if (!this.noteTaker.supportCourseOccurrences) {\r\n return 0;\r\n }\r\n\r\n const supportCourse = this.noteTaker.supportCourseOccurrences.find(\r\n (course: SupportCourseOccurrence) =>\r\n course.courseUid.toLowerCase() === courseUid.toLowerCase()\r\n );\r\n\r\n return supportCourse ? supportCourse.courseOccurrenceId : 0;\r\n },\r\n /*\r\n * Navigates to the student home page\r\n */\r\n goToStudentHome() {\r\n this.$router.push({ name: \"StudentHome\" });\r\n },\r\n /*\r\n * Tool tip text for disabled course checkboxes\r\n */\r\n tooltipText(isDisabled: boolean, courseUid: string): string {\r\n const isCompletedCourse = this.isCompletedCourse(courseUid);\r\n const courseEndDate = this.getCourseEndDate(courseUid);\r\n const isDeletedByAdmin = this.isDeletedByAdmin(courseUid);\r\n\r\n return isDisabled\r\n ? isCompletedCourse\r\n ? this.$t(\"note-taking-request.completed-course\", {\r\n date: DateHelper.formatDate(courseEndDate),\r\n })\r\n : isDeletedByAdmin\r\n ? this.$t(\"note-taking-request.cannot-reregister\")\r\n : this.$t(\"note-taking-request.cannot-deregister\")\r\n : null;\r\n },\r\n /*\r\n * Gets the state of the note-taker and proposed courses\r\n * Called when page loads and is used to check if data has been updated\r\n */\r\n getItemsOnLoad() {\r\n this.selectedCourseUids = this.noteTaker.proposedCourses\r\n ? this.noteTaker.proposedCourses\r\n .map((course: ProposedCourse) => course.courseUid.toLowerCase())\r\n .sort()\r\n : [];\r\n this.setNoteTakerAndSelectedCourseUidsOnLoad();\r\n },\r\n /*\r\n * Emitted from the CourseInput component when the course checkbox state is changed\r\n */\r\n onCourseCheckedChanged(course: PersonCourse): void {\r\n const courseUid = course.courseUid.toLowerCase();\r\n\r\n const isCurrentlySelected = this.selectedCourseUids.find(\r\n (x: string) => x.toLowerCase() === courseUid\r\n );\r\n\r\n if (course.checked === true) {\r\n if (!isCurrentlySelected) {\r\n this.selectedCourseUids.push(courseUid);\r\n }\r\n } else {\r\n if (isCurrentlySelected) {\r\n this.selectedCourseUids = this.selectedCourseUids.filter(\r\n (x: string) => x.toLowerCase() !== courseUid\r\n );\r\n }\r\n }\r\n\r\n this.selectedCourseUids = this.selectedCourseUids.sort();\r\n },\r\n /*\r\n * Gets the state of the note-taker and selected courses\r\n * Called when page loads or is updated and saved and is used to check if data has been updated\r\n */\r\n setNoteTakerAndSelectedCourseUidsOnLoad(): void {\r\n this.noterTakerOnload = StringHelper.stringifyToLowerCase(this.noteTaker);\r\n this.selectedCourseUidsOnLoad = StringHelper.stringifyToLowerCase(\r\n this.selectedCourseUids\r\n );\r\n },\r\n /**\r\n * Reloads the view\r\n */\r\n reloadView(): void {\r\n if (this.noteTaker.id === 0) {\r\n window.location.reload();\r\n }\r\n },\r\n /**\r\n * Checks whether the course with the specified course Uid has been ended by admin\r\n * Used for setting the disabled attribute on the course checkbox\r\n *\r\n * @param {string} courseUid The course Uid\r\n *\r\n * @returns {boolean} whether the course has been ended by admin\r\n *\r\n */ isDeletedByAdmin(courseUid: string): boolean {\r\n if (!this.noteTaker.supportCourseOccurrences) {\r\n return false;\r\n }\r\n\r\n const supportCourse = this.noteTaker.supportCourseOccurrences.find(\r\n (course: SupportCourseOccurrence) =>\r\n course.courseUid.toLowerCase() === courseUid.toLowerCase() &&\r\n course.deletedByAdmin === true\r\n );\r\n\r\n return supportCourse != null;\r\n },\r\n },\r\n computed: {\r\n /**\r\n * Gets the note-taker, with filled information and proposed courses\r\n */\r\n applicationData() {\r\n const courses: PersonCourse[] = this.courses.filter(\r\n (course: PersonCourse) => course.checked\r\n );\r\n // Add proposedCourses to note taker\r\n let data = {\r\n ...this.noteTaker,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n proposedCourses: courses.map(({ checked, ...course }) => course),\r\n };\r\n\r\n return data;\r\n },\r\n /**\r\n * Gets the terms\r\n * Eg: ['VT22', 'HT22']\r\n */\r\n terms(): string[] {\r\n return TermHelper.getTerms(this.courses);\r\n },\r\n /**\r\n * Sets the submit button text depending on if it is the first time the data is being saved\r\n */\r\n submitButtonText(): string {\r\n return this.noteTaker.id === 0\r\n ? this.$t(\"shared.save\")\r\n : this.$t(\"shared.update\");\r\n },\r\n /**\r\n * Sets the popup success message depending on if it is the first time the data is being saved\r\n */\r\n popupSuccessMessage(): string {\r\n return this.noteTaker.id === 0\r\n ? this.$t(\"note-taking-request.popup-success.message\", {\r\n email: this.noteTaker.email,\r\n })\r\n : this.$t(\"note-taking-request.popup-success.updateMessage\");\r\n },\r\n /*\r\n * Checks if data has been updated in order to enable the submit button\r\n */\r\n dataIsUpdated(): boolean {\r\n return (\r\n StringHelper.stringifyToLowerCase(this.noteTaker) !==\r\n this.noterTakerOnload ||\r\n StringHelper.stringifyToLowerCase(this.selectedCourseUids) !==\r\n this.selectedCourseUidsOnLoad\r\n );\r\n },\r\n /**\r\n * Checks if the logged in user has an interim personal id\r\n * Used in order to prevent the user making an application\r\n */\r\n personHasInterimPersonalId(): boolean {\r\n const personalId = this.noteTaker.personalId;\r\n const regex = /^\\d{12}$/;\r\n return !personalId.match(regex);\r\n },\r\n },\r\n async mounted() {\r\n this.currentTerm = await TermService.getCurrentTerm();\r\n this.getNoteTaker();\r\n },\r\n})\r\nexport default class NoteTakingRequest extends Vue {}\r\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:\\\\Users\\\\fr5673mo\\\\Documents\\\\git.lu.se\\\\.net\\\\student-portal\\\\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\";\r\n\r\nclass IdHelper {\r\n /**\r\n * Returns a luEduPersonPrimaryId dependent on the environment and if a querystring parameter has been retrieved\r\n * Querystring parameter can be used in the URL to imitate note takers\r\n * ?lucatid=fr5643li\r\n */\r\n getLuEduPersonPrimaryId(lucatId: string): string {\r\n const currentUser = store.state.currentUser;\r\n const currentUserId = currentUser ? currentUser.luEduPersonPrimaryId : \"\";\r\n\r\n const luEduPersonPrimaryId = currentUser?.entitlements?.includes(\r\n \"SuperAdmin\"\r\n )\r\n ? lucatId ?? currentUserId\r\n : currentUserId;\r\n\r\n return luEduPersonPrimaryId;\r\n }\r\n\r\n /**\r\n * Returns a personalId dependent on the environment and if a querystring parameter has been retrieved\r\n * Querystring parameter can be used in the URL to imitate another user\r\n * ?personalId=123456789123\r\n */\r\n getPersonalId(personalId: string): string {\r\n const currentUser = store.state.currentUser;\r\n const currentUserId = currentUser ? currentUser.personalId : \"\";\r\n const env = process.env.VUE_APP_ENV_NAME;\r\n\r\n if (!personalId) {\r\n return currentUserId;\r\n }\r\n\r\n const result =\r\n env === \"Development\" ||\r\n env === \"Test\" ||\r\n currentUser?.entitlements?.includes(\"SuperAdmin\") ||\r\n currentUser?.entitlements?.includes(\"Tuition fees administratör\")\r\n ? personalId ?? currentUserId\r\n : currentUserId;\r\n\r\n return result;\r\n }\r\n}\r\n\r\nexport default new IdHelper();\r\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\"","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","import dayjs from \"dayjs\";\r\nimport { Constants } from \"@/constants/constants\";\r\n\r\ntype DateType = dayjs.Dayjs | Date | string;\r\n\r\nclass DateHelper {\r\n /*\r\n * Compared the two dates\r\n * Returns 0 if the dates are equal\r\n * Returns -1 if dateA is before dateB\r\n * Returns 1 if dateA is after dateB\r\n */\r\n dateCompareFunction(dateA: DateType, dateB: DateType): -1 | 0 | 1 {\r\n const a = dayjs(dateA);\r\n const b = dayjs(dateB);\r\n if (a.isBefore(b)) return -1;\r\n if (a.isAfter(b)) return 1;\r\n return 0;\r\n }\r\n\r\n /*\r\n * Formats the date to the specific format\r\n * Defaults to YYYY-MM-DD\r\n */\r\n formatDate(\r\n date: DateType | null,\r\n format: string = Constants.DateFormat\r\n ): string {\r\n return date ? dayjs(date).format(format) : \"\";\r\n }\r\n\r\n /*\r\n * Returns a boolean value indicating whether dateA is before dateB\r\n */\r\n dateAisBeforeDateB(\r\n dateA: string | DateType,\r\n dateB: string | DateType\r\n ): boolean {\r\n return dayjs(dateA).isBefore(dayjs(dateB));\r\n }\r\n\r\n /*\r\n * Returns the number of days between the 2 specified dates\r\n */\r\n daysBetweenDates(\r\n earlierDate: string | DateType,\r\n laterDate: string | DateType\r\n ): number {\r\n return dayjs(laterDate).diff(dayjs(earlierDate), \"days\");\r\n }\r\n\r\n /*\r\n * Adds the number of specified days to the specified date\r\n */\r\n addDaysToDate(date: DateType, days: number): Date {\r\n const result = dayjs(date).add(days, \"day\");\r\n return dayjs(result).toDate();\r\n }\r\n\r\n /**\r\n * Checks if two dates are the same.\r\n * @param {string | DateType} dateA - Either a string or a `DateType` representing a date.\r\n * object.\r\n * @param {string | DateType} dateB - Either a string or a `DateType` representing the second date to be compared with dateA.\r\n * @returns A boolean value indicating whether the two dates provided as arguments are the same.\r\n */\r\n datesAreSame(dateA: string | DateType, dateB: string | DateType): boolean {\r\n return dayjs(dateA).isSame(dayjs(dateB));\r\n }\r\n}\r\n\r\nexport default new DateHelper();\r\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\";\r\n\r\nclass QuerystringHelper {\r\n generateSearchAndPagingParameters(parameters: QueryStringParameters): string {\r\n let queryString = \"\";\r\n\r\n if (parameters.search) {\r\n queryString += `Search=${parameters.search}&`;\r\n }\r\n\r\n queryString += `SortBy=${parameters.sortBy}&`;\r\n\r\n queryString += `SortOrder=${parameters.sortOrder}&`;\r\n\r\n queryString += `PageNumber=${parameters.pageNumber}&`;\r\n\r\n queryString += `PageSize=${parameters.pageSize}`;\r\n\r\n return queryString;\r\n }\r\n}\r\n\r\nexport default new QuerystringHelper();\r\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\";\r\nimport DateHelper from \"@/helpers/date-helper\";\r\nimport QuerystringHelper from \"@/helpers/querystring-helper\";\r\nimport {\r\n Course,\r\n CourseOccurrence,\r\n CourseOccurrenceBase,\r\n PagedList,\r\n QueryStringParameters,\r\n} from \"@/interfaces/api\";\r\nimport { PersonCourse } from \"@/interfaces/PersonCourse\";\r\nimport BaseService from \"@/services/base-service\";\r\n\r\nclass CourseService extends BaseService {\r\n /**\r\n * Fetches all the courses for a person with a specific luEduPersonPrimaryId\r\n *\r\n * @param {string} luEduPersonPrimaryId - The luEduPersonPrimaryId of the person\r\n * @returns {Promise>} A promise with all the courses\r\n */\r\n getCoursesByLuEduPersonPrimaryId(\r\n luEduPersonPrimaryId: string\r\n ): Promise> {\r\n const endpointController = \"Course\";\r\n const endpointRoute = \"luEduPersonPrimaryId\";\r\n const paramName = \"luEduPersonPrimaryId\";\r\n const paramValue = luEduPersonPrimaryId;\r\n const querystring = `${paramName}=${paramValue}`;\r\n const getCoursesByLuEduPersonPrimaryId = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${querystring}`;\r\n return this.fetch>(getCoursesByLuEduPersonPrimaryId);\r\n }\r\n\r\n /**\r\n * Fetches all course occurrences according to the specified paging parameters\r\n *\r\n * @param {QueryStringParameters} parameters - A Promise with a paged list containing paging data and a list of\r\n * all the course occurrences sorted according to the specified parameters\r\n */\r\n getCourseOccurrences(\r\n parameters: QueryStringParameters\r\n ): Promise> {\r\n const endpointController = \"Course\";\r\n const enpointRoute = \"courseOccurrences\";\r\n const queryString = this.generateQuerystring(parameters);\r\n const getCourseOccurrences = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}${queryString}`;\r\n return this.fetch>(getCourseOccurrences);\r\n }\r\n\r\n /**\r\n * Fetches the note taker with the specified id\r\n *\r\n * @param {number} id - The id of the note taker to fetch\r\n * @returns {Promise} A Promise with the note taker\r\n */\r\n getCourseOccurrenceById(id: number): Promise {\r\n const endpointController = \"Course\";\r\n const enpointRoute = \"courseOccurrenceId\";\r\n const paramName = \"id\";\r\n const paramValue = id;\r\n const getCourseOccurrenceById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${paramName}=${paramValue}`;\r\n return this.fetch(getCourseOccurrenceById);\r\n }\r\n\r\n /**\r\n * Updates a course occurrence\r\n *\r\n * @param {CourseOccurrence} course - The course to update\r\n *\r\n * @returns {Promise} A promise with a boolean value indicating whether or not the operation was successful\r\n */\r\n updateCourseOccurrence(course: CourseOccurrence): Promise {\r\n const endpointController = \"Course\";\r\n const updateCourseOccurrence = `${this.baseApiUrl}api/${endpointController}`;\r\n return this.fetch(updateCourseOccurrence, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(course),\r\n });\r\n }\r\n\r\n deleteNoteTakerFromCourseOccurrence(\r\n courseOccurrenceId: number,\r\n noteTakerId: number\r\n ): Promise {\r\n const endpointController = \"Course\";\r\n const endpointRoute = \"courseOccurrences/noteTaker\";\r\n const parameterName = \"courseOccurrenceId\";\r\n const parameterArgument = courseOccurrenceId;\r\n const parameterName2 = \"noteTakerId\";\r\n const parameterArgument2 = noteTakerId;\r\n const queryString = `${parameterName}=${parameterArgument}&${parameterName2}=${parameterArgument2}`;\r\n const DeleteNoteTakerFromCourseOccurrence = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\r\n return this.fetch(DeleteNoteTakerFromCourseOccurrence, {\r\n method: \"DELETE\",\r\n });\r\n }\r\n\r\n deleteStudentFromCourseOccurrence(\r\n courseOccurrenceId: number,\r\n studentId: number\r\n ): Promise {\r\n const endpointController = \"Course\";\r\n const endpointRoute = \"courseOccurrences/student\";\r\n const paramName = \"courseOccurrenceId\";\r\n const paramValue = courseOccurrenceId;\r\n const paramName2 = \"studentId\";\r\n const paramValue2 = studentId;\r\n const queryString = `${paramName}=${paramValue}&${paramName2}=${paramValue2}`;\r\n const DeleteStudentFromCourseOccurrence = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\r\n return this.fetch(DeleteStudentFromCourseOccurrence, {\r\n method: \"DELETE\",\r\n });\r\n }\r\n\r\n sendOfferToNoteTaker(\r\n courseOccurrenceId: number,\r\n noteTakerId: number\r\n ): Promise {\r\n const endpointController = \"Course\";\r\n const endpointRoute = \"courseOccurrences/offer\";\r\n const paramName = \"courseOccurrenceId\";\r\n const paramValue = courseOccurrenceId;\r\n const paramName2 = \"noteTakerId\";\r\n const paramValue2 = noteTakerId;\r\n const queryString = `${paramName}=${paramValue}&${paramName2}=${paramValue2}`;\r\n const SendOfferToNoteTaker = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\r\n return this.fetch(SendOfferToNoteTaker, { method: \"POST\" });\r\n }\r\n\r\n cancelOffer(offerId: number): Promise {\r\n const endpointController = \"Course\";\r\n const endpointRoute = \"courseOccurrences/offer\";\r\n const paramName = \"offerId\";\r\n const paramValue = offerId;\r\n const CancelOffer = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${paramName}=${paramValue}`;\r\n return this.fetch(CancelOffer, { method: \"DELETE\" });\r\n }\r\n\r\n /**\r\n * Returns a color based on course occurrence status\r\n *\r\n * @param {string} status The status we want a color for\r\n */\r\n courseOccurrenceStatusColor(status: string): string {\r\n switch (status) {\r\n case \"Green\":\r\n return \"#3d7d40\";\r\n case \"Orange\":\r\n return \"#ef8943\";\r\n case \"Yellow\":\r\n return \"#f8dc7b\";\r\n case \"Red\":\r\n return \"#c83532\";\r\n case \"Grey\":\r\n return \"#909090\";\r\n default:\r\n return \"\";\r\n }\r\n }\r\n\r\n /**\r\n * Returns a text based on course occurrence status\r\n *\r\n * @param {string} status The status we want text for\r\n */\r\n courseOccurrenceStatusText(status: string): string {\r\n return `course-occurrence.statusText.${status}`;\r\n }\r\n\r\n /**\r\n * Adds student to a course instance\r\n *\r\n * @param {number} studentId The id of the student\r\n * @param {string} courseUid The course Uid of where the student should be added\r\n * @param {string} facultySv The course's faculty name in Swedish\r\n * @param {string} occurrence A concatenation of the course code and term\r\n * @param {string} courseEndDate The course's end date\r\n *\r\n * @returns {Promise} A promise with a boolean value indicating whether or not the operation was successful\r\n */\r\n addStudentToCourseInstance(\r\n studentId: number,\r\n course: Course\r\n ): Promise {\r\n const endpointController = \"Course\";\r\n const endpointRoute = \"courseOccurrences/student\";\r\n const paramName = \"studentId\";\r\n const paramValue = studentId;\r\n const queryString = `${paramName}=${paramValue}`;\r\n const addStudentToCourseInstance = `${this.baseApiUrl}api/${endpointController}/${endpointRoute}?${queryString}`;\r\n return this.fetch(addStudentToCourseInstance, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(course),\r\n });\r\n }\r\n\r\n /**\r\n * Returns a query string according to the specified filter parameters\r\n *\r\n * @param {QueryStringParameters} parameters - The filter/paging parameters to be added to the resource querystring\r\n * @returns {string} The generated query string\r\n */\r\n private generateQuerystring(parameters: QueryStringParameters): string {\r\n let queryString = \"?\";\r\n\r\n queryString += `CoordinatorId=${parameters.coordinatorId}&`;\r\n\r\n queryString +=\r\n QuerystringHelper.generateSearchAndPagingParameters(parameters);\r\n\r\n return queryString;\r\n }\r\n\r\n /**\r\n * Checks if the specified value is \"unavailable\" and if so, replaces it with the specified replacement.\r\n * This occurs when the backend could not find the course in Ladok\r\n *\r\n * Also checks if the value is a date and if so, formats it\r\n * This is in conjunction with the backend now using a DateTime type for dates instead of a string\r\n *\r\n * @param {string} value - The value to check\r\n * @param {string} replacement - The replacement value\r\n *\r\n * @returns {string} The checked string\r\n */\r\n replaceUnvailableOrFormatDate(value: string, replacement: string): string {\r\n if (\r\n value === Constants.NotAvailable ||\r\n value.startsWith(Constants.MinDateValue)\r\n ) {\r\n value = replacement;\r\n } else if (this.startsWithIsoShortDate(value)) {\r\n value = DateHelper.formatDate(value);\r\n }\r\n\r\n return value;\r\n }\r\n\r\n /**\r\n * Checks if the specified string starts with an ISO short date\r\n *\r\n * @param {string} input - The string to check\r\n *\r\n * @returns {boolean} Whether the string starts with an ISO short date\r\n */\r\n startsWithIsoShortDate(input: string): boolean {\r\n const isoShortDatePattern = /^\\d{4}-\\d{2}-\\d{2}/;\r\n return isoShortDatePattern.test(input);\r\n }\r\n\r\n /**\r\n * Sets the course title to be used as text for tooltip over link to course detail view\r\n * because just the text \"unavailable\" could be misunderstood to mean the linked view is unavailable\r\n */\r\n getCourseTitleTooltipText(title: string, unavailable: string): string {\r\n return `${title} ${unavailable.toLowerCase()}`;\r\n }\r\n\r\n /**\r\n * Checks if the granted support date is earlier than any of the selected course start dates\r\n *\r\n * @param {Date | string} grantedSupportDate The granted support date\r\n * @returns {Array} selectedCourses The selected courses\r\n *\r\n * @returns {Array} The courses that match the criteria\r\n */\r\n checkGrantedSupportDate(\r\n grantedSupportDate: Date | string,\r\n selectedCourses: Array\r\n ): Array {\r\n if (grantedSupportDate) {\r\n return selectedCourses.filter((course: PersonCourse) =>\r\n DateHelper.dateAisBeforeDateB(\r\n grantedSupportDate,\r\n course.courseStartDate\r\n )\r\n );\r\n }\r\n return new Array();\r\n }\r\n\r\n /**\r\n * Checks whether the course with the specified course Uid has an end date that has passed\r\n * Used for setting the disabled attribute on the course checkbox\r\n *\r\n * @param {string} courseUid The course Uid\r\n * @param {Array} courses The courses to search\r\n *\r\n * @returns {boolean} whether the course has an end date that has passed\r\n */\r\n isCompletedCourse(courseUid: string, courses: Array): boolean {\r\n if (!courses) {\r\n return false;\r\n }\r\n\r\n const completedCourse = courses.find(\r\n (course: Course) =>\r\n course.courseUid.toLowerCase() === courseUid.toLowerCase() &&\r\n DateHelper.dateAisBeforeDateB(course.courseEndDate, new Date())\r\n );\r\n\r\n return completedCourse != null;\r\n }\r\n}\r\n\r\nexport default new CourseService();\r\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}","\r\nimport { Vue } from \"vue-class-component\";\r\n\r\nexport default class MandatoryFieldFlag extends Vue {}\r\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:\\\\Users\\\\fr5673mo\\\\Documents\\\\git.lu.se\\\\.net\\\\student-portal\\\\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\", [\r\n this.verticalLayout ? 'flex-column' : 'flex-row',\r\n this.showFieldset ? '' : 'border-0',\r\n !this.showTitle && this.showFieldset ? 'pt-3' : '',\r\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) => (\r\n _ctx.validityMessage ? _ctx.setValidityMessage(_ctx.validityMessage) : null\r\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}","\r\nimport { PropType } from \"@vue/runtime-core\";\r\nimport { Options, Vue } from \"vue-class-component\";\r\n\r\n@Options({\r\n props: {\r\n /**\r\n * The name of the radiobutton group\r\n */\r\n name: {\r\n type: String as PropType,\r\n required: true,\r\n },\r\n /**\r\n * The value options\r\n */\r\n values: {\r\n type: Array,\r\n required: true,\r\n },\r\n /**\r\n * The current selected option\r\n */\r\n selected: {\r\n type: String as PropType,\r\n required: true,\r\n },\r\n /**\r\n * If the radiobuttons should be stack on top of each other\r\n */\r\n verticalLayout: {\r\n type: Boolean as PropType,\r\n required: false,\r\n default: true,\r\n },\r\n /**\r\n * If title should be visible\r\n */\r\n showTitle: {\r\n type: Boolean as PropType,\r\n required: false,\r\n default: true,\r\n },\r\n /**\r\n * If fieldset should be visible\r\n */\r\n showFieldset: {\r\n type: Boolean as PropType,\r\n required: false,\r\n default: true,\r\n },\r\n /**\r\n * If the input is disabled\r\n */\r\n disabled: {\r\n type: Boolean as PropType,\r\n required: false,\r\n default: false,\r\n },\r\n /**\r\n * The help text for the input\r\n */\r\n helpText: {\r\n type: String as PropType,\r\n required: false,\r\n },\r\n /**\r\n * If the input is required\r\n */\r\n required: {\r\n type: Boolean as PropType,\r\n required: false,\r\n default: false,\r\n },\r\n /**\r\n * Custom validity message\r\n */\r\n validityMessage: {\r\n type: String as PropType,\r\n required: false,\r\n },\r\n },\r\n methods: {\r\n /**\r\n * Gets called when the value changes\r\n */\r\n onChange(value: string): void {\r\n this.setValidityMessage(\"\");\r\n this.$emit(\"update:selected\", value);\r\n },\r\n /**\r\n * Sets a custom validity message\r\n *\r\n * @param {string} message The message\r\n */\r\n setValidityMessage(message: string): void {\r\n this.$refs.input[0].setCustomValidity(message);\r\n },\r\n },\r\n})\r\nexport default class RadioButtonGroup extends Vue {}\r\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:\\\\Users\\\\fr5673mo\\\\Documents\\\\git.lu.se\\\\.net\\\\student-portal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"sourceRoot":""}