{"version":3,"sources":["webpack:///./src/views/administrator/CourseOccurrenceList.vue?5a48","webpack:///./src/views/administrator/CourseOccurrenceList.vue?f206","webpack:///./src/views/administrator/CourseOccurrenceList.vue?3079","webpack:///./src/views/administrator/CourseOccurrenceList.vue?9db8","webpack:///./src/components/Form/CheckboxInput.vue?2387","webpack:///./src/components/Form/CheckboxInput.vue","webpack:///./src/components/Form/CheckboxInput.vue?0481","webpack:///./src/interfaces/api.ts","webpack:///./src/helpers/string-helper.ts","webpack:///./src/components/Accordion.vue?dbc1","webpack:///./src/components/Accordion.vue","webpack:///./src/components/Accordion.vue?2fef"],"names":["n","_hoisted_1","class","_hoisted_2","_hoisted_3","key","_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","render","_ctx","_cache","$props","$setup","$data","$options","_component_SelectItem","_component_Accordion","_component_Badge","_component_Tooltip","_component_router_link","_component_Table","button","$t","content","id","value","selectedCoordinator","$event","name","onSelectionChanged","onCoordinatorChange","options","coordinators","placeholder","placeholderValue","enableReset","label","_","rows","sortColumn","ascending","stickyFirstColumn","showPagination","allowChangeRowPerPage","showNumRows","pagingData","hiddenColumns","unsortableColumns","pageHeading","useSpinner","isLoading","onPageNumberChanged","onPageNumberChange","onSortChanged","onSortChange","onPageSizeChanged","onPageSizeChange","td","data","col","default","text","statusText","val","bgColor","statusBgColor","color","statusTextColor","rounded","backgroundColor","currentUser","checkEntitlement","to","navigateToDetailsUrl","row","replaceUnvailableOrFormatDate","$i18n","locale","innerHTML","truncate","courseTitleTruncationLength","title","length","getLatestCourseInstanceOfferDate","components","Table","Badge","Tooltip","Accordion","SelectItem","CheckboxInput","courseOccurrences","CourseTitleTruncationLength","Array","computed","this","mapToPartialCourseOccurrenceOverviewArray","methods","activeOffers","filter","offer","canceled","undefined","confirmed","sortedActiveOffers","sort","offerA","offerB","dateCompareFunction","sent","formatDate","getCourseOccurrences","parameters","getQueryStringParameters","then","populatePagingData","items","saveFilteredCourseOccurrenceIds","sortedIds","catch","e","console","error","sortBy","sortOrder","Asc","Desc","pageNumber","currentPage","pageSize","coordinatorId","getUsersPagingData","userPagingData","getItem","CourseOccurrenceTableUserPagingData","coordinator","totalPages","totalCount","hasPrevious","hasNext","generateUserPagingData","setItem","SortedCourseOccurrenceIds","status","courseOccurrenceStatusColor","courseOccurrenceStatusText","input","stringLength","columnName","getColumnName","getCoordinators","getCachedCoordinatorsByFunctionId","NoteTakingFunctionId","mounted","__exports__","type","ariaLabel","fieldId","checked","disabled","required","onChange","onUpdate","target","style","cursor","ref","onInvalid","validityMessage","setValidityMessage","for","helpText","props","String","Boolean","emits","isChecked","$emit","message","$refs","setCustomValidity","CourseOccurrenceStatus","FeeDataExportType","Locale","NoteTakerStatus","SortOrder","StringHelper","useLastWordBoundary","subString","substring","lastIndexOf","item","JSON","stringify","toLowerCase","toString","_component_font_awesome_icon","onClick","toggle","_expanded","$slots","icon","show","expanded","created"],"mappings":"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","file":"assets/js/chunk-342f82b6.425f02f3.js","sourcesContent":["import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52623bb2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex accordian\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = { key: 2 }\nconst _hoisted_6 = { key: 3 }\nconst _hoisted_7 = { key: 4 }\nconst _hoisted_8 = { key: 5 }\nconst _hoisted_9 = /*#__PURE__*/_createTextVNode(\"   \")\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = { key: 1 }\nconst _hoisted_12 = [\"innerHTML\", \"title\"]\nconst _hoisted_13 = [\"innerHTML\", \"title\"]\nconst _hoisted_14 = { key: 4 }\nconst _hoisted_15 = { key: 5 }\nconst _hoisted_16 = { key: 6 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_SelectItem = _resolveComponent(\"SelectItem\")!\n const _component_Accordion = _resolveComponent(\"Accordion\")!\n const _component_Badge = _resolveComponent(\"Badge\")!\n const _component_Tooltip = _resolveComponent(\"Tooltip\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Table = _resolveComponent(\"Table\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Accordion, null, {\n button: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"shared.search-and-filter\")), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_SelectItem, {\n id: \"coordinator\",\n value: _ctx.selectedCoordinator.id,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedCoordinator.id) = $event)),\n name: _ctx.selectedCoordinator.name,\n \"onUpdate:name\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.selectedCoordinator.name) = $event)),\n onSelectionChanged: _ctx.onCoordinatorChange,\n options: _ctx.coordinators,\n placeholder: `- ${_ctx.$t('shared.choose')} -`,\n placeholderValue: \"0\",\n enableReset: true,\n label: _ctx.$t('shared.coordinator')\n }, null, 8, [\"value\", \"name\", \"onSelectionChanged\", \"options\", \"placeholder\", \"label\"])\n ])\n ]),\n _: 1\n }),\n _hoisted_2,\n _createVNode(_component_Table, {\n rows: _ctx.rows,\n sortColumn: _ctx.sortColumn,\n \"onUpdate:sortColumn\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.sortColumn) = $event)),\n ascending: _ctx.ascending,\n \"onUpdate:ascending\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.ascending) = $event)),\n stickyFirstColumn: \"\",\n showPagination: \"\",\n allowChangeRowPerPage: \"\",\n showNumRows: \"\",\n pagingData: _ctx.pagingData,\n hiddenColumns: _ctx.hiddenColumns,\n unsortableColumns: _ctx.unsortableColumns,\n pageHeading: _ctx.pageHeading,\n useSpinner: true,\n isLoading: _ctx.isLoading,\n onPageNumberChanged: _ctx.onPageNumberChange,\n onSortChanged: _ctx.onSortChange,\n onPageSizeChanged: _ctx.onPageSizeChange\n }, {\n td: _withCtx((data) => [\n (data.col === 'coordinatorName')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, _toDisplayString(_ctx.$t(\"shared.coordinator\")), 1))\n : (data.col === 'proposedNoteTakersCount')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\"shared.proposedNoteTakersCount\")), 1))\n : (data.col === 'offer')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5, _toDisplayString(_ctx.$t(\"shared.offer\")), 1))\n : (data.col === 'titleSv' || data.col === 'titleEn')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString(_ctx.$t(\"course-occurrence.title\")), 1))\n : (data.col === 'latestNoteTakerOffer')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, _toDisplayString(_ctx.$t(\"course-occurrence.offer.offer\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_8, _toDisplayString(_ctx.$t(`course-occurrence.${data.col}`)), 1))\n ]),\n default: _withCtx((data) => [\n (data.col === 'status')\n ? (_openBlock(), _createBlock(_component_Tooltip, {\n key: 0,\n text: _ctx.statusText(data.val),\n bgColor: _ctx.statusBgColor(data.val),\n color: _ctx.statusTextColor(data.val)\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Badge, {\n rounded: true,\n backgroundColor: _ctx.statusBgColor(data.val)\n }, {\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 2\n }, 1032, [\"backgroundColor\"])\n ]),\n _: 2\n }, 1032, [\"text\", \"bgColor\", \"color\"]))\n : (data.col === 'occurrence')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_10, [\n (\r\n _ctx.currentUser.checkEntitlement([\r\n [\r\n 'Anteckningsstödsadministratör',\r\n 'or',\r\n 'Anteckningsadministratör',\r\n ],\r\n 'or',\r\n 'Samordnare',\r\n ])\r\n )\n ? (_openBlock(), _createBlock(_component_router_link, {\n key: 0,\n to: _ctx.navigateToDetailsUrl + data.row.id\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.replaceUnvailableOrFormatDate(data.val)), 1)\n ]),\n _: 2\n }, 1032, [\"to\"]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_ctx.replaceUnvailableOrFormatDate(data.val)), 1))\n ]))\n : _createCommentVNode(\"\", true),\n (this.$i18n.locale === 'en' && data.col === 'titleEn')\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 2,\n innerHTML: \r\n _ctx.truncate(\r\n _ctx.replaceUnvailableOrFormatDate(data.val),\r\n _ctx.courseTitleTruncationLength\r\n )\r\n ,\n title: data.val.length > _ctx.courseTitleTruncationLength ? data.val : ''\n }, null, 8, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (this.$i18n.locale === 'sv' && data.col === 'titleSv')\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 3,\n innerHTML: \r\n _ctx.truncate(\r\n _ctx.replaceUnvailableOrFormatDate(data.val),\r\n _ctx.courseTitleTruncationLength\r\n )\r\n ,\n title: data.val.length > _ctx.courseTitleTruncationLength ? data.val : ''\n }, null, 8, _hoisted_13))\n : (data.col === 'offer')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_14, _toDisplayString(_ctx.getLatestCourseInstanceOfferDate(data.val)), 1))\n : (\r\n data.col === 'courseStartDate' || data.col === 'courseEndDate'\r\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_15, _toDisplayString(_ctx.replaceUnvailableOrFormatDate(data.val)), 1))\n : (\r\n data.col !== 'occurrence' &&\r\n data.col !== 'titleEn' &&\r\n data.col !== 'titleSv' &&\r\n data.col !== 'status' &&\r\n data.col !== 'offer' &&\r\n data.col !== 'courseStartDate' &&\r\n data.col !== 'courseEndDate'\r\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_16, _toDisplayString(data.val), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"rows\", \"sortColumn\", \"ascending\", \"pagingData\", \"hiddenColumns\", \"unsortableColumns\", \"pageHeading\", \"isLoading\", \"onPageNumberChanged\", \"onSortChanged\", \"onPageSizeChanged\"])\n ]))\n}","\r\nimport { Options, Vue } from \"vue-class-component\";\r\nimport Accordion from \"@/components/Accordion.vue\";\r\nimport Tooltip from \"@/components/Tooltip.vue\";\r\nimport Table from \"@/components/Table.vue\";\r\nimport Badge from \"@/components/Badge.vue\";\r\nimport CheckboxInput from \"@/components/Form/CheckboxInput.vue\";\r\nimport SelectItem from \"@/components/Form/SelectItem.vue\";\r\nimport { Constants } from \"@/constants/constants\";\r\nimport {\r\n CourseOccurrenceBase,\r\n PagedList,\r\n SortOrder,\r\n QueryStringParameters,\r\n NoteTakerOffer,\r\n} from \"@/interfaces/api\";\r\nimport { INameAndId } from \"@/interfaces/INameAndId\";\r\nimport { IPagingData } from \"@/interfaces/IPagingData\";\r\nimport { IUserPagingData } from \"@/interfaces/IUserPagingData\";\r\nimport CourseService from \"@/services/course-service\";\r\nimport LocalStorageService from \"@/services/localstorage-service\";\r\nimport DateHelper from \"@/helpers/date-helper\";\r\nimport MappingHelper from \"@/helpers/mapping-helper\";\r\nimport StringHelper from \"@/helpers/string-helper\";\r\nimport CoordinatorService from \"@/services/coordinator-service\";\r\nimport { mapState } from \"vuex\";\r\n\r\n@Options({\r\n components: {\r\n Table,\r\n Badge,\r\n Tooltip,\r\n Accordion,\r\n SelectItem,\r\n CheckboxInput,\r\n },\r\n data: () => ({\r\n /**\r\n * The current sort column\r\n */\r\n sortColumn: \"endDate\",\r\n /**\r\n * If sort order is ascending\r\n */\r\n ascending: false,\r\n /**\r\n * All course ocurrences\r\n */\r\n courseOccurrences: [],\r\n /**\r\n * Holds the paging data sent back with the list of course occurrences from the backend\r\n */\r\n pagingData: {},\r\n /**\r\n * The url to detailed view\r\n */\r\n navigateToDetailsUrl: \"/administrator/courseoccurrencedetails/\",\r\n /**\r\n * If the data is still loading - passed to the table component to show spinner\r\n */\r\n isLoading: true,\r\n /**\r\n * The length to truncate the course title to\r\n */\r\n courseTitleTruncationLength: Constants.CourseTitleTruncationLength,\r\n /*\r\n * Holds a list of coordinator names and ids and is populated by a call to the coordinator service when the page loads\r\n */\r\n coordinators: new Array(),\r\n /**\r\n * The selected coordinator to filter on\r\n */\r\n selectedCoordinator: { id: 0, name: \"\" },\r\n }),\r\n computed: {\r\n /**\r\n * Hides course title column in one language depending on chosen locale\r\n */\r\n hiddenColumns() {\r\n return this.$i18n.locale === \"sv\" ? [\"id\", \"titleEn\"] : [\"id\", \"titleSv\"];\r\n },\r\n /**\r\n * Columns that should not be sortable\r\n */\r\n unsortableColumns() {\r\n return [\"latestNoteTakerOffer\"];\r\n },\r\n /**\r\n * The page heading to be displayed above the table\r\n */\r\n pageHeading() {\r\n return this.$t(\"shared.routes.course-occurrence-overview\");\r\n },\r\n /**\r\n * All rows in the table\r\n */\r\n rows() {\r\n return MappingHelper.mapToPartialCourseOccurrenceOverviewArray(\r\n this.courseOccurrences\r\n );\r\n },\r\n ...mapState([\"currentUser\"]),\r\n },\r\n methods: {\r\n /**\r\n * Fetches and filters course instance offers to output the first offer date\r\n */\r\n getLatestCourseInstanceOfferDate(data: NoteTakerOffer[]): string {\r\n const activeOffers = data.filter((offer) => {\r\n return (\r\n (offer.canceled === null || offer.canceled === undefined) &&\r\n (offer.confirmed === null || offer.confirmed === undefined)\r\n );\r\n });\r\n const sortedActiveOffers = activeOffers.sort((offerA, offerB) => {\r\n return DateHelper.dateCompareFunction(offerA.sent, offerB.sent);\r\n });\r\n if (!sortedActiveOffers[0]) {\r\n return \"\";\r\n }\r\n return DateHelper.formatDate(sortedActiveOffers[0]?.sent);\r\n },\r\n /**\r\n * Fetches course occurrences that meet the required paging data\r\n */\r\n getCourseOccurrences(): void {\r\n const parameters = this.getQueryStringParameters();\r\n this.isLoading = true;\r\n CourseService.getCourseOccurrences(parameters)\r\n .then((data: PagedList) => {\r\n this.populatePagingData(data);\r\n this.courseOccurrences = data.items;\r\n this.rows = MappingHelper.mapToPartialCourseOccurrenceOverviewArray(\r\n data.items\r\n );\r\n this.isLoading = false;\r\n this.saveFilteredCourseOccurrenceIds(data.sortedIds);\r\n })\r\n .catch((e: Error) => {\r\n console.error(e);\r\n });\r\n },\r\n /**\r\n * Populates and returns parameters for the getCourseOccurrences method in the course service\r\n */\r\n getQueryStringParameters(): QueryStringParameters {\r\n return {\r\n sortBy: this.sortColumn,\r\n sortOrder: this.ascending ? SortOrder.Asc : SortOrder.Desc,\r\n pageNumber: this.pagingData.currentPage || 1,\r\n pageSize: this.pagingData.pageSize || 10,\r\n coordinatorId: this.selectedCoordinator.id,\r\n };\r\n },\r\n /**\r\n * Gets the user's paging data that has been saved to local storage\r\n */\r\n getUsersPagingData(): void {\r\n const userPagingData = LocalStorageService.getItem(\r\n Constants.CourseOccurrenceTableUserPagingData\r\n );\r\n\r\n this.pagingData.pageSize = 10;\r\n\r\n if (userPagingData) {\r\n this.sortColumn = userPagingData.sortColumn;\r\n this.ascending = userPagingData.sortOrder === SortOrder.Asc;\r\n this.pagingData.pageSize = userPagingData.pageSize;\r\n if (userPagingData.coordinator) {\r\n this.selectedCoordinator = userPagingData.coordinator;\r\n }\r\n }\r\n },\r\n /**\r\n * Populates paging data received from the backend to be passed to the table component\r\n */\r\n populatePagingData(data: PagedList): void {\r\n const pagingData: IPagingData = {\r\n currentPage: data.currentPage,\r\n totalPages: data.totalPages,\r\n pageSize: data.pageSize,\r\n totalCount: data.totalCount,\r\n hasPrevious: data.hasPrevious,\r\n hasNext: data.hasNext,\r\n };\r\n\r\n this.pagingData = pagingData;\r\n },\r\n /**\r\n * Generates user paging data to be saved to local storage\r\n */\r\n generateUserPagingData(): IUserPagingData {\r\n const userPagingData: IUserPagingData = {\r\n sortColumn: this.sortColumn,\r\n sortOrder: this.ascending ? SortOrder.Asc : SortOrder.Desc,\r\n pageSize: this.pagingData.pageSize,\r\n coordinator: this.selectedCoordinator,\r\n };\r\n\r\n return userPagingData;\r\n },\r\n /**\r\n * Saves the ids of all sorted course occurrences to localstorage\r\n *\r\n * @param {QueryStringParameters} parameters - The paging parameters to be added to the service call\r\n */\r\n saveFilteredCourseOccurrenceIds(sortedIds: number[]): void {\r\n LocalStorageService.setItem(\r\n Constants.SortedCourseOccurrenceIds,\r\n sortedIds\r\n );\r\n },\r\n /**\r\n * Returns a color based on status\r\n *\r\n * @param {string} status The status we want a color for\r\n */\r\n statusBgColor(status: string): string {\r\n return CourseService.courseOccurrenceStatusColor(status);\r\n },\r\n /**\r\n * Returns a color based on status\r\n *\r\n * @param {string} status The status we want a color for\r\n */\r\n statusTextColor(status: string): string {\r\n return status === \"Yellow\" ? \"black\" : \"white\";\r\n },\r\n /**\r\n * Returns a text based on status\r\n *\r\n * @param {string} status The status we want a tooltip text for\r\n */\r\n statusText(status: string): string {\r\n return this.$t(CourseService.courseOccurrenceStatusText(status));\r\n },\r\n /**\r\n * Returns a string truncated to the end of the last word in the substring with a trailing \"...\"\r\n *\r\n */\r\n truncate(input: string, stringLength: number): string {\r\n return StringHelper.truncate(input, stringLength, true);\r\n },\r\n /**\r\n * Triggered when the user changes the page number of the table\r\n */\r\n onPageNumberChange(pageNumber: number): void {\r\n this.pagingData.currentPage = pageNumber;\r\n this.getCourseOccurrences();\r\n },\r\n /**\r\n * Triggered when the user changes the sort column/order of the table\r\n */\r\n onSortChange(columnName: string, ascending: boolean): void {\r\n this.sortColumn = this.getColumnName(columnName);\r\n this.ascending = ascending;\r\n LocalStorageService.setItem(\r\n Constants.CourseOccurrenceTableUserPagingData,\r\n this.generateUserPagingData()\r\n );\r\n this.getCourseOccurrences();\r\n },\r\n /**\r\n * Triggered when the user changes the sort column/order of the table\r\n */\r\n getColumnName(columnName: string): string {\r\n if (columnName === \"title\") {\r\n return this.$i18n.locale === \"sv\" ? \"titleSv\" : \"titleEn\";\r\n }\r\n return columnName;\r\n },\r\n /**\r\n * Triggered when the user changes the page size of the table\r\n */\r\n onPageSizeChange(pageSize: number): void {\r\n this.pagingData.pageSize = pageSize;\r\n LocalStorageService.setItem(\r\n Constants.CourseOccurrenceTableUserPagingData,\r\n this.generateUserPagingData()\r\n );\r\n this.getCourseOccurrences();\r\n },\r\n /**\r\n * Triggered when the user changes the selected coordinator option\r\n */\r\n onCoordinatorChange(coordinator: INameAndId): void {\r\n this.selectedCoordinator = coordinator;\r\n this.pagingData.coordinator = coordinator;\r\n LocalStorageService.setItem(\r\n Constants.CourseOccurrenceTableUserPagingData,\r\n this.generateUserPagingData()\r\n );\r\n this.getCourseOccurrences();\r\n },\r\n /**\r\n * Fetches the coordinators for the function with the supplied id\r\n */\r\n getCoordinators() {\r\n CoordinatorService.getCachedCoordinatorsByFunctionId(\r\n Constants.NoteTakingFunctionId\r\n ).then((coordinators) => {\r\n this.coordinators = coordinators;\r\n });\r\n },\r\n /**\r\n * Checks if the specified value is unavailable and if so,\r\n * replaces it with the the unavailable translation for the current locale\r\n * Also checks if the value is a date and if so, formats it to YYYY-MM-DD\r\n */\r\n replaceUnvailableOrFormatDate(value: string): string {\r\n return CourseService.replaceUnvailableOrFormatDate(\r\n value,\r\n this.$t(\"course-occurrence.unavailable\")\r\n );\r\n },\r\n },\r\n mounted() {\r\n this.getUsersPagingData();\r\n this.getCourseOccurrences();\r\n this.getCoordinators();\r\n },\r\n})\r\nexport default class CourseOccurrenceList extends Vue {}\r\n","import { render } from \"./CourseOccurrenceList.vue?vue&type=template&id=52623bb2&scoped=true&ts=true\"\nimport script from \"./CourseOccurrenceList.vue?vue&type=script&lang=ts\"\nexport * from \"./CourseOccurrenceList.vue?vue&type=script&lang=ts\"\n\nimport \"./CourseOccurrenceList.vue?vue&type=style&index=0&id=52623bb2&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-52623bb2\"]])\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!./CourseOccurrenceList.vue?vue&type=style&index=0&id=52623bb2&scoped=true&lang=css\"","import { normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-group form-check\" }\nconst _hoisted_2 = [\"aria-label\", \"id\", \"checked\", \"disabled\", \"required\"]\nconst _hoisted_3 = [\"for\"]\nconst _hoisted_4 = {\n key: 1,\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(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n class: \"form-check-input\",\n \"aria-label\": _ctx.ariaLabel,\n id: _ctx.fieldId,\n checked: _ctx.checked,\n disabled: _ctx.disabled,\n required: _ctx.required,\n onChange: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onUpdate($event.target.checked))),\n style: _normalizeStyle({ cursor: _ctx.disabled ? 'not-allowed' : 'pointer' }),\n ref: \"input\",\n onInvalid: _cache[1] || (_cache[1] = ($event: any) => (_ctx.validityMessage ? _ctx.setValidityMessage(_ctx.validityMessage) : null))\n }, null, 44, _hoisted_2),\n (_ctx.label)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n class: \"form-check-label\",\n for: _ctx.fieldId\n }, _toDisplayString(_ctx.label), 9, _hoisted_3))\n : _createCommentVNode(\"\", true),\n (_ctx.helpText)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_4, _toDisplayString(_ctx.helpText), 1))\n : _createCommentVNode(\"\", true)\n ]))\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 Id of the checkbox\r\n */\r\n fieldId: {\r\n type: String as PropType,\r\n required: false,\r\n },\r\n /**\r\n * The label value for the checkbox\r\n */\r\n label: {\r\n type: String as PropType,\r\n required: false,\r\n },\r\n /**\r\n * The aria label value for the checkbox\r\n */\r\n ariaLabel: {\r\n type: String as PropType,\r\n required: false,\r\n },\r\n /**\r\n * If the checkbox is checked\r\n */\r\n checked: {\r\n type: Boolean as PropType,\r\n required: false,\r\n default: false,\r\n },\r\n /**\r\n * If the checkbox 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 checkbox\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 emits: [\"update:checked\", \"update\"],\r\n methods: {\r\n /**\r\n * Gets called when the value changes\r\n */\r\n onUpdate(isChecked: boolean): void {\r\n this.setValidityMessage(\"\");\r\n this.$emit(\"update:checked\", isChecked);\r\n this.$emit(\"update\", isChecked);\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.setCustomValidity(message);\r\n },\r\n },\r\n})\r\nexport default class CheckboxInput extends Vue {}\r\n","import { render } from \"./CheckboxInput.vue?vue&type=template&id=77a7f6a0&ts=true\"\nimport script from \"./CheckboxInput.vue?vue&type=script&lang=ts\"\nexport * from \"./CheckboxInput.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__","// ..\\student-portal-backend\\LU.STP.Common\\Models\\Assignment.cs\r\nexport interface Assignment {\r\n noteTakerLuEduPersonPrimaryId: string;\r\n studentLuEduPersonPrimaryId: string;\r\n courseCode: string;\r\n term: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Coordinator.cs\r\nexport interface Coordinator extends CoordinatorBase {\r\n email: string;\r\n functionId: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\CoordinatorBase.cs\r\nexport interface CoordinatorBase {\r\n id: number;\r\n name: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Course.cs\r\nexport interface Course {\r\n courseUid: string;\r\n courseCode: string;\r\n titleSv: string;\r\n titleEn: string;\r\n courseStartDate: string;\r\n courseEndDate: string;\r\n term: string;\r\n occasionCode: string;\r\n facultySv: string;\r\n facultyEn: string;\r\n institutionSv: string;\r\n institutionEn: string;\r\n studyPoints: number;\r\n event: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\CourseOccurrence.cs\r\nexport interface CourseOccurrence extends CourseOccurrenceBase {\r\n students?: Student[];\r\n noteTakers?: NoteTaker[];\r\n inactiveStudents?: Student[];\r\n inactiveNoteTakers?: NoteTaker[];\r\n proposedNoteTakers?: NoteTakerProposedCourse[];\r\n noteTakerOffers?: NoteTakerOffer[];\r\n noteTakerUploadSummaries?: NoteTakerUploadSummary[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\CourseOccurrenceBase.cs\r\nexport interface CourseOccurrenceBase extends Course, IHasIntId {\r\n id: number;\r\n coordinatorName?: string;\r\n coordinatorId?: number;\r\n occurrence: string;\r\n studentCount: number;\r\n noteTakerCount: number;\r\n proposedNoteTakersCount: number;\r\n status: CourseOccurrenceStatus;\r\n latestNoteTakerOffer: string;\r\n studyPoints: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Faculty.cs\r\nexport interface Faculty {\r\n id: number;\r\n nameSv: string;\r\n nameEn: string;\r\n isCampus: boolean;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTaker.cs\r\nexport interface NoteTaker\r\n extends NoteTakerBase,\r\n INoteTaker,\r\n ISupportCourseParticipant {\r\n students?: Student[];\r\n proposedCourses?: ProposedCourse[];\r\n supportCourses?: PersonCourse[];\r\n supportCourseOccurrences?: SupportCourseOccurrence[];\r\n isAnActiveStudentInNeed: boolean;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerBase.cs\r\nexport interface NoteTakerBase extends Person {\r\n status: NoteTakerStatus;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerNotes.cs\r\nexport interface NoteTakerNotes {\r\n courseOccurrenceId: number;\r\n courseUid: string;\r\n courseCode: string;\r\n courseTerm: string;\r\n courseTitleEn: string;\r\n courseTitleSv: string;\r\n noteTakerId: number;\r\n noteTakerFirstName: string;\r\n noteTakerLastName: string;\r\n date: string;\r\n time: string;\r\n file: UploadFile;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerOffer.cs\r\nexport interface NoteTakerOffer {\r\n id: number;\r\n courseOccurrenceId: number;\r\n noteTakerId: number;\r\n sent: string;\r\n confirmed?: string;\r\n canceled?: string;\r\n courseOccurrence: CourseOccurrence;\r\n noteTaker: NoteTaker;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerParameters.cs\r\nexport interface NoteTakerParameters extends QueryStringParameters {\r\n status: NoteTakerStatus[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerProposedCourse.cs\r\nexport interface NoteTakerProposedCourse {\r\n noteTakerId: number;\r\n noteTaker: NoteTaker;\r\n courseUid: string;\r\n inserted?: string;\r\n deleted?: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerStatusCount.cs\r\nexport interface NoteTakerStatusCount {\r\n status: string;\r\n count: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerUploadSummary.cs\r\nexport interface NoteTakerUploadSummary {\r\n noteTakerId: number;\r\n noteTakerName: string;\r\n totalUploads: number;\r\n lastUpload?: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\OverviewNoteTaker.cs\r\nexport interface OverviewNoteTaker extends OverviewPerson, INoteTaker {\r\n status: NoteTakerStatus;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\OverviewPerson.cs\r\nexport interface OverviewPerson extends IPerson, IHasIntId {\r\n id: number;\r\n personalId: string;\r\n luEduPersonPrimaryId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\OverviewStudent.cs\r\nexport interface OverviewStudent extends OverviewPerson, IStudent {\r\n coordinatorName?: string;\r\n coordinatorId?: number;\r\n grantedSupportDate?: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PagedList.cs\r\nexport interface PagedList {\r\n items: T[];\r\n currentPage: number;\r\n totalPages: number;\r\n pageSize: number;\r\n totalCount: number;\r\n hasPrevious: boolean;\r\n hasNext: boolean;\r\n sortedIds: number[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PageSection.cs\r\nexport interface PageSection {\r\n id: number;\r\n pageTypeId: number;\r\n titleSv: string;\r\n contentSv: string;\r\n linkTextSv: string;\r\n menuTitleSv: string;\r\n titleEn: string;\r\n contentEn: string;\r\n linkTextEn: string;\r\n menuTitleEn: string;\r\n routerLinkUrl?: string;\r\n externalLinkUrl?: string;\r\n modified: string;\r\n modifiedBy: string;\r\n sortOrder: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PageType.cs\r\nexport interface PageType {\r\n id: number;\r\n name: string;\r\n modified: string;\r\n modifiedBy: string;\r\n pageSections: PageSection[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Person.cs\r\nexport interface Person extends PersonBase, IHasIntId {\r\n id: number;\r\n luEduPersonPrimaryId: string;\r\n personalId: string;\r\n telephoneNumber: string;\r\n address: string;\r\n postcode: string;\r\n city: string;\r\n courses: Course[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PersonBase.cs\r\nexport interface PersonBase {\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PersonCourse.cs\r\nexport interface PersonCourse {\r\n courseUid: string;\r\n courseOccurrenceId: number;\r\n started?: string;\r\n ended?: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PersonResponse.cs\r\nexport interface PersonResponse {\r\n studentExists: boolean;\r\n student: Student;\r\n isActiveNoteTaker: boolean;\r\n noteTakerId: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\ProposedCourse.cs\r\nexport interface ProposedCourse extends Course {\r\n id: number;\r\n courseOccurrenceId: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\QueryStringParameters.cs\r\nexport interface QueryStringParameters {\r\n search?: string;\r\n sortBy: string;\r\n sortOrder: SortOrder;\r\n pageNumber: number;\r\n pageSize: number;\r\n coordinatorId?: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Student.cs\r\nexport interface Student extends Person, ISupportCourseParticipant, IStudent {\r\n coordinatorId?: number;\r\n noteTakers?: NoteTaker[];\r\n coordinator?: Coordinator;\r\n coordinatorName?: string;\r\n grantedSupportDate?: string;\r\n ladokCourseCount: number;\r\n supportCourses?: PersonCourse[];\r\n supportCourseOccurrences?: SupportCourseOccurrence[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\StudentCourse.cs\r\nexport interface StudentCourse {\r\n id: number;\r\n studentId?: number;\r\n courseUid: string;\r\n inserted?: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\StudentParameters.cs\r\nexport type StudentParameters = QueryStringParameters;\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\StudyTermInfo.cs\r\nexport interface StudyTermInfo {\r\n previousTerm: string;\r\n thisTerm: string;\r\n nextTerm: string;\r\n startOfPreviousTerm: string;\r\n startOfThisTerm: string;\r\n startOfNextTerm: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\SupportCourseOccurrence.cs\r\nexport interface SupportCourseOccurrence {\r\n courseUid: string;\r\n courseOccurrenceId: number;\r\n titleSv: string;\r\n titleEn: string;\r\n status: CourseOccurrenceStatus;\r\n occurrence: string;\r\n courseOccurrenceStart?: string;\r\n offerDate?: string;\r\n offerConfirmedDate?: string;\r\n assignmentStart?: string;\r\n assignmentEnd?: string;\r\n coordinatorName: string;\r\n deletedByAdmin?: boolean;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\UploadFile.cs\r\nexport interface UploadFile {\r\n name: string;\r\n extension: string;\r\n size: number;\r\n binaryData?: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\IHasIntId.cs\r\nexport interface IHasIntId {\r\n id: number;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\INoteTaker.cs\r\nexport interface INoteTaker extends IPerson {\r\n status: NoteTakerStatus;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\IPerson.cs\r\nexport interface IPerson {\r\n id: number;\r\n personalId: string;\r\n luEduPersonPrimaryId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\IStudent.cs\r\nexport interface IStudent extends IPerson {\r\n coordinatorName?: string;\r\n grantedSupportDate?: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\ISupportCourseParticipant.cs\r\nexport interface ISupportCourseParticipant {\r\n supportCourses?: PersonCourse[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\CourseOccurrenceStatus.cs\r\nexport enum CourseOccurrenceStatus {\r\n Grey = \"grey\",\r\n Yellow = \"yellow\",\r\n Green = \"green\",\r\n Orange = \"orange\",\r\n Red = \"red\",\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\FeeDataExportType.cs\r\nexport enum FeeDataExportType {\r\n Basis = \"basis\",\r\n Accounting = \"accounting\",\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\Locale.cs\r\nexport enum Locale {\r\n Sv = \"sv\",\r\n En = \"en\",\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\NoteTakerStatus.cs\r\nexport enum NoteTakerStatus {\r\n Incoming = \"incoming\",\r\n Active = \"active\",\r\n Inactive = \"inactive\",\r\n Completed = \"completed\",\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\SortOrder.cs\r\nexport enum SortOrder {\r\n Asc = \"asc\",\r\n Desc = \"desc\",\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\WebForm\\WF_NationalIdentityNumberChange.cs\r\nexport interface WF_NationalIdentityNumberChange {\r\n luEduPersonPrimaryId: string;\r\n newNationalIdentityNumber: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\RegisterCardRequest.cs\r\nexport interface RegisterCardRequest {\r\n invoiceNo: string;\r\n customerEmail: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\RegisterCardResponse.cs\r\nexport interface RegisterCardResponse {\r\n resourceUrl: string;\r\n error: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\TfPerson.cs\r\nexport interface TfPerson {\r\n luEduPersonPrimaryId: string;\r\n personalId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n displayName: string;\r\n eduPersonAffiliation: string;\r\n eduPersonPrimaryAffiliation: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\Invoice\\Invoice.cs\r\nexport interface Invoice {\r\n customerTrxId: number;\r\n kund: string;\r\n kundNr: string;\r\n nationalIdentification: string;\r\n fakNr: string;\r\n totalAmount: string;\r\n amountDue: string;\r\n transferDate: string;\r\n dueDate: string;\r\n payFlag: string;\r\n description: string;\r\n pending: boolean;\r\n lines: InvoiceLine[];\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\Invoice\\InvoiceLine.cs\r\nexport interface InvoiceLine {\r\n description: string;\r\n amount: string;\r\n}\r\n\r\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\Nets\\NetsTerminalResponse.cs\r\nexport interface NetsTerminalResponse {\r\n invoiceNumber: string;\r\n transactionId: string;\r\n responseCode: string;\r\n}\r\n","class StringHelper {\r\n /**\r\n * Returns a truncated string with a trailing \"...\"\r\n *\r\n * @param {string} input The string to truncate\r\n * @param {number} stringLength The length to truncate the string to\r\n * @param {boolean} useLastWordBoundary If set to true the string is truncated to the end of the last word in the resulting substring\r\n *\r\n * @returns {string} The truncated input string\r\n */\r\n truncate(\r\n input: string,\r\n stringLength: number,\r\n useLastWordBoundary = false\r\n ): string {\r\n if (input.length <= stringLength) {\r\n return input;\r\n }\r\n\r\n const subString = input.substring(0, stringLength);\r\n\r\n return (\r\n (useLastWordBoundary\r\n ? subString.substring(0, subString.lastIndexOf(\" \"))\r\n : subString) + \"…\"\r\n );\r\n }\r\n /**\r\n * JSON stringifys the specified item to lower case\r\n *\r\n * @param {unknown} item The item to stringify\r\n *\r\n * @returns {string} The stringified item\r\n */\r\n stringifyToLowerCase(item: unknown): string {\r\n return JSON.stringify(item).toLowerCase();\r\n }\r\n /**\r\n * Adds a leading zero to the input number if it is les than 10\r\n *\r\n * @param {number} input The input number\r\n *\r\n * @returns {string} The number as string\r\n */\r\n addLeadingZero(input: number): string {\r\n return input < 10 ? `0${input}` : input.toString();\r\n }\r\n}\r\n\r\nexport default new StringHelper();\r\n","import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"card\" }\nconst _hoisted_2 = { class: \"card-header\" }\nconst _hoisted_3 = { class: \"mb-0\" }\nconst _hoisted_4 = [\"aria-expanded\"]\nconst _hoisted_5 = { style: {\"padding-left\":\"10px\"} }\nconst _hoisted_6 = { class: \"card-body\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h2\", _hoisted_3, [\n _createElementVNode(\"button\", {\n class: \"btn btn-link text-left\",\n type: \"button\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.toggle && _ctx.toggle(...args))),\n \"aria-expanded\": this._expanded\n }, [\n _renderSlot(_ctx.$slots, \"button\"),\n _createElementVNode(\"span\", _hoisted_5, [\n _createVNode(_component_font_awesome_icon, {\n icon: this._expanded ? 'chevron-up' : 'chevron-down'\n }, null, 8, [\"icon\"])\n ])\n ], 8, _hoisted_4)\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"collapse\", { show: this._expanded }])\n }, [\n _createElementVNode(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"content\")\n ])\n ], 2)\n ]))\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 * If the accordion is shown at start\r\n */\r\n expanded: {\r\n type: Boolean as PropType,\r\n required: false,\r\n default: false,\r\n },\r\n },\r\n data: () => ({\r\n /**\r\n * If the accordion is expanded at the moment\r\n */\r\n _expanded: false,\r\n }),\r\n methods: {\r\n /**\r\n * Gets called when the student clicks on the accordion header\r\n */\r\n toggle() {\r\n this._expanded = !this._expanded;\r\n },\r\n },\r\n created() {\r\n this._expanded = this.expanded;\r\n },\r\n})\r\nexport default class Accordion extends Vue {}\r\n","import { render } from \"./Accordion.vue?vue&type=template&id=3b4f29b9&ts=true\"\nimport script from \"./Accordion.vue?vue&type=script&lang=ts\"\nexport * from \"./Accordion.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":""}