{"version":3,"sources":["webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansGallery.vue?4774","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/current-plans/insurance-portfolio/YourCurrentPlansPage.vue?63d2","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansGallery.vue?1877","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansGallery.vue","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansGallery.vue?7ad1","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansGallery.vue?8e39","webpack:///./@core/components/currentPlans/TheCurrentPlansSummary.vue?fd77","webpack:///./@core/components/currentPlans/TheCurrentPlansSummary.vue","webpack:///./@core/components/currentPlans/TheCurrentPlansSummary.vue?06a8","webpack:///./@core/components/currentPlans/TheCurrentPlansSummary.vue?36f6","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansDialog.vue?0876","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansDialog.vue","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansDialog.vue?70a1","webpack:///./src/views/kyc-form/component/currentPlans/TheCurrentPlansDialog.vue?ec1b","webpack:///./@company-common/config/insurance-company.ts","webpack:///./@master/model/options/PolicyTypeOptions.ts","webpack:///./src/views/kyc-form/section/current-plans/insurance-portfolio/YourCurrentPlansPage.vue","webpack:///./src/views/kyc-form/section/current-plans/insurance-portfolio/YourCurrentPlansPage.vue?8878","webpack:///./src/views/kyc-form/section/current-plans/insurance-portfolio/YourCurrentPlansPage.vue?ec0d","webpack:///./@core/assets/myinfo-icon.svg","webpack:///./node_modules/randomstring/node_modules/randombytes/browser.js","webpack:///./@core/components/currentPlans/TheCurrentPlansSummary.vue?e724","webpack:///./@core/components/AppForm.vue?baa9","webpack:///./@core/components/AppCurrencyNA.vue?af5e","webpack:///./src/views/kyc-form/section/current-plans/insurance-portfolio/YourCurrentPlansPage.vue?51f0","webpack:///./@core/tools/Formatter.ts","webpack:///./node_modules/randomstring/node_modules/array-uniq/index.js","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","render","_vm","_h","$createElement","_c","_self","staticClass","_v","attrs","label","value","existingPortfolio","declaration","review","model","callback","$$v","$set","expression","directives","name","rawName","domProps","on","$event","target","composing","portfolios","isClient2Included","portfolioStructure","projectInfo","currency","createPortfolio","editPortfolio","removePortfolio","summaryColumns","summary","selectedPortfolio","mode","closeModal","addPortfolio","savePortfolio","_e","staticRenderFns","_l","item","isShowItem","key","slot","_s","getCardTitle","structureItem","structureIndex","getDisplayValue","owner","policyName","idx","config","structure","find","struct","curValue","opt","dateService","format","currencySetting","$emit","components","component","column","abbre","cover","convertToCurrencyFormat","Object","keys","c2","close","uiService","alert","show","message","sharedVariable","AppDialog","AppForm","InsuranceCompanyList","policyType","Term","ILP","Endowment","Annuity","PolicyTypeOptions","map","kycFormStore","showModal","isEdit","editingIndex","kycForm","client2","personalDetails","included","company","formOptions","clientOptions","assuredOptions","insuranceCompanyList","CustomExistingPortfolioV2","getSummaryFields","field","attrName","c1","existingPortfolioSummary","others","portfolio","assign","confirm","isConfirm","portfolioIndex","splice","calculateSummary","newPortfolio","updateCashFlowValue","client1","cashFlow","insurancePremiums","premium","c1PortfolioSummary","othersPortfolioSummary","c2PortfolioSummary","newValue","reviewReasons","State","AppRadioSelection","TheCurrentPlansGallery","TheCurrentPlansSummary","TheCurrentPlansDialog","oldBrowser","Error","crypto","global","msCrypto","size","rawBytes","Uint8Array","getRandomValues","bytes","Buffer","buffer","process","nextTick","Number","toLocaleString","uniqNoSet","arr","ret","indexOf","uniqSet","seen","Set","filter","el","has","add","uniqSetWithForEach","forEach","doesForEachActuallyWork","style","shouldShow","class","shouldDisabled","disabled","getCustomClass","hasErrors","focusId","getId","focusInner","getTestId","labelModelValue","labelModel","get","set","labelKey","tooltip","ref","eidx","msg","full","fullErr","multiple","optionCols","multiLimit","buttonName","cycleMode","displayDirection","setValue","blurHandler","getValue","checkboxColumnNo","compact","option","isMyInfo","getLabelId","setSelectValue","decimal","maxChar","currencyFormat","precision","futureDate","disabledFutureDate","rows","isVertical","maxSize","columns","getValueForTable","remove","maxLength","counterMsg","isModernTheme","maxlength","numberAndNAOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","number","convertCurrencyToNumber","remainingChar","toString","evt","window","event","charCode","which","keyCode","currentValue","isAlphabetN","isNonNumber","preventDefault","charCodeAt","isAlphabetA","formatValue","isNaN","source","undefined","useCurrency","currencyPrefix","replaceAll","inputValue","default","minimal","structures","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","classes","swe","first","s","scrollIntoView","behavior","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppDateInput","AppFormTable","AppCurrencyNA","AppDecimalNumber","AppTooltip"],"mappings":"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","file":"js/chunk-38d709ce.d6d6c9bc.js","sourcesContent":["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!./TheCurrentPlansGallery.vue?vue&type=style&index=0&id=e1f77e80&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('div',[_c('div',{staticClass:\"title\"},[_vm._v(\"Your Existing Insurance Portfolio\")]),_c('div',{staticClass:\"form-body\"},[_c('p',[_vm._v(\"This information helps to evaluate if your existing insurance portfolio is adequate to meet your financial needs.\")]),_c('p',[_vm._v(\"Would you like your existing insurance portfolio to be taken into consideration for the financial review?\")]),_c('AppRadioSelection',{attrs:{\"options\":[{label:'Yes, please complete the details in the table below.', value:'yes'},\n {label:'No, please provide reasons:', value:'no'}],\"selected\":_vm.existingPortfolio.declaration.review,\"buttonName\":'existingPortfolioReview'},model:{value:(_vm.existingPortfolio.declaration.review),callback:function ($$v) {_vm.$set(_vm.existingPortfolio.declaration, \"review\", $$v)},expression:\"existingPortfolio.declaration.review\"}}),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.existingPortfolio.declaration.reviewReasons),expression:\"existingPortfolio.declaration.reviewReasons\"}],attrs:{\"rows\":5,\"disabled\":_vm.existingPortfolio.declaration.review != 'no'},domProps:{\"value\":(_vm.existingPortfolio.declaration.reviewReasons)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.existingPortfolio.declaration, \"reviewReasons\", $event.target.value)}}})],1),(_vm.existingPortfolio.declaration.review === 'yes')?[_c('TheCurrentPlansGallery',{attrs:{\"portfolios\":_vm.portfolios,\"isClient2Included\":_vm.isClient2Included,\"structure\":_vm.portfolioStructure,\"currencySetting\":_vm.projectInfo.currency},on:{\"create\":_vm.createPortfolio,\"edit\":_vm.editPortfolio,\"remove\":_vm.removePortfolio}}),_c('TheCurrentPlansSummary',{attrs:{\"columns\":_vm.summaryColumns,\"summary\":_vm.summary,\"currencySetting\":_vm.projectInfo.currency}}),(_vm.showModal)?_c('TheCurrentPlansDialog',{attrs:{\"model\":_vm.selectedPortfolio,\"structure\":_vm.portfolioStructure,\"mode\":_vm.mode},on:{\"close\":_vm.closeModal,\"add\":_vm.addPortfolio,\"save\":_vm.savePortfolio}}):_vm._e()]:_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('button',{staticClass:\"add-plan btn-default\",on:{\"click\":_vm.createPortfolio}},[_vm._v(\"Add Plan\")]),_c('el-collapse',{staticClass:\"card-grid\"},[_vm._l((_vm.portfolios),function(item,index){return [(_vm.isShowItem(item))?_c('el-collapse-item',{key:(\"cur-plan-\" + index),staticClass:\"card\",attrs:{\"name\":index}},[_c('template',{slot:\"title\"},[_c('span',{staticClass:\"card-title\"},[_vm._v(\" Product \"+_vm._s(index+1)+\": \"+_vm._s(_vm.getCardTitle(item))+\" \")])]),_c('div',{staticClass:\"card-body\"},[_vm._l((_vm.structure),function(structureItem,structureIndex){return [_c('span',{key:(\"card-\" + index + \"-label-\" + structureIndex),staticClass:\"label\"},[_vm._v(\" \"+_vm._s(structureItem.label)+\": \")]),_c('span',{key:(\"card-\" + index + \"-detail-\" + structureIndex)},[_vm._v(\" \"+_vm._s(_vm.getDisplayValue(index, structureItem.key))+\" \")])]})],2),_c('div',{staticClass:\"card-action-row\"},[_c('button',{staticClass:\"btn-default\",on:{\"click\":function($event){return _vm.editPortfolio(index)}}},[_vm._v(\"Edit\")]),_c('button',{staticClass:\"btn-danger\",on:{\"click\":function($event){return _vm.removePortfolio(index)}}},[_vm._v(\"Remove\")])])],2):_vm._e()]})],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\nimport { Component, Vue, Prop } from 'vue-property-decorator'\nimport { inject } from 'inversify-props'\nimport CustomExistingPortfolioV2 from '@company-common/model/kyc-form/existing-plans/CustomExistingPortfolioV2'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport { IDateService } from '@master/services/IDateService'\nimport { convertToCurrencyFormat } from '@core/tools/Formatter'\n\n@Component({\n components: {\n }\n})\nexport default class TheCurrentPlansGallery extends Vue {\n @Prop() readonly portfolios\n @Prop() readonly isClient2Included!: boolean\n @Prop() readonly structure: FormStructure\n @Prop() readonly currencySetting: string\n\n @inject()\n private dateService: IDateService\n\n isShowItem (item: CustomExistingPortfolioV2) {\n return item.owner !== 'C2' || (item.owner === 'C2' && this.isClient2Included)\n }\n\n getCardTitle (item: CustomExistingPortfolioV2) {\n if (!item) return 'Invalid Card'\n const owner = item.owner ? `(${item.owner})` : ''\n return `${item.policyName} ${owner}`\n }\n\n getDisplayValue (idx: number, key: string) {\n const config = (this.structure as Array).find(struct => struct.key === key)\n if (!config) return 'Invalid config'\n const curValue = this.portfolios[idx][key]\n if (config.options) return config.options.find(opt => opt.value === curValue)?.label || ''\n if (config.type === 'date') return this.dateService.format(curValue, 'DD-MM-YYYY')\n if (config.type === 'currency') return convertToCurrencyFormat(curValue, this.currencySetting)\n return curValue\n }\n\n createPortfolio () {\n this.$emit('create')\n }\n\n editPortfolio (index) {\n this.$emit('edit', index)\n }\n\n removePortfolio (index) {\n this.$emit('remove', index)\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!./TheCurrentPlansGallery.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!./TheCurrentPlansGallery.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheCurrentPlansGallery.vue?vue&type=template&id=e1f77e80&scoped=true&\"\nimport script from \"./TheCurrentPlansGallery.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheCurrentPlansGallery.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TheCurrentPlansGallery.vue?vue&type=style&index=0&id=e1f77e80&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 \"e1f77e80\",\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',[_c('div',{staticClass:\"title\"},[_vm._v(\"Summary of Existing Insurance Portfolio\")]),_c('table',{staticClass:\"bordered\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"Life Assured\")]),_vm._l((_vm.columns),function(column,index){return _c('th',{key:'cover-'+index},[_vm._v(\" \"+_vm._s(column.abbre)+\" \")])})],2)]),_c('tbody',[_c('tr',[_c('td',[_vm._v(\"Client 1 (C1)\")]),_vm._l((_vm.summary.c1),function(cover,index){return _c('td',{key:'cover-'+index},[_vm._v(\" \"+_vm._s(_vm.convertToCurrencyFormat(cover))+\" \")])})],2),(_vm.isClient2Included)?_c('tr',[_c('td',[_vm._v(\"Client 2 (C2)\")]),_vm._l((_vm.summary.c2),function(cover,index){return _c('td',{key:'cover-'+index},[_vm._v(\" \"+_vm._s(_vm.convertToCurrencyFormat(cover))+\" \")])})],2):_vm._e(),_c('tr',[_c('td',[_vm._v(\"Others (Oth)\")]),_vm._l((_vm.summary.others),function(cover,index){return _c('td',{key:'cover-'+index},[_vm._v(\" \"+_vm._s(_vm.convertToCurrencyFormat(cover))+\" \")])})],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\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\nimport { convertToCurrencyFormat } from '@core/tools/Formatter'\n\n@Component({\n components: {\n }\n})\nexport default class TheCurrentPlansSummary extends Vue {\n @Prop() readonly columns!: { attrName: string; abbre: string }[]\n @Prop() readonly summary!: { c1: {}; c2: {}; others: {} }\n @Prop() readonly currencySetting!: string\n\n get isClient2Included () {\n return Object.keys(this.summary.c2).length\n }\n\n convertToCurrencyFormat (value) {\n return convertToCurrencyFormat(value, this.currencySetting)\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!./TheCurrentPlansSummary.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!./TheCurrentPlansSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheCurrentPlansSummary.vue?vue&type=template&id=6f9a4c24&scoped=true&\"\nimport script from \"./TheCurrentPlansSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheCurrentPlansSummary.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TheCurrentPlansSummary.vue?vue&type=style&index=0&id=6f9a4c24&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 \"6f9a4c24\",\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('AppDialog',{attrs:{\"size\":'large'},on:{\"close\":_vm.close}},[_c('template',{slot:\"header\"},[_vm._v(\"Add Plan\")]),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('AppForm',{attrs:{\"uniqueID\":\"current-plan\",\"structures\":_vm.structure,\"model\":_vm.model,\"columns\":2}})],1),_c('template',{slot:\"footer\"},[(_vm.mode ==='create')?_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.addPortfolio}},[_vm._v(\"Add\")]):_c('button',{staticClass:\"btn-default\",on:{\"click\":_vm.savePortfolio}},[_vm._v(\"Save Changes\")])])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue } from 'vue-property-decorator'\nimport CustomExistingPortfolioV2 from '@company-common/model/kyc-form/existing-plans/CustomExistingPortfolioV2'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport AppForm from '@core/components/AppForm.vue'\nimport AppDialog from '@core/components/AppDialog.vue'\nimport { UIService } from '@core/services/UIService'\nimport { inject } from 'inversify-props'\nimport { SharedVariable } from '@core/model/SharedVariable'\n\n@Component({\n components: {\n AppDialog,\n AppForm\n }\n})\nexport default class TheCurrentPlansDialog extends Vue {\n @Prop() readonly model: CustomExistingPortfolioV2\n @Prop() readonly structure: FormStructure\n @Prop() readonly mode: 'edit' | 'create'\n\n @inject()\n private sharedVariable: SharedVariable\n\n uiService: UIService\n\n close () {\n this.$emit('close')\n }\n\n addPortfolio () {\n if (!this.model.policyName || this.model.policyName === '') {\n return this.uiService.alert.show({\n type: 'error',\n message: 'Please key in valid policy name.'\n })\n }\n this.$emit('add', this.model)\n }\n\n savePortfolio () {\n if (!this.model.policyName || this.model.policyName === '') {\n return this.uiService.alert.show({\n type: 'error',\n message: 'Please key in valid policy name.'\n })\n }\n this.$emit('save', this.model)\n }\n\n mounted () {\n this.uiService = this.sharedVariable.uiService\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!./TheCurrentPlansDialog.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!./TheCurrentPlansDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TheCurrentPlansDialog.vue?vue&type=template&id=3f2c50f9&scoped=true&\"\nimport script from \"./TheCurrentPlansDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TheCurrentPlansDialog.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3f2c50f9\",\n null\n \n)\n\nexport default component.exports","export const InsuranceCompanyList = [\n '',\n 'AIA',\n 'AXA',\n 'CPF',\n 'Great Eastern Life',\n 'NTUC Income',\n 'Prudential',\n 'Raffles Health',\n 'Singlife with Aviva',\n 'AIG',\n 'Aetna',\n 'Allianz',\n 'Allied World',\n 'China Life',\n 'China Taiping',\n 'Chubb',\n 'Cigna',\n 'Direct Asia',\n 'Etiqa',\n 'FWD',\n 'Friends Provident',\n 'HL Assurance',\n 'HSBC Life',\n 'LIC',\n 'Liberty',\n 'MSIG',\n 'Manulife',\n 'QBE',\n 'Quilter',\n 'Health',\n 'Sompo',\n 'Sun Life',\n 'Swiss Life',\n 'Tokio Marine',\n 'Transamerica',\n 'UOI',\n 'Utmost',\n 'Zurich'\n]\n","import { options } from './Options'\n\nconst policyType = {\n 'Whole Life': 1,\n Term: 2,\n ILP: 3,\n Endowment: 4,\n Annuity: 5,\n 'Personal Accident': 6,\n 'H & S': 7,\n 'Universal Life': 8,\n 'Variable Universal Life': 9\n}\n\nexport const PolicyTypeOptions: options[] = Object.keys(policyType).map(key => {\n return {\n label: key,\n value: policyType[key]\n }\n})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 { inject } from 'inversify-props'\nimport KYCForm from '@company-common/model/kyc-form/KYCForm'\nimport CustomExistingPortfolioV2 from '@company-common/model/kyc-form/existing-plans/CustomExistingPortfolioV2'\nimport { FormOptions } from '@master/model/kyc-form/FormOptions'\nimport { FormStructure } from '@master/model/structure/FormStructure'\nimport AppRadioSelection from '@core/components/AppRadioSelection.vue'\nimport TheCurrentPlansGallery from '@/views/kyc-form/component/currentPlans/TheCurrentPlansGallery.vue'\nimport TheCurrentPlansSummary from '@core/components/currentPlans/TheCurrentPlansSummary.vue'\nimport TheCurrentPlansDialog from '@/views/kyc-form/component/currentPlans/TheCurrentPlansDialog.vue'\nimport { InsuranceCompanyList } from '@company-common/config/insurance-company'\nimport { ProjectInfo } from '@company-common/config/ProjectInfo'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { PolicyTypeOptions } from '@master/model/options/PolicyTypeOptions'\n\nconst kycFormStore = namespace('KYCFormStore')\n\n@Component({\n components: {\n AppRadioSelection,\n TheCurrentPlansGallery,\n TheCurrentPlansSummary,\n TheCurrentPlansDialog\n }\n})\nexport default class YourCurrentPlansPage extends Vue {\n @kycFormStore.State\n private kycForm!: KYCForm;\n\n @kycFormStore.State\n private formOptions!: FormOptions;\n\n @inject()\n private projectInfo: ProjectInfo\n\n @inject()\n private sharedVariable: SharedVariable\n\n uiService: UIService\n\n private showModal = false\n private mode: 'edit' | 'create' = 'create'\n private isEdit = false\n private selectedPortfolio: CustomExistingPortfolioV2\n private editingIndex = null\n\n get existingPortfolio () {\n return this.kycForm.existingPortfolio\n }\n\n get portfolios () {\n return this.existingPortfolio.portfolios\n }\n\n get isClient2Included () {\n return this.kycForm.client2.personalDetails.included\n }\n\n get insuranceCompanyList () {\n return InsuranceCompanyList.map(company => {\n return {\n label: company,\n value: company\n }\n })\n }\n\n get portfolioStructure (): FormStructure {\n return [\n {\n label: 'Policy Name',\n key: 'policyName'\n },\n {\n label: 'Policy Owner (PO)',\n key: 'owner',\n options: this.formOptions?.clientOptions || []\n },\n {\n label: 'Policy Type',\n key: 'policyType',\n options: PolicyTypeOptions\n },\n {\n label: 'Life Assured',\n key: 'policyInsured',\n options: this.formOptions?.assuredOptions || []\n },\n {\n label: 'Insurance Company',\n key: 'companyName',\n options: this.insuranceCompanyList\n },\n {\n label: 'Annual Premium ($)',\n key: 'premium',\n type: 'currency'\n },\n {\n label: 'Policy Term',\n key: 'policyTerms'\n },\n {\n label: 'Death ($)',\n key: 'lifeProtection',\n type: 'currency'\n },\n {\n label: 'Total Permanent Disability ($)',\n key: 'disabilityProtection',\n type: 'currency'\n },\n {\n label: 'Personal Accident ($)',\n key: 'accidentProtection',\n type: 'currency'\n },\n {\n label: 'Critical Illness ($)',\n key: 'criticalIllnessProtection',\n type: 'currency'\n },\n {\n label: 'Maturity Age',\n key: 'maturityAge',\n type: 'number'\n }\n ]\n }\n\n get summaryColumns () {\n return new CustomExistingPortfolioV2().getSummaryFields().map(field => {\n return {\n attrName: field.attrName,\n abbre: field.abbre + ' ($)'\n }\n })\n }\n\n get summary () {\n const summary = {\n c1: this.existingPortfolio.summary.existingPortfolioSummary.c1,\n c2: {},\n others: this.existingPortfolio.summary.existingPortfolioSummary.others\n }\n if (this.isClient2Included) {\n summary.c2 = this.existingPortfolio.summary.existingPortfolioSummary.c2\n }\n return summary\n }\n\n createPortfolio () {\n this.selectedPortfolio = new CustomExistingPortfolioV2(this.formOptions)\n this.mode = 'create'\n this.showModal = true\n }\n\n editPortfolio (index) {\n this.selectedPortfolio = new CustomExistingPortfolioV2(this.formOptions)\n const portfolio = this.portfolios[index]\n Object.assign(this.selectedPortfolio, portfolio)\n this.editingIndex = index\n this.mode = 'edit'\n this.isEdit = true\n this.showModal = true\n }\n\n async removePortfolio (index) {\n const isConfirm = await this.uiService.confirm.show({\n type: 'warning',\n message: 'Are yo sure you want to remove this plan?'\n })\n if (isConfirm) {\n const portfolioIndex = index\n this.existingPortfolio.portfolios.splice(portfolioIndex, 1)\n this.calculateSummary()\n this.$emit('save')\n }\n }\n\n addPortfolio (portfolio: CustomExistingPortfolioV2) {\n const newPortfolio = Object.assign(new CustomExistingPortfolioV2(this.formOptions), portfolio)\n this.portfolios.push(newPortfolio)\n this.showModal = false\n this.calculateSummary()\n this.updateCashFlowValue()\n this.$emit('save')\n }\n\n savePortfolio (portfolio: CustomExistingPortfolioV2) {\n if (this.isEdit) {\n this.$set(this.portfolios, this.editingIndex, portfolio)\n this.isEdit = false\n } else {\n this.portfolios.push(portfolio)\n }\n this.showModal = false\n this.calculateSummary()\n this.updateCashFlowValue()\n this.$emit('save')\n }\n\n updateCashFlowValue () {\n const summary = this.existingPortfolio.summary.existingPortfolioSummary as any\n this.kycForm.client1.cashFlow.insurancePremiums = summary.c1.premium\n this.kycForm.client2.cashFlow.insurancePremiums = summary.c2.premium\n }\n\n calculateSummary () {\n this.existingPortfolio.summary.c1PortfolioSummary()\n this.existingPortfolio.summary.othersPortfolioSummary()\n if (this.isClient2Included) this.existingPortfolio.summary.c2PortfolioSummary()\n }\n\n closeModal () {\n this.showModal = false\n }\n\n @Watch('existingPortfolio.declaration.review')\n planningChanged (newValue: string) {\n if (newValue === 'yes') {\n this.existingPortfolio.declaration.reviewReasons = ''\n }\n }\n\n mounted () {\n this.uiService = this.sharedVariable.uiService\n\n this.calculateSummary()\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!./YourCurrentPlansPage.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!./YourCurrentPlansPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./YourCurrentPlansPage.vue?vue&type=template&id=acf99410&scoped=true&\"\nimport script from \"./YourCurrentPlansPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./YourCurrentPlansPage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./YourCurrentPlansPage.vue?vue&type=style&index=0&id=acf99410&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 \"acf99410\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/myinfo-icon.28e75045.svg\";","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\n\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > 65536) throw new Error('requested too many random bytes')\n // in case browserify isn't using the Uint8Array version\n var rawBytes = new global.Uint8Array(size)\n\n // This will not work in older browsers.\n // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n if (size > 0) { // getRandomValues fails on IE if size == 0\n crypto.getRandomValues(rawBytes)\n }\n // phantomjs doesn't like a buffer being passed here\n var bytes = new Buffer(rawBytes.buffer)\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TheCurrentPlansSummary.vue?vue&type=style&index=0&id=6f9a4c24&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!./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&\"","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!./YourCurrentPlansPage.vue?vue&type=style&index=0&id=acf99410&lang=scss&scoped=true&\"","export const convertToCurrencyFormat = (value, currency = '') => {\n if (!value && value !== 0) {\n return ''\n }\n\n return currency + Number(value).toLocaleString()\n}\n","'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:\"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":""}