{"version":3,"sources":["webpack:///./@master/model/options/NationalityAndCountryOptions.ts","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheEducation.vue?1676","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheEducation.vue","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheEducation.vue?f089","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheEducation.vue?893a","webpack:///./node_modules/randomstring/lib/randomstring.js","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheSpouse.vue?060f","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheSpouse.vue","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheSpouse.vue?c05e","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheSpouse.vue?c02d","webpack:///./node_modules/randomstring/lib/charset.js","webpack:///./node_modules/randomstring/index.js","webpack:///./@master/model/options/BankBicOptions.ts","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalDetails.vue?8bc8","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalDetails.vue","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalDetails.vue?268c","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalDetails.vue?ba85","webpack:///./@core/assets/myinfo-icon.svg","webpack:///./node_modules/randomstring/node_modules/randombytes/browser.js","webpack:///./@core/components/AppForm.vue?baa9","webpack:///./@core/components/AppCurrencyNA.vue?af5e","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalItems.vue?d3e7","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalItems.vue","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalItems.vue?4152","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/ThePersonalItems.vue?3289","webpack:///./@master/enum/AdviserFinancingEnum.ts","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheRecruitmentChecklist.vue?1d14","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheRecruitmentChecklist.vue","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheRecruitmentChecklist.vue?bb6e","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheRecruitmentChecklist.vue?9bfc","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheRecruitmentChecklist.vue?73fa","webpack:///./@core/pages/userProfile/sections/v2/UserAdviserDetailsV2.vue?4eec","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheEducation.vue?f9af","webpack:///./node_modules/randomstring/node_modules/array-uniq/index.js","webpack:///./@core/pages/userProfile/sections/v2/UserAdviserDetailsV2.vue?482d","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheFinancingDetails.vue?8779","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheFinancingDetails.vue","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheFinancingDetails.vue?58f6","webpack:///./@core/pages/userProfile/sections/user-adviser-details-components/TheFinancingDetails.vue?21a2","webpack:///./@core/pages/userProfile/sections/v2/UserAdviserDetailsV2.vue","webpack:///./@core/pages/userProfile/sections/v2/UserAdviserDetailsV2.vue?2b8c","webpack:///./@core/pages/userProfile/sections/v2/UserAdviserDetailsV2.vue?fc98","webpack:///./@core/components/AppForm.vue?4190","webpack:///./@core/components/AppCurrencyNA.vue?2c19","webpack:///./@core/components/AppCurrencyNA.vue","webpack:///./@core/components/AppCurrencyNA.vue?4219","webpack:///./@core/components/AppCurrencyNA.vue?6502","webpack:///./@core/components/AppForm.vue","webpack:///./@core/components/AppForm.vue?cec5","webpack:///./@core/components/AppForm.vue?3db6"],"names":["CountryOptions","Object","keys","map","key","label","value","sort","a","b","localeCompare","NationalityOptions","NationalityLabelToCode","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_v","directives","name","rawName","expression","on","$event","isModalEducation","_e","_m","educationList","length","_l","education","index","class","clickable","isOpsStaff","editEducation","_s","nameOfInstitution","location","formatDate","dateFrom","dateTo","awarded","stopPropagation","deleteEducation","oid","isModalQualification","qualificationList","qualification","editQualification","nameOfQualification","attainmentBasis","institution","dateYearConferred","deleteQualification","isModalEmployment","employmentList","employment","editEmployment","nameOfEmployer","address","designation","jobDescription","deleteEmployment","slot","EducationStructure","newEducation","saveEducation","QualificationStructure","newQualification","saveQualification","EmploymentStructure","newEmployment","saveEmployment","staticRenderFns","staticStyle","userStore","EducationMeta","QualificationMeta","EmploymentMeta","userAdviserDetails","$route","params","userOid","$store","getters","currentUser","accountID","systemrole","type","classes","disabled","date","undefined","dateService","format","param","adviser_oid","data","JSON","stringify","convertToRawData","education_oid","$api","adviserDetails","res","push","id","filter","qualification_oid","employment_oid","State","Action","components","AppForm","AppDialog","component","randomBytes","Charset","unsafeRandomBytes","stack","i","Math","floor","random","readUInt8","safeRandomBytes","e","processString","buf","initialString","chars","reqLen","maxByte","string","randomByte","charAt","getAsyncString","cb","err","generatedString","exports","generate","options","charset","setType","capitalization","setcapitalization","readable","removeUnreadable","removeDuplicates","charsLen","ceil","spouseDetailsStructure","spouseDetails","nextOfKinDetailsStructure","nextOfKinDetails","nationalityOptions","nationality","arrayUniq","prototype","numbers","charsLower","charsUpper","toUpperCase","hexChars","binaryChars","octalChars","unreadableChars","replace","toLowerCase","charMap","split","join","module","BankBicOptions","CODE","NAME","BIC","MapBankNameToBankCode","srcBankName","foundBank","find","bank","userAdviserDetailsStructure","contractDetailsStructure","contractDetails","userAdviserDetailsPersonalStructure","personalDetailsStructure","personalDetails","adviserService","adviserContractTypeOptions","model","get","user","mobile","set","val","email","oldBrowser","Error","crypto","global","msCrypto","size","rawBytes","Uint8Array","getRandomValues","bytes","Buffer","buffer","process","nextTick","personalItemsStructure","personalItemsIssued","FinancingPaymentStructure","ref","criteria","requirements","checkKey","remarksKey","domProps","Array","isArray","_i","$$a","$$el","target","$$c","checked","$$v","$$i","$set","concat","slice","recruitmentChecklist","composing","recruitmentChecklistRows","uniqNoSet","arr","ret","indexOf","uniqSet","seen","Set","el","has","add","uniqSetWithForEach","forEach","doesForEachActuallyWork","callback","activeName","financialStructure","personalBankStructure","overridingBankStructure","paymentStructureOption","bankOption","values","v","isNaN","Number","paymentStructure","toString","isSuperUser","dataToSave","user_oid","saveDetails","$parent","$on","onSubmit","fetchAdviserDetails","TheEducation","ThePersonalDetails","TheRecruitmentChecklist","TheSpouse","ThePersonalItems","TheFinancingDetails","style","structure","shouldShow","show","shouldDisabled","getCustomClass","hasErrors","focusId","getId","focusInner","getTestId","labelModelValue","labelModel","labelKey","tooltip","eidx","msg","full","fullErr","multiple","optionCols","multiLimit","buttonName","cycleMode","displayDirection","setValue","blurHandler","getValue","checkboxColumnNo","compact","option","isMyInfo","getLabelId","setSelectValue","decimal","maxChar","currencyFormat","precision","futureDate","disabledFutureDate","rows","isVertical","maxSize","columns","getValueForTable","remove","maxLength","counterMsg","isModernTheme","maxlength","numberAndNAOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","number","convertCurrencyToNumber","remainingChar","evt","window","event","charCode","which","keyCode","currentValue","isAlphabetN","isNonNumber","preventDefault","charCodeAt","isAlphabetA","formatValue","$emit","source","useCurrency","currencyPrefix","toLocaleString","currency","replaceAll","projectInfo","inputValue","default","minimal","structures","errors","charLeft","getCharLeft","getCounterMsg","gridTemplateColumns","projectSettings","theme","condition","readOnly","Function","input","oriValue","String","labelValue","selectedOption","selectedIndex","_value","onChange","ex","uniqueID","snakeCaseKey","curAppForm","$el","hasOverflow","scrollWidth","clientWidth","eleId","ele","document","getElementById","focus","mc","swe","first","s","scrollIntoView","behavior","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppRadioSelection","AppDateInput","AppFormTable","AppCurrencyNA","AppDecimalNumber","AppTooltip"],"mappings":"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","file":"js/chunk-df91aaa2.6f3dfe9d.js","sourcesContent":["import CodeToNationality from '@master/config/nationality-code-to-label.json'\nimport CodeToCountry from '@master/config/country-code-to-label.json'\nimport LabelToCodeCountry from '@master/config/country-label-to-code.json'\nimport LabelToCodeNationality from '@master/config/nationality-label-to-code.json'\nimport { options } from './Options'\n\nexport const CountryOptions: options[] = Object.keys(CodeToCountry).map(key => {\n return {\n label: CodeToCountry[key],\n value: key\n }\n}).sort((a, b) => {\n if (a.value === 'SG') {\n return -1\n } else if (b.value === 'SG') {\n return 1\n } else if (a.value === 'MY') {\n return -1\n } else if (b.value === 'MY') {\n return 1\n } else {\n return a.label.localeCompare(b.label)\n }\n}) // sort by Singapore, Malaysia, and the rest of countries\n\nexport const NationalityOptions: options[] = Object.keys(CodeToNationality).map(key => {\n return {\n label: CodeToNationality[key],\n value: key\n }\n}).sort((a, b) => {\n if (a.value === 'SG') {\n return -1\n } else if (b.value === 'SG') {\n return 1\n } else if (a.value === 'MY') {\n return -1\n } else if (b.value === 'MY') {\n return 1\n } else {\n return a.label.localeCompare(b.label)\n }\n}) // sort by Singapore, Malaysia, and the rest of nationalities\n\nexport const CountryLabelToCode = LabelToCodeCountry\nexport const NationalityLabelToCode = LabelToCodeNationality\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"page5\",\"role\":\"tabpanel\"}},[_c('div',{staticClass:\"form-body\"},[_c('p',{staticClass:\"subtitle\"},[_vm._v(\" Education History \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isOpsStaff),expression:\"isOpsStaff\"}],staticClass:\"btn-default\",on:{\"click\":function($event){_vm.isModalEducation = true}}},[_vm._v(\" Add New Education \")])]),_c('table',{staticClass:\"bordered\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"School / College / University\")]),_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Period\")]),_c('th',{attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Certificate / Diploma / Degree Awarded\")]),(_vm.isOpsStaff)?_c('th',{attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Delete\")]):_vm._e()]),_vm._m(0)]),_c('tbody',[(_vm.educationList.length > 0)?_vm._l((_vm.educationList),function(education,index){return _c('tr',{key:index,class:{ clickable: _vm.isOpsStaff },on:{\"click\":function($event){return _vm.editEducation(education)}}},[_c('td',[_vm._v(_vm._s(education.nameOfInstitution))]),_c('td',[_vm._v(_vm._s(education.location))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(education.dateFrom)))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(education.dateTo)))]),_c('td',[_vm._v(_vm._s(education.awarded))]),(_vm.isOpsStaff)?_c('td',[_c('button',{staticClass:\"btn-danger\",attrs:{\"disabled\":!_vm.isOpsStaff},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteEducation(education.oid)}}},[_vm._v(\" Delete \")])]):_vm._e()])}):[_vm._m(1)]],2)]),_c('p',{staticClass:\"subtitle\"},[_vm._v(\" Professional Qualification \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isOpsStaff),expression:\"isOpsStaff\"}],staticClass:\"btn-default\",on:{\"click\":function($event){_vm.isModalQualification = true}}},[_vm._v(\" Add New Qualification \")])]),_c('table',{staticClass:\"bordered\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Name of Qualification\")]),_c('th',[_vm._v(\"Attainment Basis\")]),_c('th',[_vm._v(\"Institution\")]),_c('th',[_vm._v(\"Year Conferred\")]),(_vm.isOpsStaff)?_c('th',[_vm._v(\"Delete\")]):_vm._e()])]),_c('tbody',[(_vm.qualificationList.length > 0)?_vm._l((_vm.qualificationList),function(qualification,index){return _c('tr',{key:index,class:{ clickable: _vm.isOpsStaff },on:{\"click\":function($event){return _vm.editQualification(qualification)}}},[_c('td',[_vm._v(_vm._s(qualification.nameOfQualification))]),_c('td',[_vm._v(_vm._s(qualification.attainmentBasis))]),_c('td',[_vm._v(_vm._s(qualification.institution))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(qualification.dateYearConferred)))]),(_vm.isOpsStaff)?_c('td',[_c('button',{staticClass:\"btn-danger\",on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteQualification(qualification.oid)}}},[_vm._v(\" Delete \")])]):_vm._e()])}):[_vm._m(2)]],2)]),_c('p',{staticClass:\"subtitle\"},[_vm._v(\" Employment History \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isOpsStaff),expression:\"isOpsStaff\"}],staticClass:\"btn-default\",on:{\"click\":function($event){_vm.isModalEmployment = true}}},[_vm._v(\" Add New Employment \")])]),_c('table',{staticClass:\"bordered\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Employer\")]),_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"Period\")]),_c('th',{attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Designation & Department\")]),_c('th',{attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Brief Job Description\")]),(_vm.isOpsStaff)?_c('th',{attrs:{\"rowspan\":\"2\"}},[_vm._v(\"Delete\")]):_vm._e()]),_vm._m(3)]),_c('tbody',[(_vm.employmentList.length > 0)?_vm._l((_vm.employmentList),function(employment,index){return _c('tr',{key:index,class:{ clickable: _vm.isOpsStaff },on:{\"click\":function($event){return _vm.editEmployment(employment)}}},[_c('td',[_vm._v(_vm._s(employment.nameOfEmployer))]),_c('td',[_vm._v(_vm._s(employment.address))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(employment.dateFrom)))]),_c('td',[_vm._v(_vm._s(_vm.formatDate(employment.dateTo)))]),_c('td',[_vm._v(_vm._s(employment.designation))]),_c('td',[_vm._v(_vm._s(employment.jobDescription))]),(_vm.isOpsStaff)?_c('td',[_c('button',{staticClass:\"btn-danger\",on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteEmployment(employment.oid)}}},[_vm._v(\" Delete \")])]):_vm._e()])}):[_vm._m(4)]],2)])]),(_vm.isModalEducation)?_c('AppDialog',{on:{\"close\":function($event){_vm.isModalEducation = false}}},[_c('template',{slot:\"header\"},[_vm._v(\"Add Education\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('AppForm',{attrs:{\"structures\":_vm.EducationStructure,\"model\":_vm.newEducation}})],1),(_vm.isOpsStaff)?_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.saveEducation()}}},[_vm._v(\"Save\")])]):_vm._e()],2):_vm._e(),(_vm.isModalQualification)?_c('AppDialog',{on:{\"close\":function($event){_vm.isModalQualification = false}}},[_c('template',{slot:\"header\"},[_vm._v(\"Add Qualification\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('AppForm',{attrs:{\"structures\":_vm.QualificationStructure,\"model\":_vm.newQualification}})],1),(_vm.isOpsStaff)?_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.saveQualification()}}},[_vm._v(\"Save\")])]):_vm._e()],2):_vm._e(),(_vm.isModalEmployment)?_c('AppDialog',{on:{\"close\":function($event){_vm.isModalEmployment = false}}},[_c('template',{slot:\"header\"},[_vm._v(\"Add Employment\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('AppForm',{attrs:{\"structures\":_vm.EmploymentStructure,\"model\":_vm.newEmployment}})],1),(_vm.isOpsStaff)?_c('template',{slot:\"footer\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.saveEmployment()}}},[_vm._v(\"Save\")])]):_vm._e()],2):_vm._e()],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Location\")]),_c('th',[_vm._v(\"From\")]),_c('th',[_vm._v(\"To\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\"No Data\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"5\"}},[_vm._v(\"No Data\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Address\")]),_c('th',[_vm._v(\"From\")]),_c('th',[_vm._v(\"To\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_c('td',{staticStyle:{\"text-align\":\"center\"},attrs:{\"colspan\":\"8\"}},[_vm._v(\"No Data\")])])}]\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/* eslint-disable @typescript-eslint/camelcase */\nimport { Component, Vue } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport AppForm from '@core/components/AppForm.vue'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport { inject } from 'inversify-props'\nimport { IDateService } from '@master/services/IDateService'\nimport API from '@core/services/API'\nimport { isEmpty } from 'lodash'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { UserAdviserDetailsMeta } from './model/UserAdviserDetailsMeta'\nimport EducationMeta from './model/EducationMeta'\nimport EmploymentMeta from './model/EmploymentMeta'\nimport QualificationMeta from './model/QualificationMeta'\nimport AppDialog from '@core/components/AppDialog.vue'\n\nconst userStore = namespace('UserStore')\n\n@Component({\n components: {\n AppForm,\n AppDialog\n }\n})\nexport default class TheEducation extends Vue {\n @inject()\n private $api: API\n\n uiService: UIService\n\n @inject()\n private sharedVariable: SharedVariable\n\n @inject()\n private dateService: IDateService\n\n // @userAdviserDetailsStore.State\n // private userAdviserDetails!: UserAdviserDetails;\n\n @userStore.State\n private userAdviserDetails: UserAdviserDetailsMeta\n\n @userStore.Action\n private fetchAdviserDetails: (adviserOid: string) => Promise\n\n private isModalEducation = false\n private isModalQualification = false\n private isModalEmployment = false\n\n private newEducation: EducationMeta = new EducationMeta()\n private newQualification: QualificationMeta = new QualificationMeta()\n private newEmployment: EmploymentMeta = new EmploymentMeta()\n\n get educationList (): EducationMeta[] {\n return this.userAdviserDetails.educationList\n }\n\n get employmentList (): EmploymentMeta[] {\n return this.userAdviserDetails.employmentList\n }\n\n get qualificationList (): QualificationMeta[] {\n return this.userAdviserDetails.qualificationList\n }\n\n get userOid (): string {\n return this.$route.params.userOid as string || this.$store.getters.currentUser.accountID\n }\n\n get isOpsStaff () {\n return this.$store.getters.currentUser.systemrole === 'ops-staff'\n }\n\n get EducationStructure (): FormStructure {\n return [\n {\n label: 'Name of Institution',\n key: 'nameOfInstitution'\n },\n {\n label: 'Location',\n key: 'location'\n },\n {\n label: 'From',\n key: 'dateFrom',\n type: 'date'\n },\n {\n label: 'To',\n key: 'dateTo',\n type: 'date'\n },\n {\n label: 'Certificate / Diploma / Degree Awarded',\n key: 'awarded',\n classes: ['colspan']\n }\n ]\n }\n\n get QualificationStructure (): FormStructure {\n return [\n {\n label: 'Name of Qualification',\n key: 'nameOfQualification',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Attainment Basis',\n key: 'attainmentBasis',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Institution',\n key: 'institution',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Year Conferred',\n key: 'dateYearConferred',\n type: 'date',\n disabled: !this.isOpsStaff\n }\n ]\n }\n\n get EmploymentStructure (): FormStructure {\n return [\n {\n label: 'Name of Employer',\n key: 'nameOfEmployer'\n },\n {\n label: 'Address',\n key: 'address'\n },\n {\n label: 'From',\n key: 'dateFrom',\n type: 'date'\n },\n {\n label: 'To',\n key: 'dateTo',\n type: 'date'\n },\n {\n label: 'Designation & Department',\n key: 'designation'\n },\n {\n label: 'Brief Job Description',\n key: 'jobDescription',\n type: 'textarea',\n classes: ['colspan']\n }\n ]\n }\n\n formatDate (date): string {\n return date === undefined ? '' : this.dateService.format(date, 'YYYY-MM-DD')\n }\n\n async saveEducation () {\n this.isModalEducation = false\n const param: any = {\n adviser_oid: this.userOid,\n data: JSON.stringify(this.newEducation.convertToRawData())\n }\n if (!isEmpty(this.newEducation.oid)) {\n param.education_oid = this.newEducation.oid\n }\n const res = await this.$api.adviserDetails.saveEducation(param)\n this.newEducation.oid = res.education_oid\n this.userAdviserDetails.educationList.push(this.newEducation)\n this.newEducation = new EducationMeta()\n }\n\n editEducation (education: EducationMeta) {\n if (!this.isOpsStaff) return\n this.newEducation = education\n this.isModalEducation = true\n }\n\n async deleteEducation (id) {\n this.isModalEducation = false\n await this.$api.adviserDetails.deleteEducation({\n education_oid: id\n })\n this.userAdviserDetails.educationList = this.educationList.filter(({ oid }) => oid !== id)\n }\n\n async saveQualification () {\n this.isModalQualification = false\n const param: any = {\n adviser_oid: this.userOid,\n data: JSON.stringify(this.newQualification.convertToRawData())\n }\n if (!isEmpty(this.newQualification.oid)) {\n param.qualification_oid = this.newQualification.oid\n }\n const res = await this.$api.adviserDetails.saveQualification(param)\n this.newQualification.oid = res.qualification_oid\n this.userAdviserDetails.qualificationList.push(this.newQualification)\n this.newQualification = new QualificationMeta()\n }\n\n editQualification (qualification: QualificationMeta) {\n if (!this.isOpsStaff) return\n this.newQualification = qualification\n this.isModalQualification = true\n }\n\n async deleteQualification (id) {\n this.isModalQualification = false\n await this.$api.adviserDetails.deleteQualification({\n qualification_oid: id\n })\n this.userAdviserDetails.qualificationList = this.qualificationList.filter(({ oid }) => oid !== id)\n }\n\n async saveEmployment () {\n this.isModalEmployment = false\n const param: any = {\n adviser_oid: this.userOid,\n data: JSON.stringify(this.newEmployment.convertToRawData())\n }\n if (!isEmpty(this.newEmployment.oid)) {\n param.employment_oid = this.newEmployment.oid\n }\n const res = await this.$api.adviserDetails.saveEmployment(param)\n this.newEmployment.oid = res.employment_oid\n this.userAdviserDetails.employmentList.push(this.newEmployment)\n this.newEmployment = new EmploymentMeta()\n }\n\n editEmployment (employment: EmploymentMeta) {\n if (!this.isOpsStaff) return\n this.newEmployment = employment\n this.isModalEmployment = true\n }\n\n async deleteEmployment (id) {\n this.isModalEmployment = false\n await this.$api.adviserDetails.deleteEmployment({\n employment_oid: id\n })\n this.userAdviserDetails.employmentList = this.employmentList.filter(({ oid }) => oid !== id)\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!./TheEducation.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!./TheEducation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheEducation.vue?vue&type=template&id=7e91f8de&scoped=true&\"\nimport script from \"./TheEducation.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheEducation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TheEducation.vue?vue&type=style&index=0&id=7e91f8de&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 \"7e91f8de\",\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\nvar randomBytes = require('randombytes');\nvar Charset = require('./charset.js');\n\n\nfunction unsafeRandomBytes(length) {\n var stack = [];\n for (var i = 0; i < length; i++) {\n stack.push(Math.floor(Math.random() * 255));\n }\n\n return {\n length,\n readUInt8: function (index) {\n return stack[index];\n }\n };\n}\n\nfunction safeRandomBytes(length) {\n try {\n return randomBytes(length);\n } catch (e) {\n /* React/React Native Fix + Eternal loop removed */\n return unsafeRandomBytes(length);\n }\n}\n\nfunction processString(buf, initialString, chars, reqLen, maxByte) {\n var string = initialString;\n for (var i = 0; i < buf.length && string.length < reqLen; i++) {\n var randomByte = buf.readUInt8(i);\n if (randomByte < maxByte) {\n string += chars.charAt(randomByte % chars.length);\n }\n }\n return string;\n}\n\nfunction getAsyncString(string, chars, length, maxByte, cb) {\n randomBytes(length, function(err, buf) {\n if (err) {\n // Since it is waiting for entropy, errors are legit and we shouldn't just keep retrying\n cb(err);\n }\n var generatedString = processString(buf, string, chars, length, maxByte);\n if (generatedString.length < length) {\n getAsyncString(generatedString, chars, length, maxByte, cb);\n } else {\n cb(null, generatedString);\n }\n })\n}\n\nexports.generate = function(options, cb) {\n var charset = new Charset();\n\n var length, chars, capitalization, string = '';\n\n // Handle options\n if (typeof options === 'object') {\n length = typeof options.length === 'number' ? options.length : 32;\n\n if (options.charset) {\n charset.setType(options.charset);\n }\n else {\n charset.setType('alphanumeric');\n }\n\n if (options.capitalization) {\n charset.setcapitalization(options.capitalization);\n }\n\n if (options.readable) {\n charset.removeUnreadable();\n }\n\n charset.removeDuplicates();\n }\n else if (typeof options === 'number') {\n length = options;\n charset.setType('alphanumeric');\n }\n else {\n length = 32;\n charset.setType('alphanumeric');\n }\n\n // Generate the string\n var charsLen = charset.chars.length;\n var maxByte = 256 - (256 % charsLen);\n\n if (!cb) {\n while (string.length < length) {\n var buf = safeRandomBytes(Math.ceil(length * 256 / maxByte));\n string = processString(buf, string, charset.chars, length, maxByte);\n }\n\n return string;\n }\n\n getAsyncString(string, charset.chars, length, maxByte, cb);\n\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"page3\",\"role\":\"tabpanel\"}},[_c('div',{staticClass:\"form-body\"},[_c('p',{staticClass:\"bold-text\"},[_vm._v(\"Spouse Personal Details\")]),_c('AppForm',{attrs:{\"structures\":_vm.spouseDetailsStructure,\"model\":_vm.spouseDetails}}),_c('p',{staticClass:\"bold-text\"},[_vm._v(\"Next of Kin Details\")]),_c('AppForm',{attrs:{\"structures\":_vm.nextOfKinDetailsStructure,\"model\":_vm.nextOfKinDetails}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport AppForm from '@core/components/AppForm.vue'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport SpouseDetailsMeta from './model/SpouseDetailsMeta'\nimport { NextOfKinDetailsMeta } from './model/NextOfKinDetailsMeta'\nimport { UserAdviserDetailsMeta } from './model/UserAdviserDetailsMeta'\nimport { NationalityOptions } from '@master/model/options/NationalityAndCountryOptions'\n\nconst userStore = namespace('UserStore')\n\n@Component({\n components: {\n AppForm\n }\n})\nexport default class TheSpouse extends Vue {\n @userStore.State\n private userAdviserDetails!: UserAdviserDetailsMeta\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n get isOpsStaff () {\n return this.currentUser.systemrole === 'ops-staff'\n }\n\n get spouseDetails () {\n return this.userAdviserDetails.spouseDetails\n }\n\n get nextOfKinDetails () {\n return this.userAdviserDetails.nextOfKinDetails\n }\n\n get spouseDetailsStructure (): FormStructure {\n return [\n {\n label: 'Spouse Name',\n key: 'name',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Occupation',\n key: 'occupation',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Date of Birth',\n key: 'dateOfBirth',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Race',\n key: 'race',\n options: [\n { label: 'Chinese', value: 'chinese' },\n { label: 'Malay', value: 'malay' },\n { label: 'Indian', value: 'indian' },\n { label: 'Eurasian', value: 'eurasian' },\n { label: 'Others', value: 'others' }\n ],\n disabled: !this.isOpsStaff\n },\n {\n label: 'Citizenship',\n key: 'nationality',\n options: [\n { label: '', value: '' },\n { label: 'Singaporean', value: 'singaporean' },\n { label: 'Singapore PR', value: 'pr' },\n { label: 'Singapore Pass Holder', value: 'passholders' },\n { label: 'Other Citizenship', value: 'others' }\n ],\n disabled: !this.isOpsStaff\n },\n {\n label: 'Please specify Nationality',\n key: 'nationalitySpecified',\n options: this.nationalityOptions,\n disabled: !this.isOpsStaff ||\n this.userAdviserDetails.spouseDetails.nationality ===\n 'singaporean' ||\n this.userAdviserDetails.spouseDetails.nationality ===\n 'singaporeanpr'\n },\n {\n label: 'ID Doc. Type',\n key: 'idDocType',\n options: [\n { label: 'Identity Card - Pink', value: 'ic-pink' },\n { label: 'Identity Card - Blue', value: 'ic-blue' },\n { label: 'Others', value: 'others' }\n ],\n disabled: !this.isOpsStaff\n },\n {\n label: 'ID No.',\n key: 'idNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Contact No.',\n key: 'contactNumber',\n disabled: !this.isOpsStaff\n }\n ]\n }\n\n get nextOfKinDetailsStructure (): FormStructure {\n return [\n {\n label: 'Name',\n key: 'name',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Relationship',\n key: 'relationship',\n options: [\n { label: 'Aunt', value: 'aunt' },\n { label: 'Brother', value: 'brother' },\n { label: 'Cousin', value: 'cousin' },\n { label: 'Daughter', value: 'daughter' },\n { label: 'Father', value: 'father' },\n { label: 'Grandchild', value: 'grandchild' },\n { label: 'Grandparent', value: 'grandparent' },\n { label: 'Legal guardian', value: 'legal Guardian' },\n { label: 'Husband', value: 'husband' },\n { label: 'Mother', value: 'mother' },\n { label: 'Nephew', value: 'nephew' },\n { label: 'Niece', value: 'niece' },\n { label: 'Others', value: 'others' },\n { label: 'Spouse', value: 'spouse' },\n { label: 'Son', value: 'son' },\n { label: 'Sister', value: 'sister' },\n { label: 'Uncle', value: 'uncle' },\n { label: 'Ward', value: 'ward' },\n { label: 'Wife', value: 'wife' }\n ],\n disabled: !this.isOpsStaff\n },\n {\n label: 'Contact No.',\n key: 'contactNumber',\n disabled: !this.isOpsStaff\n }\n ]\n }\n\n get nationalityOptions () {\n return NationalityOptions\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!./TheSpouse.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!./TheSpouse.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheSpouse.vue?vue&type=template&id=42682ad7&scoped=true&\"\nimport script from \"./TheSpouse.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheSpouse.vue?vue&type=script&lang=ts&\"\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 \"42682ad7\",\n null\n \n)\n\nexport default component.exports","var arrayUniq = require('array-uniq');\n\nfunction Charset() {\n this.chars = '';\n}\n\nCharset.prototype.setType = function(type) {\n var chars;\n\n var numbers = '0123456789';\n var charsLower = 'abcdefghijklmnopqrstuvwxyz';\n var charsUpper = charsLower.toUpperCase();\n var hexChars = 'abcdef';\n var binaryChars = '01';\n var octalChars = '01234567';\n\n if (type === 'alphanumeric') {\n chars = numbers + charsLower + charsUpper;\n }\n else if (type === 'numeric') {\n chars = numbers;\n }\n else if (type === 'alphabetic') {\n chars = charsLower + charsUpper;\n }\n else if (type === 'hex') {\n chars = numbers + hexChars;\n }\n else if (type === 'binary') {\n chars = binaryChars;\n }\n else if (type === 'octal') {\n chars = octalChars;\n }\n else {\n chars = type;\n }\n\n this.chars = chars;\n}\n\nCharset.prototype.removeUnreadable = function() {\n var unreadableChars = /[0OIl]/g;\n this.chars = this.chars.replace(unreadableChars, '');\n}\n\nCharset.prototype.setcapitalization = function(capitalization) {\n if (capitalization === 'uppercase') {\n this.chars = this.chars.toUpperCase();\n }\n else if (capitalization === 'lowercase') {\n this.chars = this.chars.toLowerCase();\n }\n}\n\nCharset.prototype.removeDuplicates = function() {\n var charMap = this.chars.split('');\n charMap = arrayUniq(charMap);\n this.chars = charMap.join('');\n}\n\nmodule.exports = exports = Charset;\n","module.exports = require(\"./lib/randomstring\");","// The latest list can be found on ABS website: http://www.abs.org.sg/financial_giro.php\nexport interface BankBic {\n CODE: string;\n NAME: string;\n BIC: string;\n}\nexport const BankBicOptions: BankBic[] = [{ CODE: '7931', NAME: 'Australia & New Zealand Banking Group Limited', BIC: 'ANZBSGSXXXX' },\n { CODE: '7047', NAME: 'Bangkok Bank Public Company Limited', BIC: 'BKKBSGSGXXX' },\n { CODE: '7065', NAME: 'Bank Of America, N.A.', BIC: 'BOFASG2XXXX' },\n { CODE: '7083', NAME: 'Bank Of China Limited', BIC: 'BKCHSGSGXXX' },\n { CODE: '7108', NAME: 'Bank Of India', BIC: 'BKIDSGSGXXX' },\n { CODE: '7126', NAME: 'Bank Of Tokyo-Mitsubishi UFJ, Limited', BIC: 'BOTKSGSXXXX' },\n { CODE: '7418', NAME: 'BNP Paribas', BIC: 'BNPASGSGXXX' },\n { CODE: '9353', NAME: 'Chinatrust Commercial Bank Co. Limited', BIC: 'CTCBSGSGXXX' },\n { CODE: '7986', NAME: 'CIMB Bank Berhad', BIC: 'CIBBSGSGXXX' },\n { CODE: '7214', NAME: 'Citibank N.A.', BIC: 'CITISGSGXXX' },\n { CODE: '8606', NAME: 'Commerzbank Aktiengesellschaft', BIC: 'COBASGSXXXX' },\n { CODE: '7135', NAME: 'Crédit Agricole Corporate And Investment Bank', BIC: 'CRLYSGSGXXX' },\n { CODE: '7171', NAME: 'DBS Bank Limited', BIC: 'DBSSSGSGXXX' },\n { CODE: '7463', NAME: 'Deutsche Bank AG', BIC: 'DEUTSGSGXXX' },\n { CODE: '7737', NAME: 'DNB Bank ASA', BIC: 'DNBASGSGXXX' },\n { CODE: '7199', NAME: 'Far Eastern Bank Limited', BIC: 'FAEASGSGXXX' },\n { CODE: '7764', NAME: 'First Commercial Bank', BIC: 'FCBKSGSGXXX' },\n { CODE: '7287', NAME: 'HL Bank', BIC: 'HLBBSGSGXXX' },\n { CODE: '9186', NAME: 'ICICI Bank Limited', BIC: 'ICICSGSGXXX' },\n { CODE: '7241', NAME: 'Indian Bank', BIC: 'IDIBSGSGXXX' },\n { CODE: '7250', NAME: 'Indian Overseas Bank', BIC: 'IOBASGSGXXX' },\n { CODE: '8712', NAME: 'Industrial & Commercial Bank Of China', BIC: 'ICBKSGSGXXX' },\n { CODE: '8350', NAME: 'Intesa Sanpaolo S.P.A.', BIC: 'BCITSGSGXXX' },\n { CODE: '7153', NAME: 'JPMorgan Chase Bank, N.A.', BIC: 'CHASSGSGXXX' },\n { CODE: '7490', NAME: 'Korea Exchange Bank', BIC: 'KOEXSGSGXXX' },\n { CODE: '8873', NAME: 'Landesbank Baden- Wurttemberg', BIC: 'SOLASGSGXXX' },\n { CODE: '7302', NAME: 'Malayan Banking Berhad', BIC: 'MBBESGSGXXX' },\n { CODE: '7621', NAME: 'Mizuho Bank Limited', BIC: 'MHCBSGSGXXX' },\n { CODE: '8077', NAME: 'National Australia Bank Limited', BIC: 'NATASGSGXXX' },\n { CODE: '8518', NAME: 'Nordea Bank Finland PLC', BIC: 'NDEASGSGXXX' },\n { CODE: '7339', NAME: 'Oversea-Chinese Banking Corpn Limited', BIC: 'OCBCSGSGXXX' },\n { CODE: '7056', NAME: 'PT Bank Negara Indonesia (Persero) TBK', BIC: 'BNINSGSGXXX' },\n { CODE: '7366', NAME: 'RHB Bank Berhad', BIC: 'RHBBSGSGXXX' },\n { CODE: '8527', NAME: 'Skandinaviska Enskilda Banken AB (Publ)', BIC: 'ESSESGSGXXX' },\n { CODE: '7852', NAME: 'Societe Generale', BIC: 'SOGESGSGXXX' },\n { CODE: '7144', NAME: 'Standard Chartered Bank', BIC: 'SCBLSG22XXX' },\n { CODE: '7791', NAME: 'State Bank Of India', BIC: 'SBINSGSGXXX' },\n { CODE: '7472', NAME: 'Sumitomo Mitsui Banking Corporation', BIC: 'SMBCSGSGXXX' },\n { CODE: '8493', NAME: 'Svenska Handelsbanken AB (Publ)', BIC: 'HANDSGSGXXX' },\n { CODE: '7092', NAME: 'The Bank Of East Asia Limited', BIC: 'BEASSGSGXXX' },\n { CODE: '7232', NAME: 'The Hongkong And Shanghai Banking Corporation Limited', BIC: 'HSBCSGSGXXX' },\n { CODE: '7010', NAME: 'The Royal Bank Of Scotland PLC', BIC: 'ABNASGSGXXX' },\n { CODE: '9733', NAME: 'TRUST BANK SINGAPORE LIMITED', BIC: 'TRBUSGSGXXX' },\n { CODE: '7685', NAME: 'UBS AG', BIC: 'UBSWSGSGXXX' },\n { CODE: '7357', NAME: 'UCO Bank', BIC: 'UCBASGSGXXX' },\n { CODE: '7375', NAME: 'United Overseas Bank Limited', BIC: 'UOVBSGSGXXX' }]\n\nexport function MapBankNameToBankCode (srcBankName = '') {\n if (!srcBankName) return ''\n const foundBank = BankBicOptions.find(bank => bank.NAME === srcBankName)\n if (foundBank) {\n return foundBank.CODE\n }\n return srcBankName\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"page2\",\"role\":\"tabpanel\"}},[_c('div',{staticClass:\"form-body\"},[_c('p',{staticClass:\"bold-text\"},[_vm._v(\"Contract Details\")]),_c('AppForm',{attrs:{\"structures\":_vm.userAdviserDetailsStructure,\"model\":_vm.userAdviserDetails}}),_c('AppForm',{attrs:{\"structures\":_vm.contractDetailsStructure,\"model\":_vm.contractDetails}}),_c('p',{staticClass:\"bold-text\"},[_vm._v(\"Personal Details\")]),_c('AppForm',{attrs:{\"structures\":_vm.userAdviserDetailsPersonalStructure,\"model\":_vm.userAdviserDetails}}),_c('AppForm',{attrs:{\"structures\":_vm.personalDetailsStructure,\"model\":_vm.personalDetails}})],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\nimport { Component, Vue } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport AppForm from '@core/components/AppForm.vue'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport { UserAdviserDetailsMeta } from './model/UserAdviserDetailsMeta'\nimport PersonalDetailsMeta from './model/PersonalDetailsMeta'\nimport { ContractDetailsMeta } from './model/ContractDetailsMeta'\nimport { UserMeta } from '@core/model/common/UserMeta'\nimport { NationalityOptions } from '@master/model/options/NationalityAndCountryOptions'\nimport { inject } from 'inversify-props'\nimport { IAdviserService } from '@master/services/IAdviserService'\n\nconst userStore = namespace('UserStore')\n\n@Component({\n components: {\n AppForm\n }\n})\nexport default class ThePersonalDetails extends Vue {\n @userStore.State\n private user: UserMeta\n\n @userStore.State\n private userAdviserDetails!: UserAdviserDetailsMeta;\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n get isOpsStaff () {\n return this.currentUser.systemrole === 'ops-staff'\n }\n\n get contractDetails () {\n return this.userAdviserDetails.contractDetails\n }\n\n get personalDetails () {\n return this.userAdviserDetails.personalDetails\n }\n\n @inject()\n private adviserService: IAdviserService\n\n // isLockedField (key: string): boolean {\n // const listOfLockedFields = this.userAdviserDetails.myinfoLockedFieldsClient.map(e => camelCase(e))\n // return listOfLockedFields.includes(key)\n // }\n\n get userAdviserDetailsStructure (): FormStructure {\n return [\n {\n label: 'Date Contracted',\n key: 'dateContracted',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Date Terminated',\n key: 'dateTerminated',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Date Issued',\n key: 'dateIssued',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Contract Status',\n key: 'contractStatus',\n options: [\n { label: 'In-force', value: 'in-force' },\n { label: 'Pending', value: 'pending' },\n { label: 'Suspended', value: 'suspended' },\n { label: 'Terminated', value: 'terminated' },\n { label: 'Withdrawn', value: 'withdrawn' }\n ],\n disabled: !this.isOpsStaff\n },\n {\n label: 'Contract Type',\n key: 'contractType',\n options: this.adviserService.adviserContractTypeOptions(),\n disabled: !this.isOpsStaff\n },\n {\n label: 'Date of Last Promotion',\n key: 'dateOfLastPromotion',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'MAS Application Date',\n key: 'dateMasApplication',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'MAS Yearly Renewal',\n key: 'dateMasYearlyRenewal',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'MAS Tri-Yearly Renewal',\n key: 'dateMasTriYearlyRenewal',\n type: 'date',\n disabled: !this.isOpsStaff\n }\n ]\n }\n\n get contractDetailsStructure (): FormStructure {\n return [\n {\n label: 'IFPAS No.',\n key: 'ifpasNo',\n disabled: !this.isOpsStaff\n }\n ]\n }\n\n get userAdviserDetailsPersonalStructure (): FormStructure {\n return [\n {\n label: 'Date of Birth',\n key: 'dateOfBirth',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'EP Issued Date',\n key: 'dateEpIssued',\n type: 'date',\n disabled: !this.isOpsStaff\n },\n {\n label: 'EP Expiry Date',\n key: 'dateEpExpiry',\n type: 'date',\n disabled: !this.isOpsStaff\n }\n ]\n }\n\n get personalDetailsStructure (): FormStructure {\n return [\n {\n label: 'Place of Birth',\n key: 'placeOfBirth',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Marital Status',\n key: 'maritalStatus',\n options: [\n { label: 'Single', value: 'single' },\n { label: 'Married', value: 'married' },\n { label: 'Divorced', value: 'divorced' },\n { label: 'Widowed', value: 'widowed' }\n ],\n disabled: !this.isOpsStaff // || this.isLockedField('maritalStatus')\n },\n {\n label: 'Gender',\n key: 'gender',\n options: [\n { label: 'Male', value: 'male' },\n { label: 'Female', value: 'female' }\n ],\n disabled: !this.isOpsStaff\n },\n {\n label: 'Citizenship',\n key: 'nationality',\n options: [\n { label: '', value: '' },\n { label: 'Singaporean', value: 'singaporean' },\n { label: 'Singapore PR', value: 'pr' },\n { label: 'Singapore Pass Holder', value: 'passholders' },\n { label: 'Other Citizenship', value: 'others' }\n ],\n disabled: !this.isOpsStaff // || this.isLockedField('nationality')\n },\n {\n label: 'Please specify Nationality',\n key: 'nationalitySpecified',\n options: this.nationalityOptions,\n disabled: (!this.isOpsStaff ||\n this.personalDetails?.nationality ===\n 'singaporean' ||\n this.personalDetails?.nationality ===\n 'singaporeanpr') // || this.isLockedField('nationalitySpecified')\n },\n {\n label: 'Race',\n key: 'race',\n options: [\n { label: 'Chinese', value: 'chinese' },\n { label: 'Malay', value: 'malay' },\n { label: 'Indian', value: 'indian' },\n { label: 'Eurasian', value: 'eurasian' },\n { label: 'Others', value: 'others' }\n ],\n disabled: !this.isOpsStaff\n },\n {\n label: 'Immigration No.',\n key: 'immigrationNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Employment Pass No.',\n key: 'employmentPassNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Handphone No.',\n model: {\n get: () => this.user.mobile,\n set: (val) => { this.user.mobile = val }\n },\n disabled: !this.isOpsStaff // || this.isLockedField('mobile')\n },\n {\n label: 'Residential Tel No.',\n key: 'residentialNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Email',\n model: {\n get: () => this.user.email,\n set: (val) => { this.user.email = val }\n },\n disabled: !this.isOpsStaff // || this.isLockedField('email')\n },\n {\n label: 'Postal Code',\n key: 'postalCode',\n disabled: !this.isOpsStaff // || this.isLockedField('postalCode')\n },\n {\n label: 'Residential Address',\n key: 'residentialAddress',\n classes: ['colspan'],\n disabled: !this.isOpsStaff // || this.isLockedField('residentialAddress')\n }\n ]\n }\n\n get nationalityOptions () {\n return NationalityOptions\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!./ThePersonalDetails.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!./ThePersonalDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ThePersonalDetails.vue?vue&type=template&id=31df039d&scoped=true&\"\nimport script from \"./ThePersonalDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ThePersonalDetails.vue?vue&type=script&lang=ts&\"\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 \"31df039d\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/myinfo-icon.28e75045.svg\";","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\n\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > 65536) throw new Error('requested too many random bytes')\n // in case browserify isn't using the Uint8Array version\n var rawBytes = new global.Uint8Array(size)\n\n // This will not work in older browsers.\n // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n if (size > 0) { // getRandomValues fails on IE if size == 0\n crypto.getRandomValues(rawBytes)\n }\n // phantomjs doesn't like a buffer being passed here\n var bytes = new Buffer(rawBytes.buffer)\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\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!./AppForm.vue?vue&type=style&index=0&id=11928856&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!./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"page4\",\"role\":\"tabpanel\"}},[_c('div',{staticClass:\"form-body\"},[_c('AppForm',{attrs:{\"structures\":_vm.personalItemsStructure,\"model\":_vm.personalItemsIssued}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport AppForm from '@core/components/AppForm.vue'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport { UserAdviserDetailsMeta } from './model/UserAdviserDetailsMeta'\nimport PersonalItemsIssuedMeta from './model/PersonalItemsIssuedMeta'\n\nconst userStore = namespace('UserStore')\n\n@Component({\n components: {\n AppForm\n }\n})\nexport default class ThePersonalItems extends Vue {\n @userStore.State\n private userAdviserDetails!: UserAdviserDetailsMeta\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n get isOpsStaff () {\n return this.currentUser.systemrole === 'ops-staff'\n }\n\n get personalItemsIssued () {\n return this.userAdviserDetails.personalItemsIssued\n }\n\n get personalItemsStructure (): FormStructure {\n return [\n {\n label: 'Access Card No.',\n key: 'accessCardNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Locker No.',\n key: 'lockerNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Pigeon Box No.',\n key: 'pigeonBoxNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Security Level',\n key: 'securityLevel',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Pedestal No.',\n key: 'pedestalNumber',\n disabled: !this.isOpsStaff\n },\n {\n label: 'Remarks',\n key: 'remarks',\n type: 'textarea',\n classes: ['colspan'],\n disabled: !this.isOpsStaff\n }\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!./ThePersonalItems.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!./ThePersonalItems.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ThePersonalItems.vue?vue&type=template&id=44fb775c&scoped=true&\"\nimport script from \"./ThePersonalItems.vue?vue&type=script&lang=ts&\"\nexport * from \"./ThePersonalItems.vue?vue&type=script&lang=ts&\"\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 \"44fb775c\",\n null\n \n)\n\nexport default component.exports","export enum FinancingPaymentStructure {\n 'Standard' = 0,\n 'Variation 1' = 1,\n 'Variation 2' = 2\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-pane fade show active\",attrs:{\"id\":\"page1\",\"role\":\"tabpanel\"}},[_c('table',{staticClass:\"bordered\"},[_vm._m(0),_c('tbody',_vm._l((_vm.recruitmentChecklistRows),function(ref,index){\nvar criteria = ref.criteria;\nvar requirements = ref.requirements;\nvar checkKey = ref.checkKey;\nvar remarksKey = ref.remarksKey;\nreturn _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(criteria))]),_c('td',[_vm._v(_vm._s(requirements))]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.userAdviserDetails[checkKey]),expression:\"userAdviserDetails[checkKey]\"}],attrs:{\"type\":\"checkbox\",\"data-test\":(\"recruit:\" + checkKey),\"disabled\":!_vm.isOpsStaff},domProps:{\"checked\":Array.isArray(_vm.userAdviserDetails[checkKey])?_vm._i(_vm.userAdviserDetails[checkKey],null)>-1:(_vm.userAdviserDetails[checkKey])},on:{\"change\":function($event){var $$a=_vm.userAdviserDetails[checkKey],$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.userAdviserDetails, checkKey, $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.userAdviserDetails, checkKey, $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.userAdviserDetails, checkKey, $$c)}}}})]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.recruitmentChecklist[remarksKey]),expression:\"recruitmentChecklist[remarksKey]\"}],attrs:{\"type\":\"text\",\"data-test\":(\"recruit_remark:\" + remarksKey),\"disabled\":!_vm.isOpsStaff},domProps:{\"value\":(_vm.recruitmentChecklist[remarksKey])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.recruitmentChecklist, remarksKey, $event.target.value)}}})])])}),0)])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',[_c('tr',[_c('th',[_vm._v(\"Criteria\")]),_c('th',[_vm._v(\"Requirements/ Checks\")]),_c('th',{staticStyle:{\"width\":\"100px\"}}),_c('th',[_vm._v(\"Remarks\")])])])}]\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\nimport { Component, Vue } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport { RecruitmentChecklistMeta } from './model/RecruitmentChecklistMeta'\nimport { UserAdviserDetailsMeta } from './model/UserAdviserDetailsMeta'\n\nconst userStore = namespace('UserStore')\n\n@Component\nexport default class TheRecruitmentChecklist extends Vue {\n @userStore.State\n private userAdviserDetails!: UserAdviserDetailsMeta;\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n get isOpsStaff () {\n return this.currentUser.systemrole === 'ops-staff'\n }\n\n get recruitmentChecklist () {\n return this.userAdviserDetails.recruitmentChecklist\n }\n\n protected recruitmentChecklistRows: Array<{\n checkKey: keyof UserAdviserDetailsMeta;\n criteria: string;\n requirements: string;\n remarksKey: keyof RecruitmentChecklistMeta;\n }> = [\n {\n checkKey: 'atLeast21Checked',\n criteria: 'Minimum Age',\n requirements: 'At least 21 years old',\n remarksKey: 'atLeast21Remarks'\n },\n // Temporary commenting it out so that SingCap can view what they required\n // {\n // checkKey: 'atLeast4GceChecked',\n // criteria: 'Education Qualification',\n // requirements: \"At least 4 GCE 'O' Level credits\",\n // remarksKey: 'atLeast4GceRemarks'\n // },\n {\n checkKey: 'aLvlChecked',\n criteria: 'Education Qualification',\n requirements: 'At least 5 \\'A\\' level credits or Equivalent Qualification',\n remarksKey: 'aLvlCheckedRemarks'\n },\n {\n checkKey: 'examRequirementsChecked',\n criteria: 'Examination Requirements',\n requirements: 'Life Insurance passed M5 & M9',\n remarksKey: 'examRequirementsRemarks'\n },\n {\n checkKey: 'examRequirements2Checked',\n criteria: 'Examination Requirements',\n requirements: 'Life Insurance passed M8 & M8A',\n remarksKey: 'examRequirements2Remarks'\n },\n {\n checkKey: 'examRequirements3Checked',\n criteria: 'Examination Requirements',\n requirements: 'Life Insurance passed M6 & M6A',\n remarksKey: 'examRequirements3Remarks'\n },\n {\n checkKey: 'examRequirements4Checked',\n criteria: 'Examination Requirements',\n requirements: 'Life Insurance passed M1 & M1B',\n remarksKey: 'examRequirements4Remarks'\n },\n {\n checkKey: 'examRequirements5Checked',\n criteria: 'Examination Requirements',\n requirements: 'GI Insurance passed BCP, CGI, & PGI',\n remarksKey: 'examRequirements5Remarks'\n },\n {\n checkKey: 'solvencySearchChecked',\n criteria: 'Fit & Proper',\n requirements: 'Solvency Search',\n remarksKey: 'solvencySearchRemarks'\n },\n {\n checkKey: 'contractStatusChecked',\n criteria: 'Fit & Proper',\n requirements: 'Exempt FA and FA check - Contract Status',\n remarksKey: 'contractStatusRemarks'\n },\n {\n checkKey: 'marketConductChecked',\n criteria: 'Fit & Proper',\n requirements: 'Exempt FA and FA check - Market Conduct',\n remarksKey: 'marketConductRemarks'\n },\n {\n checkKey: 'employerChecked',\n criteria: 'Fit & Proper',\n requirements: 'Employer Check',\n remarksKey: 'employerRemarks'\n },\n {\n checkKey: 'masProhibitionCheckChecked',\n criteria: 'Fit & Proper',\n requirements: 'MAS Prohibition Order Check',\n remarksKey: 'masProhibitionCheckRemarks'\n }\n ];\n\n // @Watch('loading')\n // watchLoading (newValue: boolean) {\n // if (!newValue) {\n // this.updateRecruitmentChecklistRows()\n // }\n // }\n\n // updateRecruitmentChecklistRows () {\n // this.recruitmentChecklistRows.forEach((recruitmentChecklist: RecruitmentChecklistInterface) => {\n // recruitmentChecklist.checked = !!this.userAdviserDetails[\n // recruitmentChecklist.key + '_checked'\n // ]\n // recruitmentChecklist.remarks = this.userAdviserDetails.recruitment_checklist[\n // recruitmentChecklist.key + '_remarks'\n // ]\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!./TheRecruitmentChecklist.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!./TheRecruitmentChecklist.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheRecruitmentChecklist.vue?vue&type=template&id=55301120&scoped=true&\"\nimport script from \"./TheRecruitmentChecklist.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheRecruitmentChecklist.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TheRecruitmentChecklist.vue?vue&type=style&index=0&id=55301120&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 \"55301120\",\n null\n \n)\n\nexport default component.exports","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!./TheRecruitmentChecklist.vue?vue&type=style&index=0&id=55301120&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!./UserAdviserDetailsV2.vue?vue&type=style&index=0&id=810f200c&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!./TheEducation.vue?vue&type=style&index=0&id=7e91f8de&lang=scss&scoped=true&\"","'use strict';\n\n// there's 3 implementations written in increasing order of efficiency\n\n// 1 - no Set type is defined\nfunction uniqNoSet(arr) {\n\tvar ret = [];\n\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (ret.indexOf(arr[i]) === -1) {\n\t\t\tret.push(arr[i]);\n\t\t}\n\t}\n\n\treturn ret;\n}\n\n// 2 - a simple Set type is defined\nfunction uniqSet(arr) {\n\tvar seen = new Set();\n\treturn arr.filter(function (el) {\n\t\tif (!seen.has(el)) {\n\t\t\tseen.add(el);\n\t\t\treturn true;\n\t\t}\n\t});\n}\n\n// 3 - a standard Set type is defined and it has a forEach method\nfunction uniqSetWithForEach(arr) {\n\tvar ret = [];\n\n\t(new Set(arr)).forEach(function (el) {\n\t\tret.push(el);\n\t});\n\n\treturn ret;\n}\n\n// V8 currently has a broken implementation\n// https://github.com/joyent/node/issues/8449\nfunction doesForEachActuallyWork() {\n\tvar ret = false;\n\n\t(new Set([true])).forEach(function (el) {\n\t\tret = el;\n\t});\n\n\treturn ret === true;\n}\n\nif ('Set' in global) {\n\tif (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) {\n\t\tmodule.exports = uniqSetWithForEach;\n\t} else {\n\t\tmodule.exports = uniqSet;\n\t}\n} else {\n\tmodule.exports = uniqNoSet;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"user-adviser-details\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Details\")]),_c('el-tabs',{model:{value:(_vm.activeName),callback:function ($$v) {_vm.activeName=$$v},expression:\"activeName\"}},[_c('el-tab-pane',{attrs:{\"label\":\"Recruitment Checklist\",\"name\":\"first\"}},[_c('TheRecruitmentChecklist')],1),_c('el-tab-pane',{attrs:{\"label\":\"Personal Details\",\"name\":\"second\"}},[_c('ThePersonalDetails')],1),_c('el-tab-pane',{attrs:{\"label\":\"Accounts Details\",\"name\":\"sixth\"}},[_c('TheFinancingDetails')],1),_c('el-tab-pane',{attrs:{\"label\":\"Spouse & Next Kin of Details\",\"name\":\"third\"}},[_c('TheSpouse')],1),_c('el-tab-pane',{attrs:{\"label\":\"Personal Items Issued\",\"name\":\"fourth\"}},[_c('ThePersonalItems')],1),_c('el-tab-pane',{attrs:{\"label\":\"Education\",\"name\":\"fifth\"}},[_c('TheEducation')],1)],1)],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',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"page6\",\"role\":\"tabpanel\"}},[_c('div',{staticClass:\"form-body\"},[_c('p',{staticClass:\"subtitle bold-text\"},[_vm._v(\"Financing\")]),_c('AppForm',{attrs:{\"structures\":_vm.financialStructure,\"model\":_vm.personalDetails}})],1),_c('div',{staticClass:\"form-body\"},[_c('p',{staticClass:\"subtitle bold-text\"},[_vm._v(\"Main Bank Account (Personal Commission)\")]),_c('AppForm',{attrs:{\"structures\":_vm.personalBankStructure,\"model\":_vm.personalDetails}})],1),_c('div',{staticClass:\"form-body\"},[_c('p',{staticClass:\"subtitle bold-text\"},[_vm._v(\" Main Bank Account (Overriding Commission) \")]),_c('AppForm',{attrs:{\"structures\":_vm.overridingBankStructure,\"model\":_vm.personalDetails}})],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\nimport { Component, Vue } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport AppForm from '@core/components/AppForm.vue'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport PersonalDetailsMeta from './model/PersonalDetailsMeta'\nimport { UserAdviserDetailsMeta } from './model/UserAdviserDetailsMeta'\nimport { FinancingPaymentStructure } from '@master/enum/AdviserFinancingEnum'\nimport { BankBicOptions } from '@master/model/options/BankBicOptions'\n\nconst userStore = namespace('UserStore')\n@Component({\n components: {\n AppForm\n }\n})\nexport default class TheFinancingDetails extends Vue {\n @userStore.State\n private userAdviserDetails!: UserAdviserDetailsMeta;\n\n get personalDetails () {\n return this.userAdviserDetails.personalDetails\n }\n\n get bankOption () {\n return BankBicOptions.map(bank => {\n return {\n label: bank.NAME,\n value: bank.CODE\n }\n })\n }\n\n get financialStructure (): FormStructure {\n return [\n {\n label: 'Type of Financing',\n key: 'financingType'\n },\n {\n label: 'Reason for Financing',\n key: 'reasons'\n },\n {\n label: 'Payment Structure',\n key: 'paymentStructure',\n options: this.paymentStructureOption\n }\n ]\n }\n\n get personalBankStructure (): FormStructure {\n return [\n {\n label: 'Bank Name',\n key: 'bankName', // remain as bankName as existing db stored as bank name\n options: this.bankOption\n },\n {\n label: 'Branch Name/ Code',\n key: 'branchName'\n },\n {\n label: 'Bank Account No',\n key: 'bankAccountNo'\n }\n ]\n }\n\n get overridingBankStructure (): FormStructure {\n return [\n {\n label: 'Bank Name',\n key: 'overridingBankCode',\n options: this.bankOption\n },\n {\n label: 'Branch Name/ Code',\n key: 'overridingBankBranchCode'\n },\n {\n label: 'Bank Account No',\n key: 'overridingBankAccountNo'\n }\n ]\n }\n\n get paymentStructureOption () {\n return Object.values(FinancingPaymentStructure)\n .filter((v) => isNaN(Number(v)))\n .map((paymentStructure) => {\n return {\n label: paymentStructure as string,\n value: FinancingPaymentStructure[paymentStructure].toString()\n }\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!./TheFinancingDetails.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!./TheFinancingDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheFinancingDetails.vue?vue&type=template&id=e18183b6&scoped=true&\"\nimport script from \"./TheFinancingDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheFinancingDetails.vue?vue&type=script&lang=ts&\"\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 \"e18183b6\",\n null\n \n)\n\nexport default component.exports","\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/* eslint-disable @typescript-eslint/camelcase */\nimport { Component, Vue } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport TheEducation from '../user-adviser-details-components/TheEducation.vue'\nimport ThePersonalDetails from '../user-adviser-details-components/ThePersonalDetails.vue'\nimport TheRecruitmentChecklist from '../user-adviser-details-components/TheRecruitmentChecklist.vue'\nimport TheSpouse from '../user-adviser-details-components/TheSpouse.vue'\nimport ThePersonalItems from '../user-adviser-details-components/ThePersonalItems.vue'\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport { UIService } from '@core/services/UIService'\nimport { UserAdviserDetailsMeta } from '../user-adviser-details-components/model/UserAdviserDetailsMeta'\nimport TheFinancingDetails from '../user-adviser-details-components/TheFinancingDetails.vue'\n\nconst userStore = namespace('UserStore')\n\n@Component({\n components: {\n TheEducation,\n ThePersonalDetails,\n TheRecruitmentChecklist,\n TheSpouse,\n ThePersonalItems,\n TheFinancingDetails\n }\n})\nexport default class UserAdviserDetails extends Vue {\n @inject()\n private $api: API\n\n uiService: UIService\n\n private activeName = 'first'\n\n @userStore.State\n private userAdviserDetails!: UserAdviserDetailsMeta\n\n @userStore.Action\n private fetchAdviserDetails: (adviserOid: string) => Promise\n\n get userOid (): string {\n return this.$route.params.userOid as string || this.$store.getters.currentUser.accountID\n }\n\n get isSuperUser () {\n return this.$store.getters.currentUser.isSuperUser\n }\n\n get isOpsStaff () {\n return this.$store.getters.currentUser.systemrole === 'ops-staff'\n }\n\n async onSubmit () {\n const dataToSave: any = {\n ...this.userAdviserDetails.convertToRawData(null, true),\n user_oid: this.userOid\n }\n\n await this.$api.adviserDetails.saveDetails({\n adviser_oid: this.userOid,\n data: JSON.stringify(dataToSave)\n })\n }\n\n async created () {\n this.$parent.$on('save', this.onSubmit)\n }\n\n async mounted () {\n await this.fetchAdviserDetails(this.userOid)\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!./UserAdviserDetailsV2.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!./UserAdviserDetailsV2.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserAdviserDetailsV2.vue?vue&type=template&id=810f200c&scoped=true&\"\nimport script from \"./UserAdviserDetailsV2.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserAdviserDetailsV2.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UserAdviserDetailsV2.vue?vue&type=style&index=0&id=810f200c&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 \"810f200c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"column-group\",style:(_vm.gridStyle),attrs:{\"id\":\"app-form\"}},[_vm._l((_vm.structuresDetails),function(structure){return [(_vm.shouldShow(structure.show))?_c('div',{key:structure.key,staticClass:\"input-group-with-theme\",class:[{ 'input-disabled': _vm.shouldDisabled(structure.disabled)}, _vm.getCustomClass(structure)],attrs:{\"has-msg\":structure.hasErrors,\"focusing\":_vm.focusId == _vm.getId(structure.key),\"id\":(\"box-\" + (_vm.getId(structure.key)))},on:{\"click\":function($event){return _vm.focusInner(structure)}}},[[(structure.labelModel)?_c('input',{staticClass:\"label\",attrs:{\"type\":\"text\",\"placeholder\":structure.label,\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":_vm.labelModelValue(structure.labelModel.get())},on:{\"input\":function($event){return structure.labelModel.set($event.target.value)}}}):(structure.labelKey)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.model[structure.labelKey]),expression:\"model[structure.labelKey]\"}],staticClass:\"label\",attrs:{\"type\":\"text\",\"data-test\":(\"label-input:\" + (_vm.getTestId(structure.key)))},domProps:{\"value\":(_vm.model[structure.labelKey])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.model, structure.labelKey, $event.target.value)}}}):_vm._e(),(structure.labelModel || structure.labelKey)?_c('i',{staticClass:\"fa fa-pencil-alt right-sided\"}):(structure.type === 'single-checkbox')?_c('span'):_c('label',{attrs:{\"for\":_vm.getId(structure.key),\"id\":_vm.getId(structure.key) + '_label'},domProps:{\"innerHTML\":_vm._s(structure.label)}}),(structure.tooltip)?_c('AppTooltip',{attrs:{\"tooltipConfig\":structure.tooltip}}):_vm._e(),(_vm.isModernTheme)?_vm._l((structure.errors),function(ref,eidx){\nvar msg = ref.msg;\nreturn _c('div',{key:((structure.key) + \"-error-\" + eidx),staticClass:\"form-msg\",class:{\n full:\n eidx === 0 || _vm.fullErr === ((structure.key) + \"-error-\" + eidx),\n },on:{\"click\":function($event){_vm.fullErr = (structure.key) + \"-error-\" + eidx}}},[_c('el-tooltip',[_c('span',{staticClass:\"el-icon-warning\"}),_c('span',{attrs:{\"slot\":\"content\"},slot:\"content\"},[_vm._v(_vm._s(msg))])])],1)}):_vm._e()],(structure.options && structure.type === 'smart')?_c('AppSmartSelect',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"multiple\":structure.multiple,\"cols\":structure.optionCols,\"multiLimit\":structure.multiLimit,\"buttonName\":structure.buttonName,\"cycleMode\":structure.cycleMode,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'single-checkbox')?_c('el-checkbox',{attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},[_vm._v(\" \"+_vm._s(structure.label)+\" \")]):(structure.options && structure.type === 'checkbox')?_c('AppCheckboxGroup',{attrs:{\"structure\":structure,\"model\":_vm.model,\"column\":structure.checkboxColumnNo,\"compact\":structure.compact},on:{\"change\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.options && structure.type === 'radio')?_c('AppRadioSelection',{attrs:{\"options\":structure.options,\"value\":_vm.model[structure.key],\"buttonName\":structure.buttonName,\"displayDirection\":structure.displayDirection,\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'multi')?_c('el-select',{staticClass:\"form-multi-select\",attrs:{\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"multiple\":\"\",\"collapse-tags\":\"\",\"size\":'small',\"popper-class\":'wen-popper-class'},on:{\"change\":function($event){return _vm.setValue(structure, $event)}}},_vm._l((structure.options),function(option,index){return _c('el-option',{key:index,attrs:{\"value\":option.value,\"label\":option.label}})}),1):(structure.options)?_c('select',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled)},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setSelectValue($event.target, structure)}}},_vm._l((structure.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(\" \"+_vm._s(option.label)+\" \")])}),0):(structure.type === 'decimal-number')?[_c('AppDecimalNumber',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"decimal\":structure.decimal,\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled)},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:(structure.type === 'number' || structure.type === 'time' || structure.type === 'password')?_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":structure.type,\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'currency')?_c('currency-input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"currency\":structure.currencyFormat,\"aria-labelledby\":_vm.getLabelId(structure.key),\"value\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"precision\":structure.precision},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'date' || structure.type === 'month')?_c('AppDateInput',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"value\":_vm.getValue(structure),\"id\":_vm.getId(structure.key),\"input-type\":structure.type,\"data-test\":_vm.getTestId(structure.key),\"aria-label\":structure.label,\"disabled\":_vm.shouldDisabled(structure.disabled),\"futureDate\":structure.futureDate,\"disabledFutureDate\":structure.disabledFutureDate},on:{\"input\":function($event){return _vm.setValue(structure, $event)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'textarea')?_c('textarea',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar,\"rows\":structure.rows || 10},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler()}}}):(structure.type === 'table')?_c('AppFormTable',{staticClass:\"inner-table\",attrs:{\"innerTable\":true,\"vertical\":structure.isVertical,\"maxSize\":structure.maxSize,\"fields\":structure.columns,\"data\":_vm.getValueForTable(structure)},on:{\"add\":structure.add,\"remove\":structure.remove}}):(structure.type==='na-currency')?[_c('AppCurrencyNA',{attrs:{\"inputValue\":_vm.getValue(structure),\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxLength},on:{\"input\":function($event){return _vm.setValue(structure, $event)}}})]:_c('input',{class:{ 'myinfo-disabled': structure.isMyInfo },attrs:{\"id\":_vm.getId(structure.key),\"data-test\":_vm.getTestId(structure.key),\"aria-labelledby\":_vm.getLabelId(structure.key),\"type\":\"text\",\"disabled\":_vm.shouldDisabled(structure.disabled),\"maxlength\":structure.maxChar},domProps:{\"value\":_vm.getValue(structure)},on:{\"input\":function($event){return _vm.setValue(structure, $event.target.value)},\"blur\":function($event){return _vm.blurHandler(structure, $event.target.value)}}}),(structure.isMyInfo)?_c('img',{staticClass:\"input-hint logo\",attrs:{\"src\":require(\"@core/assets/myinfo-icon.svg\")}}):_vm._e(),(structure.counterMsg && _vm.isModernTheme)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(structure.counterMsg)+\" \")]):_vm._e()],2):_vm._e()]})],2)}\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('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputModal),expression:\"inputModal\"}],attrs:{\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputModal)},on:{\"keypress\":function($event){return _vm.numberAndNAOnly($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}}}),(!_vm.disabled)?_c('div',{staticClass:\"char-counter\"},[_vm._v(\" \"+_vm._s(_vm.counterMsg)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { IProjectInfo } from '@master/config/IProjectInfo'\nimport { inject } from 'inversify-props'\n\n@Component\nexport default class AppCurrencyNA extends Vue {\n @Prop() inputValue\n @Prop({ default: true }) useCurrency!: boolean\n @Prop({ default: 10 }) maxlength?: number\n @Prop({ default: false }) disabled: boolean\n\n @inject()\n private projectInfo: IProjectInfo\n\n inputModal = ''\n textIsSelected = false\n\n get counterMsg () {\n if (typeof this.maxlength === 'undefined') return\n const number = this.convertCurrencyToNumber(this.inputModal)\n const remainingChar = this.maxlength - (number.toString().length || 0)\n return remainingChar > 0 ? `${remainingChar} letter(s) remaining` : 'Max character limit reached'\n }\n\n numberAndNAOnly (evt) {\n evt = (evt) || window.event\n const charCode = (evt.which) ? evt.which : evt.keyCode\n\n const currentValue = evt.target.value\n if (this.textIsSelected) {\n if (!this.isAlphabetN(charCode) && this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n this.textIsSelected = false\n }\n return true\n }\n\n // if current value is 'NA', cannot key in other character\n if (currentValue.toUpperCase() === 'NA') {\n evt.preventDefault()\n }\n\n // if current value is N, the followed char must be A\n if (this.isAlphabetN(currentValue.charCodeAt(0))) {\n if (this.isAlphabetA(charCode)) {\n return true\n }\n evt.preventDefault() // only can accept A\n }\n\n // if there is empty value, it can either key in char N or number only\n if (!currentValue) {\n if (this.isAlphabetN(charCode)) {\n return true\n }\n }\n\n // cannot key in non number value\n if (this.isNonNumber(charCode)) {\n evt.preventDefault()\n } else {\n return true\n }\n }\n\n isAlphabetN (charCode) {\n return charCode === 78 || charCode === 110\n }\n\n isAlphabetA (charCode) {\n return charCode === 65 || charCode === 97\n }\n\n isNonNumber (charCode) {\n return charCode > 31 && (charCode < 48 || charCode > 57)\n }\n\n onBlur () {\n if (!this.inputModal && this.inputModal !== '0') {\n this.inputModal = this.formatValue('')\n this.$emit('input', '')\n return\n }\n\n // format na to NA to display\n if (this.inputModal.toUpperCase() === 'NA') {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n // in case only key in 'n' and on blur, format it to NA\n if (isNaN(Number(this.inputModal))) {\n this.inputModal = 'NA'\n this.$emit('input', 'NA')\n return\n }\n\n const number = this.convertCurrencyToNumber(this.inputModal)\n this.inputModal = this.formatValue(number)\n this.$emit('input', Number(number))\n }\n\n onFocus () {\n this.inputModal = this.convertCurrencyToNumber(this.inputModal)\n }\n\n onSelect () {\n this.textIsSelected = true\n }\n\n formatValue (source) {\n if (typeof source === 'string') {\n if (source.toUpperCase() === 'NA' || source === '') {\n return source\n }\n source = Number(source.replace('$', '').replace(',', ''))\n } else if (source === undefined || source == null) {\n source = ''\n }\n return this.useCurrency ? this.currencyPrefix + source?.toLocaleString('en-US') : source?.toLocaleString('en-US')\n }\n\n convertCurrencyToNumber (currency) {\n return currency.replaceAll(this.currencyPrefix, '').replaceAll(',', '')\n }\n\n get currencyPrefix () {\n return this.projectInfo.currency ?? 'SGD$'\n }\n\n @Watch('inputValue')\n inputValueOnChange () {\n if (this.inputValue || this.inputValue === '0' || Number(this.inputValue) === 0) {\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!./AppCurrencyNA.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!./AppCurrencyNA.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppCurrencyNA.vue?vue&type=template&id=423a3b72&scoped=true&\"\nimport script from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppCurrencyNA.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&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 \"423a3b72\",\n null\n \n)\n\nexport default component.exports","\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\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\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\n\n\n\n\n\n\nimport { Base } from '@master/model/Base'\nimport { FormStructure, Input, TableSetup } from '@master/model/structure/FormStructure'\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport AppCheckboxGroup from '@core/components/AppCheckboxGroup.vue'\nimport AppFormTable from '@core/components/AppFormTable.vue'\nimport AppRadioSelection from '@core/components/AppRadioSelection.vue'\nimport AppSmartSelect from '@core/components/AppSmartSelect.vue'\nimport { inject } from 'inversify-props'\nimport { IDateService } from '@master/services/IDateService'\nimport AppDateInput from './AppDateInput.vue'\nimport { getMaxChar } from '@master/annotation/MaxChar'\nimport { IProjectSettings } from '@master/config/IProjectSettings'\nimport { isUndefined } from 'lodash/fp'\nimport randomstring from 'randomstring'\nimport AppCurrencyNA from './AppCurrencyNA.vue'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\nimport AppTooltip from './AppTooltip.vue'\n\n@Component({\n components: {\n AppSmartSelect,\n AppCheckboxGroup,\n AppRadioSelection,\n AppDateInput,\n AppFormTable,\n AppCurrencyNA,\n AppDecimalNumber,\n AppTooltip\n }\n})\n\nexport default class AppForm extends Vue {\n @Prop() readonly structures!: FormStructure[];\n @Prop() readonly model!: T;\n @Prop({ default: 1 }) readonly columns: number;\n @Prop() readonly errors?: { key: string; msg: string }[];\n @Prop({ default: () => { return Date.now() } })\n readonly uniqueID: string;\n\n @Prop({ default: false }) readonly readOnly: boolean;\n\n @inject()\n private dateService: IDateService;\n\n @inject()\n private projectSettings: IProjectSettings;\n\n private minimal = true;\n // private renderCnt = 0;\n private focusId = null;\n private fullErr = null;\n\n get structuresDetails () {\n return this.structures.map((structure) => {\n const key = (structure as any).key\n const errors = this.errors?.filter((err) => err.key === key) || []\n const maxChar = getMaxChar(this.model, key)\n const charLeft = this.getCharLeft(key)\n const counterMsg = this.getCounterMsg(maxChar, charLeft)\n return {\n errors,\n hasErrors: errors?.length > 0,\n maxChar,\n counterMsg,\n ...structure\n }\n })\n }\n\n get gridStyle () {\n return {\n gridTemplateColumns: `repeat(${this.columns}, minmax(0, 1fr))`\n }\n }\n\n get isModernTheme () {\n return this.projectSettings.theme === 'Modern'\n }\n\n getCounterMsg (maxChar, charLeft) {\n if (!this.isModernTheme) return '' // counterMsg only used in Modern Theme\n return maxChar ? charLeft > 0 ? `${charLeft} letters remaining` : 'Max character limit reached' : ''\n }\n\n shouldDisabled (condition: boolean | Function = false) {\n if (this.readOnly) return true\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n shouldShow (condition: boolean | Function = true) {\n if (condition === undefined) {\n return false\n } else if (condition instanceof Function) {\n return condition(this.model)\n } else {\n return condition\n }\n }\n\n getValue (input: Input) {\n if (input.type === 'currency') {\n const oriValue = this.model[input.key]\n if (typeof oriValue === 'string' || oriValue instanceof String) {\n return Number(this.model[input.key])\n }\n }\n if (input.key) {\n return this.model[input.key]\n } else if (input.model) {\n return input.model.get()\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n /**\n * Return null as the label if it is empty so\n * that the placeholder will appear\n */\n labelModelValue (labelValue: string) {\n return !labelValue ? null : labelValue\n }\n\n getValueForTable (input: TableSetup) {\n if (input.key) {\n return this.model[input.key]\n } else if (input.data) {\n return input.data\n } else {\n throw new Error(\n `Invalid config for label ${input.label}: key or model is required`\n )\n }\n }\n\n // this is to resolve the issue of event.target.value is always passed as string, but our use cases might need number\n setSelectValue (event, structure) {\n const selectedOption = structure.options[event.selectedIndex]\n this.setValue(structure, selectedOption.value)\n }\n\n setValue (input: Input, _value: T[keyof T]) {\n const value: any = input.type === 'number' ? +_value || 0 : _value\n\n if (input.key) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n // when only has getter (for currency input), sidestep the error\n try {\n this.model[input.key] = value\n } catch (ex) {}\n } else if (input.model) {\n if (input.onChange) {\n input.onChange(this.model[input.key], value)\n }\n return input.model.set(value)\n } else {\n throw new Error(`Invalid config for label ${input.label}: key or model is required`)\n }\n }\n\n getId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.uniqueID}_${this.model.snakeCaseKey(key)}`\n }\n\n if (isUndefined(key)) {\n key = randomstring.generate(6)\n }\n\n if (this.uniqueID) {\n return `${this.uniqueID}_${key}`\n }\n\n return `${key}`\n }\n\n getTestId (key: string) {\n if (this.model && 'snakeCaseKey' in this.model) {\n return `${this.model.snakeCaseKey(key)}`\n }\n return undefined\n }\n\n getLabelId (key: string) {\n return this.getId(key) + '_label'\n }\n\n arrangeCols () {\n const curAppForm = this.$el\n const hasOverflow = curAppForm.scrollWidth > curAppForm.clientWidth\n if (hasOverflow) this.minimal = true\n }\n\n blurHandler (input: Input, _value: T[keyof T]) {\n if (this.isModernTheme) {\n this.focusId = null\n }\n\n if (input && input?.onBlur) {\n input.onBlur(_value)\n }\n }\n\n // use to handle Modern theme\n focusInner (structure: any) {\n // this means label is also editable, thus do not auto focus input\n if (structure.labelModel || structure.labelKey || structure.model) return\n const eleId = this.getId(structure.key)\n this.focusId = eleId\n const ele = document.getElementById(eleId)\n if (ele) ele.focus()\n }\n\n getCharLeft (key: string) {\n const mc = getMaxChar(this.model, key)\n return mc ? mc - (this.model[key]?.length || 0) : mc\n }\n\n getCustomClass (structure) {\n return structure.classes ? [...structure.classes] : []\n }\n\n // @Watch('structures')\n // structuresUpdated () {\n // // this is to allow view to be updated when structures change\n // this.renderCnt++\n // }\n\n @Watch('structuresDetails', { deep: true })\n focusError (swe) {\n if (!this.isModernTheme) return // this is used for Modern Theme\n\n const first = swe.find((s) => 'msg' in s)\n if (!first) return\n const ele = document.getElementById(`box-${this.getId(first.key)}`)\n if (!ele) return\n ele.scrollIntoView({ behavior: 'smooth', block: 'end' })\n }\n\n updated () {\n this.arrangeCols()\n }\n\n mounted () {\n this.arrangeCols()\n window.addEventListener('resize', () => this.arrangeCols())\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!./AppForm.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!./AppForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppForm.vue?vue&type=template&id=11928856&scoped=true&\"\nimport script from \"./AppForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppForm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppForm.vue?vue&type=style&index=0&id=11928856&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 \"11928856\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}