{"version":3,"sources":["webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./@core/pages/HomeSupervisor.vue?6ee1","webpack:///./@core/pages/HomeSupervisorMixin.ts","webpack:///./@core/pages/HomeSupervisor.vue","webpack:///./@core/pages/HomeSupervisor.vue?6f86","webpack:///./@core/pages/HomeSupervisor.vue?b188","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/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","render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","_s","pending","directives","name","rawName","value","expression","attrs","domProps","on","$event","target","composing","txtSearchPending","pendingColumns","pendingRows","prop","order","class","active","tabBottom","changeTabBottom","_e","txtSearchBottom","pendingSubmissionColumns","pendingSubmissionRows","pendingAdminRows","approvedColumns","approvedRows","rejectedColumns","rejectedRows","staticRenderFns","label","field","pendingKeys","pendingSubmissionKeys","approvedKeys","rejectedKeys","showEsubPendingTab","uiService","sharedVariable","isSuperUser","$store","getters","currentUser","accountId","accountID","sysInfo","esub_ntuc","getPendingList","getPendingSubmissionList","getPendingAdminList","getApprovedList","getRejectedList","list","keys","newList","map","data","keyValues","key","newKey","assign","query","queryArgs","JSON","stringify","$api","kycPdf","wildcardMode","orderBy","headers","response","renameObjectKeys","time_pdf_submission","dateService","format","date_pdf_submission","redirect","_oid","keyword","values","join","toLowerCase","length","filter","submission","consolidatedStatus","pdf_status","time_supervisor_decide","date_supervisor_decide","approved","rejected","event","tab","div","classList","contains","components","AppDatatable","component","call","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","toString","getMethod","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","undefined","RegExp","string","rx","S","res","done","previousLastIndex","lastIndex","result","index","show","ref","currentPageData","hasNoError","selectionKey","tableRowClassName","sortChange","rowClick","handleSelection","_l","column","sortable","scopedSlots","_u","fn","scope","row","modifiers","$$selectedVal","Array","prototype","options","o","selected","val","_value","$set","multiple","handleCustomEvent","option","type","_n","$forceUpdate","decimal","disabled","convertToCurrency","_t","button","$emit","shouldDisabled","stopPropagation","infoFrom","infoTo","total","currentPage","pageSizesDisplay","pageSize","pageChange","handleSizeChange","pageSizes","sortBy","sizes","size","lastSize","Math","round","push","search","searchKeyword","trim","filters","includes","filteredData","sort","a","b","sortedData","slice","every","e","error","emit","window","location","href","rows","appdatatable","$refs","clearSelection","currencySymbol","Number","toLocaleString","minimumFractionDigits","maximumFractionDigits","clearCheckboxOnHeader","default","AppDecimalNumber","triggerKeyEvent","numberAndDecimalOnly","onBlur","onFocus","onSelect","inputModal","textIsSelected","valueChange","evt","keyCode","which","currentValue","isNonNumberAndNonDecimal","preventDefault","isDecimal","allowDecimal","indexOf","number","split","caratPos","srcElement","selectionStart","dotPos","isNonNumber","formatValue","replaceAll","source","convertTo","formatter","Intl","NumberFormat","inputValue"],"mappings":"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","file":"js/chunk-4c7c3e60.6dcce4b7.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page page-home-supervisor\"},[_c('div',{staticClass:\"tab-top\"},[_c('div',{staticClass:\"tab-header\"},[_c('div',{staticClass:\"tab-links tab-first active\"},[_vm._v(\" Pending My Approval\"),_c('span',{staticClass:\"badge\"},[_vm._v(_vm._s(_vm.pending))])]),_c('div',{staticClass:\"search-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.txtSearchPending),expression:\"txtSearchPending\"}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"data-test\":\"pending-search-keyword\"},domProps:{\"value\":(_vm.txtSearchPending)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchPending=$event.target.value}}})])]),_c('div',{staticClass:\"tab-content\"},[_c('AppDatatable',{attrs:{\"columns\":_vm.pendingColumns,\"data\":_vm.pendingRows,\"sort\":{prop: 'date_supervisor_decide', order: 'descending'},\"search\":_vm.txtSearchPending,\"show\":true}})],1)]),_c('div',{staticClass:\"divider\"}),_c('div',{staticClass:\"tab-bottom\"},[_c('div',{staticClass:\"tab-header\"},[(_vm.showEsubPendingTab)?_c('div',{staticClass:\"tab-links tab-first\",class:{ active:_vm.tabBottom==='pending' },on:{\"click\":function($event){return _vm.changeTabBottom($event, 'pending')}}},[_vm._v(\" Pending E-submission Approval \")]):_vm._e(),_c('div',{staticClass:\"tab-links tab-first\",class:{ active:_vm.tabBottom==='pending-admin' },on:{\"click\":function($event){return _vm.changeTabBottom($event, 'pending-admin')}}},[_vm._v(\" Pending Admin Approval (PDF) \")]),_c('div',{staticClass:\"tab-links\",class:{ active:_vm.tabBottom==='approved' },on:{\"click\":function($event){return _vm.changeTabBottom($event, 'approved')}}},[_vm._v(\" Approved (PDF) \")]),_c('div',{staticClass:\"tab-links\",class:{ active:_vm.tabBottom==='rejected' },on:{\"click\":function($event){return _vm.changeTabBottom($event, 'rejected')}}},[_vm._v(\" Rejected (PDF) \")]),_c('div',{staticClass:\"search-wrapper\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.txtSearchBottom),expression:\"txtSearchBottom\"}],staticClass:\"txt-search\",attrs:{\"type\":\"search\",\"data-test\":\"completed-search-keyword\"},domProps:{\"value\":(_vm.txtSearchBottom)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.txtSearchBottom=$event.target.value}}})])]),_c('div',{staticClass:\"tab-content\"},[(_vm.showEsubPendingTab)?_c('AppDatatable',{attrs:{\"columns\":_vm.pendingSubmissionColumns,\"data\":_vm.pendingSubmissionRows,\"sort\":{prop: 'date_supervisor_decide', order: 'descending'},\"search\":_vm.txtSearchBottom,\"show\":_vm.tabBottom==='pending'}}):_vm._e(),_c('AppDatatable',{attrs:{\"columns\":_vm.pendingColumns,\"data\":_vm.pendingAdminRows,\"sort\":{prop: 'date_supervisor_decide', order: 'descending'},\"search\":_vm.txtSearchBottom,\"show\":_vm.tabBottom==='pending-admin'}}),_c('AppDatatable',{attrs:{\"columns\":_vm.approvedColumns,\"data\":_vm.approvedRows,\"sort\":{prop: 'date_supervisor_decide', order: 'descending'},\"search\":_vm.txtSearchBottom,\"show\":_vm.tabBottom==='approved'}}),_c('AppDatatable',{attrs:{\"columns\":_vm.rejectedColumns,\"data\":_vm.rejectedRows,\"sort\":{prop: 'date_supervisor_decide', order: 'descending'},\"search\":_vm.txtSearchBottom,\"show\":_vm.tabBottom==='rejected'}})],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable @typescript-eslint/camelcase */\nimport { inject } from 'inversify-props'\nimport API from '@core/services/API'\nimport { Component, Vue } from 'vue-property-decorator'\nimport AppDatatable from '@core/components/AppDatatable.vue'\nimport { IDateService } from '@master/services/IDateService'\nimport { UIService } from '@core/services/UIService'\nimport { SharedVariable } from '@core/model/SharedVariable'\nimport { omit } from 'lodash/fp'\n\nexport interface Pending {\n _oid: string;\n ma_name: string;\n ma_nric: string;\n adviser_name: string;\n date_pdf_submission: string;\n time_pdf_submission: string;\n consolidatedStatus: string;\n redirect: string;\n keyword: string;\n}\nexport interface PendingSubmission {\n _oid: string;\n ma_name: string;\n ma_nric: string;\n adviser_name: string;\n date_supervisor_decide: string;\n time_supervisor_decide: string;\n consolidatedStatus: string;\n redirect: string;\n keyword: string;\n pdf_status: string;\n}\nexport interface Approved {\n _oid: string;\n ma_name: string;\n ma_nric: string;\n adviser_name: string;\n date_supervisor_decide: string;\n time_supervisor_decide: string;\n consolidatedStatus: string;\n redirect: string;\n keyword: string;\n}\nexport interface Rejected {\n _oid: string;\n ma_name: string;\n ma_nric: string;\n adviser_name: string;\n date_supervisor_decide: string;\n time_supervisor_decide: string;\n consolidatedStatus: string;\n redirect: string;\n keyword: string;\n}\n@Component({\n components: {\n AppDatatable\n }\n})\nexport class HomeSupervisorMixin extends Vue {\n @inject()\n protected dateService: IDateService\n\n @inject()\n protected $api: API\n\n uiService: UIService\n\n @inject()\n protected sharedVariable: SharedVariable\n\n protected pending = 0\n protected pendingColumns: Array = [\n { label: 'Client 1 Name', field: 'ma_name' },\n { label: 'NRIC / Passport / FIN', field: 'ma_nric' },\n { label: 'Adviser Name', field: 'adviser_name' },\n { label: 'Date of Submission', field: 'date_pdf_submission' },\n { label: 'Time of Submission', field: 'time_pdf_submission' },\n { label: 'E-Sub Status', field: 'consolidatedStatus' }]\n\n protected pendingSubmissionColumns: Array = [\n { label: 'Client 1 Name', field: 'ma_name' },\n { label: 'NRIC / Passport / FIN', field: 'ma_nric' },\n { label: 'Adviser Name', field: 'adviser_name' },\n { label: 'Date of A/R(Sup)', field: 'date_supervisor_decide' },\n { label: 'Time of A/R(Sup)', field: 'time_supervisor_decide' },\n { label: 'E-Sub Status', field: 'consolidatedStatus' }]\n\n protected approvedColumns: Array = [\n { label: 'Client 1 Name', field: 'ma_name' },\n { label: 'NRIC / Passport / FIN', field: 'ma_nric' },\n { label: 'Adviser Name', field: 'adviser_name' },\n { label: 'Date of A/R(Sup)', field: 'date_supervisor_decide' },\n { label: 'Time of A/R(Sup)', field: 'time_supervisor_decide' },\n { label: 'E-Sub Status', field: 'consolidatedStatus' }]\n\n protected rejectedColumns: Array = [\n { label: 'Client 1 Name', field: 'ma_name' },\n { label: 'NRIC / Passport / FIN', field: 'ma_nric' },\n { label: 'Adviser Name', field: 'adviser_name' },\n { label: 'Date of A/R(Sup)', field: 'date_supervisor_decide' },\n { label: 'Time of A/R(Sup)', field: 'time_supervisor_decide' },\n { label: 'E-Sub Status', field: 'consolidatedStatus' }]\n\n protected pendingRows: Pending[] = []\n protected pendingSubmissionRows: PendingSubmission[] = []\n protected pendingAdminRows: Pending[] = []\n protected approvedRows: Approved[] = []\n protected rejectedRows: Rejected[] = []\n protected pendingKeys = ['_oid', 'ma_name', 'ma_nric', 'adviser_name', 'date_pdf_submission', 'date_pdf_submission', 'consolidatedStatus']\n protected pendingSubmissionKeys = ['_oid', 'ma_name', 'ma_nric', 'adviser_name', 'date_supervisor_decide', 'date_supervisor_decide', 'consolidatedStatus', 'pdf_status']\n protected approvedKeys = ['_oid', 'ma_name', 'ma_nric', 'adviser_name', 'date_supervisor_decide', 'date_supervisor_decide', 'consolidatedStatus']\n protected rejectedKeys = ['_oid', 'ma_name', 'ma_nric', 'adviser_name', 'date_supervisor_decide', 'date_supervisor_decide', 'consolidatedStatus']\n protected tabBottom = 'pending'\n protected txtSearchPending = ''\n protected txtSearchBottom = ''\n protected accountId: string\n protected isSuperUser: boolean\n\n protected showEsubPendingTab = false\n\n created (): void {\n // take injected UIService and set it to local\n this.uiService = this.sharedVariable.uiService\n\n this.isSuperUser = this.$store.getters.currentUser.isSuperUser\n this.accountId = this.$store.getters.currentUser.accountID\n // eslint-disable-next-line @typescript-eslint/camelcase\n this.showEsubPendingTab = this.sharedVariable?.sysInfo?.esub_ntuc\n if (!this.showEsubPendingTab) {\n this.tabBottom = 'pending-admin'\n }\n this.getPendingList()\n this.getPendingSubmissionList()\n this.getPendingAdminList()\n this.getApprovedList()\n this.getRejectedList()\n }\n\n renameObjectKeys (list: Array, keys: Array): Array {\n const newList = list.map(function (data) {\n const keyValues = Object.keys(data).map(function (key) {\n const newKey = keys[key]\n return { [newKey]: data[key] }\n })\n return Object.assign({}, ...keyValues)\n })\n return newList\n }\n\n async getPendingList () {\n let query: string\n let queryArgs: string\n if (this.isSuperUser) {\n query = 'pdf_status = ? AND adviser_finalised = ?'\n queryArgs = JSON.stringify(['adviser-signed', 'true'])\n } else {\n query = '(supervisor_oid = ? OR supervisor_proxy_oid = ?) AND pdf_status = ? AND adviser_finalised = ?'\n queryArgs = JSON.stringify([this.accountId, this.accountId, 'adviser-signed', 'true'])\n }\n const response = await this.$api.kycPdf.list({\n query: query,\n queryArgs: queryArgs,\n wildcardMode: 'suffix,prefix',\n orderBy: 'date_pdf_submission',\n headers: JSON.stringify(this.pendingKeys)\n })\n this.pendingRows = this.renameObjectKeys(response.data, this.pendingKeys) as Pending[]\n this.pendingRows = this.pendingRows.map((pending) => {\n pending.time_pdf_submission = this.dateService.format(pending.date_pdf_submission, 'HH:mm:ss')\n pending.date_pdf_submission = this.dateService.format(pending.date_pdf_submission, 'YYYY-MM-DD')\n pending.redirect = '/live/kyc-pdf/' + pending._oid\n pending.keyword = Object.values(omit('redirect', pending)).join(',').toLowerCase() // assign keyword with all object values except 'redirect' keys\n return pending\n })\n this.pending = this.pendingRows.length\n }\n\n async getPendingSubmissionList () {\n let query: string\n let queryArgs: string\n if (this.isSuperUser) {\n query = 'pdf_status = ?'\n queryArgs = JSON.stringify(['supervisor-approved'])\n } else {\n query = '(supervisor_oid = ? OR supervisor_proxy_oid = ?) AND pdf_status = ?'\n queryArgs = JSON.stringify([this.accountId, this.accountId, 'supervisor-approved'])\n }\n const response = await this.$api.kycPdf.list({\n query: query,\n queryArgs: queryArgs,\n wildcardMode: 'suffix,prefix',\n orderBy: 'date_supervisor_decide',\n headers: JSON.stringify(this.pendingSubmissionKeys)\n })\n this.pendingSubmissionRows = this.renameObjectKeys(response.data, this.pendingSubmissionKeys) as PendingSubmission[]\n this.pendingSubmissionRows = this.pendingSubmissionRows.filter(submission => {\n return submission.consolidatedStatus === 'Completed' && submission.pdf_status === 'submission-accepted'\n }).map((pending) => {\n pending.time_supervisor_decide = this.dateService.format(pending.date_supervisor_decide, 'HH:mm:ss')\n pending.date_supervisor_decide = this.dateService.format(pending.date_supervisor_decide, 'YYYY-MM-DD')\n pending.redirect = '/live/kyc-pdf/' + pending._oid\n pending.keyword = Object.values(omit('redirect', pending)).join(',').toLowerCase()\n return pending\n })\n }\n\n async getPendingAdminList () {\n let query: string\n let queryArgs: string\n if (this.isSuperUser) {\n query = 'pdf_status = ? AND adviser_finalised = ?'\n queryArgs = JSON.stringify(['supervisor-approved', 'true'])\n } else {\n query = '(supervisor_oid = ? OR supervisor_proxy_oid = ?) AND pdf_status = ? AND adviser_finalised = ?'\n queryArgs = JSON.stringify([this.accountId, this.accountId, 'supervisor-approved', 'true'])\n }\n const response = await this.$api.kycPdf.list({\n query: query,\n queryArgs: queryArgs,\n wildcardMode: 'suffix,prefix',\n orderBy: 'date_pdf_submission',\n headers: JSON.stringify(this.pendingKeys)\n })\n this.pendingAdminRows = this.renameObjectKeys(response.data, this.pendingKeys) as Pending[]\n this.pendingAdminRows = this.pendingAdminRows.map((pending) => {\n pending.time_pdf_submission = this.dateService.format(pending.date_pdf_submission, 'HH:mm:ss')\n pending.date_pdf_submission = this.dateService.format(pending.date_pdf_submission, 'YYYY-MM-DD')\n pending.redirect = '/live/kyc-pdf/' + pending._oid\n pending.keyword = Object.values(omit('redirect', pending)).join(',').toLowerCase() // assign keyword with all object values except 'redirect' keys\n return pending\n })\n }\n\n async getApprovedList () {\n let query: string\n let queryArgs: string\n if (this.isSuperUser) {\n query = 'pdf_status = ?'\n queryArgs = JSON.stringify(['submission-accepted'])\n } else {\n query = '(supervisor_oid = ? OR supervisor_proxy_oid = ?) AND pdf_status = ?'\n queryArgs = JSON.stringify([this.accountId, this.accountId, 'submission-accepted'])\n }\n const response = await this.$api.kycPdf.list({\n query: query,\n queryArgs: queryArgs,\n wildcardMode: 'suffix,prefix',\n orderBy: 'date_supervisor_decide',\n headers: JSON.stringify(this.approvedKeys)\n })\n this.approvedRows = this.renameObjectKeys(response.data, this.approvedKeys) as Approved[]\n this.approvedRows = this.approvedRows.map((approved) => {\n approved.time_supervisor_decide = this.dateService.format(approved.date_supervisor_decide, 'HH:mm:ss')\n approved.date_supervisor_decide = this.dateService.format(approved.date_supervisor_decide, 'YYYY-MM-DD')\n approved.redirect = '/live/kyc-pdf/' + approved._oid\n approved.keyword = Object.values(omit('redirect', approved)).join(',').toLowerCase()\n return approved\n })\n }\n\n async getRejectedList () {\n let query: string\n let queryArgs: string\n if (this.isSuperUser) {\n query = '(pdf_status = ? OR pdf_status = ?)'\n queryArgs = JSON.stringify(['submission-rejected', 'supervisor-rejected'])\n } else {\n query = '(supervisor_oid = ? OR supervisor_proxy_oid = ?) AND (pdf_status = ? OR pdf_status = ?)'\n queryArgs = JSON.stringify([this.accountId, this.accountId, 'submission-rejected', 'supervisor-rejected'])\n }\n const response = await this.$api.kycPdf.list({\n query: query,\n queryArgs: queryArgs,\n wildcardMode: 'suffix,prefix',\n orderBy: 'date_supervisor_decide',\n headers: JSON.stringify(this.approvedKeys)\n })\n this.rejectedRows = this.renameObjectKeys(response.data, this.rejectedKeys) as Rejected[]\n this.rejectedRows = this.rejectedRows.map((rejected) => {\n rejected.time_supervisor_decide = this.dateService.format(rejected.date_supervisor_decide, 'HH:mm:ss')\n rejected.date_supervisor_decide = this.dateService.format(rejected.date_supervisor_decide, 'YYYY-MM-DD')\n rejected.redirect = '/live/kyc-pdf/' + rejected._oid\n rejected.keyword = Object.values(omit('redirect', rejected)).join(',').toLowerCase()\n return rejected\n })\n }\n\n changeTabBottom (event: Event, tab: string): void {\n const div = event.target as HTMLDivElement\n if (div.classList.contains('active')) {\n return\n }\n this.tabBottom = tab\n this.txtSearchBottom = ''\n }\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Mixins } from 'vue-property-decorator'\nimport { HomeSupervisorMixin } from './HomeSupervisorMixin'\n\nexport default class HomeSupervisor extends Mixins(HomeSupervisorMixin) {\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!./HomeSupervisor.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!./HomeSupervisor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeSupervisor.vue?vue&type=template&id=4ce3b817&scoped=true&\"\nimport script from \"./HomeSupervisor.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeSupervisor.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 \"4ce3b817\",\n null\n \n)\n\nexport default component.exports","'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","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":""}