{"version":3,"sources":["webpack:///./@core/pages/bsc/model/BscMetaList.ts","webpack:///./@core/pages/bsc/TheBSCSupervisorReview.vue?0082","webpack:///./@core/pages/bsc/BscListNew.vue?82ee","webpack:///./@core/pages/bsc/TheBSCSupervisorReview.vue?1023","webpack:///./@core/pages/bsc/TheBSCSupervisorReview.vue","webpack:///./@core/pages/bsc/TheBSCSupervisorReview.vue?631c","webpack:///./@core/pages/bsc/TheBSCSupervisorReview.vue?8007","webpack:///./@core/pages/bsc/BscListNewMixin.ts","webpack:///./@core/pages/bsc/BscListNew.vue","webpack:///./@core/pages/bsc/BscListNew.vue?1e39","webpack:///./@core/pages/bsc/BscListNew.vue?6506","webpack:///./@core/pages/bsc/model/BscMeta.ts","webpack:///./@core/pages/bsc/BscListNew.vue?7343","webpack:///./@core/components/AppDecimalNumber.vue?6388","webpack:///./@core/components/AppDecimalNumber.vue?0ecc","webpack:///./@core/components/AppDecimalNumber.vue","webpack:///./@core/components/AppDecimalNumber.vue?4e6d","webpack:///./@core/components/AppDecimalNumber.vue?d906","webpack:///./@master/config/bsc-grade.ts"],"names":["BscReviewMetaList","data","groupedList","this","list","forEach","bscReview","indexOf","map","e","reviewOid","caseReviewedTotal","cat1InfractionTotal","cat2InfractionTotal","adminErrorTotal","push","render","_vm","_h","$createElement","_c","_self","staticClass","_v","directives","name","rawName","value","expression","attrs","domProps","on","$event","target","composing","reviewYear","reviewQuarter","showSelectUserModal","selectedBscUser","length","confirmDeleteUsers","generatePdf","modifiers","txtSearchBscReview","trim","$forceUpdate","adviserTableHeader","bscReviewUserList","prop","order","clearAdviserSelection","handleBscSelection","bscRecordRowClicked","userList","closeModal","slot","txtSearchUser","otherUserListColumns","otherUserList","handleUserSelection","updateReview","_e","staticRenderFns","selectedSupervisorInTable","confirmDeleteSupervisor","bscSupervisorReviewList","txtSearchSupervisorReview","supervisorTableHeader","clearSupervisorSelection","handleBscSupervisorSelection","openEditSupervisorDetailModal","supervisorListInModal","closeEditSupervisorModal","editSupervisorStructure","selectedSupervisor","editSupervisorTableHeader","adviserList","saveSupervisor","selectedUser","showEditSupervisor","filter","user","bsc","supervisorOid","includes","oid","systemrole","label","field","key","disabled","options","$api","supervisorReview","fileName","link","document","createElement","href","download","click","remove","uiService","alert","show","type","message","confirm","isConfirm","deleteSupervisors","targetOId","supervisor","delete","getSupervisorReviewList","rows","row","update","bscGrade","undefined","addSupervisorToReview","supervisorUsers","params","rnfNumber","masRepno","supervisorCode","companyCode","supervisorName","fullname","add","fetch","record","totalCasesViewed","cat1Total","cat2Total","errorTotal","_adviserList","adviser","targetAdviser","find","userOid","useroid","adviserName","adviserCode","bscGradeDisplay","emit","sharedVariable","newValue","oldValue","components","AppDatatable","AppDialog","AppForm","component","bscReviewMetaList","getFullList","$router","bscOid","deleteUsers","isDeleteAll","selectUsersArr","user_oid","bscRecords","removeReviewUsers","review_oid","selected_users","JSON","stringify","fetchData","adviserReview","addAdviserToReview","bscQuarterInfo","review_year","review_quarter","bscQuarterUsers","adviser_name","contact_no","mobile","rnf_number","adviser_code","case_reviewed_total","cat_1_infraction_total","cat_2_infraction_total","admin_error_total","checkUsers","every","bsc_data","userHeader","account","query","queryArgs","headers","groupStatus","res","_user","UserMeta","assignData","listReviewMeta","getBscUserReviewList","$route","fetchFullUserList","TheBSCSupervisorReview","BscReviewHeader","BscReviewMeta","dateCreated","isauReviewer","triggerKeyEvent","numberAndDecimalOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","valueChange","evt","window","event","keyCode","which","currentValue","isNonNumberAndNonDecimal","preventDefault","isDecimal","allowDecimal","decimal","number","split","caratPos","srcElement","selectionStart","dotPos","isNonNumber","formatValue","$emit","replaceAll","source","convertTo","Number","formatter","Intl","NumberFormat","minimumFractionDigits","maximumFractionDigits","format","inputValue","default","BSC_GRADE","getBscGradeInText","targetGrade","grade"],"mappings":"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","file":"js/chunk-ef379cae.6a40892f.js","sourcesContent":["import { MetaList } from '@master/model/common/MetaList'\nimport { BscReviewHeader, BscReviewMeta } from './BscMeta'\nimport { sum } from '@master/model/kyc-form/need-analysis/math'\n\nexport class BscReviewMetaList extends MetaList {\n list: BscReviewMeta[]\n\n constructor (data: (string | number)[][]) {\n super(BscReviewHeader, data, BscReviewMeta)\n }\n\n groupByReviewOid () {\n const groupedList = []\n this.list.forEach(bscReview => {\n const indexOf = groupedList.map(e => e.reviewOid).indexOf(bscReview.reviewOid)\n\n if (indexOf < 0) {\n bscReview.caseReviewedTotal = bscReview.caseReviewedTotal ?? 0\n bscReview.cat1InfractionTotal = bscReview.cat1InfractionTotal ?? 0\n bscReview.cat2InfractionTotal = bscReview.cat2InfractionTotal ?? 0\n bscReview.adminErrorTotal = bscReview.adminErrorTotal ?? 0\n groupedList.push({ ...bscReview })\n } else {\n groupedList[indexOf].caseReviewedTotal = sum(groupedList[indexOf].caseReviewedTotal, bscReview.caseReviewedTotal) ?? 0\n groupedList[indexOf].cat1InfractionTotal = sum(groupedList[indexOf].cat1InfractionTotal, bscReview.cat1InfractionTotal) ?? 0\n groupedList[indexOf].cat2InfractionTotal = sum(groupedList[indexOf].cat2InfractionTotal, bscReview.cat2InfractionTotal) ?? 0\n groupedList[indexOf].adminErrorTotal = sum(groupedList[indexOf].adminErrorTotal, bscReview.adminErrorTotal) ?? 0\n }\n })\n return groupedList\n }\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheBSCSupervisorReview.vue?vue&type=style&index=0&id=85472a6e&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page\"},[_c('div',{staticClass:\"review-summary\"},[_c('h1',[_vm._v(\"Review Summary\")]),_c('div',{staticClass:\"review-info\"},[_c('div',[_c('p',[_vm._v(\"BSC Review Year\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.reviewYear),expression:\"reviewYear\"}],attrs:{\"type\":\"text\",\"data-test\":\"bsc-year-search-keyword\",\"disabled\":\"\"},domProps:{\"value\":(_vm.reviewYear)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.reviewYear=$event.target.value}}})]),_c('div',[_c('p',[_vm._v(\"BSC Review Quarter\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.reviewQuarter),expression:\"reviewQuarter\"}],attrs:{\"type\":\"text\",\"data-test\":\"bsc-quarter-search-keyword\",\"disabled\":\"\"},domProps:{\"value\":(_vm.reviewQuarter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.reviewQuarter=$event.target.value}}})])])]),_c('div',{staticClass:\"gap-between-table\",attrs:{\"id\":\"advisers-in-review\"}},[_c('div',{staticClass:\"search-user\"},[_c('div',{staticClass:\"table-header\"},[_c('span',[_vm._v(\"Advisers In Review\")]),_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){_vm.showSelectUserModal = true}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\"  Add New Adviser \")]),_c('button',{staticClass:\"btn-danger\",attrs:{\"disabled\":this.selectedBscUser.length < 1},on:{\"click\":_vm.confirmDeleteUsers}},[_c('i',{staticClass:\"el-icon-delete\"}),_vm._v(\"  Delete Selected Adviser \")]),_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.generatePdf}},[_c('i',{staticClass:\"far fa-file-pdf\"}),_vm._v(\"  Generate PDF \")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.txtSearchBscReview),expression:\"txtSearchBscReview\",modifiers:{\"trim\":true}}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"data-test\":\"bsc-search-keyword-adviser\"},domProps:{\"value\":(_vm.txtSearchBscReview)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchBscReview=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('AppDatatable',{attrs:{\"columns\":_vm.adviserTableHeader,\"data\":_vm.bscReviewUserList,\"sort\":{ prop: 'adviserName', order: 'ascending' },\"search\":_vm.txtSearchBscReview,\"show\":true,\"selectionKey\":\"oid\",\"clearSelection\":_vm.clearAdviserSelection},on:{\"selectionChange\":_vm.handleBscSelection,\"rowClickCustom\":_vm.bscRecordRowClicked}})],1),_c('TheBSCSupervisorReview',{attrs:{\"userList\":_vm.userList,\"adviserList\":_vm.bscReviewUserList,\"reviewYear\":_vm.reviewYear,\"reviewQuarter\":_vm.reviewQuarter,\"reviewOid\":_vm.reviewOid}}),(_vm.showSelectUserModal)?_c('AppDialog',{staticClass:\"select-user-modal\",attrs:{\"customWidth\":'65%'},on:{\"close\":function($event){return _vm.closeModal()}}},[_c('template',{slot:\"header\"},[_vm._v(\"Add New Advisers\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"search-user\"},[_c('p',[_vm._v(\"Please select new users to add in this review:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.txtSearchUser),expression:\"txtSearchUser\",modifiers:{\"trim\":true}}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"data-test\":\"user-search-keyword\"},domProps:{\"value\":(_vm.txtSearchUser)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchUser=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('AppDatatable',{staticClass:\"user-list\",attrs:{\"columns\":_vm.otherUserListColumns,\"data\":_vm.otherUserList,\"sort\":{ prop: 'names', order: 'ascending' },\"search\":_vm.txtSearchUser,\"show\":true,\"selectionKey\":\"oid\"},on:{\"selectionChange\":_vm.handleUserSelection}})],1),_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.updateReview}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Add \")])])],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"supervisor-in-review\"}},[_c('div',{staticClass:\"search-user\"},[_c('div',{staticClass:\"table-header\"},[_c('span',[_vm._v(\"Supervisor In Review\")]),_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){_vm.showSelectUserModal = true}}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\"  Add New Supervisor \")]),_c('button',{staticClass:\"btn-danger\",attrs:{\"disabled\":this.selectedSupervisorInTable.length < 1},on:{\"click\":_vm.confirmDeleteSupervisor}},[_c('i',{staticClass:\"el-icon-delete\"}),_vm._v(\"  Delete Selected Supervisor \")]),_c('button',{staticClass:\"btn-default\",attrs:{\"disabled\":_vm.bscSupervisorReviewList.length == 0},on:{\"click\":_vm.generatePdf}},[_c('i',{staticClass:\"far fa-file-pdf\"}),_vm._v(\"  Generate PDF \")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.txtSearchSupervisorReview),expression:\"txtSearchSupervisorReview\",modifiers:{\"trim\":true}}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"data-test\":\"bsc-search-keyword-supervisor\"},domProps:{\"value\":(_vm.txtSearchSupervisorReview)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchSupervisorReview=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('AppDatatable',{attrs:{\"columns\":_vm.supervisorTableHeader,\"data\":_vm.bscSupervisorReviewList,\"sort\":{ prop: 'supervisorName', order: 'ascending' },\"search\":_vm.txtSearchSupervisorReview,\"show\":true,\"selectionKey\":\"oid\",\"clearSelection\":_vm.clearSupervisorSelection},on:{\"selectionChange\":_vm.handleBscSupervisorSelection,\"rowClickCustom\":function($event){return _vm.openEditSupervisorDetailModal($event)}}})],1),(_vm.showSelectUserModal)?_c('AppDialog',{staticClass:\"select-user-modal\",attrs:{\"customWidth\":'65%'},on:{\"close\":function($event){return _vm.closeModal()}}},[_c('template',{slot:\"header\"},[_vm._v(\"Add New Supervisor\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"search-user\"},[_c('p',[_vm._v(\"Please select new users to add in this review:\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.txtSearchUser),expression:\"txtSearchUser\",modifiers:{\"trim\":true}}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"data-test\":\"user-search-keyword\"},domProps:{\"value\":(_vm.txtSearchUser)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchUser=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}})]),_c('AppDatatable',{staticClass:\"user-list\",attrs:{\"columns\":_vm.otherUserListColumns,\"data\":_vm.supervisorListInModal,\"sort\":{ prop: 'names', order: 'ascending' },\"search\":_vm.txtSearchUser,\"show\":true,\"selectionKey\":\"oid\"},on:{\"selectionChange\":_vm.handleUserSelection}})],1),_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.updateReview}},[_c('i',{staticClass:\"fas fa-plus\"}),_vm._v(\" Add \")])])],2):_vm._e(),(_vm.showEditSupervisor)?_c('AppDialog',{attrs:{\"customWidth\":'80%'},on:{\"close\":function($event){return _vm.closeEditSupervisorModal()}}},[_c('template',{slot:\"header\"},[_vm._v(\"Supervisor In Review\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('AppForm',{attrs:{\"structures\":_vm.editSupervisorStructure,\"model\":_vm.selectedSupervisor}}),_c('AppDatatable',{attrs:{\"sort\":{ prop: 'adviserName', order: 'ascending' },\"columns\":_vm.editSupervisorTableHeader,\"data\":_vm.selectedSupervisor.adviserList,\"show\":true}})],1),_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.saveSupervisor()}}},[_vm._v(\"Save\")])])],2):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop, Watch } from 'vue-property-decorator'\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { UserMeta } from '@core/model/common/UserMeta'\nimport AppDialog from '@core/components/AppDialog.vue'\nimport AppForm from '@core/components/AppFormV2.vue'\nimport { BSC_GRADE, getBscGradeInText } from '@master/config/bsc-grade'\nimport { base64ToBlob } from '@core/tools/documents'\n\n@Component({\n components: {\n AppDatatable,\n AppDialog,\n AppForm\n }\n})\n\nexport default class TheBSCSupervisorReview extends Vue {\n @Prop() userList\n @Prop() adviserList\n @Prop() reviewYear\n @Prop() reviewQuarter\n @Prop() reviewOid: string\n\n @inject()\n protected $api: API\n\n uiService: UIService\n\n @inject()\n private sharedVariable: SharedVariable\n\n protected txtSearchSupervisorReview = ''\n protected bscSupervisorReviewList = []\n protected showSelectUserModal = false\n protected txtSearchUser = ''\n protected selectedUser: UserMeta[] = []\n protected selectedSupervisorInTable = []\n protected clearSupervisorSelection = false\n protected showEditSupervisor = false\n protected selectedSupervisor\n\n // user list that show in 'add supervisor' pop up modal\n get supervisorListInModal (): UserMeta[] {\n return this.userList.filter(user => {\n return !this.bscSupervisorReviewList.map(bsc => bsc.supervisorOid).includes(user.oid) &&\n (user.systemrole === 'supervisor' || user.systemrole === 'director')\n })\n }\n\n // header that show in 'add review/supervisor' pop up modal\n get otherUserListColumns () {\n return [\n { label: 'Username', field: 'names' },\n { label: 'Full Name', field: 'fullname' },\n { label: 'System Role', field: 'systemrole' },\n { label: 'RNF Number', field: 'masRepno' },\n { label: 'Supervisor Code', field: 'companyCode' }\n ]\n }\n\n // 'supervisor in review' table header\n get supervisorTableHeader () {\n return [\n { label: 'RNF Number', field: 'rnfNumber' },\n { label: 'Supervisor Code', field: 'supervisorCode' },\n { label: 'Supervisor Name', field: 'supervisorName' },\n { label: 'Supervisor BSC Grade', field: 'bscGradeDisplay' },\n { label: 'No of Cases Reviewed', field: 'totalCasesViewed' },\n { label: 'No of Category 1 Infractions', field: 'cat1Total' },\n { label: 'No of Category 2 Infractions', field: 'cat2Total' },\n { label: 'No of Administrative Errors', field: 'errorTotal' }\n ]\n }\n\n get editSupervisorStructure () {\n return [\n { label: 'Name', key: 'supervisorName', disabled: true },\n { label: 'Supervisor Code', key: 'supervisorCode', disabled: true },\n { label: 'RNF Number', key: 'rnfNumber', disabled: true },\n {\n label: 'BSC grade',\n key: 'bscGrade',\n options: BSC_GRADE\n }\n ]\n }\n\n get editSupervisorTableHeader () {\n return [\n { label: 'RNF Number', field: 'rnfNumber' },\n { label: 'Adviser Code', field: 'adviserCode' },\n { label: 'Adviser Name', field: 'adviserName' },\n { label: 'BSC Grade', field: 'bscGrade' },\n { label: 'No of Cases Reviewed', field: 'caseReviewedTotal' },\n { label: 'No of Category 1 Infractions', field: 'cat1InfractionTotal' },\n { label: 'No of Category 2 Infractions', field: 'cat2InfractionTotal' },\n { label: 'No of Administrative Errors', field: 'adminErrorTotal' }\n ]\n }\n\n closeModal () {\n this.txtSearchUser = ''\n this.showSelectUserModal = false\n this.selectedUser = []\n }\n\n async generatePdf () {\n try {\n const { data, fileName } = await this.$api.bsc.supervisorReview.generatePdf({ reviewOid: this.reviewOid, reviewYear: this.reviewYear, reviewQuarter: this.reviewQuarter })\n\n const link = document.createElement('a')\n link.href = base64ToBlob(data)\n link.download = fileName + '.pdf'\n link.click()\n link.remove()\n } catch (error) {\n await this.uiService.alert.show({\n type: 'error',\n message: error\n })\n }\n }\n\n // when click to delete row in 'supervisors in review'\n async confirmDeleteSupervisor () {\n const isConfirm = await this.uiService.confirm.show({\n type: 'warning',\n message: 'Delete selected users?'\n })\n if (isConfirm) {\n this.deleteSupervisors()\n }\n }\n\n // delete supervisors\n async deleteSupervisors () {\n try {\n const targetOId = this.selectedSupervisorInTable.map(supervisor => supervisor.oid)\n await this.$api.bsc.supervisorReview.delete(targetOId)\n await this.getSupervisorReviewList()\n } catch (error) {\n await this.uiService.alert.show({\n type: 'error',\n message: error\n })\n }\n this.clearSupervisorSelection = true\n }\n\n // when check the row in 'add supervisor, update the selection to selected user list\n handleUserSelection (rows: any[]) {\n this.selectedUser = rows\n }\n\n // when check the row in 'supervisors in review', update the selection to selectedSupervisorInTable list\n handleBscSupervisorSelection (rows: any[]) {\n this.selectedSupervisorInTable = rows\n this.clearSupervisorSelection = false\n }\n\n openEditSupervisorDetailModal (row) {\n this.showEditSupervisor = true\n this.selectedSupervisor = row\n }\n\n closeEditSupervisorModal () {\n this.showEditSupervisor = false\n }\n\n async saveSupervisor () {\n this.showEditSupervisor = false\n await this.$api.bsc.supervisorReview.update({\n oid: this.selectedSupervisor.oid,\n supervisorOid: this.selectedSupervisor.supervisorOid,\n bscGrade: this.selectedSupervisor.bscGrade\n })\n this.selectedSupervisor = undefined\n await this.getSupervisorReviewList()\n }\n\n // when add in 'add advisers/supervisors' pop up modal\n async updateReview () {\n if (this.selectedUser.length === 0) {\n await this.uiService.alert.show({\n type: 'warning',\n message: 'Please select at last one person to include in this course'\n })\n return\n }\n\n await this.addSupervisorToReview()\n this.showSelectUserModal = false\n await this.getSupervisorReviewList()\n }\n\n // add supervisor to 'supervisor in review' table\n async addSupervisorToReview () {\n const supervisorUsers = this.selectedUser.filter(user => user.systemrole === 'director' || user.systemrole === 'supervisor')\n const params = supervisorUsers.map(supervisor => {\n return {\n supervisorOid: supervisor.oid,\n reviewYear: this.reviewYear,\n reviewQuarter: this.reviewQuarter,\n rnfNumber: supervisor.masRepno,\n supervisorCode: supervisor.companyCode,\n supervisorName: supervisor.fullname\n }\n })\n\n const { message } = await this.$api.bsc.supervisorReview.add(params)\n if (message) {\n alert(message)\n }\n }\n\n // fetch supervisor list in 'supervisor in reviews' table based on review year and quarter\n async getSupervisorReviewList () {\n if (this.reviewQuarter === 0 || this.reviewYear === 0 || !this.reviewOid) {\n return\n }\n\n const data = await this.$api.bsc.supervisorReview.fetch({\n reviewQuarter: this.reviewQuarter,\n reviewYear: this.reviewYear,\n reviewOid: this.reviewOid\n })\n\n this.bscSupervisorReviewList = data.map(record => {\n let totalCasesViewed = 0\n let cat1Total = 0\n let cat2Total = 0\n let errorTotal = 0\n const _adviserList = record.adviserList.map(adviser => {\n const targetAdviser = this.adviserList.find(user => user.userOid === adviser.useroid)\n\n totalCasesViewed += targetAdviser.caseReviewedTotal\n cat1Total += targetAdviser.cat1InfractionTotal\n cat2Total += targetAdviser.cat2InfractionTotal\n errorTotal += targetAdviser.adminErrorTotal\n return {\n rnfNumber: targetAdviser.rnfNumber,\n adviserName: targetAdviser.adviserName,\n adviserCode: targetAdviser.adviserCode,\n bscGrade: targetAdviser.bscGrade ?? '',\n cat1InfractionTotal: targetAdviser.cat1InfractionTotal ?? '',\n cat2InfractionTotal: targetAdviser.cat2InfractionTotal ?? '',\n adminErrorTotal: targetAdviser.adminErrorTotal ?? '',\n caseReviewedTotal: targetAdviser.caseReviewedTotal ?? ''\n }\n })\n return {\n ...record,\n cat1Total,\n cat2Total,\n errorTotal,\n totalCasesViewed,\n bscGradeDisplay: getBscGradeInText(record.bscGrade),\n adviserList: _adviserList,\n emit: true\n }\n })\n }\n\n async mounted () {\n // take injected UIService and set it to local\n this.uiService = this.sharedVariable.uiService\n await this.getSupervisorReviewList()\n }\n\n @Watch('reviewYear')\n async reviewYearOnChange (newValue, oldValue) {\n if (newValue !== oldValue) {\n await this.getSupervisorReviewList()\n }\n }\n\n @Watch('reviewQuarter')\n async reviewQuarterOnChange (newValue, oldValue) {\n if (newValue !== oldValue) {\n await this.getSupervisorReviewList()\n }\n }\n\n @Watch('reviewOid')\n async reviewOidOnChange (newValue, oldValue) {\n if (newValue !== oldValue) {\n await this.getSupervisorReviewList()\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheBSCSupervisorReview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheBSCSupervisorReview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheBSCSupervisorReview.vue?vue&type=template&id=85472a6e&scoped=true&\"\nimport script from \"./TheBSCSupervisorReview.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheBSCSupervisorReview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TheBSCSupervisorReview.vue?vue&type=style&index=0&id=85472a6e&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"85472a6e\",\n null\n \n)\n\nexport default component.exports","/* eslint-disable @typescript-eslint/camelcase */\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport { Component, Vue } from 'vue-property-decorator'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport { IDateService } from '@master/services/IDateService'\nimport { BscReviewHeader } from './model/BscMeta'\nimport { BscReviewMetaList } from './model/BscMetaList'\nimport { UserMeta } from '@core/model/common/UserMeta'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { BscRecordMeta } from '@core/model/common/BscRecordMeta'\nimport AppDialog from '@core/components/AppDialog.vue'\nimport AppForm from '@core/components/AppFormV2.vue'\nimport TheBSCSupervisorReview from './TheBSCSupervisorReview.vue'\nimport { base64ToBlob } from '@core/tools/documents'\n@Component({\n components: {\n AppDatatable,\n AppDialog,\n AppForm,\n TheBSCSupervisorReview\n }\n})\nexport class BscListNewMixin extends Vue {\n @inject()\n protected dateService: IDateService\n\n @inject()\n protected $api: API\n\n uiService: UIService\n\n @inject()\n private sharedVariable: SharedVariable\n\n protected reviewOid = ''\n protected txtSearchBscReview = ''\n\n protected bscReviewMetaList: BscReviewMetaList = null\n\n protected showSelectUserModal = false\n protected selectedBscUser = []\n\n // For modal\n protected txtSearchUser = ''\n protected userList: UserMeta[] = []\n protected selectedUser: UserMeta[] = []\n\n clearAdviserSelection = false\n\n get reviewYear () {\n return !this.bscReviewMetaList ? 0 : this.bscReviewMetaList.getFullList()[0].reviewYear\n }\n\n get reviewQuarter () {\n return !this.bscReviewMetaList ? 0 : this.bscReviewMetaList.getFullList()[0].reviewQuarter\n }\n\n // user list that show in 'add adviser' pop up modal\n get otherUserList (): UserMeta[] {\n return this.userList.filter(user => {\n return !this.bscReviewUserList.map(bsc => bsc.userOid).includes(user.oid)\n })\n }\n\n // header that show in 'add review' pop up modal\n get otherUserListColumns () {\n return [\n { label: 'Username', field: 'names' },\n { label: 'Full Name', field: 'fullname' },\n { label: 'System Role', field: 'systemrole' },\n { label: 'RNF Number', field: 'masRepno' },\n { label: 'Adviser Code', field: 'companyCode' }\n ]\n }\n\n // 'advisers in review' table header\n get adviserTableHeader () {\n return [\n { label: 'RNF Number', field: 'rnfNumber' },\n { label: 'Adviser Code', field: 'adviserCode' },\n { label: 'Adviser Name', field: 'adviserName' },\n { label: 'BSC Grade', field: 'bscGrade' },\n { label: 'No of Cases Reviewed', field: 'caseReviewedTotal' },\n { label: 'No of Category 1 Infractions', field: 'cat1InfractionTotal' },\n { label: 'No of Category 2 Infractions', field: 'cat2InfractionTotal' },\n { label: 'No of Administrative Errors', field: 'adminErrorTotal' }\n ]\n }\n\n // list load in 'advisers in review' table\n get bscReviewUserList () {\n return !this.bscReviewMetaList\n ? []\n : this.bscReviewMetaList.getFullList().map(bsc => {\n return {\n ...bsc,\n emit: true\n }\n })\n }\n\n // row in 'adviser in review' is clicked, will redirect to detail page\n async bscRecordRowClicked (row: BscRecordMeta) {\n await this.$router.push({ name: 'User Bsc Record', params: { userOid: row.userOid, bscOid: row.oid } })\n }\n\n // when click to delete row in 'advisers in review'\n async confirmDeleteUsers () {\n if (this.selectedBscUser.length === this.bscReviewUserList.length) {\n const isConfirm = await this.uiService.confirm.show({\n type: 'warning',\n message: 'As all users are to be deleted, this action will also delete this entire quarterly review. Proceed?'\n })\n if (isConfirm) {\n this.deleteUsers(true)\n }\n } else {\n const isConfirm = await this.uiService.confirm.show({\n type: 'warning',\n message: 'Delete selected users?'\n })\n if (isConfirm) {\n this.deleteUsers(false)\n }\n }\n }\n\n // delete advisers\n async deleteUsers (isDeleteAll: boolean) {\n const selectUsersArr = this.selectedBscUser.map(user => {\n return {\n user_oid: user.userOid\n }\n })\n await this.$api.bscRecords.removeReviewUsers({\n review_oid: this.reviewOid,\n selected_users: JSON.stringify(selectUsersArr)\n })\n if (isDeleteAll) {\n this.$router.push('/bsc-home')\n } else {\n this.fetchData()\n this.clearAdviserSelection = true\n }\n }\n\n // // when check the row in 'add advisers, update the selection to selected user list\n handleUserSelection (rows: any[]) {\n this.selectedUser = rows\n }\n\n // when check the row in 'advisers in review', update the selection to selectedBscUser list\n handleBscSelection (rows: any[]) {\n this.selectedBscUser = rows\n this.clearAdviserSelection = false\n }\n\n async generatePdf () {\n try {\n const { data, fileName } = await this.$api.bsc.adviserReview.generatePdf({ reviewOid: this.reviewOid, reviewYear: this.reviewYear, reviewQuarter: this.reviewQuarter })\n\n const link = document.createElement('a')\n link.href = base64ToBlob(data)\n link.download = fileName + '.pdf'\n link.click()\n link.remove()\n } catch (error) {\n await this.uiService.alert.show({\n type: 'error',\n message: error\n })\n }\n }\n\n // close 'add advisers/supervisor' modal\n closeModal () {\n this.txtSearchUser = ''\n this.showSelectUserModal = false\n this.selectedUser = []\n }\n\n // // when add in 'add advisers' pop up modal\n async updateReview () {\n if (this.selectedUser.length === 0) {\n await this.uiService.alert.show({\n type: 'warning',\n message: 'Please select at last one person to include in this course'\n })\n return\n }\n\n await this.addAdviserToReview()\n this.showSelectUserModal = false\n await this.fetchData()\n }\n\n // add advisers to 'adviser in review' table\n async addAdviserToReview () {\n const bscQuarterInfo = {\n review_year: this.reviewYear,\n review_quarter: this.reviewQuarter\n }\n\n const bscQuarterUsers = this.selectedUser.map(user => {\n return {\n user_oid: user.oid,\n adviser_name: user.fullname,\n contact_no: user.mobile,\n rnf_number: user.masRepno,\n adviser_code: user.companyCode,\n case_reviewed_total: 0,\n cat_1_infraction_total: 0,\n cat_2_infraction_total: 0,\n admin_error_total: 0\n }\n })\n\n const checkUsers = bscQuarterUsers.every(user => user)\n\n if (!checkUsers) {\n await this.uiService.alert.show({\n type: 'warning',\n message: 'Some selected users are undefined'\n })\n return\n }\n await this.$api.bscRecords.updateReview({\n review_oid: this.reviewOid,\n bsc_data: JSON.stringify(bscQuarterInfo),\n selected_users: JSON.stringify(bscQuarterUsers)\n })\n }\n\n // fetch user list to use in 'add adviser' pop up modal\n async fetchFullUserList () {\n const userHeader = ['_oid', 'names', 'fullname', 'systemrole', 'mobile', 'mas_repno', 'company_code']\n this.selectedUser = []\n const res = await this.$api.account.list({\n query: 'systemrole = ? OR systemrole = ? OR systemrole = ?',\n queryArgs: JSON.stringify(['adviser', 'supervisor', 'director']),\n headers: JSON.stringify(userHeader),\n groupStatus: 'user'\n })\n this.userList = res.data.map(_user => {\n const user = new UserMeta()\n user.assignData(userHeader, _user)\n return user\n })\n }\n\n // fetch advisers list in 'adviser in reviews' table based on review year and quarter\n async getBscUserReviewList () {\n const res = await this.$api.bscRecords.listReviewMeta({\n query: 'review_oid = ?',\n queryArgs: JSON.stringify([this.reviewOid]),\n headers: JSON.stringify(BscReviewHeader)\n })\n this.bscReviewMetaList = new BscReviewMetaList(res.data)\n }\n\n async fetchData () {\n await this.getBscUserReviewList()\n }\n\n async created () {\n this.uiService = this.sharedVariable.uiService\n this.reviewOid = this.$route.params.reviewOid\n await this.fetchFullUserList()\n await this.fetchData()\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Mixins } from 'vue-property-decorator'\nimport { BscListNewMixin } from './BscListNewMixin'\n\nexport default class BscHome extends Mixins(BscListNewMixin) {\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BscListNew.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BscListNew.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BscListNew.vue?vue&type=template&id=640b3200&scoped=true&\"\nimport script from \"./BscListNew.vue?vue&type=script&lang=ts&\"\nexport * from \"./BscListNew.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BscListNew.vue?vue&type=style&index=0&id=640b3200&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"640b3200\",\n null\n \n)\n\nexport default component.exports","import { RawKey } from '@master/annotation/RawKey'\nimport { Meta } from '@master/model/common/Meta'\n\nexport const BscReviewHeader = [\n '_oid',\n 'review_oid',\n 'user_oid',\n 'date_created',\n 'review_year',\n 'review_quarter',\n 'adviser_code',\n 'rnf_number',\n 'adviser_name',\n 'bsc_grade',\n 'case_reviewed_total',\n 'cat_1_infraction_total',\n 'cat_2_infraction_total',\n 'admin_error_total',\n 'isau_reviewer'\n]\n\n// This is for Bsc List New page\nexport class BscReviewMeta extends Meta {\n @RawKey('_oid')\n oid = ''\n\n reviewOid = ''\n userOid = ''\n dateCreated: number = undefined\n reviewYear: number = undefined\n reviewQuarter: number = undefined\n adviserCode = ''\n rnfNumber = ''\n adviserName = ''\n bscGrade = ''\n caseReviewedTotal: number = undefined\n cat1InfractionTotal: number = undefined\n cat2InfractionTotal: number = undefined\n adminErrorTotal: number = undefined\n isauReviewer = ''\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BscListNew.vue?vue&type=style&index=0&id=640b3200&lang=scss&scoped=true&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDecimalNumber.vue?vue&type=style&index=0&id=36b94185&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputModal),expression:\"inputModal\"}],staticClass:\"decimal-input\",attrs:{\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputModal)},on:{\"keyup\":function($event){return _vm.triggerKeyEvent($event)},\"keydown\":function($event){return _vm.triggerKeyEvent($event)},\"keypress\":function($event){return _vm.numberAndDecimalOnly($event)},\"blur\":function($event){return _vm.onBlur()},\"focus\":function($event){return _vm.onFocus()},\"select\":function($event){return _vm.onSelect($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.inputModal=$event.target.value}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\n\n@Component\nexport default class AppDecimalNumber extends Vue {\n @Prop() inputValue\n @Prop({ default: 2 }) decimal?: number\n @Prop({ default: false }) disabled?: boolean\n\n inputModal = ''\n textIsSelected = false\n valueChange = false\n\n numberAndDecimalOnly (evt) {\n evt = (evt) || window.event\n const keyCode = (evt.which) ? evt.which : evt.keyCode\n\n const currentValue = evt.target.value\n this.valueChange = true\n if (this.textIsSelected) {\n if (this.isNonNumberAndNonDecimal(keyCode)) {\n evt.preventDefault()\n } else {\n this.textIsSelected = false\n }\n return true\n }\n\n if (this.isNonNumberAndNonDecimal(keyCode)) {\n evt.preventDefault()\n }\n\n if (this.isDecimal(keyCode)) {\n if (!this.allowDecimal) {\n evt.preventDefault()\n }\n if (currentValue.indexOf('.') >= 0) {\n evt.preventDefault() // cannot key in more than 1 decimal\n }\n }\n\n if (this.decimal) { // constraint to decimal length that can enter\n const number = currentValue.split('.')\n let caratPos = currentValue.length\n if (evt.srcElement.selectionStart || evt.srcElement.selectionStart === '0') {\n caratPos = evt.srcElement.selectionStart\n }\n const dotPos = currentValue.indexOf('.')\n if (caratPos > dotPos && dotPos > -1 && number[1].length > this.decimal - 1) {\n evt.preventDefault()\n }\n }\n }\n\n triggerKeyEvent () {\n this.valueChange = true\n }\n\n get allowDecimal () {\n return this.decimal !== 0\n }\n\n isNonNumberAndNonDecimal (keyCode) {\n if (!this.allowDecimal) return this.isNonNumber(keyCode)\n return this.isNonNumber(keyCode) && (this.allowDecimal && !this.isDecimal(keyCode))\n }\n\n isDecimal (keyCode) {\n return keyCode === 46\n }\n\n isNonNumber (keyCode) {\n // not number and not decimal\n return keyCode > 31 && (keyCode < 48 || keyCode > 57)\n }\n\n onBlur () {\n if (!this.valueChange && !this.inputModal) { // if user only tap on and tap out the empty field and no edit anything\n this.inputModal = this.formatValue(undefined)\n return // no need emit value as there is no value, so that undefined is saved\n }\n\n this.inputModal = this.formatValue(this.inputModal)\n this.$emit('input', this.formatValue(this.inputModal, 'num')) // should convert to number type when return back\n }\n\n onFocus () {\n // convert string to number\n this.valueChange = false\n this.inputModal = this.inputModal.replaceAll(',', '')\n }\n\n onSelect () {\n this.textIsSelected = true\n this.valueChange = false\n }\n\n formatValue (source, convertTo: 'str' | 'num' = 'str') {\n if (typeof source === 'string') {\n if (source) {\n source = Number(source.replaceAll(',', ''))\n } else if (source === '' && this.valueChange) {\n source = 0 // so that when clear value, it is auto set to 0\n }\n } else if (source === undefined || source == null) {\n source = ''\n }\n\n if (convertTo === 'str') {\n if (source === '') return source\n const formatter = new Intl.NumberFormat('en-US', {\n minimumFractionDigits: this.decimal ?? 0,\n maximumFractionDigits: this.decimal ?? 8\n })\n return formatter.format(source)\n }\n\n if (!source) {\n return 0\n }\n\n return source\n }\n\n @Watch('inputValue')\n inputValueOnChange () {\n if (this.inputValue) {\n this.inputModal = this.formatValue(this.inputValue)\n } else {\n this.inputModal = this.formatValue('')\n }\n }\n\n mounted () {\n this.inputModal = this.formatValue(this.inputValue)\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDecimalNumber.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDecimalNumber.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppDecimalNumber.vue?vue&type=template&id=36b94185&scoped=true&\"\nimport script from \"./AppDecimalNumber.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppDecimalNumber.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppDecimalNumber.vue?vue&type=style&index=0&id=36b94185&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"36b94185\",\n null\n \n)\n\nexport default component.exports","export const BSC_GRADE = [\n { label: '', value: null },\n { label: 'Good', value: 4 },\n { label: 'Satisfactory', value: 3 },\n { label: 'Fair', value: 2 },\n { label: 'Unsatisfactory', value: 1 },\n { label: 'Ungraded', value: 0 }\n]\n\nexport function getBscGradeInText (targetGrade: number) {\n return BSC_GRADE.find(grade => grade.value === targetGrade)?.label\n}\n"],"sourceRoot":""}