{"version":3,"sources":["webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./src/views/ShareNotes.vue?8cd6","webpack:///./src/helpers/id-helper.ts","webpack:///./src/helpers/string-helper.ts","webpack:///./src/views/ShareNotes.vue?de57","webpack:///./src/components/Form/FileUpload.vue?5832","webpack:///./src/components/Form/FileUpload.vue","webpack:///./src/components/Form/FileUpload.vue?c351","webpack:///./src/services/upload-service.ts","webpack:///./src/views/ShareNotes.vue","webpack:///./src/views/ShareNotes.vue?d757","webpack:///./src/components/DetailsRow.vue?13ad","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./src/components/DetailsRow.vue?5ff4","webpack:///./src/components/DetailsRow.vue","webpack:///./src/components/DetailsRow.vue?864c","webpack:///./src/components/Form/FileUpload.vue?1487"],"names":["global","toIntegerOrInfinity","toString","requireObjectCoercible","RangeError","module","exports","count","str","this","result","n","Infinity","IdHelper","lucatId","currentUser","state","currentUserId","luEduPersonPrimaryId","entitlements","includes","personalId","env","StringHelper","input","stringLength","useLastWordBoundary","length","subString","substring","lastIndexOf","item","JSON","stringify","toLowerCase","_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","render","_ctx","_cache","$props","$setup","$data","$options","_component_Modal","_component_LuSpinner","_component_DatePicker","_component_DetailsRow","_component_FileUpload","ref","onClose","$event","goToNoteTakingRequest","default","notes","$t","_","name","fn","noteTakerFirstName","undefined","isLoading","courseCode","courseTerm","courseTitle","caption","required","value","notesDate","clearable","enableTimePicker","format","dateFormat","disabledDates","disabledWeekDays","notesTime","timePicker","timeFormat","hideInputIcon","maxSizeInMb","permittedFileTypes","fileIsSelected","fileIsReady","file","id","type","onClick","disabled","onShareButtonClicked","showChangeButton","resetFileInput","style","openFileInput","onChange","handleFileChange","validationErrors","error","index","props","Number","String","data","Array","size","extension","binaryData","emits","methods","e","target","files","isFileValid","reader","FileReader","addEventListener","uploadFile","getFileExtension","lastModified","readAsDataURL","emitFileIsSelected","isValidFileSize","bytesToMegabytes","isValidFileType","fileSize","push","fileExtension","permittedTypes","split","map","ext","trim","$nextTick","$emit","emitFile","$refs","fileUpload","click","bytes","toFixed","fileName","extname","slice","__exports__","courseOccurrenceId","endpointController","parameterName","parameterArgument","parameterName2","parameterArgument2","queryString","getNoteTakerNotes","baseApiUrl","fetch","acceptOffer","method","headers","body","components","Modal","DetailsRow","DatePicker","FileUpload","LuSpinner","computed","$i18n","locale","courseTitleSv","courseTitleEn","getNoteTakerNoteDetails","getLuEduPersonPrimaryId","$route","query","lucatid","params","then","catch","statusCode","$router","alert","date","Date","route","populateNoteTakerNotes","uploadNotes","open","toISOString","time","formatTime","hours","addLeadingZero","minutes","mounted","$","uncurryThis","thisNumberValue","$repeat","fails","floor","Math","repeat","stringSlice","un$ToFixed","pow","x","acc","log","x2","multiply","c","c2","divide","dataToString","s","t","FORCED","proto","forced","fractionDigits","z","j","k","number","fractDigits","sign","_hoisted_13","_hoisted_14","_component_MandatoryFieldFlag","_component_Badge","_component_Tooltip","detailsAreHtml","showDetailsAsBadge","detailsAreList","details","innerHTML","showTooltip","text","tooltipText","bgColor","tooltipColor","color","tooltipTextColor","rounded","backgroundColor","badgeBackgroundColor","showDetailsInBadge","$slots","Badge","Tooltip","MandatoryFieldFlag","Boolean"],"mappings":"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","file":"assets/js/chunk-16bf8a7c.8b901c49.js","sourcesContent":["'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\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!./ShareNotes.vue?vue&type=style&index=0&id=1235045e&scoped=true&lang=css\"","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","class StringHelper {\n /**\n * Returns a truncated string with a trailing \"...\"\n *\n * @param {string} input The string to truncate\n * @param {number} stringLength The length to truncate the string to\n * @param {boolean} useLastWordBoundary If set to true the string is truncated to the end of the last word in the resulting substring\n *\n * @returns {string} The truncated input string\n */\n truncate(\n input: string,\n stringLength: number,\n useLastWordBoundary = false\n ): string {\n if (input.length <= stringLength) {\n return input;\n }\n\n const subString = input.substring(0, stringLength);\n\n return (\n (useLastWordBoundary\n ? subString.substring(0, subString.lastIndexOf(\" \"))\n : subString) + \"…\"\n );\n }\n /**\n * JSON stringifys the specified item to lower case\n *\n * @param {unknown} item The item to stringify\n *\n * @returns {string} The stringified item\n */\n stringifyToLowerCase(item: unknown): string {\n return JSON.stringify(item).toLowerCase();\n }\n /**\n * Adds a leading zero to the input number if it is les than 10\n *\n * @param {number} input The input number\n *\n * @returns {string} The number as string\n */\n addLeadingZero(input: number): string {\n return input < 10 ? `0${input}` : input.toString();\n }\n}\n\nexport default new StringHelper();\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, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1235045e\"),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 = {\n key: 1,\n class: \"row justify-content-center\"\n}\nconst _hoisted_6 = { class: \"card col-12 col-lg-8\" }\nconst _hoisted_7 = { class: \"page-heading\" }\nconst _hoisted_8 = { class: \"course-title\" }\nconst _hoisted_9 = { class: \"card-body mx-auto\" }\nconst _hoisted_10 = { class: \"size-limit-caption\" }\nconst _hoisted_11 = { class: \"size-limit-caption\" }\nconst _hoisted_12 = [\"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_DatePicker = _resolveComponent(\"DatePicker\")!\n const _component_DetailsRow = _resolveComponent(\"DetailsRow\")!\n const _component_FileUpload = _resolveComponent(\"FileUpload\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Modal, {\n ref: \"success-modal\",\n onClose: _cache[0] || (_cache[0] = ($event: any) => (_ctx.goToNoteTakingRequest()))\n }, _createSlots({\n default: _withCtx(() => [\n (_ctx.notes !== null)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"share-notes.popup-success.message\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (_ctx.notes !== null)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h2\", _hoisted_1, _toDisplayString(_ctx.$t(\"share-notes.popup-success.title\", {\n name: _ctx.notes.noteTakerFirstName,\n })), 1)\n ])\n }\n : undefined\n ]), 1536),\n _createVNode(_component_Modal, { ref: \"error-modal\" }, _createSlots({\n default: _withCtx(() => [\n (_ctx.notes !== null)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(_ctx.$t(\"shared.popup-error.message\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (_ctx.notes !== null)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h2\", _hoisted_3, _toDisplayString(_ctx.$t(\"shared.popup-error.title\", {\n name: _ctx.notes.noteTakerFirstName,\n })), 1)\n ])\n }\n : undefined\n ]), 1536),\n (_ctx.isLoading)\n ? (_openBlock(), _createBlock(_component_LuSpinner, { key: 0 }))\n : _createCommentVNode(\"\", true),\n (_ctx.notes)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"h1\", _hoisted_7, _toDisplayString(_ctx.$t(\"share-notes.page-title\")) + \": \" + _toDisplayString(_ctx.notes.courseCode) + \" \" + _toDisplayString(_ctx.notes.courseTerm), 1),\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(_ctx.courseTitle), 1),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_DetailsRow, {\n caption: \"share-notes.note-taking-date\",\n required: true\n }, {\n default: _withCtx(() => [\n _createVNode(_component_DatePicker, {\n \"aria-label\": \"Date Picker\",\n value: _ctx.notesDate,\n \"onUpdate:value\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.notesDate) = $event)),\n required: true,\n clearable: false,\n enableTimePicker: false,\n format: _ctx.dateFormat,\n disabledDates: _ctx.disabledDates,\n disabledWeekDays: _ctx.disabledWeekDays\n }, null, 8, [\"value\", \"format\", \"disabledDates\", \"disabledWeekDays\"])\n ]),\n _: 1\n }),\n _createVNode(_component_DetailsRow, {\n caption: \"share-notes.note-taking-time\",\n required: true\n }, {\n default: _withCtx(() => [\n _createVNode(_component_DatePicker, {\n \"aria-label\": \"Time Picker\",\n value: _ctx.notesTime,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.notesTime) = $event)),\n required: true,\n clearable: false,\n timePicker: true,\n format: _ctx.timeFormat,\n hideInputIcon: true\n }, null, 8, [\"value\", \"format\"])\n ]),\n _: 1\n }),\n _createVNode(_component_DetailsRow, {\n caption: \"share-notes.select-file\",\n required: true\n }, {\n default: _withCtx(() => [\n _createVNode(_component_FileUpload, {\n ref: \"fileUpload\",\n maxSizeInMb: _ctx.maxSizeInMb,\n permittedFileTypes: _ctx.permittedFileTypes,\n fileIsSelected: _ctx.fileIsSelected,\n \"onUpdate:fileIsSelected\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.fileIsSelected) = $event)),\n fileIsReady: _ctx.fileIsReady,\n \"onUpdate:fileIsReady\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.fileIsReady) = $event)),\n file: _ctx.file,\n \"onUpdate:file\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.file) = $event))\n }, null, 8, [\"maxSizeInMb\", \"permittedFileTypes\", \"fileIsSelected\", \"fileIsReady\", \"file\"]),\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(`${this.$t(\"file-upload.permitted-file-types\")}: ${\n this.permittedFileTypes\n }`), 1),\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(`${this.$t(\"file-upload.max-file-size\")}: ${this.maxSizeInMb} MB`), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_DetailsRow, { class: \"button-row\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"button\", {\n id: \"cancelBtn\",\n type: \"button\",\n class: \"btn btn-outline-primary mb-3\",\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.goToNoteTakingRequest()))\n }, _toDisplayString(_ctx.$t(\"shared.cancel\")), 1),\n _createElementVNode(\"button\", {\n id: \"uploadBtn\",\n type: \"button\",\n class: \"btn btn-primary mb-3\",\n disabled: !_ctx.fileIsSelected,\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.onShareButtonClicked()))\n }, _toDisplayString(_ctx.$t(\"share-notes.share-notes\")), 9, _hoisted_12)\n ]),\n _: 1\n })\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-85a5c054\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"file-upload-container\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { class: \"file-upload\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { key: 1 }\nconst _hoisted_6 = { class: \"file-name\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"button-row margin-top-10\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_ctx.fileIsSelected)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"button\", {\n style: {\"display\":\"block\",\"width\":\"120px\",\"height\":\"30px\"},\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.openFileInput && _ctx.openFileInput(...args)))\n }, _toDisplayString(_ctx.$t(\"file-upload.choose-file\")), 1),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"file-upload.no-file-chosen\")) + \" \", 1),\n _createElementVNode(\"input\", {\n ref: \"fileUpload\",\n type: \"file\",\n name: \"fileUpload\",\n id: \"fileUpload\",\n style: {\"display\":\"none\"},\n \"aria-label\": \"File Upload\",\n onChange: _cache[1] || (_cache[1] = ($event: any) => (_ctx.handleFileChange($event)))\n }, null, 544)\n ]),\n (_ctx.validationErrors.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.validationErrors, (error, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"file-upload-error margin-top-10\",\n key: index\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(error), 1)\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.file.name), 1),\n (_ctx.showChangeButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"button\", {\n id: \"changeBtn\",\n type: \"button\",\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.resetFileInput && _ctx.resetFileInput(...args)))\n }, _toDisplayString(_ctx.$t(\"file-upload.change-file\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]))\n}","\nimport { Options, Vue } from \"vue-class-component\";\nimport { PropType } from \"vue\";\nimport path from \"path\";\nimport { IFileInputEvent } from \"@/interfaces/IFileInputEvent\";\nimport { IUploadFile } from \"@/interfaces/IUploadFile\";\n\n/*\n **** USAGE *******************************************************************************************\n *\n * • The parent component must set up a binding for the following 3 properties using v-model\n *\n * fileIsSelected: boolean\n * fileIsReady: boolean\n * file: object (implements IUploadFile)\n *\n * • The parent component must set a reference to this component so that it can emit the file object and fileIsReady value\n * by calling this component's emitFile method, like so:\n *\n * this.$refs.fileUpload.emitFile();\n * while (!this.fileIsReady);\n *\n * const notesUpload = this.file\n *\n * // call to upload service\n *\n * • The maximum permitted file size for upload can be passed as a prop\n * • A comma delimited string of permitted file types for upload can be passed as a prop\n *\n * Example:\n *\n * \n *\n *****************************************************************************************************/\n\n@Options({\n props: {\n /*\n * The maximum permitted file size for upload (in megabytes)\n * The default value will cancel the validation\n */\n maxSizeInMb: {\n type: Number as PropType,\n required: false,\n default: 0,\n },\n /*\n * A comma delimited string of permitted file types for upload\n * The default value will cancel the validation\n */\n permittedFileTypes: {\n type: String as PropType,\n required: false,\n default: \"\",\n },\n },\n data: () => ({\n /*\n * An array of validation errors displayed to the user\n */\n validationErrors: new Array(),\n /*\n * The file object to return to the parent component\n */\n file: {\n name: \"\",\n size: 0,\n type: \"\",\n extension: \"\",\n binaryData: \"\",\n },\n /*\n * Used to display or hide the file upload input\n * and also emitted to the parent component\n */\n fileIsSelected: false,\n /*\n * Used to display or hide the change file button\n */\n showChangeButton: true,\n }),\n emits: [\"update:fileIsSelected\", \"update:file\", \"update:fileIsReady\"],\n methods: {\n /*\n * Populates the file object to return to the parent component if the selected file passes validation\n */\n handleFileChange(e: IFileInputEvent): void {\n if (e.target.files && e.target.files[0]) {\n const file = e.target.files[0];\n\n if (this.isFileValid(file)) {\n const reader = new FileReader();\n reader.addEventListener(\n \"load\",\n () => {\n const uploadFile: Partial = {\n name: file.name,\n size: file.size,\n type: file.type,\n extension: this.getFileExtension(file.name),\n lastModified: file.lastModified,\n binaryData: reader.result,\n };\n this.file = uploadFile;\n },\n false\n );\n reader.readAsDataURL(file);\n\n this.emitFileIsSelected(true);\n }\n }\n },\n /*\n * Validates the selected file\n */\n isFileValid(file: File): boolean {\n this.validationErrors = [];\n this.isValidFileSize(this.bytesToMegabytes(file.size));\n this.isValidFileType(this.getFileExtension(file.name));\n return this.validationErrors.length === 0;\n },\n /*\n * Validates file size\n */\n isValidFileSize(fileSize: number): void {\n if (this.maxSizeInMb === 0) {\n return;\n }\n if (fileSize > this.maxSizeInMb) {\n this.validationErrors.push(\n `${this.$t(\"file-upload.file-size-error\")} ${this.maxSizeInMb} MB`\n );\n }\n },\n /*\n * Validates file type\n */\n isValidFileType(fileExtension: string): void {\n if (this.permittedFileTypes.length === 0) {\n return;\n }\n const permittedTypes = this.permittedFileTypes\n .split(\",\")\n .map((ext: string) => ext.trim());\n\n if (!permittedTypes.includes(fileExtension)) {\n this.validationErrors.push(\n `${this.$t(\"file-upload.file-type-error\")} ${this.permittedFileTypes}`\n );\n }\n },\n /*\n * Resets the file object and displays the file upload input\n */\n resetFileInput(): void {\n this.$nextTick(() => {\n this.file = {\n name: \"\",\n size: 0,\n type: \"\",\n data: \"\",\n extension: \"\",\n binaryData: \"\",\n };\n });\n this.emitFileIsSelected(false);\n },\n /*\n * Emits the fileIsSelected value to the parent component\n */\n emitFileIsSelected(value: boolean): void {\n this.fileIsSelected = value;\n this.$emit(\"update:fileIsSelected\", value);\n },\n /*\n * Emits the file object and the fileIsReady value to the parent component\n * Called from the parent component via reference, eg:\n * this.$refs.fileUpload.emitFile();\n */\n emitFile(): void {\n this.showChangeButton = false;\n\n // Remove base64 encoding header, eg: data:application/pdf;base64,\n this.file.binaryData = this.file.binaryData.split(\",\")[1];\n\n this.$emit(\"update:file\", this.file);\n this.$emit(\"update:fileIsReady\", true);\n },\n /*\n * Opens the hidden file upload input\n */\n openFileInput(): void {\n this.validationErrors.length = 0;\n this.$refs.fileUpload.click();\n },\n /*\n * Converts bytes to megabytes\n */\n bytesToMegabytes(bytes: number): number {\n return Number((bytes / 1048576).toFixed(2));\n },\n /*\n * Gets the file extension from the file name\n */\n getFileExtension(fileName: string): string {\n return path.extname(fileName).slice(1);\n },\n },\n})\nexport default class FileUpload extends Vue {}\n","import { render } from \"./FileUpload.vue?vue&type=template&id=85a5c054&scoped=true&ts=true\"\nimport script from \"./FileUpload.vue?vue&type=script&lang=ts\"\nexport * from \"./FileUpload.vue?vue&type=script&lang=ts\"\n\nimport \"./FileUpload.vue?vue&type=style&index=0&id=85a5c054&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-85a5c054\"]])\n\nexport default __exports__","import { NoteTakerNotes } from \"@/interfaces/api\";\nimport BaseService from \"@/services/base-service\";\n\nclass UploadService extends BaseService {\n /**\n * Fetches the note-taker notes with the specified note-taker id and course id\n *\n * @param {string} luEduPersonPrimaryId - The lucat id of the note-taker\n * * @param {number} courseOccurrenceId - The id of the course occurence\n * @returns {Promise} A Promise with the NoteTakerNotes\n */\n getNoteTakerNotes(\n luEduPersonPrimaryId: string,\n courseOccurrenceId: number\n ): Promise {\n const endpointController = \"Upload\";\n const parameterName = \"luEduPersonPrimaryId\";\n const parameterArgument = luEduPersonPrimaryId;\n const parameterName2 = \"courseOccurrenceId\";\n const parameterArgument2 = courseOccurrenceId;\n const queryString = `${parameterName}=${parameterArgument}&${parameterName2}=${parameterArgument2}`;\n const getNoteTakerNotes = `${this.baseApiUrl}api/${endpointController}?${queryString}`;\n return this.fetch(getNoteTakerNotes);\n }\n\n /**\n * Uploads the specified note-taker notes\n *\n * @param {NoteTakerNotes>} notes - The note-taker notes\n * @returns {Promise} A Promise with a boolean representing the success of the operation\n */\n uploadNotes(notes: NoteTakerNotes): Promise {\n const endpointController = \"Upload\";\n const acceptOffer = `${this.baseApiUrl}api/${endpointController}`;\n return this.fetch(acceptOffer, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(notes),\n });\n }\n}\n\nexport default new UploadService();\n","\nimport { Options, Vue } from \"vue-class-component\";\nimport Modal from \"@/components/Modal.vue\";\nimport DetailsRow from \"@/components/DetailsRow.vue\";\nimport DatePicker from \"@/components/Form/DatePicker.vue\";\nimport FileUpload from \"@/components/Form/FileUpload.vue\";\nimport LuSpinner from \"@/components/Lu/LuSpinner.vue\";\nimport IdHelper from \"@/helpers/id-helper\";\nimport StringHelper from \"@/helpers/string-helper\";\nimport UploadService from \"@/services/upload-service\";\nimport { IUploadFile } from \"@/interfaces/IUploadFile\";\n\n@Options({\n components: {\n Modal,\n DetailsRow,\n DatePicker,\n FileUpload,\n LuSpinner,\n },\n data: () => ({\n /*\n * The notes object which is both retrieved and sent\n */\n notes: null,\n /**\n * If the data is still loading used to show spinner\n */\n isLoading: false,\n /*\n * The time format for the date picker to use\n */\n timeFormat: \"HH:mm\",\n /*\n * The date format for the date picker to use\n */\n dateFormat: \"yyyy-MM-dd\",\n /*\n * Disables selection of Saturdyas and Sundays in the date picker\n */\n disabledWeekDays: [0, 6],\n /*\n * Populated by the date only date picker\n */\n notesDate: null,\n /*\n * Populated by the time only date picker\n */\n notesTime: null,\n /*\n * Passed to the file upload component to limit file types that are allowed to be uploaded\n */\n permittedFileTypes: \"doc, docx, odt, pdf, rtf, txt, md, apkg\",\n /*\n * Passed to the file upload component to limit the file size that is allowed to be uploaded\n */\n maxSizeInMb: 20,\n /*\n * The file to be uploaded\n * (emitted from the file upload component)\n */\n file: {},\n /*\n * Used to disable the call to the upload button\n * (emitted from the file upload component)\n */\n fileIsSelected: false,\n /*\n * Used to delay the call to the upload service\n * (emitted from the file upload component)\n */\n fileIsReady: false,\n }),\n computed: {\n /*\n * The course title in the selected language\n */\n courseTitle(): string {\n return this.$i18n.locale === \"sv\"\n ? this.notes?.courseTitleSv\n : this.notes?.courseTitleEn;\n },\n },\n methods: {\n /**\n * Fetches the note-taker note details including the note-taker's name\n * and course code, term, and title\n */\n getNoteTakerNoteDetails(): void {\n this.isLoading = true;\n\n const luEduPersonPrimaryId = IdHelper.getLuEduPersonPrimaryId(\n this.$route.query.lucatid\n );\n\n const courseOccurrenceId = this.$route.params.id;\n\n UploadService.getNoteTakerNotes(luEduPersonPrimaryId, courseOccurrenceId)\n .then((notes) => {\n this.notes = notes;\n this.isLoading = false;\n })\n .catch((statusCode) => {\n if (statusCode === 404) {\n // if the current user is not an active note-taker for the course, the backend will return a 404 response\n return this.$router.push({\n name: \"Unauthorized\",\n });\n } else {\n alert(\"Something went wrong\" + statusCode);\n }\n });\n },\n /*\n * Disables selection of future dates in the date picker\n */\n disabledDates(date: Date): boolean {\n return date > new Date();\n },\n /*\n * Navigates to the student home page\n */\n goToNoteTakingRequest() {\n const lucatid = this.$route.query.lucatid;\n\n const route = {\n name: \"NoteTakingRequest\",\n query: {},\n };\n\n if (lucatid) {\n route.query = { lucatid: lucatid };\n }\n\n this.$router.push(route);\n },\n /*\n * Uploads the note-taker's note\n */\n onShareButtonClicked(): void {\n this.isLoading = true;\n\n this.$refs.fileUpload.emitFile();\n while (!this.fileIsReady);\n\n this.populateNoteTakerNotes();\n\n UploadService.uploadNotes(this.notes).then((result: boolean) => {\n this.isLoading = false;\n\n if (result) {\n this.$refs[\"success-modal\"].open();\n } else {\n this.$refs[\"error-modal\"].open();\n }\n });\n },\n /*\n * Populates the note-taker notes object to be uploaded\n */\n populateNoteTakerNotes(): void {\n const file: IUploadFile = this.file;\n\n this.notes.date = this.notesDate.toISOString().substring(0, 10);\n this.notes.time = this.formatTime();\n this.notes.file = {\n name: file.name,\n size: file.size,\n extension: file.extension,\n binaryData: file.binaryData?.toString(),\n };\n },\n /*\n * Formats the notes time\n */\n formatTime(): string {\n const time = this.notesTime;\n const hours = StringHelper.addLeadingZero(time.hours);\n const minutes = StringHelper.addLeadingZero(time.minutes);\n return `${hours}${minutes}`;\n },\n },\n async mounted() {\n this.getNoteTakerNoteDetails();\n },\n})\nexport default class ShareNotes extends Vue {}\n","import { render } from \"./ShareNotes.vue?vue&type=template&id=1235045e&scoped=true&ts=true\"\nimport script from \"./ShareNotes.vue?vue&type=script&lang=ts\"\nexport * from \"./ShareNotes.vue?vue&type=script&lang=ts\"\n\nimport \"./ShareNotes.vue?vue&type=style&index=0&id=1235045e&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-1235045e\"]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader-v16/dist/index.js??ref--1-1!./DetailsRow.vue?vue&type=style&index=0&id=0948d347&scoped=true&lang=css\"","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar thisNumberValue = require('../internals/this-number-value');\nvar $repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar String = global.String;\nvar floor = Math.floor;\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar un$ToFixed = uncurryThis(1.0.toFixed);\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar multiply = function (data, n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\n\nvar divide = function (data, n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\n\nvar dataToString = function (data) {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = fails(function () {\n return un$ToFixed(0.00008, 3) !== '0.000' ||\n un$ToFixed(0.9, 0) !== '1' ||\n un$ToFixed(1.255, 2) !== '1.25' ||\n un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128';\n}) || !fails(function () {\n // V8 ~ Android 4.3-\n un$ToFixed({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toIntegerOrInfinity(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(data, 0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(data, 1e7, 0);\n j -= 7;\n }\n multiply(data, pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(data, 1 << 23);\n j -= 23;\n }\n divide(data, 1 << j);\n multiply(data, 1, 1);\n divide(data, 2);\n result = dataToString(data);\n } else {\n multiply(data, 0, z);\n multiply(data, 1 << -e, 0);\n result = dataToString(data) + repeat('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat('0', fractDigits - k) + result\n : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, renderSlot as _renderSlot, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0948d347\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"detailsRow\" }\nconst _hoisted_2 = { class: \"detailsCaption\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"detailsCol\"\n}\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = {\n key: 2,\n class: \"detailsCol\"\n}\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { key: 1 }\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = {\n key: 3,\n class: \"detailsCol\"\n}\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = [\"innerHTML\"]\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = {\n key: 4,\n class: \"detailsCol\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MandatoryFieldFlag = _resolveComponent(\"MandatoryFieldFlag\")!\n const _component_Badge = _resolveComponent(\"Badge\")!\n const _component_Tooltip = _resolveComponent(\"Tooltip\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createTextVNode(_toDisplayString(_ctx.caption ? _ctx.$t(_ctx.caption) : \"\") + \" \", 1),\n (_ctx.required)\n ? (_openBlock(), _createBlock(_component_MandatoryFieldFlag, { key: 0 }))\n : _createCommentVNode(\"\", true)\n ]),\n (\n !_ctx.detailsAreHtml && !_ctx.showDetailsAsBadge && !_ctx.detailsAreList && _ctx.details\n )\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _toDisplayString(_ctx.details), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.detailsAreHtml && !_ctx.showDetailsAsBadge && !_ctx.detailsAreList)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"detailsCol\",\n innerHTML: _ctx.details\n }, null, 8, _hoisted_4))\n : _createCommentVNode(\"\", true),\n (_ctx.showDetailsAsBadge)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n (_ctx.showTooltip)\n ? (_openBlock(), _createBlock(_component_Tooltip, {\n key: 0,\n text: _ctx.tooltipText,\n bgColor: _ctx.tooltipColor,\n color: _ctx.tooltipTextColor\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Badge, {\n rounded: true,\n backgroundColor: _ctx.badgeBackgroundColor\n }, {\n default: _withCtx(() => [\n (_ctx.showDetailsInBadge)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString(_ctx.details), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_7, \" \"))\n ]),\n _: 1\n }, 8, [\"backgroundColor\"])\n ]),\n _: 1\n }, 8, [\"text\", \"bgColor\", \"color\"]))\n : (_openBlock(), _createBlock(_component_Badge, {\n key: 1,\n rounded: true,\n backgroundColor: _ctx.badgeBackgroundColor\n }, {\n default: _withCtx(() => [\n (_ctx.showDetailsInBadge)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_8, _toDisplayString(_ctx.details), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_9, \" \"))\n ]),\n _: 1\n }, 8, [\"backgroundColor\"]))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.detailsAreList)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n (_ctx.detailsAreHtml)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_11, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.details, (item) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: item,\n innerHTML: item\n }, null, 8, _hoisted_12))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"ul\", _hoisted_13, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.details, (item) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: item }, _toDisplayString(item), 1))\n }), 128))\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.details || !_ctx.details.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\nimport Badge from \"@/components/Badge.vue\";\nimport Tooltip from \"@/components/Tooltip.vue\";\nimport MandatoryFieldFlag from \"@/components/Form/MandatoryFieldFlag.vue\";\n\n@Options({\n components: {\n Badge,\n Tooltip,\n MandatoryFieldFlag,\n },\n props: {\n /**\n * The caption for the row\n */\n caption: {\n type: String as PropType,\n required: false,\n },\n /**\n * The info/details for the row\n */\n details: {\n type: [String, Array] as PropType>,\n required: false,\n },\n /**\n * If set to true the details are shown as a badge\n */\n showDetailsAsBadge: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * If set to true the details are shown in the badge,\n * otherwise the badge can be used for example purely as a status color\n * showDetailsAsBadge must also be set to true\n */\n showDetailsInBadge: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * Background color of the badge\n */\n badgeBackgroundColor: {\n type: String as PropType,\n required: false,\n },\n /**\n * If set to true the details are shown as a list\n */\n detailsAreList: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n /**\n * If set to true the details are rendered as a HTML\n */\n detailsAreHtml: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n showTooltip: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n tooltipText: {\n type: String as PropType,\n required: false,\n },\n tooltipColor: {\n type: String as PropType,\n required: false,\n },\n tooltipTextColor: {\n type: String as PropType,\n required: false,\n },\n required: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n },\n})\nexport default class DetailsRow extends Vue {}\n","import { render } from \"./DetailsRow.vue?vue&type=template&id=0948d347&scoped=true&ts=true\"\nimport script from \"./DetailsRow.vue?vue&type=script&lang=ts\"\nexport * from \"./DetailsRow.vue?vue&type=script&lang=ts\"\n\nimport \"./DetailsRow.vue?vue&type=style&index=0&id=0948d347&scoped=true&lang=css\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0948d347\"]])\n\nexport default __exports__","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!./FileUpload.vue?vue&type=style&index=0&id=85a5c054&scoped=true&lang=css\""],"sourceRoot":""}