{"version":3,"sources":["webpack:///./src/services/notetaker-service.ts","webpack:///./src/interfaces/api.ts","webpack:///./src/views/administrator/NoteTakerList.vue?bdf6","webpack:///./src/components/Form/Filter.vue?1368","webpack:///./src/components/Form/Filter.vue","webpack:///./src/components/Form/Filter.vue?d5b1","webpack:///./src/components/NoteTakerList/StudentsColumn.vue?1aa8","webpack:///./src/components/NoteTakerList/StudentsColumn.vue","webpack:///./src/components/NoteTakerList/StudentsColumn.vue?ae2b","webpack:///./src/views/administrator/NoteTakerList.vue","webpack:///./src/views/administrator/NoteTakerList.vue?1abd","webpack:///./src/views/administrator/NoteTakerList.vue?2af4","webpack:///./src/helpers/querystring-helper.ts","webpack:///./src/services/download-service.ts","webpack:///./src/components/Accordion.vue?dbc1","webpack:///./src/components/Accordion.vue","webpack:///./src/components/Accordion.vue?2fef"],"names":["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","CourseOccurrenceStatus","FeeDataExportType","Locale","NoteTakerStatus","SortOrder","n","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","key","_hoisted_9","_hoisted_10","render","_ctx","_cache","$props","$setup","$data","$options","_component_DatePicker","_component_font_awesome_icon","_component_Modal","_component_Search","_component_Accordion","_component_StudentsColumn","_component_router_link","_component_Table","ref","allowCloseOutside","header","$t","default","value","feeExportFromDate","$event","required","clearable","enableTimePicker","type","onClick","exportFeeBasisData","icon","_","name","fn","undefined","button","content","search","onSearchChanged","onSearchChange","rows","hiddenColumns","sortColumn","ascending","stickyFirstColumn","showPagination","allowChangeRowPerPage","showNumRows","unsortableColumns","pagingData","pageHeading","useSpinner","isLoading","onPageNumberChanged","onPageNumberChange","onSortChanged","onSortChange","onPageSizeChanged","onPageSizeChange","actions","openExportDateModal","exportTypeAccounting","exportTypeBasis","td","data","col","val","students","to","params","row","filterTitle","showReset","reset","role","values","group","group_key","$slots","option","option_key","style","checked","onChange","target","for","showSubmit","props","Object","Boolean","String","methods","$emit","__exports__","firstName","lastName","toggle","shown","student","Array","components","Search","Filter","Table","Accordion","StudentsColumn","Modal","DatePicker","navigateToDetailsUrl","selectedStatus","selectedPasswordSent","timer","feeExportType","computed","hidden","statusFilter","Incoming","populateFilterValue","Active","Inactive","Completed","locale","$root","$i18n","Basis","Accounting","localstorageKey","defaultValue","keyExists","getItem","iterateFilter","filter","array","filterType","storageKey","push","setItem","getNoteTakers","parameters","getNoteTakerParameters","getFiltered","then","populatePagingData","items","saveFilteredNoteTakerIds","sortedIds","catch","e","console","error","toLowerCase","sortBy","sortOrder","Asc","Desc","pageNumber","currentPage","pageSize","FilteredNoteTakerIds","numStatus","noteTakers","totalPages","totalCount","hasPrevious","hasNext","generateUserPagingData","userPagingData","columnName","NoteTakerTableUserPagingData","onStatusChange","setSelectedStatus","selected_status","searchPhrase","clearTimeout","setTimeout","SearchSubmissionDelayMilliseconds","getUsersPagingData","$refs","open","close","fromDate","toISOString","substring","downloadFeeData","mounted","QuerystringHelper","DownloadService","fromDateIsoString","feeDataExportType","paramName_1","paramValue_1","paramName_2","paramValue_2","paramName_3","paramValue_3","url","invoiceNo","paramName","paramValue","_expanded","show","expanded","created"],"mappings":"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","file":"assets/js/chunk-2f21e672.11976e01.js","sourcesContent":["import QuerystringHelper from \"@/helpers/querystring-helper\";\nimport {\n NoteTaker,\n NoteTakerStatusCount,\n NoteTakerParameters,\n PagedList,\n OverviewNoteTaker,\n} from \"@/interfaces/api\";\nimport BaseService from \"./base-service\";\n\nclass NoteTakerService extends BaseService {\n /**\n * Fetches note takers according to the specified filter/paging parameters\n *\n * @param {NoteTakerParameters} noteTakerParameters - The filter/paging parameters to be added to the resource querystring\n * @returns {Promise>} A Promise with all the note takers that matched the parameters\n */\n getFiltered(\n noteTakerParameters: NoteTakerParameters\n ): Promise> {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"search\";\n const queryString = this.generateQuerystring(noteTakerParameters);\n const getNoteTakerById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}${queryString}`;\n return this.fetch>(getNoteTakerById);\n }\n\n /**\n * Fetches all note takers\n * @returns {Promise>} A Promise with all note takers\n */\n getAllNoteTakers(): Promise> {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"one-call\";\n const getAllNoteTakers = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}`;\n return this.fetch>(getAllNoteTakers);\n }\n\n /**\n * Fetches the note taker with the specified id\n *\n * @param {number} id - The id of the note taker to fetch\n * @returns {Promise} A Promise with the note taker\n */\n getNoteTakerById(id: number): Promise {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"id\";\n const parameterName = \"id\";\n const parameterArgument = id;\n const getNoteTakerById = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${parameterName}=${parameterArgument}`;\n return this.fetch(getNoteTakerById);\n }\n\n /**\n * Fetches the note taker with the specified luEduPersonPrimaryId\n *\n * @param {string} luEduPersonPrimaryId - The luEduPersonPrimaryId of the note taker to fetch\n * @returns {Promise} A promise with the applicant\n */\n getApplicant(luEduPersonPrimaryId: string): Promise {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"primaryId\";\n const parameterName = \"luEduPersonPrimaryId\";\n const parameterArgument = luEduPersonPrimaryId;\n const getApplicant = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${parameterName}=${parameterArgument}`;\n return this.fetch(getApplicant);\n }\n\n /**\n * Fetches the count of statuses\n *\n * @returns {Promise} A promise with the count of statuses\n */\n getNoteTakerStatusCount(): Promise {\n const endpointController = \"NoteTaker\";\n const enpointRoute = \"statusCount\";\n const getStatus = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}`;\n return this.fetch(getStatus);\n }\n\n /**\n * Adds or updates a note taker\n *\n * @param {NoteTaker} noteTaker - The note taker to Add och Update\n * @returns {Promise} A promise with a boolean value indicating whether or not the operation was successful\n */\n addOrUpdateNoteTaker(noteTaker: NoteTaker): Promise {\n const endpointController = \"NoteTaker\";\n const addOrUpdateNoteTaker = `${this.baseApiUrl}api/${endpointController}`;\n return this.fetch(addOrUpdateNoteTaker, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(noteTaker),\n });\n }\n\n /**\n * Returns a query string according to the specified filter parameters\n *\n * @param {NoteTakerParameters} noteTakerParameters - The filter/paging parameters to be added to the resource querystring\n * @returns {string} The generated query string\n */\n private generateQuerystring(\n noteTakerParameters: NoteTakerParameters\n ): string {\n let queryString = \"?\";\n\n if (noteTakerParameters.status.length > 0) {\n noteTakerParameters.status.forEach((status) => {\n queryString += `Status=${status}&`;\n });\n }\n\n queryString +=\n QuerystringHelper.generateSearchAndPagingParameters(noteTakerParameters);\n\n return queryString;\n }\n}\n\nexport default new NoteTakerService();\n","// ..\\student-portal-backend\\LU.STP.Common\\Models\\Assignment.cs\nexport interface Assignment {\n noteTakerLuEduPersonPrimaryId: string;\n studentLuEduPersonPrimaryId: string;\n courseCode: string;\n term: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Coordinator.cs\nexport interface Coordinator extends CoordinatorBase {\n email: string;\n functionId: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\CoordinatorBase.cs\nexport interface CoordinatorBase {\n id: number;\n name: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Course.cs\nexport interface Course {\n courseUid: string;\n courseCode: string;\n titleSv: string;\n titleEn: string;\n courseStartDate: string;\n courseEndDate: string;\n term: string;\n occasionCode: string;\n facultySv: string;\n facultyEn: string;\n institutionSv: string;\n institutionEn: string;\n studyPoints: number;\n event: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\CourseOccurrence.cs\nexport interface CourseOccurrence extends CourseOccurrenceBase {\n students?: Student[];\n noteTakers?: NoteTaker[];\n inactiveStudents?: Student[];\n inactiveNoteTakers?: NoteTaker[];\n proposedNoteTakers?: NoteTakerProposedCourse[];\n noteTakerOffers?: NoteTakerOffer[];\n noteTakerUploadSummaries?: NoteTakerUploadSummary[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\CourseOccurrenceBase.cs\nexport interface CourseOccurrenceBase extends Course, IHasIntId {\n id: number;\n coordinatorName?: string;\n coordinatorId?: number;\n occurrence: string;\n studentCount: number;\n noteTakerCount: number;\n proposedNoteTakersCount: number;\n status: CourseOccurrenceStatus;\n latestNoteTakerOffer: string;\n studyPoints: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Faculty.cs\nexport interface Faculty {\n id: number;\n nameSv: string;\n nameEn: string;\n isCampus: boolean;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTaker.cs\nexport interface NoteTaker\n extends NoteTakerBase,\n INoteTaker,\n ISupportCourseParticipant {\n students?: Student[];\n proposedCourses?: ProposedCourse[];\n supportCourses?: PersonCourse[];\n supportCourseOccurrences?: SupportCourseOccurrence[];\n isAnActiveStudentInNeed: boolean;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerBase.cs\nexport interface NoteTakerBase extends Person {\n status: NoteTakerStatus;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerNotes.cs\nexport interface NoteTakerNotes {\n courseOccurrenceId: number;\n courseUid: string;\n courseCode: string;\n courseTerm: string;\n courseTitleEn: string;\n courseTitleSv: string;\n noteTakerId: number;\n noteTakerFirstName: string;\n noteTakerLastName: string;\n date: string;\n time: string;\n file: UploadFile;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerOffer.cs\nexport interface NoteTakerOffer {\n id: number;\n courseOccurrenceId: number;\n noteTakerId: number;\n sent: string;\n confirmed?: string;\n canceled?: string;\n courseOccurrence: CourseOccurrence;\n noteTaker: NoteTaker;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerParameters.cs\nexport interface NoteTakerParameters extends QueryStringParameters {\n status: NoteTakerStatus[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerProposedCourse.cs\nexport interface NoteTakerProposedCourse {\n noteTakerId: number;\n noteTaker: NoteTaker;\n courseUid: string;\n inserted?: string;\n deleted?: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerStatusCount.cs\nexport interface NoteTakerStatusCount {\n status: string;\n count: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\NoteTakerUploadSummary.cs\nexport interface NoteTakerUploadSummary {\n noteTakerId: number;\n noteTakerName: string;\n totalUploads: number;\n lastUpload?: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\OverviewNoteTaker.cs\nexport interface OverviewNoteTaker extends OverviewPerson, INoteTaker {\n status: NoteTakerStatus;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\OverviewPerson.cs\nexport interface OverviewPerson extends IPerson, IHasIntId {\n id: number;\n personalId: string;\n luEduPersonPrimaryId: string;\n firstName: string;\n lastName: string;\n email: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\OverviewStudent.cs\nexport interface OverviewStudent extends OverviewPerson, IStudent {\n coordinatorName?: string;\n coordinatorId?: number;\n grantedSupportDate?: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PagedList.cs\nexport interface PagedList {\n items: T[];\n currentPage: number;\n totalPages: number;\n pageSize: number;\n totalCount: number;\n hasPrevious: boolean;\n hasNext: boolean;\n sortedIds: number[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PageSection.cs\nexport interface PageSection {\n id: number;\n pageTypeId: number;\n titleSv: string;\n contentSv: string;\n linkTextSv: string;\n menuTitleSv: string;\n titleEn: string;\n contentEn: string;\n linkTextEn: string;\n menuTitleEn: string;\n routerLinkUrl?: string;\n externalLinkUrl?: string;\n modified: string;\n modifiedBy: string;\n sortOrder: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PageType.cs\nexport interface PageType {\n id: number;\n name: string;\n modified: string;\n modifiedBy: string;\n pageSections: PageSection[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Person.cs\nexport interface Person extends PersonBase, IHasIntId {\n id: number;\n luEduPersonPrimaryId: string;\n personalId: string;\n telephoneNumber: string;\n address: string;\n postcode: string;\n city: string;\n courses: Course[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PersonBase.cs\nexport interface PersonBase {\n firstName: string;\n lastName: string;\n email: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PersonCourse.cs\nexport interface PersonCourse {\n courseUid: string;\n courseOccurrenceId: number;\n started?: string;\n ended?: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\PersonResponse.cs\nexport interface PersonResponse {\n studentExists: boolean;\n student: Student;\n isActiveNoteTaker: boolean;\n noteTakerId: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\ProposedCourse.cs\nexport interface ProposedCourse extends Course {\n id: number;\n courseOccurrenceId: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\QueryStringParameters.cs\nexport interface QueryStringParameters {\n search?: string;\n sortBy: string;\n sortOrder: SortOrder;\n pageNumber: number;\n pageSize: number;\n coordinatorId?: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\Student.cs\nexport interface Student extends Person, ISupportCourseParticipant, IStudent {\n coordinatorId?: number;\n noteTakers?: NoteTaker[];\n coordinator?: Coordinator;\n coordinatorName?: string;\n grantedSupportDate?: string;\n ladokCourseCount: number;\n supportCourses?: PersonCourse[];\n supportCourseOccurrences?: SupportCourseOccurrence[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\StudentCourse.cs\nexport interface StudentCourse {\n id: number;\n studentId?: number;\n courseUid: string;\n inserted?: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\StudentParameters.cs\nexport type StudentParameters = QueryStringParameters;\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\StudyTermInfo.cs\nexport interface StudyTermInfo {\n previousTerm: string;\n thisTerm: string;\n nextTerm: string;\n startOfPreviousTerm: string;\n startOfThisTerm: string;\n startOfNextTerm: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\SupportCourseOccurrence.cs\nexport interface SupportCourseOccurrence {\n courseUid: string;\n courseOccurrenceId: number;\n titleSv: string;\n titleEn: string;\n status: CourseOccurrenceStatus;\n occurrence: string;\n courseOccurrenceStart?: string;\n offerDate?: string;\n offerConfirmedDate?: string;\n assignmentStart?: string;\n assignmentEnd?: string;\n coordinatorName: string;\n deletedByAdmin?: boolean;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\UploadFile.cs\nexport interface UploadFile {\n name: string;\n extension: string;\n size: number;\n binaryData?: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\IHasIntId.cs\nexport interface IHasIntId {\n id: number;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\INoteTaker.cs\nexport interface INoteTaker extends IPerson {\n status: NoteTakerStatus;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\IPerson.cs\nexport interface IPerson {\n id: number;\n personalId: string;\n luEduPersonPrimaryId: string;\n firstName: string;\n lastName: string;\n email: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\IStudent.cs\nexport interface IStudent extends IPerson {\n coordinatorName?: string;\n grantedSupportDate?: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Interfaces\\ISupportCourseParticipant.cs\nexport interface ISupportCourseParticipant {\n supportCourses?: PersonCourse[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\CourseOccurrenceStatus.cs\nexport enum CourseOccurrenceStatus {\n Grey = \"grey\",\n Yellow = \"yellow\",\n Green = \"green\",\n Orange = \"orange\",\n Red = \"red\",\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\FeeDataExportType.cs\nexport enum FeeDataExportType {\n Basis = \"basis\",\n Accounting = \"accounting\",\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\Locale.cs\nexport enum Locale {\n Sv = \"sv\",\n En = \"en\",\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\NoteTakerStatus.cs\nexport enum NoteTakerStatus {\n Incoming = \"incoming\",\n Active = \"active\",\n Inactive = \"inactive\",\n Completed = \"completed\",\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Enums\\SortOrder.cs\nexport enum SortOrder {\n Asc = \"asc\",\n Desc = \"desc\",\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\WebForm\\WF_NationalIdentityNumberChange.cs\nexport interface WF_NationalIdentityNumberChange {\n luEduPersonPrimaryId: string;\n newNationalIdentityNumber: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\RegisterCardRequest.cs\nexport interface RegisterCardRequest {\n invoiceNo: string;\n customerEmail: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\RegisterCardResponse.cs\nexport interface RegisterCardResponse {\n resourceUrl: string;\n error: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\TfPerson.cs\nexport interface TfPerson {\n luEduPersonPrimaryId: string;\n personalId: string;\n firstName: string;\n lastName: string;\n email: string;\n displayName: string;\n eduPersonAffiliation: string;\n eduPersonPrimaryAffiliation: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\Invoice\\Invoice.cs\nexport interface Invoice {\n customerTrxId: number;\n kund: string;\n kundNr: string;\n nationalIdentification: string;\n fakNr: string;\n totalAmount: string;\n amountDue: string;\n transferDate: string;\n dueDate: string;\n payFlag: string;\n description: string;\n pending: boolean;\n lines: InvoiceLine[];\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\Invoice\\InvoiceLine.cs\nexport interface InvoiceLine {\n description: string;\n amount: string;\n}\n\n// ..\\student-portal-backend\\LU.STP.Common\\Models\\TuitionFees\\Nets\\NetsTerminalResponse.cs\nexport interface NetsTerminalResponse {\n invoiceNumber: string;\n transactionId: string;\n responseCode: string;\n}\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, withCtx as _withCtx, createSlots as _createSlots, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-68d18340\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"m-0\" }\nconst _hoisted_2 = { class: \"content\" }\nconst _hoisted_3 = { class: \"p-3 date-explanation\" }\nconst _hoisted_4 = { class: \"m-0\" }\nconst _hoisted_5 = { class: \"p-3\" }\nconst _hoisted_6 = { class: \"d-flex\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"br\", null, null, -1))\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = { key: 2 }\nconst _hoisted_10 = { key: 3 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_DatePicker = _resolveComponent(\"DatePicker\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Modal = _resolveComponent(\"Modal\")!\n const _component_Search = _resolveComponent(\"Search\")!\n const _component_Accordion = _resolveComponent(\"Accordion\")!\n const _component_StudentsColumn = _resolveComponent(\"StudentsColumn\")!\n const _component_router_link = _resolveComponent(\"router-link\")!\n const _component_Table = _resolveComponent(\"Table\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Modal, {\n ref: \"export-modal\",\n allowCloseOutside: true\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"note-taker-list.choose-date\")), 1)\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_2, [\n _createVNode(_component_DatePicker, {\n \"aria-label\": \"Date Picker\",\n value: _ctx.feeExportFromDate,\n \"onUpdate:value\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.feeExportFromDate) = $event)),\n required: true,\n clearable: false,\n enableTimePicker: false\n }, null, 8, [\"value\"]),\n _createElementVNode(\"button\", {\n id: \"exportBtn\",\n type: \"button\",\n class: \"btn btn-sm btn-primary\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(($event: any) => (_ctx.exportFeeBasisData()), [\"prevent\"]))\n }, [\n _createVNode(_component_font_awesome_icon, { icon: \"file-excel\" }),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"note-taker-list.export\")), 1)\n ]),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t(\"note-taker-list.choose-date-explanation\")), 1)\n ])\n ]),\n _: 1\n }, 512),\n _createVNode(_component_Modal, { ref: \"error-modal\" }, _createSlots({\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.$t(\"shared.popup-error.message\")), 1)\n ]),\n _: 2\n }, [\n (_ctx.noteTaker !== null)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h2\", _hoisted_4, _toDisplayString(_ctx.$t(\"shared.popup-error.title\")), 1)\n ])\n }\n : undefined\n ]), 1536),\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_6, [\n _createVNode(_component_Search, {\n value: _ctx.search,\n \"onUpdate:value\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.search) = $event)),\n onSearchChanged: _ctx.onSearchChange\n }, null, 8, [\"value\", \"onSearchChanged\"])\n ])\n ]),\n _: 1\n }),\n _hoisted_7,\n _createVNode(_component_Table, {\n rows: _ctx.rows,\n hiddenColumns: _ctx.hiddenColumns,\n sortColumn: _ctx.sortColumn,\n \"onUpdate:sortColumn\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.sortColumn) = $event)),\n ascending: _ctx.ascending,\n \"onUpdate:ascending\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.ascending) = $event)),\n stickyFirstColumn: \"\",\n showPagination: \"\",\n allowChangeRowPerPage: \"\",\n showNumRows: \"\",\n unsortableColumns: _ctx.unsortableColumns,\n pagingData: _ctx.pagingData,\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 actions: _withCtx(() => [\n _createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn btn-sm btn-primary exportBtn\",\n onClick: _cache[3] || (_cache[3] = _withModifiers(($event: any) => (_ctx.openExportDateModal(_ctx.exportTypeAccounting)), [\"prevent\"]))\n }, [\n _createVNode(_component_font_awesome_icon, { icon: \"file-excel\" }),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"note-taker-list.export-fee-accounting\")), 1)\n ]),\n _createElementVNode(\"button\", {\n type: \"button\",\n class: \"btn btn-sm btn-primary exportBtn\",\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.openExportDateModal(_ctx.exportTypeBasis)), [\"prevent\"]))\n }, [\n _createVNode(_component_font_awesome_icon, { icon: \"file-excel\" }),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"note-taker-list.export-fee-basis\")), 1)\n ])\n ]),\n td: _withCtx((data) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`person.${data.col}`)), 1)\n ]),\n default: _withCtx((data) => [\n (data.col === 'status')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_8, _toDisplayString(_ctx.$t(`note-taker-status.${data.val}`)), 1))\n : _createCommentVNode(\"\", true),\n (data.col === 'students')\n ? (_openBlock(), _createBlock(_component_StudentsColumn, {\n key: 1,\n students: data.val\n }, null, 8, [\"students\"]))\n : _createCommentVNode(\"\", true),\n (data.col === 'personalId')\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, [\n _createVNode(_component_router_link, {\n to: { name: 'NoteTakerDetails', params: { id: data.row.id } }\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(data.val), 1)\n ]),\n _: 2\n }, 1032, [\"to\"])\n ]))\n : _createCommentVNode(\"\", true),\n (\n data.col !== 'status' &&\n data.col !== 'students' &&\n data.col !== 'personalId'\n )\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_10, _toDisplayString(data.val), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"rows\", \"hiddenColumns\", \"sortColumn\", \"ascending\", \"unsortableColumns\", \"pagingData\", \"pageHeading\", \"isLoading\", \"onPageNumberChanged\", \"onSortChanged\", \"onPageSizeChanged\"])\n ], 64))\n}","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, renderSlot as _renderSlot, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"d-flex justify-content-between\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"m-0\"\n}\nconst _hoisted_3 = { class: \"mb-2\" }\nconst _hoisted_4 = [\"id\", \"checked\", \"onChange\"]\nconst _hoisted_5 = [\"for\"]\nconst _hoisted_6 = {\n key: 0,\n class: \"mt-3 text-center\"\n}\nconst _hoisted_7 = [\"value\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n (_ctx.filterTitle.length > 0 || _ctx.showReset)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.filterTitle.length > 0)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_2, _toDisplayString(_ctx.$t(_ctx.filterTitle)), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.showReset)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 1,\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.reset && _ctx.reset(...args))),\n class: \"d-block\",\n role: \"button\"\n }, _toDisplayString(_ctx.$t(\"form.filter-reset\")), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.values, (group, group_key) => {\n return (_openBlock(), _createElementBlock(\"fieldset\", {\n class: \"form-group\",\n key: group_key\n }, [\n _createElementVNode(\"legend\", null, [\n _renderSlot(_ctx.$slots, \"group-title\", { group: group_key }, () => [\n _createTextVNode(_toDisplayString(group_key), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(group, (option, option_key) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"custom-control custom-checkbox form-check-inline\",\n style: {\"display\":\"inline-flex\",\"margin-right\":\"3rem\"},\n key: option_key\n }, [\n _createElementVNode(\"input\", {\n type: \"checkbox\",\n class: \"custom-control-input\",\n id: `option-${group_key}-${option_key}`,\n checked: option,\n onChange: ($event: any) => (_ctx.onChange(group_key, option_key, $event.target.checked))\n }, null, 40, _hoisted_4),\n _createElementVNode(\"label\", {\n class: \"custom-control-label\",\n for: `option-${group_key}-${option_key}`\n }, [\n _renderSlot(_ctx.$slots, \"option-title\", { option: option_key }, () => [\n _createTextVNode(_toDisplayString(option_key), 1)\n ])\n ], 8, _hoisted_5)\n ]))\n }), 128))\n ])\n ]))\n }), 128)),\n (_ctx.showSubmit)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"input\", {\n type: \"submit\",\n class: \"btn btn-primary\",\n value: _ctx.$t('form.apply')\n }, null, 8, _hoisted_7)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /**\n * The filter options and default values\n */\n values: {\n type: Object as PropType>>,\n required: true,\n },\n /**\n * If submit button should be shown\n */\n showSubmit: {\n type: Boolean,\n required: false,\n default: false,\n },\n /**\n * The title for the filter section\n */\n filterTitle: {\n type: String,\n required: false,\n default: \"\",\n },\n /**\n * If reset button should be shown\n */\n showReset: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n methods: {\n /**\n * Gets called when user triggers a change\n */\n onChange(group_key: string, option_key: string, value: boolean) {\n let values = this.values;\n values[group_key][option_key] = value;\n this.$emit(\"selectionChanged\", values);\n },\n /**\n * Gets called when the user clicks on the reset button\n */\n reset() {\n let values = this.values;\n for (let group_key in values) {\n for (let option_key in values[group_key]) {\n values[group_key][option_key] = false;\n }\n }\n this.$emit(\"selectionChanged\", values);\n },\n },\n})\nexport default class Filter extends Vue {}\n","import { render } from \"./Filter.vue?vue&type=template&id=9a126b8a&ts=true\"\nimport script from \"./Filter.vue?vue&type=script&lang=ts\"\nexport * from \"./Filter.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { style: {\"display\":\"inline-block\",\"margin\":\"0\"} }\nconst _hoisted_3 = [\"aria-label\"]\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(_Fragment, null, [\n (_ctx.students && _ctx.students.length === 1)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_1, [\n _createElementVNode(\"a\", null, _toDisplayString(_ctx.students[0].firstName) + \" \" + _toDisplayString(_ctx.students[0].lastName), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.students && _ctx.students.length > 1)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.students.length), 1),\n _createElementVNode(\"span\", {\n style: {\"padding-left\":\"10px\"},\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.toggle())),\n \"aria-label\": _ctx.$t('note-taker-list.show-students')\n }, [\n _createVNode(_component_font_awesome_icon, {\n icon: _ctx.shown ? 'chevron-up' : 'chevron-down'\n }, null, 8, [\"icon\"])\n ], 8, _hoisted_3),\n _createElementVNode(\"template\", {\n class: _normalizeClass(_ctx.shown ? 'd-block' : 'd-none')\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.students, (student) => {\n return (_openBlock(), _createElementBlock(\"p\", { key: student }, [\n _createElementVNode(\"a\", null, _toDisplayString(student.firstName) + \" \" + _toDisplayString(student.lastName), 1)\n ]))\n }), 128))\n ], 2)\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","\nimport type { Student } from \"@/interfaces/api\";\nimport { PropType } from \"vue\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /**\n * The students\n */\n students: {\n type: Array as PropType,\n required: false,\n },\n },\n data: () => ({\n /**\n * If the details are shown\n */\n shown: false,\n }),\n methods: {\n /**\n * Gets called when the user clicks on the arrow\n */\n toggle() {\n this.shown = !this.shown;\n },\n },\n})\nexport default class StudentsColumn extends Vue {}\n","import { render } from \"./StudentsColumn.vue?vue&type=template&id=1fc9d360&ts=true\"\nimport script from \"./StudentsColumn.vue?vue&type=script&lang=ts\"\nexport * from \"./StudentsColumn.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"C:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\nimport { Options, Vue } from \"vue-class-component\";\nimport Accordion from \"@/components/Accordion.vue\";\nimport DatePicker from \"@/components/Form/DatePicker.vue\";\nimport Filter from \"@/components/Form/Filter.vue\";\nimport Search from \"@/components/Form/Search.vue\";\nimport Modal from \"@/components/Modal.vue\";\nimport StudentsColumn from \"@/components/NoteTakerList/StudentsColumn.vue\";\nimport Table from \"@/components/Table.vue\";\nimport { Constants } from \"@/constants/constants\";\nimport {\n FeeDataExportType,\n OverviewNoteTaker,\n NoteTakerParameters,\n NoteTakerStatus,\n PagedList,\n SortOrder,\n} from \"@/interfaces/api\";\nimport { IPagingData } from \"@/interfaces/IPagingData\";\nimport { IUserPagingData } from \"@/interfaces/IUserPagingData\";\nimport DownloadService from \"@/services/download-service\";\nimport LocalStorageService from \"@/services/localstorage-service\";\nimport NoteTakerService from \"@/services/notetaker-service\";\n\n@Options({\n components: {\n Search,\n Filter,\n Table,\n Accordion,\n StudentsColumn,\n Modal,\n DatePicker,\n },\n data: () => ({\n /**\n * The current sort column\n */\n sortColumn: \"personalId\",\n /**\n * Unsortable columns\n */\n unsortableColumns: [\"students\"],\n /**\n * If sort order is ascending\n */\n ascending: false,\n /**\n * The current search value\n */\n search: \"\",\n /**\n * All rows in the table\n */\n rows: [],\n /**\n * The url to detailed view\n */\n navigateToDetailsUrl: \"/administrator/notetakerdetails/\",\n /**\n * Holds the selected filter values for status\n */\n selectedStatus: [],\n /**\n * Holds the selected filter values for password sent\n */\n selectedPasswordSent: [],\n /**\n * Holds the paging data sent back with the list of note takers from the backend\n */\n pagingData: {},\n /**\n * Used to delay search phrase changes calling backend\n */\n timer: null,\n /**\n * If the data is still loading - passed to the table component to show spinner\n */\n isLoading: true,\n /**\n * Used for exporting fee basis data - populated from the date picker\n */\n feeExportFromDate: null,\n /**\n * Used for setting button action in export modal\n */\n feeExportType: null,\n }),\n computed: {\n /**\n * Hides all unwanted columns\n */\n hiddenColumns() {\n const hidden = [\"id\", \"luEduPersonPrimaryId\", \"status\"];\n return hidden;\n },\n /**\n * Holds the filter values for statuses\n */\n statusFilter() {\n return {\n status: {\n Incoming: this.populateFilterValue(\"selected_status_incoming\", true),\n Active: this.populateFilterValue(\"selected_status_active\", false),\n Inactive: this.populateFilterValue(\"selected_status_inactive\", false),\n Completed: this.populateFilterValue(\n \"selected_status_completed\",\n false\n ),\n },\n };\n },\n /**\n * The page heading to be displayed above the table\n */\n pageHeading() {\n return this.$t(\"shared.routes.note-taker-overview\");\n },\n locale(): string {\n return this.$root.$i18n.locale;\n },\n exportTypeBasis(): string {\n return FeeDataExportType.Basis;\n },\n exportTypeAccounting(): string {\n return FeeDataExportType.Accounting;\n },\n },\n methods: {\n populateFilterValue(\n localstorageKey: string,\n defaultValue: boolean\n ): boolean {\n return LocalStorageService.keyExists(localstorageKey)\n ? (LocalStorageService.getItem(localstorageKey) as boolean)\n : defaultValue;\n },\n /**\n * Iterates a filter and saves selected options to localstorage\n */\n iterateFilter(\n filter: { [x: string]: { [x: string]: boolean } },\n array: string[],\n filterType: string\n ): void {\n for (let group_key in filter) {\n for (let option_key in filter[group_key]) {\n const storageKey = `selected_${filterType}_${option_key}`;\n\n if (filter[group_key][option_key]) {\n array.push(option_key);\n LocalStorageService.setItem(storageKey, \"true\");\n } else {\n LocalStorageService.setItem(storageKey, \"false\");\n }\n }\n }\n },\n /**\n * Fetches note takers that meet the required search, filter and paging data\n */\n getNoteTakers(): void {\n const parameters = this.getNoteTakerParameters();\n this.isLoading = true;\n\n NoteTakerService.getFiltered(parameters)\n .then((data: PagedList) => {\n this.populatePagingData(data);\n this.rows = data.items;\n this.saveFilteredNoteTakerIds(data.sortedIds);\n this.isLoading = false;\n })\n .catch((e: Error) => {\n console.error(e);\n });\n },\n /**\n * Populates and returns parameters for the getFiltered method in the note taker service\n */\n getNoteTakerParameters(): NoteTakerParameters {\n return {\n search: this.search.toLowerCase(),\n sortBy: this.sortColumn,\n sortOrder: this.ascending ? SortOrder.Asc : SortOrder.Desc,\n pageNumber: this.pagingData.currentPage || 1,\n pageSize: this.pagingData.pageSize || 10,\n status: this.selectedStatus,\n };\n },\n /**\n * Saves the ids of all filtered note takers to localstorage\n *\n * @param {NoteTakerParameters} noteTakerParameters - The filter/paging parameters to be added to the service call\n */\n saveFilteredNoteTakerIds(sortedIds: number[]): void {\n LocalStorageService.setItem(Constants.FilteredNoteTakerIds, sortedIds);\n },\n /**\n * Returns the number of note takers with the specified status\n */\n numStatus(status: NoteTakerStatus): number {\n const noteTakers: OverviewNoteTaker[] = this.rows.filter(\n (noteTaker: OverviewNoteTaker) => noteTaker.status == status\n );\n return noteTakers.length;\n },\n /**\n * Populates paging data received from the backend to be passed to the table component\n */\n populatePagingData(data: PagedList): void {\n const pagingData: IPagingData = {\n currentPage: data.currentPage,\n totalPages: data.totalPages,\n pageSize: data.pageSize,\n totalCount: data.totalCount,\n hasPrevious: data.hasPrevious,\n hasNext: data.hasNext,\n };\n\n this.pagingData = pagingData;\n },\n /**\n * Generates user paging data to be saved to local storage\n */\n generateUserPagingData(): IUserPagingData {\n const userPagingData: IUserPagingData = {\n sortColumn: this.sortColumn,\n sortOrder: this.ascending ? SortOrder.Asc : SortOrder.Desc,\n pageSize: this.pagingData.pageSize,\n };\n\n return userPagingData;\n },\n /**\n * Triggered when the user changes the page number of the table\n */\n onPageNumberChange(pageNumber: number): void {\n this.pagingData.currentPage = pageNumber;\n this.getNoteTakers();\n },\n /**\n * Triggered when the user changes the sort column/order of the table\n */\n onSortChange(columnName: string, ascending: boolean): void {\n this.sortColumn = columnName;\n this.ascending = ascending;\n LocalStorageService.setItem(\n Constants.NoteTakerTableUserPagingData,\n this.generateUserPagingData()\n );\n this.getNoteTakers();\n },\n /**\n * Triggered when the user changes the page size of the table\n */\n onPageSizeChange(pageSize: number): void {\n this.pagingData.pageSize = pageSize;\n LocalStorageService.setItem(\n Constants.NoteTakerTableUserPagingData,\n this.generateUserPagingData()\n );\n this.getNoteTakers();\n },\n /**\n * Triggered when the user changes the selected status options\n */\n onStatusChange(\n statusFilter: Record>\n ): void {\n this.setSelectedStatus(statusFilter);\n this.getNoteTakers();\n },\n /**\n * Sets selected status, called on page load and by onStatusChange\n */\n setSelectedStatus(\n statusFilter: Record>\n ): void {\n this.statusFilter = statusFilter;\n const selected_status = new Array();\n this.iterateFilter(statusFilter, selected_status, \"status\");\n this.selectedStatus = selected_status;\n },\n /**\n * Triggered when the user enters search text\n */\n onSearchChange(searchPhrase: string): void {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n this.timer = setTimeout(() => {\n this.search = searchPhrase;\n this.getNoteTakers();\n }, Constants.SearchSubmissionDelayMilliseconds);\n },\n /**\n * Gets the user's paging data that has been saved to local storage\n */\n getUsersPagingData(): void {\n const userPagingData = LocalStorageService.getItem(\n Constants.NoteTakerTableUserPagingData\n );\n\n this.pagingData.pageSize = 10;\n\n if (userPagingData) {\n this.sortColumn = userPagingData.sortColumn;\n this.ascending = userPagingData.sortOrder === SortOrder.Asc;\n this.pagingData.pageSize = userPagingData.pageSize;\n }\n },\n /**\n * Opens the modal where the user can enter a date to include fee export data from that date forward\n */\n openExportDateModal(feeExportType: FeeDataExportType): void {\n this.feeExportType = feeExportType;\n this.$refs[\"export-modal\"].open();\n },\n /**\n * Exports fee basis data as a downloaded excel file\n */\n async exportFeeBasisData() {\n this.$refs[\"export-modal\"].close();\n this.isLoading = true;\n\n const fromDate = this.feeExportFromDate\n ? this.feeExportFromDate.toISOString().substring(0, 10)\n : \"\";\n\n try {\n await DownloadService.downloadFeeData(\n this.locale,\n fromDate,\n this.feeExportType\n );\n this.feeExportFromDate = null;\n } catch (e: unknown) {\n this.$refs[\"error-modal\"].open();\n console.error(e);\n } finally {\n this.isLoading = false;\n }\n },\n },\n async mounted() {\n this.setSelectedStatus(this.statusFilter);\n this.getUsersPagingData();\n this.getNoteTakers();\n },\n})\nexport default class NoteTakerList extends Vue {}\n","import { render } from \"./NoteTakerList.vue?vue&type=template&id=68d18340&scoped=true&ts=true\"\nimport script from \"./NoteTakerList.vue?vue&type=script&lang=ts\"\nexport * from \"./NoteTakerList.vue?vue&type=script&lang=ts\"\n\nimport \"./NoteTakerList.vue?vue&type=style&index=0&id=68d18340&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-68d18340\"]])\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!./NoteTakerList.vue?vue&type=style&index=0&id=68d18340&scoped=true&lang=css\"","import { QueryStringParameters } from \"@/interfaces/api\";\n\nclass QuerystringHelper {\n generateSearchAndPagingParameters(parameters: QueryStringParameters): string {\n let queryString = \"\";\n\n if (parameters.search) {\n queryString += `Search=${parameters.search}&`;\n }\n\n queryString += `SortBy=${parameters.sortBy}&`;\n\n queryString += `SortOrder=${parameters.sortOrder}&`;\n\n queryString += `PageNumber=${parameters.pageNumber}&`;\n\n queryString += `PageSize=${parameters.pageSize}`;\n\n return queryString;\n }\n}\n\nexport default new QuerystringHelper();\n","import { FeeDataExportType } from \"@/interfaces/api\";\nimport BaseService from \"@/services/base-service\";\n\nclass DownloadService extends BaseService {\n /**\n * Downloads an excel file containing fee data\n *\n * @param {string} locale - The language of the excel file to download\n * @param {string} fromDateIsoString - Include note-taker fee data from this date forward\n * @param {FeeDataExportType} feeDataExportType - The type of fee data export\n *\n * @returns {Promise} A Promise with a boolean representing the success of the operation\n */\n\n async downloadFeeData(\n locale: string,\n fromDateIsoString: string,\n feeDataExportType: FeeDataExportType\n ): Promise {\n const endpointController = \"Download\";\n const enpointRoute = \"feedata\";\n const paramName_1 = \"locale\";\n const paramValue_1 = locale;\n const paramName_2 = \"fromDate\";\n const paramValue_2 = fromDateIsoString;\n const paramName_3 = \"feeDataExportType\";\n const paramValue_3 = feeDataExportType;\n const queryString = `${paramName_1}=${paramValue_1}&${paramName_2}=${paramValue_2}&${paramName_3}=${paramValue_3}`;\n const url = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${queryString}`;\n\n return await this.fetch(url);\n }\n\n /**\n * Downloads a pdf file containing invoice data\n *\n * @param {string} invoiceNo - The invoice number of the pdf file to download\n *\n * @returns {Promise} A Promise with a boolean representing the success of the operation\n */\n async downloadInvoice(invoiceNo: string): Promise {\n const endpointController = \"Download\";\n const enpointRoute = \"invoice\";\n const paramName = \"invoiceNo\";\n const paramValue = invoiceNo;\n const queryString = `${paramName}=${paramValue}`;\n const url = `${this.baseApiUrl}api/${endpointController}/${enpointRoute}?${queryString}`;\n\n return await this.fetch(url);\n }\n}\n\nexport default new DownloadService();\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}","\nimport { PropType } from \"@vue/runtime-core\";\nimport { Options, Vue } from \"vue-class-component\";\n\n@Options({\n props: {\n /**\n * If the accordion is shown at start\n */\n expanded: {\n type: Boolean as PropType,\n required: false,\n default: false,\n },\n },\n data: () => ({\n /**\n * If the accordion is expanded at the moment\n */\n _expanded: false,\n }),\n methods: {\n /**\n * Gets called when the student clicks on the accordion header\n */\n toggle() {\n this._expanded = !this._expanded;\n },\n },\n created() {\n this._expanded = this.expanded;\n },\n})\nexport default class Accordion extends Vue {}\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:\\\\GIT\\\\StudentPortal\\\\student-portal-web\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"sourceRoot":""}