{"version":3,"sources":["webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./@core/components/AppDatatable.vue?fa4e","webpack:///./@core/components/AppDatatable.vue","webpack:///./@core/components/AppDatatable.vue?a0c0","webpack:///./@core/components/AppDatatable.vue?89f0","webpack:///./@core/pages/clientManagement-v2/views/ClientKycPdf.vue?57ee","webpack:///./@core/pages/client-management/model/ClientKycPdfMeta.ts","webpack:///./@core/pages/client-management/model/ClientKycPdfMetaList.ts","webpack:///./@core/pages/clientManagement-v2/mixins/ClientKycPdfMixin.ts","webpack:///./@core/pages/clientManagement-v2/views/ClientKycPdf.vue","webpack:///./@core/pages/clientManagement-v2/views/ClientKycPdf.vue?9fae","webpack:///./@core/pages/clientManagement-v2/views/ClientKycPdf.vue?6691","webpack:///./@core/components/AppDatatable.vue?8f2d","webpack:///./@core/components/AppDecimalNumber.vue?6388","webpack:///./@core/components/AppDecimalNumber.vue?0ecc","webpack:///./@core/components/AppDecimalNumber.vue","webpack:///./@core/components/AppDecimalNumber.vue?4e6d","webpack:///./@core/components/AppDecimalNumber.vue?d906"],"names":["module","exports","Object","is","x","y","call","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","toString","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","this","searcher","undefined","RegExp","string","rx","S","res","done","value","previousLastIndex","lastIndex","result","index","render","_vm","_h","$createElement","_c","_self","staticClass","class","show","directives","name","rawName","expression","ref","attrs","currentPageData","hasNoError","selectionKey","tableRowClassName","on","sortChange","rowClick","handleSelection","_e","_l","column","key","field","label","sortable","scopedSlots","_u","fn","scope","row","modifiers","$event","$$selectedVal","Array","prototype","filter","target","options","o","selected","map","val","_value","$set","multiple","handleCustomEvent","option","domProps","_v","_s","type","_n","$forceUpdate","decimal","disabled","convertToCurrency","_t","button","$emit","shouldDisabled","stopPropagation","infoFrom","infoTo","total","currentPage","pageSizesDisplay","pageSize","pageChange","handleSizeChange","staticRenderFns","pageSizes","sortBy","prop","data","order","sizes","size","lastSize","Math","round","push","search","searchKeyword","trim","toLowerCase","filters","length","JSON","stringify","includes","filteredData","sort","a","b","sortedData","slice","every","e","error","emit","redirect","window","location","href","rows","appdatatable","$refs","clearSelection","currencySymbol","Number","toLocaleString","minimumFractionDigits","maximumFractionDigits","clearCheckboxOnHeader","default","components","AppDecimalNumber","component","columns","kycPdfTabulated","teleportTo","header","oid","adviserName","supervisorFullname","datePdfSubmission","dateSupervisorDecideDate","pdfStatus","dateOpsDecideDate","dateOpsDecide","rcmd","rcm","prod","BasicProduct","riskRatingService","extractData","date","dateService","format","formatDate","productName","Meta","Ignore","RawKey","list","kycPdf","recommended","MetaList","clientInfoStore","kycPdfList","unixTime","$store","getters","currentUser","curUser","isSuperUser","$route","params","policyOid","clientOid","display","kycPdfUrl","$router","resolve","kycPdfOid","open","$api","query","queryArgs","clientDto","nric","headers","response","newCP","fetchKycList","State","deep","AppDatatable","triggerKeyEvent","numberAndDecimalOnly","onBlur","onFocus","onSelect","composing","inputModal","textIsSelected","valueChange","evt","event","keyCode","which","currentValue","isNonNumberAndNonDecimal","preventDefault","isDecimal","allowDecimal","indexOf","number","split","caratPos","srcElement","selectionStart","dotPos","isNonNumber","formatValue","replaceAll","source","convertTo","formatter","Intl","NumberFormat","inputValue"],"mappings":"mGAGAA,EAAOC,QAAUC,OAAOC,IAAM,SAAYC,EAAGC,GAE3C,OAAOD,IAAMC,EAAU,IAAND,GAAW,EAAIA,IAAM,EAAIC,EAAID,GAAKA,GAAKC,GAAKA,I,2DCJ/D,IAAIC,EAAO,EAAQ,QACfC,EAAgC,EAAQ,QACxCC,EAAW,EAAQ,QACnBC,EAAyB,EAAQ,QACjCC,EAAY,EAAQ,QACpBC,EAAW,EAAQ,QACnBC,EAAY,EAAQ,QACpBC,EAAa,EAAQ,QAGzBN,EAA8B,UAAU,SAAUO,EAAQC,EAAcC,GACtE,MAAO,CAGL,SAAgBC,GACd,IAAIC,EAAIT,EAAuBU,MAC3BC,OAAqBC,GAAVJ,OAAsBI,EAAYT,EAAUK,EAAQH,GACnE,OAAOM,EAAWd,EAAKc,EAAUH,EAAQC,GAAK,IAAII,OAAOL,GAAQH,GAAQH,EAASO,KAIpF,SAAUK,GACR,IAAIC,EAAKhB,EAASW,MACdM,EAAId,EAASY,GACbG,EAAMV,EAAgBD,EAAcS,EAAIC,GAE5C,GAAIC,EAAIC,KAAM,OAAOD,EAAIE,MAEzB,IAAIC,EAAoBL,EAAGM,UACtBpB,EAAUmB,EAAmB,KAAIL,EAAGM,UAAY,GACrD,IAAIC,EAASlB,EAAWW,EAAIC,GAE5B,OADKf,EAAUc,EAAGM,UAAWD,KAAoBL,EAAGM,UAAYD,GAC9C,OAAXE,GAAmB,EAAIA,EAAOC,Y,kCCjC3C,IAAIC,EAAS,WAAa,IAAIC,EAAIf,KAASgB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,YAAYC,MAAM,CAAC,OAAUN,EAAIO,KAAM,UAAaP,EAAIO,OAAO,CAACJ,EAAG,WAAW,CAACK,WAAW,CAAC,CAACC,KAAK,UAAUC,QAAQ,YAAYhB,MAAOM,EAAW,QAAEW,WAAW,YAAYC,IAAI,eAAeC,MAAM,CAAC,KAAOb,EAAIc,gBAAgB,OAASd,EAAIe,WAAW,KAAO,OAAO,UAAUf,EAAIgB,aAAa,iBAAiBhB,EAAIiB,kBAAkB,yBAAyB,eAAeC,GAAG,CAAC,cAAclB,EAAImB,WAAW,YAAYnB,EAAIoB,SAAS,mBAAmBpB,EAAIqB,kBAAkB,CAAErB,EAAgB,aAAEG,EAAG,kBAAkB,CAACU,MAAM,CAAC,KAAO,YAAY,qBAAoB,KAAQb,EAAIsB,KAAKtB,EAAIuB,GAAIvB,EAAW,SAAE,SAASwB,GAAQ,MAAO,CAAEA,EAAc,QAAErB,EAAG,kBAAkB,CAACsB,IAAID,EAAOE,MAAMb,MAAM,CAAC,KAAOW,EAAOE,MAAM,MAAQF,EAAOG,MAAM,MAAQ,SAAS,cAA+BxC,IAApBqC,EAAOI,UAAgCJ,EAAOI,UAAUC,YAAY7B,EAAI8B,GAAG,CAAC,CAACL,IAAI,UAAUM,GAAG,SAASC,GAAO,MAAO,CAAC7B,EAAG,SAAS,CAACK,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,eAAehB,MAAOsC,EAAMC,IAAIT,EAAOE,OAAQf,WAAW,0BAA0BuB,UAAU,CAAC,MAAO,KAAQhB,GAAG,CAAC,OAAS,CAAC,SAASiB,GAAQ,IAAIC,EAAgBC,MAAMC,UAAUC,OAAOnE,KAAK+D,EAAOK,OAAOC,SAAQ,SAASC,GAAG,OAAOA,EAAEC,YAAWC,KAAI,SAASF,GAAG,IAAIG,EAAM,WAAYH,EAAIA,EAAEI,OAASJ,EAAEhD,MAAM,OAAOmD,KAAO7C,EAAI+C,KAAKf,EAAMC,IAAKT,EAAOE,MAAOS,EAAOK,OAAOQ,SAAWZ,EAAgBA,EAAc,KAAK,SAASD,GAAQ,OAAOnC,EAAIiD,kBAAkBjB,EAAMC,SAASjC,EAAIuB,GAAIC,EAAc,SAAE,SAAS0B,EAAOpD,GAAO,OAAOK,EAAG,SAAS,CAACsB,IAAI3B,EAAMqD,SAAS,CAAC,MAAQD,EAAOxD,QAAQ,CAACM,EAAIoD,GAAGpD,EAAIqD,GAAGH,EAAOvB,aAAY,OAAO,MAAK,KAASH,EAAW,KAAErB,EAAG,kBAAkB,CAACsB,IAAID,EAAOE,MAAMb,MAAM,CAAC,KAAOW,EAAOE,MAAM,MAAQF,EAAOG,MAAM,MAAQ,SAAS,cAA+BxC,IAApBqC,EAAOI,UAAgCJ,EAAOI,UAAUC,YAAY7B,EAAI8B,GAAG,CAAC,CAACL,IAAI,UAAUM,GAAG,SAASC,GAAO,MAAO,CAAgB,WAAdR,EAAO8B,KAAiB,CAACnD,EAAG,QAAQ,CAACK,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,sBAAsBhB,MAAOsC,EAAMC,IAAIT,EAAOE,OAAQf,WAAW,0BAA0BuB,UAAU,CAAC,QAAS,EAAK,MAAO,KAAQrB,MAAM,CAAC,KAAOW,EAAO8B,MAAMH,SAAS,CAAC,MAASnB,EAAMC,IAAIT,EAAOE,QAASR,GAAG,CAAC,OAAS,CAAC,SAASiB,GAAQnC,EAAI+C,KAAKf,EAAMC,IAAKT,EAAOE,MAAO1B,EAAIuD,GAAGpB,EAAOK,OAAO9C,SAAS,SAASyC,GAAQ,OAAOnC,EAAIiD,kBAAkBjB,EAAMC,OAAO,KAAO,SAASE,GAAQ,OAAOnC,EAAIwD,oBAAqC,mBAAhBhC,EAAO8B,KAA2B,CAACnD,EAAG,mBAAmB,CAACU,MAAM,CAAC,QAAUW,EAAOiC,QAAQ,WAAazB,EAAMC,IAAIT,EAAOE,OAAO,SAAWF,EAAOkC,aAA8B,aAAhBlC,EAAO8B,KAAqB,CAACnD,EAAG,QAAQ,CAACH,EAAIoD,GAAGpD,EAAIqD,GAAGrD,EAAI2D,kBAAkB3B,EAAMC,IAAIT,EAAOE,aAA8B,WAAhBF,EAAO8B,KAAmBtD,EAAI4D,GAAG,UAAS,WAAW,OAAO5D,EAAIuB,GAAIC,EAAc,SAAE,SAASqC,EAAO/D,GAAO,OAAOK,EAAG,SAAS,CAACsB,IAAI3B,EAAMoB,GAAG,CAAC,MAAQ,SAASiB,GAAQ,OAAOnC,EAAI8D,MAAMD,EAAQ7B,EAAMC,QAAQ,CAACjC,EAAIoD,GAAGpD,EAAIqD,GAAGQ,YAAgC,uBAAhBrC,EAAO8B,KAA+BtD,EAAI4D,GAAG,UAAS,WAAW,OAAO5D,EAAIuB,GAAIC,EAAc,SAAE,SAASqC,EAAO/D,GAAO,OAAOK,EAAG,SAAS,CAACsB,IAAI3B,EAAMe,MAAM,CAAC,SAAWgD,EAAOE,gBAAgB7C,GAAG,CAAC,MAAQ,SAASiB,GAAQ,OAAOnC,EAAI8D,MAAMD,EAAOlC,MAAOK,EAAMC,QAAQ,CAACjC,EAAIoD,GAAGpD,EAAIqD,GAAGQ,EAAOlC,gBAAcxB,EAAG,QAAQ,CAACK,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,eAAehB,MAAOsC,EAAMC,IAAIT,EAAOE,OAAQf,WAAW,0BAA0BuB,UAAU,CAAC,MAAO,KAAQrB,MAAM,CAAC,KAAOW,EAAO8B,MAAMH,SAAS,CAAC,MAASnB,EAAMC,IAAIT,EAAOE,QAASR,GAAG,CAAC,OAAS,CAAC,SAASiB,GAAQ,OAAOnC,EAAI+C,KAAKf,EAAMC,IAAKT,EAAOE,MAAOS,EAAOK,OAAO9C,QAAQ,SAASyC,GAAQ,OAAOnC,EAAIiD,kBAAkBjB,EAAMC,cAAc,MAAK,KAAQ9B,EAAG,kBAAkB,CAACsB,IAAID,EAAOE,MAAMb,MAAM,CAAC,KAAOW,EAAOE,MAAM,MAAQF,EAAOG,MAAM,MAAQ,SAAS,cAA+BxC,IAApBqC,EAAOI,UAAgCJ,EAAOI,SAAS,yBAAwB,GAAMC,YAAY7B,EAAI8B,GAAG,CAAC,CAACL,IAAI,UAAUM,GAAG,SAASC,GAAO,MAAO,CAAC7B,EAAG,MAAM,CAACH,EAAIoD,GAAGpD,EAAIqD,GAAGrB,EAAMC,IAAIT,EAAOE,eAAe,MAAK,SAAY1B,EAAY,SAAEG,EAAG,kBAAkB,CAACsB,IAAI,WAAWZ,MAAM,CAAC,KAAO,WAAW,MAAQ,SAAS,UAAW,GAAOgB,YAAY7B,EAAI8B,GAAG,CAAC,CAACL,IAAI,UAAUM,GAAG,SAASC,GAAO,MAAO,CAAC7B,EAAG,MAAM,CAACe,GAAG,CAAC,MAAQ,SAASiB,GAAiC,OAAzBA,EAAO6B,kBAAyBhE,EAAI8D,MAAM,WAAY9B,EAAMC,QAAQ,CAAC9B,EAAG,IAAI,CAACE,YAAY,mCAAmC,MAAK,EAAM,cAAcL,EAAIsB,MAAM,GAAGnB,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACL,EAAIoD,GAAG,QAAQpD,EAAIqD,GAAGrD,EAAIiE,UAAU,OAAOjE,EAAIqD,GAAGrD,EAAIkE,QAAQ,OAAOlE,EAAIqD,GAAGrD,EAAImE,OAAO,cAAchE,EAAG,gBAAgB,CAACU,MAAM,CAAC,eAAeb,EAAIoE,YAAY,MAAQpE,EAAImE,MAAM,uBAAsB,EAAM,aAAanE,EAAIqE,iBAAiB,YAAYrE,EAAIsE,SAAS,OAAS,mCAAmC,WAAa,IAAIpD,GAAG,CAAC,iBAAiBlB,EAAIuE,WAAW,cAAcvE,EAAIwE,qBAAqB,IAAI,IACtrJC,EAAkB,G,gNCsID,EAArB,yG,0BAUU,EAAAC,UAAY,CAAC,GAAI,GAAI,IAAK,IAAK,KAC/B,EAAAJ,SAAW,GACX,EAAAF,YAAc,EACd,EAAAO,OAAe,CACrBC,KAAM,EAAKC,KAAK,GAChBC,MAAO,aAfX,uDAoBE,WAAoB,WAElB,GAAI7F,KAAKkF,MAAQlF,KAAKyF,UAAU,GAAI,MAAO,CAACzF,KAAKyF,UAAU,IAG3D,IAAMK,EAAQ9F,KAAKyF,UAAUnC,QAAO,SAAAyC,GAAI,OAAIA,EAAO,EAAKb,SAGlDc,EAA+C,IAAnCC,KAAKC,MAAMlG,KAAKkF,MAAQ,IAAM,GAGhD,OAFAY,EAAMK,KAAKH,GAEJF,IA/BX,wBAkCE,WACE,GAAI,yBAAY9F,KAAKoG,QAAS,OAAOpG,KAAK4F,KAE1C,IAAMS,EAAgBrG,KAAKoG,OAAOE,OAAOC,cACnCX,EAAQ5F,KAAKwG,SAAWxG,KAAKwG,QAAQC,OAAUzG,KAAKwG,QAAUxG,KAAK4F,KACzE,OAAOA,EAAKtC,QAAO,SAAA7C,GACjB,IAAMG,EAAS8F,KAAKC,UAAUlG,GAAO8F,cAAcK,SAASP,GAC5D,OAAOzF,OAzCb,sBA6CE,WAAc,WACNgF,EAAO5F,KAAK6G,aAAaC,MAAK,SAACC,EAAGC,GACtC,GAA0B,cAAtB,EAAKtB,OAAOG,MAAuB,CACrC,GAAIkB,EAAE,EAAKrB,OAAOC,MAAQqB,EAAE,EAAKtB,OAAOC,MAAS,OAAO,EACxD,GAAIoB,EAAE,EAAKrB,OAAOC,MAAQqB,EAAE,EAAKtB,OAAOC,MAAS,OAAQ,MACpD,CACL,GAAIoB,EAAE,EAAKrB,OAAOC,MAAQqB,EAAE,EAAKtB,OAAOC,MAAS,OAAQ,EACzD,GAAIoB,EAAE,EAAKrB,OAAOC,MAAQqB,EAAE,EAAKtB,OAAOC,MAAS,OAAO,EAE1D,OAAO,KAET,OAAOC,IAxDX,2BA2DE,WACE,OAAO5F,KAAKiH,WAAWC,OAAOlH,KAAKmF,YAAc,GAAKnF,KAAKqF,SAAUrF,KAAKqF,SAAWrF,KAAKmF,eA5D9F,iBA+DE,WACE,OAAOnF,KAAK6G,aAAaJ,SAhE7B,oBAmEE,WACE,OAAyB,IAArBzG,KAAKmF,aACCnF,KAAKmF,YAAc,GAAKnF,KAAKqF,SAAW,EAEzCrF,KAAK6G,aAAaJ,OAAS,EAAI,IAvE5C,kBA2EE,WACE,OAAOzG,KAAK6B,gBAAgB4E,OAASzG,KAAKqF,SACtCrF,KAAKqF,UAAYrF,KAAKmF,YAAc,GAAKnF,KAAK6B,gBAAgB4E,OAC9DzG,KAAKqF,SAAWrF,KAAKmF,cA9E7B,sBAiFE,WACE,OAAOnF,KAAK4F,KAAKuB,OAAM,SAAAC,GAAC,YAAgBlH,IAAZkH,EAAEC,WAlFlC,wBAqFE,SAAYlC,GACVnF,KAAKmF,YAAcA,EACnBnF,KAAK6E,MAAM,mBAAoB7E,KAAKmF,eAvFxC,wBA0FE,SAAY2B,GACV9G,KAAK0F,OAAOC,KAAOmB,EAAKnB,KACxB3F,KAAK0F,OAAOG,MAAQiB,EAAKjB,OAAS,cA5FtC,sBA+FE,SAAU7C,GACJA,EAAIsE,MAAMtH,KAAK6E,MAAM,iBAAkB7B,GACtCA,EAAIuE,WACTC,OAAOC,SAASC,KAAO1E,EAAIuE,YAlG/B,6BAqGE,SAAiBI,GACf3H,KAAK6E,MAAM,kBAAmB8C,KAtGlC,+BAyGE,SAAmB3E,GACjBhD,KAAK6E,MAAM,oBAAqB7B,KA1GpC,+BA6GE,YAA0B,IAALA,EAAK,EAALA,IACnB,OAAIA,EAAIqE,MACC,cAEA,KAjHb,mCAqHE,WACE,IAAMO,EAAe5H,KAAK6H,MAAMD,aAC5B5H,KAAK+B,cAAgB6F,GACvBA,EAAaE,mBAxHnB,8BA4HE,SAAkBlE,GAChB5D,KAAKqF,SAAWzB,IA7HpB,+BAgIE,SAAmBnD,GAA0B,IAAnBsH,EAAmB,uDAAF,GACzC,OAAKtH,GAAmB,IAAVA,EACPsH,EAAiBC,OAAOvH,GAAOwH,oBAAe/H,EAAW,CAC9DgI,sBAAuB,EACvBC,sBAAuB,IAHS,KAjItC,qBAwIE,WACEnI,KAAK0F,OAAS1F,KAAK8G,KACnB9G,KAAKoI,0BA1IT,oCA8IE,WACMpI,KAAK8H,gBACP9H,KAAKoI,4BAhJX,GAA0C,QAChC,gBAAP,kB,8BACO,gBAAP,kB,8BACO,gBAAP,kB,2BACO,gBAAP,kB,8BACO,gBAAP,kB,2BACO,gBAAP,kB,6BACwB,gBAAxB,eAAK,CAAEC,SAAS,K,2BACS,gBAAzB,eAAK,CAAEA,SAAS,K,+BACT,gBAAP,kB,mCASO,gBAAP,kB,qCA4HD,gBADC,eAAM,mB,qCAKN,MAlJkB,EAAY,gBALhC,eAAU,CACTC,WAAY,CACVC,mBAAA,SAGiB,WCvIkX,I,wBCQnYC,EAAY,eACd,EACA1H,EACA0E,GACA,EACA,KACA,WACA,MAIa,OAAAgD,E,yECnBf,IAAI1H,EAAS,WAAa,IAAIC,EAAIf,KAASgB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,eAAe,CAACU,MAAM,CAAC,QAAUb,EAAI0H,QAAQ,KAAO1H,EAAI2H,gBAAgB,KAAO,CAAC/C,KAAM,gBAAiBE,MAAO,aAAa,MAAO,GAAM5D,GAAG,CAAC,eAAiBlB,EAAI4H,eAAe,MAC3TnD,EAAkB,G,0QCOToD,EAAS,CACpB,OACA,eACA,sBACA,sBACA,8BACA,aACA,uBACA,kBACA,QAGW,EAAb,yG,0BASE,EAAAC,SAAM3I,EAEN,EAAA4I,iBAAc5I,EACd,EAAA6I,wBAAqB7I,EACrB,EAAA8I,uBAAoB9I,EACpB,EAAA+I,8BAA2B/I,EAC3B,EAAAgJ,eAAYhJ,EACZ,EAAAiJ,uBAAoBjJ,EACpB,EAAAkJ,mBAAgBlJ,EAEhB,EAAAmJ,KAAuB,GAnBzB,oDAqBE,WAAW,WACTrJ,KAAKqJ,KAAOrJ,KAAKqJ,KAAK1F,KAAI,SAAC2F,GACzB,IAAMC,EAAO,IAAIC,EAAA,KAAa,EAAKC,mBACnC,OAAOF,EAAKG,YAAYJ,QAxB9B,wBA4BE,SAAYK,GACV,OAAO3J,KAAK4J,YAAYC,OAAO7B,OAAO2B,GAAO,gBA7BjD,oCAgCE,WACE,OAAO3J,KAAK8J,WAAW9J,KAAKgJ,qBAjChC,yBAoCE,SAAae,GACX,OAAO/J,KAAKqJ,KAAK1F,KAAI,SAAA2F,GAAG,OAAIA,EAAIS,eAAanD,SAASmD,OArC1D,GAAsCC,EAAA,MAGpC,gBAFC,OAAAC,EAAA,QACA,uB,kCAID,gBADC,OAAAA,EAAA,S,wCAID,gBADC,OAAAC,EAAA,MAAO,S,0BCzBH,IAAM,EAAb,wDAGE,WAAatE,GAA2B,0CAChCgD,EAAQhD,EAAM,GAJxB,kDAOE,SAAamE,GACX,OAAO/J,KAAKmK,KAAK7G,QAAO,SAAA8G,GACtB,OAAOA,EAAOC,YAAYN,UAThC,GAA0CO,EAAA,MCQpCC,EAAkB,eAAU,mBAMrB,EAAb,yG,0BAUY,EAAAC,WAAmC,KAV/C,sDAYE,SAAeC,GACb,OAAOzK,KAAK4J,YAAYC,OAAO7B,OAAOyC,GAAW,gBAbrD,mBAgBE,WACE,OAAOzK,KAAK0K,OAAOC,QAAQC,cAjB/B,uBAoBE,WAAe,MACb,OAAO,UAAA5K,KAAK6K,eAAL,eAAcC,eAAe,IArBxC,qBAwBE,WACE,OAAO9K,KAAK+K,OAAOC,OAAOC,YAzB9B,qBA4BE,WACE,OAAOjL,KAAK+K,OAAOC,OAAOE,YA7B9B,mBAgCE,WACE,MAAO,CACL,CAAExI,MAAO,UAAWD,MAAO,eAC3B,CAAEC,MAAO,aAAcD,MAAO,sBAC9B,CAAEC,MAAO,kBAAmBD,MAAO,4BACnC,CAAEC,MAAO,oBAAqBD,MAAO,4BACrC,CAAEC,MAAO,oBAAqBD,MAAO,qBACrC,CAAEC,MAAO,SAAUD,MAAO,gBAvChC,2BA2CE,WAAmB,QACjB,OAAO,UAAAzC,KAAKwK,kBAAL,mBAAiBL,YAAjB,eAAuBxG,KAAI,SAACyG,GACjC,IAAMe,EAAUf,EAEhB,OADAe,EAAQ7D,MAAO,EACR8C,OACH,KAhDV,wBAmDE,SAAYpH,GACV,IAAMoI,EAAYpL,KAAKqL,QAAQC,QAAQ,CAAE9J,KAAM,SAAUwJ,OAAQ,CAAEO,UAAWvI,EAAI6F,OAClFrB,OAAOgE,KAAKJ,EAAU1D,KAAM,YArDhC,mFAwDE,oHACyB1H,KAAKyL,KAAKrB,OAAOD,KAAK,CAC3CuB,MAAO,kDACPC,UAAWjF,KAAKC,UAAU,CAAC3G,KAAK4L,UAAUC,KAAM7L,KAAK4L,UAAUC,KAAM,wBACrEC,QAASpF,KAAKC,UAAUiC,KAJ5B,OACQmD,EADR,OAME/L,KAAKwK,WAAa,IAAI,EAAqBuB,EAASnG,MANtD,gDAxDF,8IAkEE,WAAsBoG,GAAtB,qFACMA,EAAMH,KADZ,gCAEU7L,KAAKiM,eAFf,gDAlEF,wIAwEE,iGACOjM,KAAK4L,UAAUC,KADtB,iEAEQ7L,KAAKiM,eAFb,gDAxEF,8DAAuC,QAErC,gBADC,uB,kCAID,gBADC,uB,2BAID,gBADC1B,EAAgB2B,O,gCA2DjB,gBADC,eAAM,YAAa,CAAEC,MAAM,K,6BAK3B,MAtEU,EAAiB,gBAL7B,eAAU,CACT7D,WAAY,CACV8D,eAAA,SAGS,G,ICCQ,E,qIAAqB,eAAO,IClB0X,I,YCOva5D,EAAY,eACd,EACA1H,EACA0E,GACA,EACA,KACA,WACA,MAIa,aAAAgD,E,2CClBf,W,kCCAA,W,kCCAA,IAAI1H,EAAS,WAAa,IAAIC,EAAIf,KAASgB,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACK,WAAW,CAAC,CAACC,KAAK,QAAQC,QAAQ,UAAUhB,MAAOM,EAAc,WAAEW,WAAW,eAAeN,YAAY,gBAAgBQ,MAAM,CAAC,SAAWb,EAAI0D,UAAUP,SAAS,CAAC,MAASnD,EAAc,YAAGkB,GAAG,CAAC,MAAQ,SAASiB,GAAQ,OAAOnC,EAAIsL,gBAAgBnJ,IAAS,QAAU,SAASA,GAAQ,OAAOnC,EAAIsL,gBAAgBnJ,IAAS,SAAW,SAASA,GAAQ,OAAOnC,EAAIuL,qBAAqBpJ,IAAS,KAAO,SAASA,GAAQ,OAAOnC,EAAIwL,UAAU,MAAQ,SAASrJ,GAAQ,OAAOnC,EAAIyL,WAAW,OAAS,SAAStJ,GAAQ,OAAOnC,EAAI0L,SAASvJ,IAAS,MAAQ,SAASA,GAAWA,EAAOK,OAAOmJ,YAAqB3L,EAAI4L,WAAWzJ,EAAOK,OAAO9C,YACztB+E,EAAkB,G,4HCUD,EAArB,yG,0BAKG,EAAAmH,WAAa,GACb,EAAAC,gBAAiB,EACjB,EAAAC,aAAc,EAPjB,6DASG,SAAsBC,GACpBA,EAAOA,GAAQtF,OAAOuF,MACtB,IAAMC,EAAWF,EAAIG,MAASH,EAAIG,MAAQH,EAAIE,QAExCE,EAAeJ,EAAIvJ,OAAO9C,MAEhC,GADAT,KAAK6M,aAAc,EACf7M,KAAK4M,eAMP,OALI5M,KAAKmN,yBAAyBH,GAChCF,EAAIM,iBAEJpN,KAAK4M,gBAAiB,GAEjB,EAgBT,GAbI5M,KAAKmN,yBAAyBH,IAChCF,EAAIM,iBAGFpN,KAAKqN,UAAUL,KACZhN,KAAKsN,cACRR,EAAIM,iBAEFF,EAAaK,QAAQ,MAAQ,GAC/BT,EAAIM,kBAIJpN,KAAKwE,QAAS,CAChB,IAAMgJ,EAASN,EAAaO,MAAM,KAC9BC,EAAWR,EAAazG,QACxBqG,EAAIa,WAAWC,gBAAoD,MAAlCd,EAAIa,WAAWC,kBAClDF,EAAWZ,EAAIa,WAAWC,gBAE5B,IAAMC,EAASX,EAAaK,QAAQ,KAChCG,EAAWG,GAAUA,GAAU,GAAKL,EAAO,GAAG/G,OAASzG,KAAKwE,QAAU,GACxEsI,EAAIM,oBA7Cb,6BAkDG,WACEpN,KAAK6M,aAAc,IAnDxB,wBAsDG,WACE,OAAwB,IAAjB7M,KAAKwE,UAvDjB,sCA0DG,SAA0BwI,GACxB,OAAKhN,KAAKsN,aACHtN,KAAK8N,YAAYd,IAAahN,KAAKsN,eAAiBtN,KAAKqN,UAAUL,GAD3ChN,KAAK8N,YAAYd,KA3DrD,uBA+DG,SAAWA,GACT,OAAmB,KAAZA,IAhEZ,yBAmEG,SAAaA,GAEX,OAAOA,EAAU,KAAOA,EAAU,IAAMA,EAAU,MArEvD,oBAwEG,WACOhN,KAAK6M,aAAgB7M,KAAK2M,YAK/B3M,KAAK2M,WAAa3M,KAAK+N,YAAY/N,KAAK2M,YACxC3M,KAAK6E,MAAM,QAAS7E,KAAK+N,YAAY/N,KAAK2M,WAAY,SALpD3M,KAAK2M,WAAa3M,KAAK+N,iBAAY7N,KA1E1C,qBAkFG,WAEEF,KAAK6M,aAAc,EACnB7M,KAAK2M,WAAa3M,KAAK2M,WAAWqB,WAAW,IAAK,MArFvD,sBAwFG,WACEhO,KAAK4M,gBAAiB,EACtB5M,KAAK6M,aAAc,IA1FxB,yBA6FG,SAAaoB,GAAwC,IAAhCC,EAAgC,uDAAL,MAW9C,GAVsB,kBAAXD,EACLA,EACFA,EAASjG,OAAOiG,EAAOD,WAAW,IAAK,KACnB,KAAXC,GAAiBjO,KAAK6M,cAC/BoB,EAAS,QAES/N,IAAX+N,GAAkC,MAAVA,IACjCA,EAAS,IAGO,QAAdC,EAAqB,SACvB,GAAe,KAAXD,EAAe,OAAOA,EAC1B,IAAME,EAAY,IAAIC,KAAKC,aAAa,QAAS,CAC/CnG,sBAAqB,UAAElI,KAAKwE,eAAP,QAAkB,EACvC2D,sBAAqB,UAAEnI,KAAKwE,eAAP,QAAkB,IAEzC,OAAO2J,EAAUtE,OAAOoE,GAG1B,OAAKA,GACI,IAlHd,gCAyHG,WACMjO,KAAKsO,WACPtO,KAAK2M,WAAa3M,KAAK+N,YAAY/N,KAAKsO,YAExCtO,KAAK2M,WAAa3M,KAAK+N,YAAY,MA7H1C,qBAiIE,WACE/N,KAAK2M,WAAa3M,KAAK+N,YAAY/N,KAAKsO,gBAlI5C,GAA8C,QACpC,gBAAP,kB,iCACqB,gBAArB,eAAK,CAAEjG,QAAS,K,8BACS,gBAAzB,eAAK,CAAEA,SAAS,K,+BAsHhB,gBADA,eAAM,e,iCAOL,MA/HiB,EAAgB,gBADpC,QACoB,WCXsX,I,wBCQvYG,EAAY,eACd,EACA1H,EACA0E,GACA,EACA,KACA,WACA,MAIa,OAAAgD,E","file":"js/chunk-91b7a526.f5ba2163.js","sourcesContent":["// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"datatable\",class:{'active': _vm.show, 'inactive': !_vm.show}},[_c('el-table',{directives:[{name:\"loading\",rawName:\"v-loading\",value:(_vm.loading),expression:\"loading\"}],ref:\"appdatatable\",attrs:{\"data\":_vm.currentPageData,\"stripe\":_vm.hasNoError,\"size\":\"mini\",\"row-key\":_vm.selectionKey,\"row-class-name\":_vm.tableRowClassName,\"header-cell-class-name\":'cell-header'},on:{\"sort-change\":_vm.sortChange,\"row-click\":_vm.rowClick,\"selection-change\":_vm.handleSelection}},[(_vm.selectionKey)?_c('el-table-column',{attrs:{\"type\":\"selection\",\"reserve-selection\":true}}):_vm._e(),_vm._l((_vm.columns),function(column){return [(column.options)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('select',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],on:{\"change\":[function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(scope.row, column.field, $event.target.multiple ? $$selectedVal : $$selectedVal[0])},function($event){return _vm.handleCustomEvent(scope.row)}]}},_vm._l((column.options),function(option,index){return _c('option',{key:index,domProps:{\"value\":option.value}},[_vm._v(_vm._s(option.label))])}),0)]}}],null,true)}):(column.type)?_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [(column.type==='number')?[_c('input',{directives:[{name:\"model\",rawName:\"v-model.number.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"number\":true,\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){_vm.$set(scope.row, column.field, _vm._n($event.target.value))},function($event){return _vm.handleCustomEvent(scope.row)}],\"blur\":function($event){return _vm.$forceUpdate()}}})]:(column.type === 'decimal-number')?[_c('AppDecimalNumber',{attrs:{\"decimal\":column.decimal,\"inputValue\":scope.row[column.field],\"disabled\":column.disabled}})]:(column.type === 'currency')?[_c('label',[_vm._v(_vm._s(_vm.convertToCurrency(scope.row[column.field])))])]:(column.type === 'action')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,on:{\"click\":function($event){return _vm.$emit(button, scope.row)}}},[_vm._v(_vm._s(button))])})}):(column.type === 'actionWithFeatures')?_vm._t(\"action\",function(){return _vm._l((column.buttons),function(button,index){return _c('button',{key:index,attrs:{\"disabled\":button.shouldDisabled},on:{\"click\":function($event){return _vm.$emit(button.label, scope.row)}}},[_vm._v(_vm._s(button.label))])})}):_c('input',{directives:[{name:\"model\",rawName:\"v-model.lazy\",value:(scope.row[column.field]),expression:\"scope.row[column.field]\",modifiers:{\"lazy\":true}}],attrs:{\"type\":column.type},domProps:{\"value\":(scope.row[column.field])},on:{\"change\":[function($event){return _vm.$set(scope.row, column.field, $event.target.value)},function($event){return _vm.handleCustomEvent(scope.row)}]}})]}}],null,true)}):_c('el-table-column',{key:column.field,attrs:{\"prop\":column.field,\"label\":column.label,\"align\":\"center\",\"sortable\":column.sortable === undefined ? true : column.sortable,\"show-overflow-tooltip\":true},scopedSlots:_vm._u([{key:\"content\",fn:function(scope){return [_c('div',[_vm._v(_vm._s(scope.row[column.field]))])]}}],null,true)})]}),(_vm.redirect)?_c('el-table-column',{key:'redirect',attrs:{\"prop\":'redirect',\"align\":\"center\",\"sortable\":false},scopedSlots:_vm._u([{key:\"default\",fn:function(scope){return [_c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('redirect', scope.row)}}},[_c('i',{staticClass:\"fas fa-external-link-alt\"})])]}}],null,false,2100746354)}):_vm._e()],2),_c('div',{staticClass:\"table-footer\"},[_c('div',{staticClass:\"table-info\"},[_vm._v(\"Show \"+_vm._s(_vm.infoFrom)+\" to \"+_vm._s(_vm.infoTo)+\" of \"+_vm._s(_vm.total)+\" entries\")]),_c('el-pagination',{attrs:{\"current-page\":_vm.currentPage,\"total\":_vm.total,\"hide-on-single-page\":false,\"page-sizes\":_vm.pageSizesDisplay,\"page-size\":_vm.pageSize,\"layout\":\"sizes, prev, pager, next, jumper\",\"background\":\"\"},on:{\"current-change\":_vm.pageChange,\"size-change\":_vm.handleSizeChange}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\nimport { isUndefined } from 'lodash/fp'\nimport AppDecimalNumber from './AppDecimalNumber.vue'\n\nexport interface Column {\n label: string;\n field: string;\n sortable?: boolean;\n options: { label: string; value: string }[];\n}\n\ninterface Sort {\n prop: string;\n order: 'ascending' | 'decending';\n}\n\n@Component({\n components: {\n AppDecimalNumber\n }\n})\nexport default class TheDatatable extends Vue {\n @Prop() readonly loading!: boolean\n @Prop() readonly columns!: Array\n @Prop() readonly data!: Array\n @Prop() readonly filters: Array\n @Prop() readonly sort!: Sort\n @Prop() readonly search!: string\n @Prop({ default: true }) readonly show!: boolean\n @Prop({ default: false }) readonly redirect!: boolean\n @Prop() readonly selectionKey: string\n private pageSizes = [10, 50, 100, 500, 1000]\n private pageSize = 10\n private currentPage = 1\n private sortBy: Sort = {\n prop: this.data[0],\n order: 'ascending'\n }\n\n @Prop() clearSelection: boolean\n\n get pageSizesDisplay () {\n // return first size(10), if data total less than 10\n if (this.total < this.pageSizes[0]) return [this.pageSizes[0]]\n\n // get all the size that less than total\n const sizes = this.pageSizes.filter(size => size < this.total)\n\n // push last size\n const lastSize = (Math.round(this.total / 10) + 1) * 10\n sizes.push(lastSize)\n\n return sizes\n }\n\n get filteredData () {\n if (isUndefined(this.search)) return this.data\n\n const searchKeyword = this.search.trim().toLowerCase()\n const data = (this.filters && this.filters.length) ? this.filters : this.data\n return data.filter(value => {\n const result = JSON.stringify(value).toLowerCase().includes(searchKeyword)\n return result\n })\n }\n\n get sortedData () {\n const data = this.filteredData.sort((a, b) => {\n if (this.sortBy.order === 'ascending') {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return 1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return -1 }\n } else {\n if (a[this.sortBy.prop] > b[this.sortBy.prop]) { return -1 }\n if (a[this.sortBy.prop] < b[this.sortBy.prop]) { return 1 }\n }\n return 0\n })\n return data\n }\n\n get currentPageData () {\n return this.sortedData.slice((this.currentPage - 1) * this.pageSize, this.pageSize * this.currentPage)\n }\n\n get total () {\n return this.filteredData.length\n }\n\n get infoFrom () {\n if (this.currentPage !== 1) {\n return (this.currentPage - 1) * this.pageSize + 1\n } else {\n return this.filteredData.length ? 1 : 0\n }\n }\n\n get infoTo () {\n return this.currentPageData.length < this.pageSize\n ? this.pageSize * (this.currentPage - 1) + this.currentPageData.length\n : this.pageSize * this.currentPage\n }\n\n get hasNoError () {\n return this.data.every(e => e.error === undefined)\n }\n\n pageChange (currentPage: number): void {\n this.currentPage = currentPage\n this.$emit('pageChangeCustom', this.currentPage)\n }\n\n sortChange (sort: Sort): void {\n this.sortBy.prop = sort.prop\n this.sortBy.order = sort.order || 'ascending'\n }\n\n rowClick (row: any): void {\n if (row.emit) this.$emit('rowClickCustom', row)\n if (!row.redirect) return\n window.location.href = row.redirect\n }\n\n handleSelection (rows: any[]) {\n this.$emit('selectionChange', rows)\n }\n\n handleCustomEvent (row) {\n this.$emit('customEventSelect', row)\n }\n\n tableRowClassName ({ row }) {\n if (row.error) {\n return 'warning-row'\n } else {\n return ''\n }\n }\n\n clearCheckboxOnHeader () {\n const appdatatable = this.$refs.appdatatable as any\n if (this.selectionKey && appdatatable) {\n appdatatable.clearSelection()\n }\n }\n\n handleSizeChange (val) {\n this.pageSize = val\n }\n\n convertToCurrency (value, currencySymbol = '') {\n if (!value && value !== 0) return ''\n return currencySymbol + Number(value).toLocaleString(undefined, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n }\n\n mounted () {\n this.sortBy = this.sort\n this.clearCheckboxOnHeader()\n }\n\n @Watch('clearSelection')\n clearSelectionCheckbox () {\n if (this.clearSelection) {\n this.clearCheckboxOnHeader()\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppDatatable.vue?vue&type=template&id=4b557606&scoped=true&\"\nimport script from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppDatatable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b557606\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"content\"},[_c('AppDatatable',{attrs:{\"columns\":_vm.columns,\"data\":_vm.kycPdfTabulated,\"sort\":{prop: 'screeningDate', order: 'ascending'},\"show\":true},on:{\"rowClickCustom\":_vm.teleportTo}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Ignore } from '@master/annotation/Ignore'\nimport { RawKey } from '@master/annotation/RawKey'\nimport { Meta } from '@master/model/common/Meta'\nimport BasicProduct from '@master/model/kyc-form/product/BasicProduct'\nimport { IDateService } from '@master/services/IDateService'\nimport { inject } from 'inversify-props'\nimport { IRiskRatingService } from '@master/services/IRiskRatingService'\n\nexport const header = [\n '_oid',\n 'adviser_name',\n 'supervisor_fullname',\n 'date_pdf_submission',\n 'date_supervisor_decide_date',\n 'pdf_status',\n 'date_ops_decide_date',\n 'date_ops_decide',\n 'rcmd'\n]\n\nexport class ClientKycPdfMeta extends Meta {\n @Ignore()\n @inject()\n protected dateService: IDateService\n\n @Ignore()\n riskRatingService: IRiskRatingService\n\n @RawKey('_oid')\n oid = undefined\n\n adviserName = undefined\n supervisorFullname = undefined\n datePdfSubmission = undefined\n dateSupervisorDecideDate = undefined\n pdfStatus = undefined\n dateOpsDecideDate = undefined\n dateOpsDecide = undefined\n\n rcmd: BasicProduct[] = []\n\n afterAssign () { // unpack product data\n this.rcmd = this.rcmd.map((rcm) => {\n const prod = new BasicProduct(this.riskRatingService)\n return prod.extractData(rcm)\n })\n }\n\n formatDate (date: number) {\n return this.dateService.format(Number(date), 'YYYY-MM-DD')\n }\n\n get datePdfSubmissionDisplay () {\n return this.formatDate(this.datePdfSubmission)\n }\n\n recommended (productName: string) {\n return this.rcmd.map(rcm => rcm.productName).includes(productName)\n }\n}\n","import { MetaList } from '@master/model/common/MetaList'\nimport { header, ClientKycPdfMeta } from './ClientKycPdfMeta'\n\nexport class ClientKycPdfMetaList extends MetaList {\n list: ClientKycPdfMeta[]\n\n constructor (data: (string | number)[][]) {\n super(header, data, ClientKycPdfMeta)\n }\n\n recommended (productName: string) {\n return this.list.filter(kycPdf => {\n return kycPdf.recommended(productName)\n })\n }\n}\n","/* eslint-disable @typescript-eslint/camelcase */\nimport { Component, Vue, Watch } from 'vue-property-decorator'\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport { IDateService } from '@master/services/IDateService'\nimport { namespace } from 'vuex-class'\nimport { ClientKycPdfMetaList } from '@core/pages/client-management/model/ClientKycPdfMetaList'\nimport { ClientKycPdfMeta, header } from '@core/pages/client-management/model/ClientKycPdfMeta'\nimport { ClientDto } from '@core/pages/client-management/api'\n\nconst clientInfoStore = namespace('ClientInfoStore')\n@Component({\n components: {\n AppDatatable\n }\n})\nexport class ClientKycPdfMixin extends Vue {\n @inject()\n protected dateService: IDateService\n\n @inject()\n protected $api: API\n\n @clientInfoStore.State\n private clientDto: ClientDto\n\n protected kycPdfList: ClientKycPdfMetaList = null\n\n formattedDate (unixTime: number | string) {\n return this.dateService.format(Number(unixTime), 'YYYY-MM-DD')\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 get columns (): {label: string; field: keyof ClientKycPdfMeta}[] {\n return [\n { label: 'Adviser', field: 'adviserName' },\n { label: 'Supervisor', field: 'supervisorFullname' },\n { label: 'Submission Date', field: 'datePdfSubmissionDisplay' },\n { label: 'Date of A/R (Sup)', field: 'dateSupervisorDecideDate' },\n { label: 'Date of A/R (Ops)', field: 'dateOpsDecideDate' },\n { label: 'Status', field: 'pdfStatus' }\n ]\n }\n\n get kycPdfTabulated () {\n return this.kycPdfList?.list?.map((kycPdf) => {\n const display = kycPdf as any\n display.emit = true\n return kycPdf\n }) || []\n }\n\n teleportTo (row) {\n const kycPdfUrl = this.$router.resolve({ name: 'KYCPdf', params: { kycPdfOid: row.oid } })\n window.open(kycPdfUrl.href, '_blank')\n }\n\n async fetchKycList () {\n const response = await this.$api.kycPdf.list({\n query: '(ma_nric = ? OR ja_nric = ?) AND pdf_status = ?',\n queryArgs: JSON.stringify([this.clientDto.nric, this.clientDto.nric, 'submission-accepted']),\n headers: JSON.stringify(header)\n })\n this.kycPdfList = new ClientKycPdfMetaList(response.data)\n }\n\n @Watch('clientDto', { deep: true })\n async profileUpdated (newCP) {\n if (newCP.nric) {\n await this.fetchKycList()\n }\n }\n\n async mounted () {\n if (!this.clientDto.nric) return // if profile not loaded yet, dun fetch kyc first\n await this.fetchKycList()\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Mixins } from 'vue-property-decorator'\nimport { ClientKycPdfMixin } from '../mixins/ClientKycPdfMixin'\n\nexport default class ClientKycPdf extends Mixins(ClientKycPdfMixin) {\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!./ClientKycPdf.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!./ClientKycPdf.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ClientKycPdf.vue?vue&type=template&id=713eecf8&scoped=true&\"\nimport script from \"./ClientKycPdf.vue?vue&type=script&lang=ts&\"\nexport * from \"./ClientKycPdf.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 \"713eecf8\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppDatatable.vue?vue&type=style&index=0&id=4b557606&lang=scss&scoped=true&\"","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!./AppDecimalNumber.vue?vue&type=style&index=0&id=36b94185&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.inputModal),expression:\"inputModal\"}],staticClass:\"decimal-input\",attrs:{\"disabled\":_vm.disabled},domProps:{\"value\":(_vm.inputModal)},on:{\"keyup\":function($event){return _vm.triggerKeyEvent($event)},\"keydown\":function($event){return _vm.triggerKeyEvent($event)},\"keypress\":function($event){return _vm.numberAndDecimalOnly($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}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator'\n\n@Component\nexport default class AppDecimalNumber extends Vue {\n @Prop() inputValue\n @Prop({ default: 2 }) decimal?: number\n @Prop({ default: false }) disabled?: boolean\n\n inputModal = ''\n textIsSelected = false\n valueChange = false\n\n numberAndDecimalOnly (evt) {\n evt = (evt) || window.event\n const keyCode = (evt.which) ? evt.which : evt.keyCode\n\n const currentValue = evt.target.value\n this.valueChange = true\n if (this.textIsSelected) {\n if (this.isNonNumberAndNonDecimal(keyCode)) {\n evt.preventDefault()\n } else {\n this.textIsSelected = false\n }\n return true\n }\n\n if (this.isNonNumberAndNonDecimal(keyCode)) {\n evt.preventDefault()\n }\n\n if (this.isDecimal(keyCode)) {\n if (!this.allowDecimal) {\n evt.preventDefault()\n }\n if (currentValue.indexOf('.') >= 0) {\n evt.preventDefault() // cannot key in more than 1 decimal\n }\n }\n\n if (this.decimal) { // constraint to decimal length that can enter\n const number = currentValue.split('.')\n let caratPos = currentValue.length\n if (evt.srcElement.selectionStart || evt.srcElement.selectionStart === '0') {\n caratPos = evt.srcElement.selectionStart\n }\n const dotPos = currentValue.indexOf('.')\n if (caratPos > dotPos && dotPos > -1 && number[1].length > this.decimal - 1) {\n evt.preventDefault()\n }\n }\n }\n\n triggerKeyEvent () {\n this.valueChange = true\n }\n\n get allowDecimal () {\n return this.decimal !== 0\n }\n\n isNonNumberAndNonDecimal (keyCode) {\n if (!this.allowDecimal) return this.isNonNumber(keyCode)\n return this.isNonNumber(keyCode) && (this.allowDecimal && !this.isDecimal(keyCode))\n }\n\n isDecimal (keyCode) {\n return keyCode === 46\n }\n\n isNonNumber (keyCode) {\n // not number and not decimal\n return keyCode > 31 && (keyCode < 48 || keyCode > 57)\n }\n\n onBlur () {\n if (!this.valueChange && !this.inputModal) { // if user only tap on and tap out the empty field and no edit anything\n this.inputModal = this.formatValue(undefined)\n return // no need emit value as there is no value, so that undefined is saved\n }\n\n this.inputModal = this.formatValue(this.inputModal)\n this.$emit('input', this.formatValue(this.inputModal, 'num')) // should convert to number type when return back\n }\n\n onFocus () {\n // convert string to number\n this.valueChange = false\n this.inputModal = this.inputModal.replaceAll(',', '')\n }\n\n onSelect () {\n this.textIsSelected = true\n this.valueChange = false\n }\n\n formatValue (source, convertTo: 'str' | 'num' = 'str') {\n if (typeof source === 'string') {\n if (source) {\n source = Number(source.replaceAll(',', ''))\n } else if (source === '' && this.valueChange) {\n source = 0 // so that when clear value, it is auto set to 0\n }\n } else if (source === undefined || source == null) {\n source = ''\n }\n\n if (convertTo === 'str') {\n if (source === '') return source\n const formatter = new Intl.NumberFormat('en-US', {\n minimumFractionDigits: this.decimal ?? 0,\n maximumFractionDigits: this.decimal ?? 8\n })\n return formatter.format(source)\n }\n\n if (!source) {\n return 0\n }\n\n return source\n }\n\n @Watch('inputValue')\n inputValueOnChange () {\n if (this.inputValue) {\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!./AppDecimalNumber.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!./AppDecimalNumber.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppDecimalNumber.vue?vue&type=template&id=36b94185&scoped=true&\"\nimport script from \"./AppDecimalNumber.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppDecimalNumber.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppDecimalNumber.vue?vue&type=style&index=0&id=36b94185&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 \"36b94185\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}