{"version":3,"sources":["webpack:///./node_modules/randomstring/lib/randomstring.js","webpack:///./node_modules/randomstring/lib/charset.js","webpack:///./node_modules/randomstring/index.js","webpack:///./src/views/kyc-form/section/PEP.vue?5270","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:///./node_modules/randomstring/node_modules/array-uniq/index.js","webpack:///./src/views/kyc-form/section/PEP.vue?c80c","webpack:///./src/views/kyc-form/section/PEP.vue","webpack:///./src/views/kyc-form/section/PEP.vue?26ff","webpack:///./src/views/kyc-form/section/PEP.vue?3775","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":["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","exports","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","module","oldBrowser","Error","crypto","global","msCrypto","size","rawBytes","Uint8Array","getRandomValues","bytes","Buffer","buffer","process","nextTick","uniqNoSet","arr","ret","indexOf","uniqSet","seen","Set","filter","el","has","add","uniqSetWithForEach","forEach","doesForEachActuallyWork","render","_vm","_h","$createElement","_c","_self","attrs","staticClass","_v","on","$event","isModalVisible","_l","pep","key","fullName","class","isPepHidden","policyholderName","staticStyle","slot","_s","editForm","deleteForm","nric","occupation","nameOfEmployer","beforeModalClose","afterModalClosed","PoliticalExposedPersonStructure","newForm","label","value","category","model","callback","$$v","$set","expression","showPersonDetail","personDetailDataStructure","_e","editMode","saveForm","staticRenderFns","kycFormStore","editedIndex","PoliticalExposedPerson","kycForm","client2","personalDetails","included","clientDeclaration","pepList","isClient2Included","sourceOfFunds","includes","sourceOfWealth","isFormEmpty","window","confirm","some","requiredPepField","missingField","field","undefined","polishErrorField","Object","fundOthers","wealthOthers","replaceAll","empty","$emit","familyMemberRelationship","closeAssociateRelationship","personRank","personName","personCountryOfAppointment","element","isPepListed","alert","validatePep","relationshipMsg","relationshipNotStated","somePersonDetailsIsEmpty","cat","sof","sow","classes","formOptions","clientOptions","tooltip","content","checkboxColumnNo","others","disabled","State","components","AppRadioSelection","AppForm","component","style","structure","shouldShow","show","shouldDisabled","getCustomClass","hasErrors","focusId","getId","focusInner","getTestId","domProps","labelModelValue","labelModel","get","set","target","directives","name","rawName","labelKey","composing","ref","eidx","msg","full","fullErr","multiple","optionCols","multiLimit","buttonName","cycleMode","displayDirection","setValue","blurHandler","getValue","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","toString","evt","event","charCode","which","keyCode","currentValue","isAlphabetN","isNonNumber","preventDefault","charCodeAt","isAlphabetA","formatValue","isNaN","Number","source","useCurrency","currencyPrefix","toLocaleString","currency","projectInfo","inputValue","default","minimal","structures","map","errors","charLeft","getCharLeft","getCounterMsg","gridTemplateColumns","projectSettings","theme","condition","readOnly","Function","input","oriValue","String","labelValue","data","selectedOption","selectedIndex","_value","onChange","ex","uniqueID","snakeCaseKey","curAppForm","$el","hasOverflow","scrollWidth","clientWidth","eleId","ele","document","getElementById","focus","mc","swe","first","find","s","scrollIntoView","behavior","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppDateInput","AppFormTable","AppCurrencyNA","AppDecimalNumber","AppTooltip"],"mappings":"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","file":"js/chunk-0ab0c831.40c0eaeb.js","sourcesContent":["\"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\");","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!./PEP.vue?vue&type=style&index=0&id=a2ace1ec&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","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&\"","'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',{attrs:{\"id\":\"pep\"}},[_c('div',{staticClass:\"title\"},[_vm._v(\" Politically Exposed Person Form \"),_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){_vm.isModalVisible = true}}},[_vm._v(\"Add New Form\")])]),_c('div',{staticClass:\"pep-body\"},_vm._l((_vm.pepList),function(pep,index){return _c('el-card',{key:pep.fullName,class:(\"card \" + (_vm.isPepHidden(pep.policyholderName))),staticStyle:{\"margin\":\"0 10px 10px 0\"}},[_c('div',{attrs:{\"slot\":\"header\"},slot:\"header\"},[_c('span',[_vm._v(_vm._s(pep.fullName))]),_c('div',{staticClass:\"card-btns\"},[_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-edit\"},on:{\"click\":function($event){return _vm.editForm(pep, index)}}}),_c('el-button',{attrs:{\"type\":\"text\",\"icon\":\"el-icon-delete\"},on:{\"click\":function($event){return _vm.deleteForm(pep, index)}}})],1)]),_c('span',[_vm._v(\"NRIC:\")]),_c('p',[_vm._v(_vm._s(pep.nric))]),_c('span',[_vm._v(\"Occupation:\")]),_c('p',[_vm._v(_vm._s(pep.occupation))]),_c('span',[_vm._v(\"Employer:\")]),_c('p',[_vm._v(_vm._s(pep.nameOfEmployer))])])}),1),_c('el-dialog',{staticClass:\"modal\",attrs:{\"visible\":_vm.isModalVisible,\"width\":\"70%\",\"before-close\":_vm.beforeModalClose},on:{\"update:visible\":function($event){_vm.isModalVisible=$event},\"closed\":_vm.afterModalClosed}},[_c('span',{staticClass:\"modal-title\",attrs:{\"slot\":\"title\"},slot:\"title\"},[_vm._v(\"New Form\")]),_c('div',{staticClass:\"modal-add-content\"},[_c('table',{staticClass:\"bordered\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"A. Particulars of PEP\")])])]),_c('tbody',[_c('tr',[_c('td',[_c('AppForm',{attrs:{\"structures\":_vm.PoliticalExposedPersonStructure,\"model\":_vm.newForm}})],1)])])]),_c('table',{staticClass:\"word-break-table bordered\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"colspan\":\"2\"}},[_vm._v(\"B. Category (please check the appropriate box)\")])])]),_c('tbody',[_c('tr',[_c('td',[_vm._v(\" 1. I am a Person who has been entrusted with prominent public function in Singapore / a foreign country / an international organization* \")]),_c('td',[_c('AppRadioSelection',{attrs:{\"options\":[{label:' ', value:'cat1'}],\"selected\":_vm.newForm.category,\"buttonName\":'newForm.category'},model:{value:(_vm.newForm.category),callback:function ($$v) {_vm.$set(_vm.newForm, \"category\", $$v)},expression:\"newForm.category\"}})],1)]),_c('tr',[_c('td',[_vm._v(\" 2. I am a family member of such a Person. \"),_c('p',[_vm._v(\"State Relationship:\")]),_c('el-input',{attrs:{\"disabled\":_vm.newForm.category !== 'cat2',\"size\":\"mini\"},model:{value:(_vm.newForm.familyMemberRelationship),callback:function ($$v) {_vm.$set(_vm.newForm, \"familyMemberRelationship\", $$v)},expression:\"newForm.familyMemberRelationship\"}})],1),_c('td',[_c('AppRadioSelection',{attrs:{\"options\":[{label:' ', value:'cat2'}],\"selected\":_vm.newForm.category,\"buttonName\":'newForm.category'},model:{value:(_vm.newForm.category),callback:function ($$v) {_vm.$set(_vm.newForm, \"category\", $$v)},expression:\"newForm.category\"}})],1)]),_c('tr',[_c('td',[_vm._v(\" 3. I am a close associate of such a Person. \"),_c('p',[_vm._v(\"State Relationship:\")]),_c('el-input',{attrs:{\"disabled\":_vm.newForm.category !== 'cat3',\"size\":\"mini\"},model:{value:(_vm.newForm.closeAssociateRelationship),callback:function ($$v) {_vm.$set(_vm.newForm, \"closeAssociateRelationship\", $$v)},expression:\"newForm.closeAssociateRelationship\"}})],1),_c('td',[_c('AppRadioSelection',{attrs:{\"options\":[{label:' ', value:'cat3'}],\"selected\":_vm.newForm.category,\"buttonName\":'newForm.category'},model:{value:(_vm.newForm.category),callback:function ($$v) {_vm.$set(_vm.newForm, \"category\", $$v)},expression:\"newForm.category\"}})],1)]),_c('tr',[_c('td',[_vm._v(\"4. I am a State-owned Enterprise.\")]),_c('td',[_c('AppRadioSelection',{attrs:{\"options\":[{label:' ', value:'cat4'}],\"selected\":_vm.newForm.category,\"buttonName\":'newForm.category'},model:{value:(_vm.newForm.category),callback:function ($$v) {_vm.$set(_vm.newForm, \"category\", $$v)},expression:\"newForm.category\"}})],1)])])]),(_vm.showPersonDetail())?_c('table',{staticClass:\"bordered\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"C. Details of the Person\")])])]),_c('tbody',[_c('tr',[_c('td',[_c('AppForm',{attrs:{\"structures\":_vm.personDetailDataStructure,\"model\":_vm.newForm}})],1)])])]):_vm._e()]),_c('div',{attrs:{\"slot\":\"footer\"},slot:\"footer\"},[(!_vm.editMode)?[_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.beforeModalClose}},[_vm._v(\"Close\")]),_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.saveForm}},[_vm._v(\"Create Form\")])]:[_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.beforeModalClose}},[_vm._v(\"Close\")]),_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.saveForm}},[_vm._v(\"Save Form\")])]],2)])],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\n\n\n\n\n\n\n\n\n\n\n\n\n\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, Watch } from 'vue-property-decorator'\nimport { namespace } from 'vuex-class'\nimport KYCForm from '@company-common/model/kyc-form/KYCForm'\nimport PoliticalExposedPerson from '@master/model/kyc-form/external/PoliticalExposedPerson'\nimport { isEqual, isNull, isEmpty, snakeCase, startCase } from 'lodash/fp'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport { FormOptions, IClientOptions } from '@master/model/kyc-form/FormOptions'\nimport AppRadioSelection from '@core/components/AppRadioSelection.vue'\nimport AppForm from '@core/components/AppForm.vue'\nimport { isUndefined } from 'lodash'\n\nconst kycFormStore = namespace('KYCFormStore')\n\n@Component({\n components: {\n AppRadioSelection,\n AppForm\n }\n})\nexport default class PEP extends Vue {\n @kycFormStore.State\n private kycForm!: KYCForm;\n\n @kycFormStore.State\n private formOptions!: FormOptions;\n\n private isModalVisible = false;\n private editedIndex = null;\n private newForm: PoliticalExposedPerson = new PoliticalExposedPerson();\n\n get editMode () {\n return !isNull(this.editedIndex)\n }\n\n get isClient2Included () {\n return this.kycForm.client2.personalDetails.included\n }\n\n get pepList () {\n return this.kycForm.clientDeclaration.pepList\n }\n\n isPepHidden (policyholderName: keyof IClientOptions) {\n // Filter out if the pep holder is client 2 & client 2 is not included\n return (policyholderName === 'C2' && !this.isClient2Included) ? 'hide' : ''\n }\n\n isOthersSourceOfFundsSelected (): boolean {\n return !this.newForm.sourceOfFunds.includes('others')\n }\n\n isOthersSourceOfWealthSelected (): boolean {\n return !this.newForm.sourceOfWealth.includes('others')\n }\n\n beforeModalClose () {\n if (!this.isFormEmpty() && !this.editMode) {\n if (window.confirm('Exit without saving this form? All data will be lost.')) {\n this.isModalVisible = false\n } else this.isModalVisible = !this.saveForm()\n } else if (!this.isFormEmpty() && this.editMode) {\n if (!isEqual(this.pepList[this.editedIndex], this.newForm)) {\n if (window.confirm('Save changes?')) {\n this.isModalVisible = !this.saveForm()\n } else this.isModalVisible = false\n } else {\n this.isModalVisible = false\n }\n } else {\n this.isModalVisible = false\n }\n }\n\n afterModalClosed () {\n this.editedIndex = null\n this.newForm = new PoliticalExposedPerson()\n }\n\n isPepListed (index): boolean {\n if (!this.editMode) {\n return this.pepList.some((pep) => pep.fullName === this.newForm.fullName)\n } else {\n return this.pepList.some(\n (pep, i) => i !== index && pep.fullName === this.newForm.fullName\n )\n }\n }\n\n validatePep (): string[] {\n const requiredPepField = ['policyholderName', 'fullName', 'nric', 'occupation', 'nameOfEmployer', 'sourceOfFunds',\n 'sourceOfWealth', 'category']\n const missingField = []\n for (const field of requiredPepField) {\n if (\n this.newForm[field] === undefined ||\n this.newForm[field] === null ||\n this.newForm[field] === ''\n ) {\n missingField.push(this.polishErrorField(field))\n } else if (this.newForm[field] instanceof Object) {\n if (this.newForm[field].length === 0) {\n missingField.push(this.polishErrorField(field))\n } else if (field === 'sourceOfFunds' && this.newForm[field].includes('others') && isEmpty(this.newForm.fundOthers)) {\n missingField.push('Source of Funds Others Specification')\n } else if (field === 'sourceOfWealth' && this.newForm[field].includes('others') && isEmpty(this.newForm.wealthOthers)) {\n missingField.push('Source of Wealth Others Specification')\n }\n }\n }\n return missingField\n }\n\n polishErrorField (field) {\n return startCase(snakeCase(field).replaceAll('_', ' '))\n }\n\n isFormEmpty (): boolean {\n let empty = true\n for (const key in this.newForm) {\n if (key !== 'skipStorageKeys' && !isEmpty(this.newForm[key])) {\n empty = false\n }\n }\n return empty\n }\n\n deleteForm (pep, index) {\n if (confirm(`Are you sure to delete ${pep.fullName} form?`)) {\n this.kycForm.clientDeclaration.pepList = this.pepList.filter(\n (pep, i) => i !== index\n )\n this.$emit('save')\n }\n }\n\n editForm (pep, index) {\n for (const key in pep) {\n this.newForm[key] = pep[key]\n }\n this.editedIndex = index\n this.isModalVisible = true\n }\n\n relationshipNotStated () {\n if (this.newForm.category === 'cat2' && this.newForm.familyMemberRelationship === '') {\n return 'Please specify relationship in category 2'\n }\n if (this.newForm.category === 'cat3' && this.newForm.closeAssociateRelationship === '') {\n return 'Please specify relationship in category 3'\n }\n }\n\n somePersonDetailsIsEmpty () {\n if (!this.showPersonDetail()) return\n\n return [this.newForm.personRank, this.newForm.personName, this.newForm.personCountryOfAppointment]\n .some(element => {\n return isEmpty(element) || isUndefined(element)\n })\n }\n\n saveForm () {\n if (this.isPepListed(this.editedIndex)) {\n alert(\n `The form for ${this.newForm.fullName} has already been created. You are not allowed to create multiple PEP forms for the same person.`\n )\n return false\n }\n\n if (this.validatePep().length > 0) {\n alert(\n `${this.validatePep().join(\n ', '\n )} cannot be empty. Please review the details at the respective sections.`\n )\n return false\n }\n\n const relationshipMsg = this.relationshipNotStated()\n if (relationshipMsg) {\n alert(relationshipMsg)\n return false\n }\n\n if (this.somePersonDetailsIsEmpty()) {\n alert('Please fill in all the person details in section c')\n return false\n }\n\n if (this.editMode) {\n // this is to trigger kycform watcher to do validation (directly changing items in array doesnt work somehow)\n this.$set(this.kycForm.clientDeclaration.pepList, this.editedIndex, this.newForm)\n } else {\n this.pepList.push(this.newForm)\n }\n this.$emit('save')\n this.isModalVisible = false\n }\n\n showPersonDetail () {\n return this.newForm.category === 'cat2' || this.newForm.category === 'cat3'\n }\n\n @Watch('newForm.category')\n categoryChanged (cat) {\n // only clear the respective field when new category value is not specific value\n if (cat !== 'cat2') this.newForm.familyMemberRelationship = ''\n if (cat !== 'cat3') this.newForm.closeAssociateRelationship = ''\n }\n\n @Watch('newForm.sourceOfFunds')\n sourceOfFundChange (sof) {\n if (!sof.includes('others')) {\n this.newForm.fundOthers = ''\n }\n }\n\n @Watch('newForm.sourceOfWealth')\n sourceOfWealthChange (sow) {\n if (!sow.includes('others')) {\n this.newForm.wealthOthers = ''\n }\n }\n\n @Watch('newForm.category')\n categoryOptionOnChange (cat) {\n if (cat !== 'cat2' && cat !== 'cat3') {\n this.newForm.personName = ''\n this.newForm.personRank = ''\n this.newForm.personCountryOfAppointment = ''\n }\n }\n\n get PoliticalExposedPersonStructure (): FormStructure {\n return [\n {\n label: 'Name of Policy Holder',\n key: 'policyholderName',\n classes: ['colspan'],\n options: this.formOptions.clientOptions\n }, {\n label: 'Full Name',\n key: 'fullName',\n tooltip: {\n content: '
Full Name of Customer / Appointed Person appointed to act on behalf of customer / Beneficial Owner of Customer / Connected Party of Customer
'\n }\n }, {\n label: 'NRIC/FIN/Passport No.',\n key: 'nric'\n }, {\n label: 'Occupation / Designation',\n key: 'occupation'\n }, {\n label: 'Name Of Employer',\n key: 'nameOfEmployer'\n }, {\n label: 'Source of Funds applicable to Foreign PEP',\n key: 'sourceOfFunds',\n type: 'checkbox',\n checkboxColumnNo: 1,\n options: [\n { label: 'Employment / Trade Income', value: 'employment' },\n { label: 'Savings', value: 'savings' },\n {\n label: 'Others:',\n value: 'others',\n others: {\n key: 'fundOthers',\n disabled: (sof) => !sof.sourceOfFunds.includes('others')\n }\n }\n ]\n }, {\n label: 'Source of Wealth applicable to Foreign PEP',\n key: 'sourceOfWealth',\n type: 'checkbox',\n checkboxColumnNo: 1,\n options: [\n { label: 'Employment / Trade Income', value: 'employment' },\n { label: 'Investment Income', value: 'investment' },\n { label: 'Rental Income', value: 'rental' },\n {\n label: 'Others:',\n value: 'others',\n others: {\n key: 'wealthOthers',\n disabled: (sof) => !sof.sourceOfWealth.includes('others')\n }\n }\n ]\n }\n ]\n }\n\n get personDetailDataStructure (): FormStructure {\n return [\n {\n label: 'Full Name',\n key: 'personName',\n classes: ['colspan']\n }, {\n label: 'Rank / Position Held',\n key: 'personRank',\n classes: ['colspan']\n }, {\n label: 'Country of Appointment',\n key: 'personCountryOfAppointment',\n classes: ['colspan']\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!./PEP.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!./PEP.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PEP.vue?vue&type=template&id=a2ace1ec&scoped=true&\"\nimport script from \"./PEP.vue?vue&type=script&lang=ts&\"\nexport * from \"./PEP.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PEP.vue?vue&type=style&index=0&id=a2ace1ec&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 \"a2ace1ec\",\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":""}