{"version":3,"sources":["webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./@core/components/AppModalV2.vue?7c6a","webpack:///./@core/pages/recruit/forms/QualificationEmployment.vue?9c5c","webpack:///./node_modules/randomstring/lib/randomstring.js","webpack:///./node_modules/randomstring/lib/charset.js","webpack:///./node_modules/randomstring/index.js","webpack:///./@core/components/AppModalV2.vue?f088","webpack:///./@core/components/AppModalV2.vue","webpack:///./@core/components/AppModalV2.vue?fb8c","webpack:///./@core/components/AppModalV2.vue?a451","webpack:///./@core/components/LoadingSpinner.vue?035a","webpack:///./@core/components/LoadingSpinner.vue","webpack:///./@core/components/LoadingSpinner.vue?2382","webpack:///./@core/components/LoadingSpinner.vue?9003","webpack:///./@core/model/recruit/AllForms.ts","webpack:///./@core/pages/recruit/forms/FormBaseMixin.ts","webpack:///./@core/components/LoadingSpinner.vue?81b0","webpack:///./@core/assets/myinfo-icon.svg","webpack:///./node_modules/randomstring/node_modules/randombytes/browser.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./@core/components/AppForm.vue?baa9","webpack:///./@core/components/AppDatatable.vue?fa4e","webpack:///./@core/components/AppDatatable.vue","webpack:///./@core/components/AppDatatable.vue?a0c0","webpack:///./@core/components/AppDatatable.vue?89f0","webpack:///./@core/components/AppCurrencyNA.vue?af5e","webpack:///./node_modules/randomstring/node_modules/array-uniq/index.js","webpack:///./@core/pages/recruit/forms/QualificationEmployment.vue?4f1c","webpack:///./@core/pages/recruit/forms/QualificationEmploymentMixin.ts","webpack:///./@core/pages/recruit/forms/QualificationEmployment.vue","webpack:///./@core/pages/recruit/forms/QualificationEmployment.vue?67f4","webpack:///./@core/pages/recruit/forms/QualificationEmployment.vue?0945","webpack:///./@core/components/AppDatatable.vue?8f2d","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":["module","exports","Object","is","x","y","randomBytes","Charset","unsafeRandomBytes","length","stack","i","push","Math","floor","random","readUInt8","index","safeRandomBytes","e","processString","buf","initialString","chars","reqLen","maxByte","string","randomByte","charAt","getAsyncString","cb","err","generatedString","generate","options","charset","setType","capitalization","setcapitalization","readable","removeUnreadable","removeDuplicates","charsLen","ceil","arrayUniq","this","prototype","type","numbers","charsLower","charsUpper","toUpperCase","hexChars","binaryChars","octalChars","unreadableChars","replace","toLowerCase","charMap","split","join","render","_vm","_h","$createElement","_c","_self","attrs","staticClass","class","show","showModal","_t","_v","on","$event","$emit","staticRenderFns","component","_s","msg","shared","Shared","personal","Personal","qualificationEmployment","QualificationEmployment","generalDeclaration","GeneralDeclaration","fitProper","FitAndProper","bdm","BDMAssessment","bis","BusinessInterestShareholding","cpf","CPFAuthorization","ec","EmployerConsent","lou","LetterOfUndertaking","nco","NameCardOrder","pei","PrevEmploymentInquiry","rma","RecruitManagerAssessment","rsr","RecruitSubsidyReimbursement","sd","SecuritiesDealing","tra","TransferRulesAcknowledgement","dc","DeclarationClauses","formType","FormBase","targetKey","keys","find","formKey","alert","forms","forEach","form","formModel","extractAndAssign","values","map","error","flat","target","FormsList","formConfig","model","label","displayName","value","filter","recruitFormStore","allForms","loading","showError","recruitDetails","getForm","formData","$router","currentRoute","params","recruitAccountOid","name","configs","formName","$store","getters","currentUser","se","formDataErrors","first","ele","document","getElementById","key","scrollIntoView","behavior","$api","update","then","res","setForms","finally","State","Mutation","components","AppForm","AppFormTable","AppDatatable","LoadingSpinner","AppModal","oldBrowser","Error","crypto","global","msCrypto","size","rawBytes","Uint8Array","getRandomValues","bytes","Buffer","buffer","process","nextTick","call","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","toString","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","RegExp","rx","S","done","previousLastIndex","lastIndex","result","directives","rawName","expression","ref","currentPageData","hasNoError","selectionKey","tableRowClassName","sortChange","rowClick","handleSelection","_e","_l","column","field","sortable","scopedSlots","_u","fn","scope","row","modifiers","$$selectedVal","Array","o","selected","val","_value","$set","multiple","handleCustomEvent","option","domProps","_n","$forceUpdate","decimal","disabled","convertToCurrency","button","shouldDisabled","stopPropagation","infoFrom","infoTo","total","currentPage","pageSizesDisplay","pageSize","pageChange","handleSizeChange","pageSizes","sortBy","prop","data","order","sizes","lastSize","round","search","searchKeyword","trim","filters","JSON","stringify","includes","filteredData","sort","a","b","sortedData","slice","every","emit","redirect","window","location","href","rows","appdatatable","$refs","clearSelection","currencySymbol","Number","toLocaleString","minimumFractionDigits","maximumFractionDigits","clearCheckboxOnHeader","default","AppDecimalNumber","uniqNoSet","arr","ret","indexOf","uniqSet","seen","Set","el","has","add","uniqSetWithForEach","doesForEachActuallyWork","isArray","nsNotApplicable","_i","$$a","$$el","$$c","checked","$$v","$$i","concat","_m","nsInfoStructure","nationalService","academicErrors","academicCols","academic","cmfasInfoStructure","otherQualiCols","other","maxEmploySize","employCols","employment","addEmployment","removeEmployment","activityStore","fields","notApplicable","tip","msgs","optionCols","cycleMode","resetActivities","activity","accountOid","cloneFunction","idx","isNotEmpty","some","confirm","splice","FormBaseMixin","style","structure","shouldShow","getCustomClass","hasErrors","focusId","getId","focusInner","getTestId","labelModelValue","labelModel","get","set","labelKey","composing","tooltip","eidx","full","fullErr","slot","multiLimit","buttonName","displayDirection","setValue","blurHandler","getValue","checkboxColumnNo","compact","isMyInfo","getLabelId","setSelectValue","maxChar","currencyFormat","precision","futureDate","disabledFutureDate","isVertical","maxSize","columns","getValueForTable","remove","maxLength","counterMsg","isModernTheme","maxlength","numberAndNAOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","number","convertCurrencyToNumber","remainingChar","evt","event","charCode","which","keyCode","currentValue","isAlphabetN","isNonNumber","preventDefault","charCodeAt","isAlphabetA","formatValue","isNaN","source","useCurrency","currencyPrefix","currency","replaceAll","projectInfo","inputValue","minimal","structures","errors","charLeft","getCharLeft","getCounterMsg","gridTemplateColumns","projectSettings","theme","condition","readOnly","Function","input","oriValue","String","labelValue","selectedOption","selectedIndex","onChange","ex","uniqueID","snakeCaseKey","curAppForm","$el","hasOverflow","scrollWidth","clientWidth","eleId","focus","mc","classes","swe","s","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppRadioSelection","AppDateInput","AppCurrencyNA","AppTooltip"],"mappings":"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","file":"js/chunk-79858360.e2f4760c.js","sourcesContent":["// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\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!./AppModalV2.vue?vue&type=style&index=0&id=49ecd951&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!./QualificationEmployment.vue?vue&type=style&index=0&id=4cad849a&lang=scss&scoped=true&\"","\"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 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\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition',{attrs:{\"name\":\"modal-fade\"}},[_c('div',{staticClass:\"modal-mask\"},[_c('div',{staticClass:\"modal-wrapper\",attrs:{\"role\":\"dialog\"}},[_c('div',{staticClass:\"modal-container\",class:{ show : _vm.showModal }},[_c('div',{staticClass:\"modal-header\"},[_vm._t(\"header\",function(){return [_vm._v(\" default header \")]}),_c('button',{staticClass:\"btn-close\",on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('i',{staticClass:\"fas fa-times\"})])],2),_c('div',{staticClass:\"modal-body\"},[_vm._t(\"body\",function(){return [_vm._v(\" default body \")]})],2),_c('div',{staticClass:\"modal-footer\"},[_vm._t(\"footer\")],2)])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue } from 'vue-property-decorator'\n\n@Component\nexport default class AppModal extends Vue {\n protected showModal = false\n\n mounted () {\n this.$emit('open')\n this.showModal = true\n }\n\n destroyed () {\n this.$emit('close')\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!./AppModalV2.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!./AppModalV2.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppModalV2.vue?vue&type=template&id=49ecd951&scoped=true&\"\nimport script from \"./AppModalV2.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppModalV2.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppModalV2.vue?vue&type=style&index=0&id=49ecd951&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 \"49ecd951\",\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:\"loading-spinner\"},[_c('div',{staticClass:\"el-loading-mask\"},[_c('div',{staticClass:\"el-loading-spinner\"},[_c('svg',{staticClass:\"circular\",attrs:{\"viewBox\":\"25 25 50 50\"}},[_c('circle',{staticClass:\"path\",attrs:{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"20\",\"fill\":\"none\"}})]),_c('div',[_vm._v(_vm._s(_vm.msg))])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\n\n@Component\nexport default class LoadingSpinner extends Vue {\n @Prop() msg: string\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!./LoadingSpinner.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!./LoadingSpinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadingSpinner.vue?vue&type=template&id=2ca34d92&scoped=true&\"\nimport script from \"./LoadingSpinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadingSpinner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadingSpinner.vue?vue&type=style&index=0&id=2ca34d92&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 \"2ca34d92\",\n null\n \n)\n\nexport default component.exports","import { Shared } from './forms/Shared'\nimport { Application } from './forms/Application'\nimport { BDMAssessment } from './forms/BDMAssessment'\nimport { BusinessInterestShareholding } from './forms/BusinessInterestShareholding'\nimport { CPFAuthorization } from './forms/CPFAuthorization'\nimport { EmployerConsent } from './forms/EmployerConsent'\nimport { LetterOfUndertaking } from './forms/LetterOfUndertaking'\nimport { NameCardOrder } from './forms/NameCardOrder'\nimport { PrevEmploymentInquiry } from './forms/PrevEmploymentInquiry'\nimport { RecruitSubsidyReimbursement } from './forms/RecruitSubsidyReimbursement'\nimport { SecuritiesDealing } from './forms/SecuritiesDealing'\nimport { TransferRulesAcknowledgement } from './forms/TransferRulesAcknowledgement'\nimport { FormsList } from './FormsList'\nimport { FormBase } from './FormBase'\nimport { Personal } from './forms/Personal'\nimport { QualificationEmployment } from './forms/QualificationEmployment'\nimport { GeneralDeclaration } from './forms/GeneralDeclaration'\nimport { FitAndProper } from './forms/FitAndProper'\nimport { DeclarationClauses } from './forms/DeclarationClauses'\nimport { RecruitManagerAssessment } from './forms/RecruitManagerAssessment'\n\nexport class AllForms {\n shared = new Shared()\n personal = new Personal()\n qualificationEmployment = new QualificationEmployment()\n generalDeclaration = new GeneralDeclaration()\n fitProper = new FitAndProper()\n // app = new Application()\n bdm = new BDMAssessment()\n bis = new BusinessInterestShareholding()\n cpf = new CPFAuthorization()\n ec = new EmployerConsent()\n lou = new LetterOfUndertaking()\n nco = new NameCardOrder()\n pei = new PrevEmploymentInquiry()\n rma = new RecruitManagerAssessment()\n rsr = new RecruitSubsidyReimbursement()\n sd = new SecuritiesDealing()\n tra = new TransferRulesAcknowledgement()\n dc = new DeclarationClauses()\n\n getForm (formType: typeof FormBase): FormBase {\n if (!formType) return new FormBase()\n const targetKey = Object.keys(this).find((formKey) => {\n return this[formKey] instanceof formType\n })\n if (!targetKey) alert(`Unable to retrieve corresponding form for : ${formType}`)\n return this[targetKey]\n }\n\n extractAndAssign (forms: any[]) {\n // console.time('extractAndAssign AllForms')\n forms.forEach((form) => {\n Object.keys(this).forEach((formKey) => {\n const formModel = this[formKey]\n if (!(formModel instanceof FormBase)) return\n if (formModel.type !== form.type) return\n formModel.extractAndAssign(form)\n })\n })\n // console.timeEnd('extractAndAssign AllForms')\n }\n\n /**\n * compile and return errors from individual forms\n * TIP : add your inter-form validation (requiring values from 2 forms or more) here\n * @returns array of error messages\n */\n errors (): string[] {\n return Object.values(this).map((form) => {\n return form.error\n }).flat()\n }\n\n get asOptions (): { label: string; value: string }[] {\n return Object.keys(this).map((formKey) => {\n if (!(this[formKey] instanceof FormBase)) return null\n const target = FormsList.find(formConfig => this[formKey] instanceof formConfig.model)\n return target ? { label: target.displayName, value: this[formKey].type } : null\n }).filter(form => form !== null)\n }\n\n get configs (): any[] {\n return Object.keys(this).map((formKey) => {\n if (!(this[formKey] instanceof FormBase)) return null\n const target = FormsList.find(formConfig => this[formKey] instanceof formConfig.model)\n return target ? {\n ...target,\n ...this[formKey]\n } : null\n }).filter(form => form !== null)\n }\n}\n","/* eslint-disable @typescript-eslint/camelcase */\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport { Component, Vue, Watch } from 'vue-property-decorator'\nimport AppForm from '@core/components/AppForm.vue'\nimport AppFormTable from '@core/components/AppFormTable.vue'\nimport LoadingSpinner from '@core/components/LoadingSpinner.vue'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport AppModal from '@core/components/AppModalV2.vue'\nimport { IDateService } from '@master/services/IDateService'\nimport { FormBase } from '@core/model/recruit/FormBase'\nimport { AllForms } from '@core/model/recruit/AllForms'\nimport { namespace } from 'vuex-class'\nimport { IProjectInfo } from '@master/config/IProjectInfo'\n\nconst recruitFormStore = namespace('RecruitFormStore')\n@Component({\n components: {\n AppForm,\n AppFormTable,\n AppDatatable,\n LoadingSpinner,\n AppModal\n }\n})\nexport class FormBaseMixin extends Vue {\n @inject()\n protected dateService: IDateService\n\n @inject()\n protected projectInfo: IProjectInfo\n\n @inject()\n protected $api: API\n\n @recruitFormStore.State\n private forms: AllForms\n\n @recruitFormStore.Mutation\n private setForms\n\n protected type = null\n protected allForms: AllForms = new AllForms()\n protected loading = false\n protected showError = false\n protected recruitDetails = null\n\n get formData (): FormBase {\n return this.forms.getForm(this.type)\n }\n\n get formDataErrors () {\n return this.formData.error\n }\n\n get recruitAccountOid () {\n return this.$router.currentRoute.params.recruitAccountOid\n }\n\n get formName () {\n return this.$router.currentRoute.name\n }\n\n get formConfig () {\n return this.allForms.configs.find(form => form.name === this.formName)\n }\n\n get formType () {\n return this.formConfig?.type\n }\n\n get currentUser () {\n return this.$store.getters.currentUser\n }\n\n @Watch('showError')\n focusError (se) {\n if (!se) return\n if (!this.formDataErrors || !this.formDataErrors.length) return\n const first = this.formDataErrors[0]\n const ele = document.getElementById(first.key)\n if (!ele) return\n ele.scrollIntoView({ behavior: 'smooth' })\n }\n\n save () {\n // cannot save if already signed\n // if (this.formData.signed) return\n this.loading = true\n this.$api.forms.update(this.formData).then((res) => {\n if (res && res.error) return alert(res.error)\n this.setForms([res])\n }).finally(() => {\n this.loading = false\n })\n }\n}\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingSpinner.vue?vue&type=style&index=0&id=2ca34d92&lang=scss&scoped=true&\"","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","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=style&index=0&id=11928856&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"datatable\",class:{'active': _vm.show, 'inactive': !_vm.show}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"appdatatable\",attrs:{\"data\":_vm.currentPageData,\"stripe\":_vm.hasNoError,\"size\":\"mini\",\"row-key\":_vm.selectionKey,\"row-class-name\":_vm.tableRowClassName,\"header-cell-class-name\":'cell-header'},on:{\"sort-change\":_vm.sortChange,\"row-click\":_vm.rowClick,\"selection-change\":_vm.handleSelection}},[(_vm.selectionKey)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true}}):_vm._e(),_vm._l((_vm.columns),function(column){return [(column.options)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(scope.row, column.field, $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.handleCustomEvent(scope.row)}]}},_vm._l((column.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.label))])}),0)]}}],null,true)}):(column.type)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(column.type==='number')?[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"number\":true,\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){_vm.$set(scope.row, column.field, _vm._n($event.target.value))},function($event){return _vm.handleCustomEvent(scope.row)}],\"blur\":function($event){return _vm.$forceUpdate()}}})]:(column.type === 'decimal-number')?[_c('AppDecimalNumber',{attrs:{\"decimal\":column.decimal,\"inputValue\":scope.row[column.field],\"disabled\":column.disabled}})]:(column.type === 'currency')?[_c('label',[_vm._v(_vm._s(_vm.convertToCurrency(scope.row[column.field])))])]:(column.type === 'action')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,on:{\"click\":function($event){return _vm.$emit(button, scope.row)}}},[_vm._v(_vm._s(button))])})}):(column.type === 'actionWithFeatures')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,attrs:{\"disabled\":button.shouldDisabled},on:{\"click\":function($event){return _vm.$emit(button.label, scope.row)}}},[_vm._v(_vm._s(button.label))])})}):_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){return _vm.$set(scope.row, column.field, $event.target.value)},function($event){return _vm.handleCustomEvent(scope.row)}]}})]}}],null,true)}):_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable,\"show-overflow-tooltip\":true},scopedSlots:_vm._u([{key:\"content\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row[column.field]))])]}}],null,true)})]}),(_vm.redirect)?_c('el-table-column',{key:'redirect',attrs:{\"prop\":'redirect',\"align\":\"center\",\"sortable\":false},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('redirect', scope.row)}}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})])]}}],null,false,2100746354)}):_vm._e()],2),_c('div',{staticClass:\"table-footer\"},[_c('div',{staticClass:\"table-info\"},[_vm._v(\"Show \"+_vm._s(_vm.infoFrom)+\" to \"+_vm._s(_vm.infoTo)+\" of \"+_vm._s(_vm.total)+\" entries\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"total\":_vm.total,\"hide-on-single-page\":false,\"page-sizes\":_vm.pageSizesDisplay,\"page-size\":_vm.pageSize,\"layout\":\"sizes, prev, pager, next, jumper\",\"background\":\"\"},on:{\"current-change\":_vm.pageChange,\"size-change\":_vm.handleSizeChange}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { isUndefined } from 'lodash/fp'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\n\nexport interface Column {\n label: string;\n field: string;\n sortable?: boolean;\n options: { label: string; value: string }[];\n}\n\ninterface Sort {\n prop: string;\n order: 'ascending' | 'decending';\n}\n\n@Component({\n components: {\n AppDecimalNumber\n }\n})\nexport default class TheDatatable extends Vue {\n @Prop() readonly loading!: boolean\n @Prop() readonly columns!: Array\n @Prop() readonly data!: Array\n @Prop() readonly filters: Array\n @Prop() readonly sort!: Sort\n @Prop() readonly search!: string\n @Prop({ default: true }) readonly show!: boolean\n @Prop({ default: false }) readonly redirect!: boolean\n @Prop() readonly selectionKey: string\n private pageSizes = [10, 50, 100, 500, 1000]\n private pageSize = 10\n private currentPage = 1\n private sortBy: Sort = {\n prop: this.data[0],\n order: 'ascending'\n }\n\n @Prop() clearSelection: boolean\n\n get pageSizesDisplay () {\n // return first size(10), if data total less than 10\n if (this.total < this.pageSizes[0]) return [this.pageSizes[0]]\n\n // get all the size that less than total\n const sizes = this.pageSizes.filter(size => size < this.total)\n\n // push last size\n const lastSize = (Math.round(this.total / 10) + 1) * 10\n sizes.push(lastSize)\n\n return sizes\n }\n\n get filteredData () {\n if (isUndefined(this.search)) return this.data\n\n const searchKeyword = this.search.trim().toLowerCase()\n const data = (this.filters && this.filters.length) ? this.filters : this.data\n return data.filter(value => {\n const result = JSON.stringify(value).toLowerCase().includes(searchKeyword)\n return result\n })\n }\n\n get sortedData () {\n const data = this.filteredData.sort((a, b) => {\n if (this.sortBy.order === 'ascending') {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return 1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return -1 }\n } else {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return -1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return 1 }\n }\n return 0\n })\n return data\n }\n\n get currentPageData () {\n return this.sortedData.slice((this.currentPage - 1) * this.pageSize, this.pageSize * this.currentPage)\n }\n\n get total () {\n return this.filteredData.length\n }\n\n get infoFrom () {\n if (this.currentPage !== 1) {\n return (this.currentPage - 1) * this.pageSize + 1\n } else {\n return this.filteredData.length ? 1 : 0\n }\n }\n\n get infoTo () {\n return this.currentPageData.length < this.pageSize\n ? this.pageSize * (this.currentPage - 1) + this.currentPageData.length\n : this.pageSize * this.currentPage\n }\n\n get hasNoError () {\n return this.data.every(e => e.error === undefined)\n }\n\n pageChange (currentPage: number): void {\n this.currentPage = currentPage\n this.$emit('pageChangeCustom', this.currentPage)\n }\n\n sortChange (sort: Sort): void {\n this.sortBy.prop = sort.prop\n this.sortBy.order = sort.order || 'ascending'\n }\n\n rowClick (row: any): void {\n if (row.emit) this.$emit('rowClickCustom', row)\n if (!row.redirect) return\n window.location.href = row.redirect\n }\n\n handleSelection (rows: any[]) {\n this.$emit('selectionChange', rows)\n }\n\n handleCustomEvent (row) {\n this.$emit('customEventSelect', row)\n }\n\n tableRowClassName ({ row }) {\n if (row.error) {\n return 'warning-row'\n } else {\n return ''\n }\n }\n\n clearCheckboxOnHeader () {\n const appdatatable = this.$refs.appdatatable as any\n if (this.selectionKey && appdatatable) {\n appdatatable.clearSelection()\n }\n }\n\n handleSizeChange (val) {\n this.pageSize = val\n }\n\n convertToCurrency (value, currencySymbol = '') {\n if (!value && value !== 0) return ''\n return currencySymbol + Number(value).toLocaleString(undefined, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n }\n\n mounted () {\n this.sortBy = this.sort\n this.clearCheckboxOnHeader()\n }\n\n @Watch('clearSelection')\n clearSelectionCheckbox () {\n if (this.clearSelection) {\n this.clearCheckboxOnHeader()\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!./AppDatatable.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!./AppDatatable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppDatatable.vue?vue&type=template&id=4b557606&scoped=true&\"\nimport script from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppDatatable.vue?vue&type=style&index=0&id=4b557606&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 \"4b557606\",\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!./AppCurrencyNA.vue?vue&type=style&index=0&id=423a3b72&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:\"page-recruit-form-quali-employ\"},[(_vm.loading)?_c('LoadingSpinner'):_vm._e(),_c('div',{staticClass:\"header\"},[_vm._v(\"National Service Commitment\")]),_c('div',{staticClass:\"ns-apply\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nsNotApplicable),expression:\"nsNotApplicable\"}],attrs:{\"type\":\"checkbox\",\"id\":\"agree\"},domProps:{\"checked\":Array.isArray(_vm.nsNotApplicable)?_vm._i(_vm.nsNotApplicable,null)>-1:(_vm.nsNotApplicable)},on:{\"change\":function($event){var $$a=_vm.nsNotApplicable,$$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.nsNotApplicable=$$a.concat([$$v]))}else{$$i>-1&&(_vm.nsNotApplicable=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.nsNotApplicable=$$c}}}}),_vm._m(0)]),_c('AppForm',{attrs:{\"structures\":_vm.nsInfoStructure,\"model\":_vm.formData.data.nationalService,\"errors\":_vm.showError?_vm.formDataErrors:[]}}),_c('div',{staticClass:\"header\"},[_vm._v(\"Academic Qualifications\")]),_c('AppFormTable',{attrs:{\"errors\":_vm.showError?_vm.academicErrors:[],\"fields\":_vm.academicCols,\"data\":_vm.formData.data.academic}}),_c('div',{staticClass:\"header\"},[_vm._v(\"Regulatory & Professional Qualifications\")]),_c('div',{staticClass:\"subtitle\"},[_vm._v(\"Section A: SCI CMFAS Qualifications\")]),_c('div',{staticClass:\"note\"},[_vm._v(\"Please tick (√) where applicable and insert ‘E’ for Exempted modules.\")]),_c('div',{staticClass:\"note\"},[_vm._v(\"(Copies of professional qualifications are required. Original copies are to be sighted and signed off by FSD/FSM/BDM)\")]),_c('AppForm',{attrs:{\"structures\":_vm.cmfasInfoStructure,\"model\":_vm.formData.data,\"errors\":_vm.showError?_vm.formDataErrors:[]}}),_c('div',{staticClass:\"subtitle\"},[_vm._v(\"Section B: For other Qualifications (e.g. AWP, AFC, ChFC)\")]),_c('div',{staticClass:\"note\"},[_vm._v(\"(Copies of professional qualifications are required. Original copies are to be sighted and signed off by FSD/FSM/BDM)\")]),_c('AppFormTable',{attrs:{\"fields\":_vm.otherQualiCols,\"data\":_vm.formData.data.other}}),_c('div',{staticClass:\"header\"},[_vm._v(\"Employment History\")]),_vm._m(1),_c('div',{staticClass:\"note\"},[_vm._v(\" (In reverse chronological order, including periods of self/ part-time/ full time/ commission-based employment or unemployment, starting with the most recent employer. Any gaps in employment history of 1 month or more must be accounted for. Please include any previous employment with Financial Institution or occupation that is related to Insurance or Financial Advisory Experience even if period of employment is more than 10 years ago.) \")]),_c('AppFormTable',{attrs:{\"vertical\":false,\"maxSize\":_vm.maxEmploySize,\"fields\":_vm.employCols,\"data\":_vm.formData.data.employment},on:{\"add\":_vm.addEmployment,\"remove\":_vm.removeEmployment}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"agree\"}},[_vm._v(\"Check this if this section is \"),_c('strong',[_c('u',[_vm._v(\"not applicable\")])]),_vm._v(\" to you.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"subtitle\"},[_vm._v(\" This section is to be fully completed. Please attach separate list if space is insufficient.\"),_c('br'),_vm._v(\" Employment History including Insurance or Financial Advisory Experience for the \"),_c('strong',[_c('u',[_vm._v(\"past 10 years\")])]),_vm._v(\". \")])}]\n\nexport { render, staticRenderFns }","/* eslint-disable @typescript-eslint/camelcase */\nimport { Component } from 'vue-property-decorator'\nimport { FormStructure, TableFormStructure } from '@master/model/structure/FormStructure'\nimport { FormBaseMixin } from './FormBaseMixin'\nimport { AcademicQualification, Employment, NationalServiceDetails, OtherProfessionalQualification, QualiEmployFields, QualificationEmployment } from '@core/model/recruit/forms/QualificationEmployment'\nimport { getClone, getMaxSize } from '@core/annotation/ExpandableArray'\nimport { isUndefined } from 'lodash/fp'\nimport { getOptions } from '@core/annotation/Selection'\nimport { tableTypeConsumerFactory } from 'vuejs-datatable/dist/components/mixins/table-type-consumer-factory'\nimport { namespace } from 'vuex-class'\nimport ActivityCard from '@core/pages/activity/model/ActivityCard'\n\nconst activityStore = namespace('ActivityStore')\n@Component\nexport class QualificationEmploymentMixin extends FormBaseMixin {\n @activityStore.State\n private activities: ActivityCard[]\n\n @activityStore.Mutation\n private resetActivities\n\n protected type = QualificationEmployment\n\n get fields (): QualiEmployFields {\n return this.formData.data as QualiEmployFields\n }\n\n get nsNotApplicable () {\n return this.fields?.nationalService?.notApplicable\n }\n\n set nsNotApplicable (val) {\n (this.formData.data as QualiEmployFields).nationalService.notApplicable = val\n }\n\n get nsInfoStructure (): FormStructure {\n return [\n {\n label: 'Service Status',\n key: 'status',\n type: 'smart',\n disabled: this.nsNotApplicable,\n options: getOptions(this.fields.nationalService, 'status')\n },\n {\n label: 'Enlistment Date',\n key: 'enlistmentDate',\n disabled: this.nsNotApplicable,\n type: 'date'\n },\n {\n label: 'ORD Date',\n key: 'ordDate',\n disabled: this.nsNotApplicable,\n type: 'date'\n }\n ]\n }\n\n get academicCols (): TableFormStructure {\n return [\n { label: 'From', key: 'from', tip: '(MM/YYYY)', type: 'text' },\n { label: 'To', key: 'to', tip: '(MM/YYYY)', type: 'text' },\n { label: 'Academic Qualification', tip: '(GCE ‘A’, Diploma, Degree)', key: 'title', type: 'text' },\n { label: 'Name of Institution', key: 'institute', type: 'text' }\n ]\n }\n\n get academicErrors () {\n return this.formDataErrors.find(err => err.key === 'academic')?.msgs\n }\n\n get cmfasInfoStructure (): FormStructure {\n return [\n {\n label: 'SCI CMFAS Qualifications',\n key: 'professional',\n type: 'smart',\n multiple: true,\n optionCols: 4,\n cycleMode: true,\n options: getOptions(this.fields, 'professional')\n }\n ]\n }\n\n async getActivity () {\n await this.resetActivities()\n await this.$api.activity.search({ accountOid: this.recruitAccountOid })\n }\n\n get otherQualiCols (): TableFormStructure {\n return [\n { label: 'Date of Attainment', key: 'attain', tip: '(MM/YYYY)', type: 'text' },\n { label: 'Professional Qualification', key: 'title', type: 'text' },\n { label: 'Name of Professional Body', key: 'body', type: 'text' }\n ]\n }\n\n get employCols (): TableFormStructure {\n return [\n { label: 'From', key: 'from', tip: '(MM/YYYY)', type: 'month' },\n { label: 'To', key: 'to', tip: '(MM/YYYY)', type: 'month' },\n { label: 'Employer', key: 'employer', type: 'text' },\n { label: 'Last Position Held', key: 'position', type: 'text' },\n {\n label: 'Nature of Employment',\n tip: '(Full-time, Part-time, Contract, Internship, Temporary)',\n key: 'nature',\n type: 'dropdown',\n options: getOptions(this.fields.employment[0], 'nature')\n },\n { label: 'Reason for Leaving', tip: '(Voluntary/Involuntary)', key: 'reason', type: 'text' }\n ]\n }\n\n get maxEmploySize () {\n return getMaxSize(this.fields, 'employment')\n }\n\n addEmployment () {\n const cloneFunction = getClone(this.fields, 'employment')\n this.fields.employment.push(cloneFunction())\n }\n\n removeEmployment (idx) {\n const isNotEmpty = Object.values(this.fields.employment[idx]).some(val => !isUndefined(val) && val.length > 0)\n if (isNotEmpty) {\n if (!confirm('Data is found. Confirm remove row ?')) return\n }\n this.fields.employment.splice(idx, 1)\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Mixins } from 'vue-property-decorator'\nimport { QualificationEmploymentMixin } from './QualificationEmploymentMixin'\n\nexport default class QualificationEmployment extends Mixins(QualificationEmploymentMixin) {\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!./QualificationEmployment.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!./QualificationEmployment.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualificationEmployment.vue?vue&type=template&id=4cad849a&scoped=true&\"\nimport script from \"./QualificationEmployment.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualificationEmployment.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./QualificationEmployment.vue?vue&type=style&index=0&id=4cad849a&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 \"4cad849a\",\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!./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"","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":""}