{"version":3,"sources":["webpack:///./@core/components/AppSectionNavi.vue?8425","webpack:///./@core/components/AppSectionNavi.vue","webpack:///./@core/components/AppSectionNavi.vue?e286","webpack:///./@core/components/AppSectionNavi.vue?bc9c","webpack:///./node_modules/randomstring/lib/randomstring.js","webpack:///./node_modules/randomstring/lib/charset.js","webpack:///./node_modules/randomstring/index.js","webpack:///./@core/assets/myinfo-icon.svg","webpack:///./node_modules/randomstring/node_modules/randombytes/browser.js","webpack:///./node_modules/core-js/modules/es.string.ends-with.js","webpack:///./@core/pages/clientManagement-v2/views/ClientInfo.vue?b670","webpack:///./@core/pages/clientManagement-v2/views/ClientInfo.vue?5176","webpack:///./@core/pages/clientManagement-v2/mixins/ClientInfoMixin.ts","webpack:///./@core/pages/clientManagement-v2/views/ClientInfo.vue","webpack:///./@core/pages/clientManagement-v2/views/ClientInfo.vue?7b1e","webpack:///./@core/pages/clientManagement-v2/views/ClientInfo.vue?dcc0","webpack:///./@core/components/AppForm.vue?baa9","webpack:///./@core/components/AppCurrencyNA.vue?af5e","webpack:///./@core/components/AppSectionNavi.vue?1156","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":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","_s","header","_l","subheader","index","key","_t","section","path","attrs","toUrl","scopedSlots","_u","fn","ref","href","navigate","isActive","class","shouldDisabled","name","on","children","subsection","isSubActive","_e","staticRenderFns","parentPath","useRouterPath","constructedParentPath","rootPath","param","params","$router","currentRoute","matched","clientParam","clientOid","userParam","userOid","policyOid","returnedPath","replace","input","$route","endsWith","default","component","randomBytes","Charset","unsafeRandomBytes","length","stack","i","push","Math","floor","random","readUInt8","safeRandomBytes","e","processString","buf","initialString","chars","reqLen","maxByte","string","randomByte","charAt","getAsyncString","cb","err","generatedString","exports","generate","options","charset","setType","capitalization","setcapitalization","readable","removeUnreadable","removeDuplicates","charsLen","ceil","arrayUniq","prototype","type","numbers","charsLower","charsUpper","toUpperCase","hexChars","binaryChars","octalChars","unreadableChars","toLowerCase","charMap","split","join","module","oldBrowser","Error","crypto","global","msCrypto","size","rawBytes","Uint8Array","getRandomValues","bytes","Buffer","buffer","process","nextTick","$","uncurryThis","getOwnPropertyDescriptor","f","toLength","toString","notARegExp","requireObjectCoercible","correctIsRegExpLogic","IS_PURE","un$EndsWith","slice","min","CORRECT_IS_REGEXP_LOGIC","MDN_POLYFILL_BUG","descriptor","String","writable","target","proto","forced","searchString","that","endPosition","arguments","undefined","len","end","search","clientDto","title","nric","sections","clientInfoStore","unixTime","dateService","format","Number","map","route","isSuperUser","filter","$store","getters","currentUser","curUser","su","setReadOnly","retrieveClientDTOV2","State","Mutation","Action","components","AppForm","AppSectionNavi","uniqNoSet","arr","ret","indexOf","uniqSet","seen","Set","el","has","add","uniqSetWithForEach","forEach","doesForEachActuallyWork","style","structure","shouldShow","show","disabled","getCustomClass","hasErrors","focusId","getId","$event","focusInner","label","getTestId","domProps","labelModelValue","labelModel","get","set","value","directives","rawName","model","labelKey","expression","composing","$set","tooltip","eidx","msg","full","fullErr","slot","multiple","optionCols","multiLimit","buttonName","cycleMode","displayDirection","setValue","blurHandler","getValue","checkboxColumnNo","compact","option","isMyInfo","getLabelId","setSelectValue","decimal","maxChar","currencyFormat","precision","futureDate","disabledFutureDate","rows","isVertical","maxSize","columns","getValueForTable","remove","maxLength","counterMsg","isModernTheme","maxlength","numberAndNAOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","number","convertCurrencyToNumber","remainingChar","evt","window","event","charCode","which","keyCode","currentValue","isAlphabetN","isNonNumber","preventDefault","charCodeAt","isAlphabetA","formatValue","$emit","isNaN","source","useCurrency","currencyPrefix","toLocaleString","currency","replaceAll","projectInfo","inputValue","minimal","structures","errors","charLeft","getCharLeft","getCounterMsg","gridTemplateColumns","projectSettings","theme","condition","readOnly","Function","oriValue","labelValue","data","selectedOption","selectedIndex","_value","onChange","ex","uniqueID","snakeCaseKey","curAppForm","$el","hasOverflow","scrollWidth","clientWidth","eleId","ele","document","getElementById","focus","mc","classes","swe","first","find","s","scrollIntoView","behavior","block","arrangeCols","addEventListener","Date","now","deep","AppSmartSelect","AppCheckboxGroup","AppRadioSelection","AppDateInput","AppFormTable","AppCurrencyNA","AppDecimalNumber","AppTooltip"],"mappings":"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","file":"js/chunk-0dc5834e.a149b22b.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"section-navigation\"},[_c('div',{staticClass:\"information\"},[_c('div',{staticClass:\"header-wrapper\"},[_c('h1',[_vm._v(\" \"+_vm._s(_vm.header)+\" \")]),_vm._l((_vm.subheaders),function(subheader,index){return _c('p',{key:index},[_vm._v(\" \"+_vm._s(subheader)+\" \")])})],2),_vm._t(\"custom-header\")],2),_c('div',{staticClass:\"navigation\"},_vm._l((_vm.sections),function(section){return _c('router-link',{key:section.path,attrs:{\"to\":_vm.toUrl(section),\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nvar isActive = ref.isActive;\nreturn [_c('div',[_c('a',{class:{'disabled': section.shouldDisabled},attrs:{\"active\":isActive,\"href\":href,\"aria-label\":section.name},on:{\"click\":navigate}},[_vm._v(\" \"+_vm._s(section.name)+\" \")]),_c('transition',{attrs:{\"name\":\"height\"}},[(isActive && section.children)?_c('div',{staticClass:\"hight-animation-container\"},_vm._l((section.children),function(subsection){return _c('router-link',{key:subsection.path,attrs:{\"to\":_vm.toUrl(subsection, section.path),\"custom\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar href = ref.href;\nvar navigate = ref.navigate;\nreturn [_c('a',{staticClass:\"subsection\",attrs:{\"active\":_vm.isSubActive(subsection.path),\"href\":href,\"aria-label\":subsection.name},on:{\"click\":navigate}},[_vm._v(\" - \"+_vm._s(subsection.name)+\" \")])]}}],null,true)})}),1):_vm._e()])],1)]}}],null,true)})}),1),_c('div',{staticClass:\"action\"},[_vm._t(\"action\")],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\n\n\n\n\n\n\n\n\n\n\n\n\nimport { isEmpty } from 'lodash/fp'\nimport { Component, Prop, Vue } from 'vue-property-decorator'\n\n@Component\nexport default class AppSectionNavi extends Vue {\n @Prop({ default: '' }) readonly param: string\n @Prop() readonly header!: string\n @Prop() readonly subheaders!: string[]\n @Prop() readonly sections!: {\n name: string;\n url: string;\n allowed: boolean;\n }[]\n\n @Prop({ default: true }) useRouterPath?: boolean\n\n toUrl (section, parentPath: string) {\n if (this.useRouterPath) {\n const constructedParentPath = isEmpty(parentPath) ? '' : `${parentPath}/`\n return `${this.rootPath}/${constructedParentPath}${section.path}` // default to this path\n }\n // if there is no need to append the current router path, use this instead\n // more info on https://gitlab.picoded-dev.com/wenconsulting/ifam/frontend-core/-/merge_requests/359\n return this.param ? { name: section.name, params: this.param } : section.path\n }\n\n get rootPath () {\n const path = this.$router.currentRoute.matched[0].path\n const clientParam = this.$router.currentRoute.params.clientOid\n const userParam = this.$router.currentRoute.params.userOid\n const policyOid = this.$router.currentRoute.params.policyOid\n let returnedPath = path.replace(':userOid', userParam)\n returnedPath = returnedPath.replace(':clientOid', clientParam)\n returnedPath = returnedPath.replace(':policyOid', policyOid)\n return returnedPath\n }\n\n isSubActive (input) {\n return this.$route.path.endsWith(input)\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!./AppSectionNavi.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!./AppSectionNavi.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppSectionNavi.vue?vue&type=template&id=5d1f1824&scoped=true&\"\nimport script from \"./AppSectionNavi.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppSectionNavi.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppSectionNavi.vue?vue&type=style&index=0&id=5d1f1824&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 \"5d1f1824\",\n null\n \n)\n\nexport default component.exports","\"use strict\";\n\nvar randomBytes = require('randombytes');\nvar Charset = require('./charset.js');\n\n\nfunction unsafeRandomBytes(length) {\n var stack = [];\n for (var i = 0; i < length; i++) {\n stack.push(Math.floor(Math.random() * 255));\n }\n\n return {\n length,\n readUInt8: function (index) {\n return stack[index];\n }\n };\n}\n\nfunction safeRandomBytes(length) {\n try {\n return randomBytes(length);\n } catch (e) {\n /* React/React Native Fix + Eternal loop removed */\n return unsafeRandomBytes(length);\n }\n}\n\nfunction processString(buf, initialString, chars, reqLen, maxByte) {\n var string = initialString;\n for (var i = 0; i < buf.length && string.length < reqLen; i++) {\n var randomByte = buf.readUInt8(i);\n if (randomByte < maxByte) {\n string += chars.charAt(randomByte % chars.length);\n }\n }\n return string;\n}\n\nfunction getAsyncString(string, chars, length, maxByte, cb) {\n randomBytes(length, function(err, buf) {\n if (err) {\n // Since it is waiting for entropy, errors are legit and we shouldn't just keep retrying\n cb(err);\n }\n var generatedString = processString(buf, string, chars, length, maxByte);\n if (generatedString.length < length) {\n getAsyncString(generatedString, chars, length, maxByte, cb);\n } else {\n cb(null, generatedString);\n }\n })\n}\n\nexports.generate = function(options, cb) {\n var charset = new Charset();\n\n var length, chars, capitalization, string = '';\n\n // Handle options\n if (typeof options === 'object') {\n length = typeof options.length === 'number' ? options.length : 32;\n\n if (options.charset) {\n charset.setType(options.charset);\n }\n else {\n charset.setType('alphanumeric');\n }\n\n if (options.capitalization) {\n charset.setcapitalization(options.capitalization);\n }\n\n if (options.readable) {\n charset.removeUnreadable();\n }\n\n charset.removeDuplicates();\n }\n else if (typeof options === 'number') {\n length = options;\n charset.setType('alphanumeric');\n }\n else {\n length = 32;\n charset.setType('alphanumeric');\n }\n\n // Generate the string\n var charsLen = charset.chars.length;\n var maxByte = 256 - (256 % charsLen);\n\n if (!cb) {\n while (string.length < length) {\n var buf = safeRandomBytes(Math.ceil(length * 256 / maxByte));\n string = processString(buf, string, charset.chars, length, maxByte);\n }\n\n return string;\n }\n\n getAsyncString(string, charset.chars, length, maxByte, cb);\n\n};\n","var 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\");","module.exports = __webpack_public_path__ + \"img/myinfo-icon.28e75045.svg\";","'use strict'\n\nfunction oldBrowser () {\n throw new Error('secure random number generation not supported by this browser\\nuse chrome, FireFox or Internet Explorer 11')\n}\n\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > 65536) throw new Error('requested too many random bytes')\n // in case browserify isn't using the Uint8Array version\n var rawBytes = new global.Uint8Array(size)\n\n // This will not work in older browsers.\n // See https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n if (size > 0) { // getRandomValues fails on IE if size == 0\n crypto.getRandomValues(rawBytes)\n }\n // phantomjs doesn't like a buffer being passed here\n var bytes = new Buffer(rawBytes.buffer)\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\nvar IS_PURE = require('../internals/is-pure');\n\n// eslint-disable-next-line es/no-string-prototype-endswith -- safe\nvar un$EndsWith = uncurryThis(''.endsWith);\nvar slice = uncurryThis(''.slice);\nvar min = Math.min;\n\nvar CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');\n// https://github.com/zloirock/core-js/pull/702\nvar MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {\n var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');\n return descriptor && !descriptor.writable;\n}();\n\n// `String.prototype.endsWith` method\n// https://tc39.es/ecma262/#sec-string.prototype.endswith\n$({ target: 'String', proto: true, forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC }, {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = toString(requireObjectCoercible(this));\n notARegExp(searchString);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = that.length;\n var end = endPosition === undefined ? len : min(toLength(endPosition), len);\n var search = toString(searchString);\n return un$EndsWith\n ? un$EndsWith(that, search, end)\n : slice(that, end - search.length, end) === search;\n }\n});\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientInfo.vue?vue&type=style&index=0&id=62a07024&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.clientDto)?_c('div',{staticClass:\"page\"},[_c('AppSectionNavi',{attrs:{\"header\":((_vm.clientDto.title ? _vm.clientDto.title : '') + \" \" + (_vm.clientDto.name)),\"subheaders\":[_vm.clientDto.nric, (\"Ref No.: \" + (_vm.clientDto.clientId))],\"sections\":_vm.sections}}),_c('router-view',{staticClass:\"body\"})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable @typescript-eslint/camelcase */\nimport { Component, Vue, Watch } from 'vue-property-decorator'\nimport { inject } from 'inversify-props'\nimport { RouteConfig } from 'vue-router'\nimport API from '@core/services/API'\nimport AppForm from '@core/components/AppForm.vue'\nimport { IDateService } from '@master/services/IDateService'\nimport { namespace } from 'vuex-class'\nimport AppSectionNavi from '@core/components/AppSectionNavi.vue'\nimport { ClientManagementRoutes } from '../router/index'\n\nconst clientInfoStore = namespace('ClientInfoStore')\n\n@Component({\n components: {\n AppForm,\n AppSectionNavi\n }\n})\nexport class ClientInfoMixin extends Vue {\n @inject()\n protected dateService: IDateService\n\n @inject()\n protected $api: API\n\n @clientInfoStore.State\n private readOnly\n\n @clientInfoStore.Mutation\n private setReadOnly\n\n // Version 2 for client dto\n @clientInfoStore.State\n private clientDto\n\n @clientInfoStore.Action\n private retrieveClientDTOV2\n\n formattedDate (unixTime: number | string) {\n return this.dateService.format(Number(unixTime), 'YYYY-MM-DD')\n }\n\n get sections (): Array {\n return ClientManagementRoutes.map(route => {\n if (route.name === 'AML / CKA / AI / OI Monitoring' && !this.isSuperUser) {\n return null\n }\n return route\n }).filter(route => !!route)\n }\n\n get parentPath () {\n const path = this.$router.currentRoute.matched[0].path\n const param = this.$router.currentRoute.params.clientOid\n return path.replace(':clientOid', param)\n }\n\n get curUser () {\n return this.$store.getters.currentUser\n }\n\n get isSuperUser () {\n return this.curUser?.isSuperUser || false\n }\n\n get policyOid () {\n return this.$route.params.policyOid\n }\n\n get clientOid () {\n return this.$route.params.clientOid\n }\n\n @Watch('isSuperUser')\n suUpdated (su) {\n this.setReadOnly(!su)\n }\n\n async mounted () {\n // await this.fetchData()\n // if (!this.productList.getFullList.length) await this.fetchProductList()\n // if (this.clientProfile?.hrcRoles?.length) this.parseHrcRoles()\n this.setReadOnly(!this.isSuperUser)\n await this.retrieveClientDTOV2(this.clientOid)\n }\n}\n","\n\n\n\n\n\n\n\nimport { Mixins } from 'vue-property-decorator'\nimport { ClientInfoMixin } from '../mixins/ClientInfoMixin'\n\nexport default class ClientInfo extends Mixins(ClientInfoMixin) {\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!./ClientInfo.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!./ClientInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ClientInfo.vue?vue&type=template&id=62a07024&scoped=true&\"\nimport script from \"./ClientInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./ClientInfo.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ClientInfo.vue?vue&type=style&index=0&id=62a07024&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 \"62a07024\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./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!./AppSectionNavi.vue?vue&type=style&index=0&id=5d1f1824&lang=scss&scoped=true&\"","'use strict';\n\n// there's 3 implementations written in increasing order of efficiency\n\n// 1 - no Set type is defined\nfunction uniqNoSet(arr) {\n\tvar ret = [];\n\n\tfor (var i = 0; i < arr.length; i++) {\n\t\tif (ret.indexOf(arr[i]) === -1) {\n\t\t\tret.push(arr[i]);\n\t\t}\n\t}\n\n\treturn ret;\n}\n\n// 2 - a simple Set type is defined\nfunction uniqSet(arr) {\n\tvar seen = new Set();\n\treturn arr.filter(function (el) {\n\t\tif (!seen.has(el)) {\n\t\t\tseen.add(el);\n\t\t\treturn true;\n\t\t}\n\t});\n}\n\n// 3 - a standard Set type is defined and it has a forEach method\nfunction uniqSetWithForEach(arr) {\n\tvar ret = [];\n\n\t(new Set(arr)).forEach(function (el) {\n\t\tret.push(el);\n\t});\n\n\treturn ret;\n}\n\n// V8 currently has a broken implementation\n// https://github.com/joyent/node/issues/8449\nfunction doesForEachActuallyWork() {\n\tvar ret = false;\n\n\t(new Set([true])).forEach(function (el) {\n\t\tret = el;\n\t});\n\n\treturn ret === true;\n}\n\nif ('Set' in global) {\n\tif (typeof Set.prototype.forEach === 'function' && doesForEachActuallyWork()) {\n\t\tmodule.exports = uniqSetWithForEach;\n\t} else {\n\t\tmodule.exports = uniqSet;\n\t}\n} else {\n\tmodule.exports = uniqNoSet;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"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":""}