{"version":3,"sources":["webpack:///./components/Mixin/MixinForm.js","webpack:///./components/GroupContact/Contact/AddPhone/ConstAddPhoneContactGroupContactComponent.js","webpack:///./components/Company/Testphone/TableTestphoneCompanyComponent.vue","webpack:///components/Company/Testphone/TableTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/TableTestphoneCompanyComponent.vue?00ec","webpack:///./components/Company/Testphone/TableTestphoneCompanyComponent.vue?8d49","webpack:///./components/Widget/WidgetInputPhone.vue","webpack:///components/Widget/WidgetInputPhone.vue","webpack:///./components/Widget/WidgetInputPhone.vue?d185","webpack:///./components/Widget/WidgetInputPhone.vue?a95f","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?21d2","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue","webpack:///./api/api-gateway/onboarding/testphone.ts","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?6d2f","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?fc37","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue?cd12","webpack:///./components/Company/Testphone/ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue?609d","webpack:///components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue?ff92","webpack:///./components/Company/Testphone/ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue","webpack:///components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue?000a","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue?0017","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue?fb4c","webpack:///./components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue?27fd","webpack:///./components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue","webpack:///./components/Company/Testphone/ModalVerificationTestphoneCompanyComponent.vue?ab22","webpack:///./pages/company/testphone/index.vue","webpack:///pages/company/testphone/index.vue","webpack:///./pages/company/testphone/index.vue?8380","webpack:///./pages/company/testphone/index.vue?2225"],"names":["inject","props","loading","type","Boolean","default","method","String","item","Object","data","submit","methods","onDelete","_this","_asyncToGenerator","regeneratorRuntime","mark","_callee","wrap","_context","prev","next","onDeleteItem","call","sent","$router","push","name","indexRoute","stop","routerPushAfterStore","result","this","onSubmitValid","_this2","_callee2","_context2","abrupt","errors","clear","formName","$validator","validateAll","onSubmitSend","param","_this3","_callee3","_context3","$store","dispatch","concat","storePath","onSubmitSendSuccess","_ref","arguments","length","undefined","_ref$onCreate","onCreate","_ref$onEdit","onEdit","window","PNotify","alert","title","$t","text","onSubmitSendSuccessParamText","addClass","isCreate","onSubmitSendFail","e","catchDispatch","itemMerge","_this4","entries","forEach","_ref2","_ref3","_slicedToArray","k","v","_typeof","JSON","parse","stringify","$set","itemData","computed","replace","tForm","isEdit","watch","created","tParams","params","phone","bg","first_name","second_name","last_name","birth_day","code","email","date","sum","param_1","param_2","param_3","SEPARATE_SYMBOL_COMMA","SEPARATE_SYMBOL_SEMICOLON","PHONES_SOURCE_FILE","PHONES_SOURCE_TEXTAREA","EVENT_CHECK_PROCESSING_DONE","_x","_onDeleteItem","apply","id","confirm","t0","mixins","MixinTable","fields","Array","key","nameIsLink","fields_label","actions","component","_vm","_c","_self","staticClass","class","selectedAll","isSelectedAll","attrs","fields_","items_","sortBySync","sortDescSync","on","$event","scopedSlots","_u","fn","selectedTypeCheckbox","model","value","callback","$$v","expression","_e","selectedTypeCheckboxComponent","tag","selected_","_l","prop","directives","rawName","modifiers","_v","_s","totalRows","perPage","currentPage","$emit","components","TheMask","Number","showFlag","autoDetectCountry","defaultCountry","flagSize","disabled","wrapperClass","inputClass","flagClass","innerValue","countryCode","mask","defaultMask","country","isValid","plusTokens","pattern","placeholder","_this$$store$state$au","allCountries","reduce","r","_objectSpread","_defineProperty","state","auth","tenant","location_country","phoneCode","split","i","includes","currentNumber","plus","test","filteredNumberArr","match","filteredNumber","join","val","onInput","number","isValidByLibPhoneNumberJs","beforeMount","visitorContryInfo","visitorInfo","visitorCountry","alpha2","updateMaskData","mounted","$refs","phoneMask","$el","onblur","onfocus","filteredValue","$nextTick","setTimeout","setFocusToEnd","bind","focus","setSelectionRange","phoneInfo","parsePhoneNumberFromString","findFirstCountryByAlpha2","countryCallingCode","isCanada","findFirstCountryByCode","computedMask","getMaskToLibPhoneNumber","computedCountry","toLowerCase","ref","setAutoonboardingTestphoneCode","_setAutoonboardingTestphoneCode","response","axios","post","MixinForm","channel","required","request_id","verification_ttl","cooldown","timer","working","now","interval","tgNotFound","channelChanged","testphone","signalTelegramUnavailable","runCheckTimer","beforeDestroy","clearInterval","Date","getTime","setInterval","checkTime","diff","Math","round","$props","onErrorSessionNotFound","onSubmit","_catchDispatchErrorMs","eMsg","attemptMatch","attempt_max","attempt","catchDispatchErrorMsg","error_message","_wrapRegExp","groups","parseInt","finish","staticStyle","require","proxy","domProps","has","target","composing","first","preventDefault","InputPhone","phoneSubmit","FormPhone","FormCode","formShow","submitPhone","_response","url","errorVerificationsPhoneSessionExist","track","channels","api","phones","verification","telegram","then","location","host","startsWith","phone_unconfirmed","t1","duration","clearPhone","formCodeOnSuccess","FormVerification","show","show_","get","set","slot","scrollToTop","MixinTitle","subtitle","modalVerificationShow","table","filter","q","$route","query","items","sortBy","sortDesc","tableFetchDebounce","debounce","tableFetch","sort","sortString","page","pagesize","modalVerificationOnSuccess","showPhoneEmpty","hasNotFilter","values","f","firstPage","hasNotItems","TestphoneTable","ModalVerification","WidgetStubEmpty","_m"],"mappings":"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","file":"409e119.js","sourcesContent":["import {catchDispatch} from '~/utils/form';\n\nexport default {\n inject: ['$validator'],\n props: {\n loading: {\n type: Boolean,\n default: false,\n },\n method: {\n type: String,\n //required: true,\n //validator: value => ['create', 'edit'].includes(value),\n default: 'create',\n },\n item: {\n type: Object,\n default: () => ({}),\n },\n },\n data() {\n return {\n submit: false,\n };\n },\n methods: {\n async onDelete(item) {\n const result = await this.onDeleteItem.call(this, item);\n if (result) {\n this.$router.push({name: this.indexRoute});\n }\n },\n routerPushAfterStore(result, route_name_id = 'id', result_id = 'id') {\n return {\n name: this.indexRoute,\n };\n },\n async onSubmitValid() {\n if (this.submit) return false;\n this.submit = true;\n\n this.errors.clear(this.formName);\n\n const r = await this.$validator.validateAll(this.formName);\n //console.info('onSubmitValid | r = ', r);\n if (!r) {\n this.submit = false;\n return false;\n }\n return true;\n },\n async onSubmitSend(param) {\n const result = await this.$store.dispatch(\n `${this.storePath}/${this.method}`,\n param,\n );\n //console.info(`dispatch | ${this.storePath}/`, this.method, ' | result = ', result);\n\n return result;\n },\n onSubmitSendSuccess({result, onCreate = null, onEdit = null} = {}) {\n window.PNotify.alert({\n title: this.$t('home.success'),\n text: this.$t(this.onSubmitSendSuccessParamText),\n addClass: 'bg-success',\n });\n\n if (this.isCreate) {\n if (onCreate && typeof onCreate === 'function') {\n onCreate();\n } else {\n this.submit = false;\n }\n } else {\n if (onEdit && typeof onEdit === 'function') {\n onEdit();\n } else {\n this.submit = false;\n }\n }\n const routerPushAfterStore = this.routerPushAfterStore(result);\n //console.info('routerPushAfterStore = ',routerPushAfterStore);\n this.$router.push(routerPushAfterStore);\n },\n onSubmitSendFail(e) {\n this.submit = false;\n catchDispatch(this, e);\n },\n itemMerge(item) {\n Object.entries(item).forEach(([k, v]) => {\n if (typeof v === 'object') {\n v = JSON.parse(JSON.stringify(v))\n }\n this.$set(this.itemData, k, v)\n })\n },\n },\n computed: {\n formName() {\n return `${this.storePath}/form`;\n },\n indexRoute() {\n return this.storePath.replace(/\\//g, '-').replace(/\\-form/g, '');\n },\n onSubmitSendSuccessParamText() {\n return this.tForm + '.save_success';\n },\n isCreate() {\n return this.method === 'create';\n },\n isEdit() {\n return this.method === 'edit';\n },\n },\n watch: {\n item(item) {\n this.itemMerge(item);\n },\n },\n created() {\n //this.itemData = merge(this.$options.data().itemData, this.item);\n //this.itemData = merge(this.itemData, this.item);\n this.itemMerge(this.item);\n this.errors.clear(this.name);\n this.submit = false;\n },\n}\n","const tParams = 'group_contact.file_upload_modal';\n\nexport const params = {\n phone: { title: tParams + '.params_phone', bg: '' },\n name: { title: tParams + '.params_name', bg: 'badge-primary' },\n first_name: { title: tParams + '.params_first_name', bg: 'badge-primary' },\n second_name: { title: tParams + '.params_second_name', bg: 'badge-primary' },\n last_name: { title: tParams + '.params_last_name', bg: 'badge-primary' },\n birth_day: { title: tParams + '.params_birth_day', bg: 'bg-violet-300' },\n code: { title: tParams + '.params_code', bg: 'bg-purple-300' },\n email: { title: tParams + '.params_email', bg: 'bg-indigo-300' },\n date: { title: tParams + '.params_date', bg: 'bg-orange-300' },\n sum: { title: tParams + '.params_sum', bg: 'bg-teal' },\n param_1: { title: tParams + '.params_param_1', bg: 'bg-info' },\n param_2: { title: tParams + '.params_param_2', bg: 'bg-info' },\n param_3: { title: tParams + '.params_param_3', bg: 'bg-info' },\n};\n\nexport const SEPARATE_SYMBOL_COMMA = 'comma';\nexport const SEPARATE_SYMBOL_SEMICOLON = 'semicolon';\n\nexport const PHONES_SOURCE_FILE = 'file';\nexport const PHONES_SOURCE_TEXTAREA = 'textarea';\n\nexport const EVENT_CHECK_PROCESSING_DONE = 'GroupContact/Contact/AddPhone/CheckProcessing/Done';\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('b2-table',{staticClass:\"table-hover\",class:{selectedAll: _vm.isSelectedAll},attrs:{\"fields\":_vm.fields_,\"items\":_vm.items_,\"sort-by\":_vm.sortBySync,\"sort-desc\":_vm.sortDescSync,\"show-empty\":\"\",\"stacked\":\"sm\"},on:{\"update:sortBy\":function($event){_vm.sortBySync=$event},\"update:sort-by\":function($event){_vm.sortBySync=$event},\"update:sortDesc\":function($event){_vm.sortDescSync=$event},\"update:sort-desc\":function($event){_vm.sortDescSync=$event}},scopedSlots:_vm._u([{key:\"HEAD_id\",fn:function(data){return [(_vm.selectedTypeCheckbox)?_c('widget-form-checkbox',{model:{value:(_vm.selectedAll),callback:function ($$v) {_vm.selectedAll=$$v},expression:\"selectedAll\"}}):_vm._e()]}},{key:\"id\",fn:function(data){return [_c(_vm.selectedTypeCheckboxComponent,{tag:\"component\",attrs:{\"value\":data.item.id},model:{value:(_vm.selected_),callback:function ($$v) {_vm.selected_=$$v},expression:\"selected_\"}})]}},{key:\"params\",fn:function(data){return _vm._l((_vm.params),function(prop,param){return (data.item.params[param] && data.item.params[param] !== '' && param !== 'phone')?_c('span',{directives:[{name:\"b-tooltip\",rawName:\"v-b-tooltip.hover\",modifiers:{\"hover\":true}}],key:param,staticClass:\"badge mr-2\",class:[prop.bg || ''],attrs:{\"title\":_vm.$t(prop.title + '_name')}},[_vm._v(\"\\n \"+_vm._s(data.item.params[param])+\"\\n \")]):_vm._e()})}},{key:\"actions\",fn:function(data){return _c('actions-list',{attrs:{\"item\":data.item,\"action-show-disabled\":true,\"route-id-name\":\"id\",\"route-to-name\":\"company-testphone\"},on:{\"delete\":_vm.onDelete}})}}])}),_vm._v(\" \"),(_vm.totalRows / _vm.perPage > 1)?_c('div',{staticClass:\"datatable-footer\"},[_c('div',{staticClass:\"dataTables_info\",attrs:{\"aria-live\":\"polite\",\"role\":\"status\"}}),_vm._v(\" \"),_c('div',{staticClass:\"dataTables_paginate paging_simple_numbers\"},[_c('b-pagination',{attrs:{\"hide-goto-end-buttons\":true,\"per-page\":_vm.perPage,\"total-rows\":_vm.totalRows,\"value\":_vm.currentPage},on:{\"input\":function($event){return _vm.$emit('update:currentPage', arguments[0])}}})],1)]):_vm._e(),_vm._v(\" \"),(_vm.loading)?_c('widget-loader'):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <b2-table\n :class=\"{selectedAll: isSelectedAll}\"\n :fields=\"fields_\"\n :items=\"items_\"\n :sort-by.sync=\"sortBySync\"\n :sort-desc.sync=\"sortDescSync\"\n class=\"table-hover\"\n show-empty\n stacked=\"sm\">\n <template slot=\"HEAD_id\" slot-scope=\"data\">\n <widget-form-checkbox\n v-if=\"selectedTypeCheckbox\"\n v-model=\"selectedAll\"/>\n </template>\n <template slot=\"id\" slot-scope=\"data\">\n <component\n :is=\"selectedTypeCheckboxComponent\"\n :value=\"data.item.id\"\n v-model=\"selected_\"/>\n </template>\n <template slot=\"params\" slot-scope=\"data\">\n <span :class=\"[prop.bg || '']\"\n :key=\"param\"\n v-b-tooltip.hover\n :title=\"$t(prop.title + '_name')\"\n class=\"badge mr-2\"\n v-for=\"(prop, param) in params\"\n v-if=\"data.item.params[param] && data.item.params[param] !== '' && param !== 'phone'\">\n {{data.item.params[param]}}\n </span>\n </template>\n <actions-list\n :item=\"data.item\" @delete=\"onDelete\"\n :action-show-disabled=\"true\"\n route-id-name=\"id\"\n route-to-name=\"company-testphone\"\n slot=\"actions\"\n slot-scope=\"data\"/>\n </b2-table>\n <div v-if=\"totalRows / perPage > 1\" class=\"datatable-footer\">\n <div aria-live=\"polite\" class=\"dataTables_info\" role=\"status\"></div>\n <div class=\"dataTables_paginate paging_simple_numbers\">\n <b-pagination\n :hide-goto-end-buttons=\"true\"\n :per-page=\"perPage\"\n :total-rows=\"totalRows\"\n :value=\"currentPage\"\n @input=\"$emit('update:currentPage', arguments[0])\"></b-pagination>\n </div>\n </div>\n <widget-loader v-if=\"loading\"/>\n </div>\n</template>\n\n<script>\n import {catchDispatch} from '~/utils/form';\n import MixinTable from '~/components/Mixin/MixinTable';\n import {params} from '~/components/GroupContact/Contact/AddPhone/ConstAddPhoneContactGroupContactComponent';\n\n export async function onDeleteItem({id, phone}) {\n if (!confirm(this.$t('company.testphone.table.delete_confirm', {phone}))) {\n return false;\n }\n try {\n await this.$store.dispatch('company/testphone/delete', {id});\n window.PNotify.alert({\n title: this.$t('home.success'),\n text: this.$t('company.testphone.table.delete_success', {phone}),\n addClass: 'bg-success',\n });\n return true;\n } catch (e) {\n catchDispatch(this, e);\n throw e;\n }\n }\n\n export default {\n mixins: [MixinTable],\n props: {\n fields: {\n type: Array,\n default() {\n return [\n {key: 'phone'},\n {key: 'params'},\n {key: 'actions'},\n ];\n },\n },\n nameIsLink: {\n type: Boolean,\n default: true,\n },\n },\n data() {\n return {\n params,\n fields_label: {\n phone: 'company.testphone.table.phone',\n params: 'company.testphone.table.params',\n actions: 'home.actions',\n },\n };\n },\n methods: {\n onDeleteItem,\n },\n };\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TableTestphoneCompanyComponent.vue?vue&type=template&id=e2a84870&scoped=true&\"\nimport script from \"./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./TableTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e2a84870\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('the-mask',{ref:\"phoneMask\",class:_vm.inputClass,attrs:{\"mask\":_vm.mask,\"value\":_vm.innerValue,\"tokens\":_vm.plusTokens,\"placeholder\":_vm.placeholder,\"disabled\":_vm.disabled,\"masked\":\"\",\"type\":\"tel\"},on:{\"input\":_vm.onInput}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <the-mask\n ref=\"phoneMask\"\n :mask=\"mask\"\n :value=\"innerValue\"\n :tokens=\"plusTokens\"\n :placeholder=\"placeholder\"\n :disabled=\"disabled\"\n :class=\"inputClass\"\n masked\n type=\"tel\"\n @input=\"onInput\"\n />\n</template>\n\n<script>\nimport { TheMask } from 'vue-the-mask';\nimport { parsePhoneNumberFromString } from 'libphonenumber-js';\n\nimport {\n findFirstCountryByAlpha2,\n findFirstCountryByCode,\n getMaskToLibPhoneNumber,\n isCanada,\n allCountries,\n} from 'vue-phone-mask-input/src/country_telephone_data.js';\nimport visitorInfo from 'visitor-info';\n\nexport default {\n name: 'WidgetInputPhone',\n components: { TheMask },\n props: {\n value: {\n type: [String, Number],\n default: '',\n },\n showFlag: {\n type: Boolean,\n default: false,\n },\n autoDetectCountry: {\n type: Boolean,\n default: false,\n },\n defaultCountry: {\n type: String,\n default: '',\n },\n flagSize: {\n type: String,\n default: 'normal',\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n wrapperClass: {\n type: String,\n default: 'phone-mask-wrapper-lib',\n },\n inputClass: {\n type: String,\n default: 'phone-input-lib',\n },\n flagClass: {\n type: String,\n default: 'country-flag-lib',\n },\n },\n data() {\n return {\n innerValue: '',\n countryCode: '',\n mask: '*##############',\n defaultMask: '*##############',\n country: '',\n isValid: false,\n plusTokens: {\n '#': {\n pattern: /\\d/,\n },\n '*': {\n pattern: /\\d|\\+/,\n },\n },\n };\n },\n computed: {\n placeholder() {\n try {\n const data = allCountries.reduce(\n (r, item) => ({ ...r, [item[1]]: item }),\n {}\n );\n const code = this.$store.state.auth?.tenant?.location_country;\n const phoneCode = data[code][2].split('');\n\n let mask = data[code][3] || '';\n\n let i = 0;\n while (mask.includes('.')) {\n mask = mask.replace(/\\./, phoneCode[i] || i % 10);\n i++;\n }\n\n return mask;\n } catch (e) {\n return '';\n }\n },\n currentNumber() {\n const plus = /^\\+/.test(this.innerValue) || !this.innerValue ? '' : '+';\n const filteredNumberArr = this.innerValue\n ? this.innerValue.match(/[\\d+]/g)\n : null;\n const filteredNumber = filteredNumberArr\n ? filteredNumberArr.join('')\n : '';\n\n return this.mask === this.defaultMask\n ? `${plus}${filteredNumber}`\n : filteredNumber;\n },\n },\n watch: {\n value(val) {\n this.onInput(val);\n },\n currentNumber(value) {\n this.$emit('input', value);\n this.$emit('onValidate', {\n number: value,\n isValidByLibPhoneNumberJs: this.isValid,\n country: this.country,\n });\n },\n },\n beforeMount() {\n if (this.autoDetectCountry) {\n const visitorContryInfo = visitorInfo();\n this.visitorCountry =\n visitorContryInfo && visitorContryInfo.country\n ? visitorContryInfo.country.alpha2\n : '';\n }\n this.updateMaskData();\n },\n mounted() {\n this.innerValue = this.value;\n this.$refs.phoneMask.$el.onblur = () => {\n this.$emit('onBlur');\n };\n this.$refs.phoneMask.$el.onfocus = () => {\n this.$emit('onFocus');\n };\n },\n methods: {\n onInput(value) {\n value = value.replace(/^(\\+?)89/, '$179');\n const filteredValue = value.match(/[\\d+]/g);\n this.innerValue = filteredValue ? filteredValue.join('') : '';\n this.updateMaskData();\n\n this.$nextTick(function () {\n setTimeout(this.setFocusToEnd.bind(this), 0);\n });\n },\n\n setFocusToEnd() {\n const length = this.$refs.phoneMask.$el.value.length;\n this.$refs.phoneMask.$el.focus();\n this.$refs.phoneMask.$el.setSelectionRange(length, length);\n },\n\n updateMaskData() {\n let {\n currentNumber,\n visitorCountry,\n innerValue,\n countryCode,\n defaultMask,\n autoDetectCountry,\n defaultCountry,\n } = this;\n\n let phoneInfo = parsePhoneNumberFromString(currentNumber);\n\n if (!phoneInfo && !currentNumber) {\n const country = findFirstCountryByAlpha2(defaultCountry);\n if (country) {\n phoneInfo = { country: defaultCountry };\n autoDetectCountry = false;\n this.innerValue = `+${country.code}`;\n }\n }\n\n if (phoneInfo && !phoneInfo.country) {\n switch (phoneInfo.countryCallingCode) {\n case '44': {\n phoneInfo.country = 'GB';\n break;\n }\n case '1': {\n if (currentNumber.length > 4) {\n phoneInfo.country = isCanada(currentNumber) ? 'CA' : 'US';\n }\n break;\n }\n }\n } else if (autoDetectCountry && visitorCountry && !innerValue) {\n phoneInfo = { country: visitorCountry };\n } else if (!phoneInfo && currentNumber.length > 2) {\n phoneInfo = { country: findFirstCountryByCode(currentNumber) };\n }\n\n const computedMask = getMaskToLibPhoneNumber(phoneInfo);\n const computedCountry =\n phoneInfo && phoneInfo.country ? phoneInfo.country.toLowerCase() : '';\n\n if (phoneInfo && phoneInfo.countryCallingCode && computedMask) {\n switch (phoneInfo.countryCallingCode) {\n case '39':\n computedMask.mask = '+39 ### #######';\n break;\n case '82':\n computedMask.mask = '+82 ## ### #####';\n break;\n case '372':\n computedMask.mask = '+372 ## ######';\n break;\n case '6221':\n computedMask.mask = '+62 21 ### ####';\n break;\n case '628':\n computedMask.mask = '+62 8## #### ####';\n break;\n case '62':\n computedMask.mask = '+62 ### #### ####';\n break;\n case '972':\n computedMask.mask = '+972 ### ######';\n break;\n case '258':\n computedMask.mask = '+258 ### ######';\n break;\n case '977':\n computedMask.mask = '+977 ## ### #####';\n break;\n case '387':\n computedMask.mask = '+387 #### #####';\n break;\n case '55':\n computedMask.mask = '+55 ## #### #####';\n break;\n case '95':\n computedMask.mask = '+95 ### ### ####';\n break;\n case '971':\n computedMask.mask = '+971 ### ### ####';\n break;\n case '86':\n computedMask.mask = '+86 ### ### #####';\n break;\n case '880':\n computedMask.mask = '+880 ### ### ####';\n break;\n case '52':\n computedMask.mask = '+52 ## #### ####';\n break;\n case '49':\n computedMask.mask = '+49 #### #######';\n break;\n }\n }\n\n if (autoDetectCountry && visitorCountry) {\n if (!innerValue) {\n this.innerValue = computedMask.countryCode;\n }\n this.visitorCountry = null;\n }\n\n if (computedMask && computedMask.mask) {\n this.mask = computedMask.mask;\n this.country = computedCountry;\n this.countryCode = computedMask.countryCode;\n this.isValid =\n !!phoneInfo && !!phoneInfo.isValid && phoneInfo.isValid();\n } else if (countryCode.length > currentNumber.length) {\n this.mask = defaultMask;\n this.country = '';\n this.countryCode = '';\n this.isValid = false;\n }\n },\n },\n};\n</script>\n","import mod from \"-!../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetInputPhone.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./WidgetInputPhone.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./WidgetInputPhone.vue?vue&type=template&id=5cbedb60&\"\nimport script from \"./WidgetInputPhone.vue?vue&type=script&lang=js&\"\nexport * from \"./WidgetInputPhone.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../../node_modules/.pnpm/extract-css-chunks-webpack-plugin@4.9.0_webpack@4.46.0/node_modules/extract-css-chunks-webpack-plugin/dist/loader.js??ref--4-oneOf-1-0!../../../../../../node_modules/.pnpm/css-loader@4.3.0_webpack@4.46.0/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._aa437771d9780d5220c2b33aaafbeac1/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=style&index=0&id=38bbae76&prod&scoped=true&lang=css&\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.show_)?_c('b-modal',{attrs:{\"no-close-on-backdrop\":true,\"no-close-on-esc\":true,\"dialog-class\":\"modal-verification-testphone-company-component\"},model:{value:(_vm.show_),callback:function ($$v) {_vm.show_=$$v},expression:\"show_\"}},[_c('template',{slot:\"modal-title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('company.testphone.modal_verification.title'))+\"\\n \")]),_vm._v(\" \"),_c('FormVerification',{on:{\"success\":_vm.formCodeOnSuccess}}),_vm._v(\" \"),_c('template',{slot:\"modal-footer\"},[_vm._v(\"Â \")])],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import type { paths } from '@messaggio/client-api-user/api/api-gateway/userAutoonboarding';\nimport type { GetPayload } from '@messaggio/client-api-user/utils';\nimport axios from 'axios';\n\nexport type SetAutoonboardingTestphoneCodePayload = GetPayload<\n paths,\n '/onboarding/testphone/code',\n 'post'\n>;\n\nexport type SetAutoonboardingTestphoneCodeResponse = never;\n\nexport async function setAutoonboardingTestphoneCode(\n params: SetAutoonboardingTestphoneCodePayload\n) {\n const response = await axios.post<SetAutoonboardingTestphoneCodeResponse>(\n '/api-gateway/api/v2/onboarding/testphone/code',\n params\n );\n\n return response;\n}\n","\nimport { catchDispatch, catchDispatchErrorMsg } from '~/utils/form';\nimport MixinForm from '~/components/Mixin/MixinForm';\nimport { setAutoonboardingTestphoneCode } from '~/api/api-gateway/onboarding/testphone';\n\nexport default {\n mixins: [MixinForm],\n props: {\n phone: {\n type: String,\n default: '',\n },\n channel: {\n type: String,\n required: true,\n },\n request_id: {\n type: String,\n default: '',\n },\n verification_ttl: {\n type: Number,\n default: 0,\n },\n cooldown: {\n type: Number,\n default: 0,\n },\n },\n data: () => ({\n tForm: 'company.testphone.modal_verification.form_code',\n storePath: 'company/testphone',\n submit: false,\n itemData: {\n code: '',\n },\n timer: {\n working: false,\n now: 0,\n interval: null,\n text: '',\n },\n\n tgNotFound: false,\n }),\n computed: {\n formName() {\n return `${this.storePath}/form_code`;\n },\n channelChanged() {\n return this.$store.state.testphone.signalTelegramUnavailable;\n },\n },\n watch: {\n request_id(val) {\n !!val && this.runCheckTimer();\n },\n channelChanged() {\n this.tgNotFound = true;\n },\n },\n beforeDestroy() {\n this.timer.interval && clearInterval(this.timer.interval);\n },\n methods: {\n runCheckTimer() {\n this.timer.now = new Date().getTime();\n this.timer.interval = setInterval(this.checkTime, 100);\n this.timer.working = true;\n },\n checkTime() {\n const diff = (new Date().getTime() - this.timer.now) / 1000;\n this.timer.text = `${Math.round(this.$props.cooldown - diff)} s.`;\n if (diff < this.$props.cooldown) {\n return;\n }\n\n this.clear();\n },\n clear() {\n this.timer.interval && clearInterval(this.timer.interval);\n this.timer.working = false;\n this.itemData.code = '';\n setTimeout(() => {\n this.errors.clear(this.formName);\n }, 100);\n },\n onErrorSessionNotFound() {\n this.$emit('onErrorSessionNotFound');\n },\n async onSubmit() {\n const valid = await this.onSubmitValid();\n if (!valid) return;\n\n try {\n await setAutoonboardingTestphoneCode({\n request_id: this.request_id,\n ...this.itemData,\n });\n this.timer.interval && clearInterval(this.timer.interval);\n this.$emit('onSuccess', true);\n } catch (e) {\n const eMsg = catchDispatchErrorMsg(\n this,\n e\n )?.error_message?.toLowerCase();\n\n if (eMsg.includes('the wrong code was provided too many times')) {\n window.PNotify.alert({\n title: this.$t('home.error'),\n text: this.$t(\n 'company.user.edit_phone.error_verifications_code_attempt_max'\n ),\n addClass: 'bg-danger',\n });\n this.onErrorSessionNotFound();\n return;\n }\n\n if (eMsg.includes('code session not found')) {\n window.PNotify.alert({\n title: this.$t('home.error'),\n text: this.$t(\n 'company.user.edit_phone.error_verifications_code_session_not_found'\n ),\n addClass: 'bg-danger',\n });\n this.onErrorSessionNotFound();\n return;\n }\n\n const attemptMatch = eMsg.match(\n /wrong confirmation code specified\\. attempt (?<attempt>\\d+) of (?<attempt_max>\\d+)\\./\n );\n if (attemptMatch) {\n window.PNotify.alert({\n title: this.$t('home.error'),\n text: this.$t(\n 'company.user.edit_phone.error_verifications_code',\n attemptMatch.groups\n ),\n addClass: 'bg-danger',\n });\n const attempt_max = parseInt(attemptMatch.groups.attempt_max, 10);\n const attempt = parseInt(attemptMatch.groups.attempt, 10);\n if (attempt_max <= attempt) {\n this.onErrorSessionNotFound();\n }\n return;\n }\n\n catchDispatch(this, e);\n } finally {\n this.submit = false;\n }\n },\n },\n};\n","import mod from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=template&id=38bbae76&scoped=true&\"\nimport script from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormCodeModalVerificationTestphoneCompanyComponent.vue?vue&type=style&index=0&id=38bbae76&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38bbae76\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('form',{staticClass:\"form-horizontal\",attrs:{\"data-vv-scope\":_vm.formName}},[(_vm.channel == 'telegram')?_c('p',[_c('i18n',{attrs:{\"path\":`${_vm.tForm}.alertTelegram`},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{staticStyle:{\"margin-right\":\"1px\"},attrs:{\"src\":require(\"static/image/sender_type/bottelegram.png\"),\"width\":\"15\"}})]},proxy:true}],null,false,715856650)})],1):_c('p',[_c('i18n',{attrs:{\"path\":_vm.tgNotFound ? `${_vm.tForm}.alertSMSNoTG` : `${_vm.tForm}.alertSMS`},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_c('img',{staticStyle:{\"margin-right\":\"1px\"},attrs:{\"src\":require(\"static/image/sender_type/sms.png\"),\"width\":\"15\"}})]},proxy:true}])})],1),_vm._v(\" \"),_c('label',{domProps:{\"innerHTML\":_vm._s(_vm.$t(`${_vm.tForm}.description`, { phone: _vm.phone }))}}),_vm._v(\" \"),_c('div',{class:{ 'has-warning': _vm.errors.has(`${_vm.formName}.code`) }},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"position-relative flex-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.itemData.code),expression:\"itemData.code\"},{name:\"validate\",rawName:\"v-validate\",value:('required|min:4|max:6'),expression:\"'required|min:4|max:6'\"}],staticClass:\"form-control form-control-lg\",attrs:{\"data-vv-as\":_vm.$t(`${_vm.tForm}.code`).toLowerCase(),\"data-vv-scope\":_vm.formName,\"name\":\"code\",\"placeholder\":_vm.$t(`${_vm.tForm}.code_placeholder`),\"type\":\"text\"},domProps:{\"value\":(_vm.itemData.code)},on:{\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.itemData, \"code\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"countdown-timer\"},[_vm._v(\"\\n \"+_vm._s(_vm.timer.text)+\"\\n \")])])]),_vm._v(\" \"),(_vm.errors.has(`${_vm.formName}.code`))?_c('span',{staticClass:\"help-block\",domProps:{\"innerHTML\":_vm._s(_vm.errors.first(`${_vm.formName}.code`))}}):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"d-flex mt-2 help-block\",staticStyle:{\"gap\":\"12px\"}},[_c('button',{staticClass:\"btn flex-grow-1\",attrs:{\"disabled\":_vm.submit || _vm.timer.working},on:{\"click\":function($event){$event.preventDefault();_vm.tgNotFound = false;\n _vm.$emit('tryAgain');}}},[(_vm.channel == 'telegram')?_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t(`${_vm.tForm}.trySMS`))+\"\\n \")]):_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t(`${_vm.tForm}.tryAgain`))+\"\\n \")])]),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-success flex-grow-1\",attrs:{\"type\":\"submit\",\"disabled\":_vm.submit},on:{\"click\":_vm.onSubmit}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(`${_vm.tForm}.submit`))+\"\\n \")])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"","<template>\n <form\n :data-vv-scope=\"formName\"\n class=\"form-horizontal\"\n @submit.prevent=\"onSubmit\"\n >\n <p>{{ $t('company.testphone.modal_verification.description') }}</p>\n <fieldset class=\"content-group\">\n <div\n :class=\"{ 'has-warning': errors.has(`${formName}.phone`) }\"\n class=\"form-group\"\n >\n <div class=\"input-group\">\n <input-phone\n ref=\"phone\"\n v-model=\"itemData.phone\"\n v-validate=\"'required'\"\n :data-vv-as=\"$t(`${tForm}.phone`).toLowerCase()\"\n :data-vv-scope=\"formName\"\n class=\"form-control form-control-lg\"\n name=\"phone\"\n :placeholder=\"$t(`${tForm}.phone_placeholder`)\"\n type=\"text\"\n />\n <span class=\"input-group-append\">\n <button\n class=\"btn bg-blue-600\"\n type=\"button\"\n :disabled=\"phoneSubmit\"\n @click.prevent=\"onSubmit\"\n >\n {{ $t(`${tForm}.submit`) }}\n </button>\n </span>\n </div>\n <span\n v-if=\"errors.has(`${formName}.phone`)\"\n class=\"help-block\"\n v-html=\"errors.first(`${formName}.phone`)\"\n />\n </div>\n </fieldset>\n </form>\n</template>\n\n<script>\nimport api from '~/api';\nimport { catchDispatch, catchDispatchErrorMsg } from '~/utils/form';\nimport MixinForm from '~/components/Mixin/MixinForm';\nimport InputPhone from '~/components/Widget/WidgetInputPhone.vue';\n\nexport default {\n components: {\n InputPhone,\n },\n mixins: [MixinForm],\n props: {\n channel: {\n type: String,\n required: true,\n },\n phoneSubmit: {\n type: Boolean,\n required: true,\n },\n },\n data() {\n return {\n tForm: 'company.testphone.modal_verification.form_phone',\n storePath: 'company/testphone',\n\n itemData: {\n phone: '',\n },\n };\n },\n methods: {\n async onSubmit(e) {\n e.preventDefault();\n\n const valid = await this.onSubmitValid();\n if (!valid) {\n return;\n }\n\n this.$emit('submit', this.itemData.phone);\n this.submit = false;\n },\n },\n};\n</script>\n\n<style scoped></style>\n","import { render, staticRenderFns } from \"./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=template&id=2ed03169&scoped=true&\"\nimport script from \"./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./FormPhoneModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ed03169\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('form',{staticClass:\"form-horizontal\",attrs:{\"data-vv-scope\":_vm.formName},on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_c('p',[_vm._v(_vm._s(_vm.$t('company.testphone.modal_verification.description')))]),_vm._v(\" \"),_c('fieldset',{staticClass:\"content-group\"},[_c('div',{staticClass:\"form-group\",class:{ 'has-warning': _vm.errors.has(`${_vm.formName}.phone`) }},[_c('div',{staticClass:\"input-group\"},[_c('input-phone',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required'),expression:\"'required'\"}],ref:\"phone\",staticClass:\"form-control form-control-lg\",attrs:{\"data-vv-as\":_vm.$t(`${_vm.tForm}.phone`).toLowerCase(),\"data-vv-scope\":_vm.formName,\"name\":\"phone\",\"placeholder\":_vm.$t(`${_vm.tForm}.phone_placeholder`),\"type\":\"text\"},model:{value:(_vm.itemData.phone),callback:function ($$v) {_vm.$set(_vm.itemData, \"phone\", $$v)},expression:\"itemData.phone\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn bg-blue-600\",attrs:{\"type\":\"button\",\"disabled\":_vm.phoneSubmit},on:{\"click\":function($event){$event.preventDefault();return _vm.onSubmit.apply(null, arguments)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(`${_vm.tForm}.submit`))+\"\\n \")])])],1),_vm._v(\" \"),(_vm.errors.has(`${_vm.formName}.phone`))?_c('span',{staticClass:\"help-block\",domProps:{\"innerHTML\":_vm._s(_vm.errors.first(`${_vm.formName}.phone`))}}):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div>\n <form-phone\n v-show=\"itemData.formShow === 'form-phone'\"\n method=\"create\"\n :channel=\"channel\"\n :phone-submit=\"phoneSubmit\"\n @submit=\"submitPhone\"\n />\n <form-code\n v-show=\"itemData.formShow === 'form-code'\"\n method=\"create\"\n :channel.sync=\"channel\"\n :phone=\"itemData.phone\"\n :request_id=\"itemData.request_id\"\n :verification_ttl=\"itemData.verification_ttl\"\n :cooldown=\"itemData.cooldown\"\n @onSuccess=\"formCodeOnSuccess\"\n @onErrorSessionNotFound=\"clearPhone\"\n @tryAgain=\"\n channel = 'sms';\n submitPhone();\n \"\n />\n </div>\n</template>\n\n<script>\nimport axios from 'axios';\nimport { catchDispatch, catchDispatchErrorMsg } from '~/utils/form';\nimport api from '~/api';\nimport FormCode from './ModalVerification/FormCodeModalVerificationTestphoneCompanyComponent.vue';\nimport FormPhone from './ModalVerification/FormPhoneModalVerificationTestphoneCompanyComponent.vue';\nimport { track } from '~/plugins/tracker/tracker';\n\nexport default {\n components: {\n FormPhone,\n FormCode,\n },\n data() {\n return {\n tForm: 'company.testphone.modal_verification.form_phone',\n itemData: {\n formShow: 'form-phone',\n phone: '',\n request_id: '',\n verification_ttl: '',\n cooldown: '',\n code: '',\n },\n\n phoneSubmit: false,\n channel: 'telegram', // telegram | sms\n };\n },\n computed: {\n channelChanged() {\n return this.$store.state.testphone.signalTelegramUnavailable;\n },\n },\n watch: {\n channelChanged() {\n this.channel = 'sms';\n },\n },\n methods: {\n async submitPhone(phone) {\n if (this.phoneSubmit) return;\n this.phoneSubmit = true;\n\n if (phone) {\n this.itemData.phone = phone;\n }\n\n try {\n let response;\n\n track('link_testphone_request', 'Onboarding', {\n channels: [this.channel],\n });\n\n if (this.channel == 'telegram') {\n response = await api.testphone.phones.verification\n .telegram(this.itemData)\n .then((response) => {\n return response.data;\n });\n } else {\n response = await api.testphone.phones.verification\n .post(this.itemData)\n .then((response) => {\n return response.data;\n });\n }\n\n const { request_id, verification_ttl, cooldown } = response;\n\n this.itemData.formShow = 'form-code';\n this.itemData.request_id = request_id;\n this.itemData.verification_ttl = verification_ttl;\n this.itemData.cooldown = cooldown;\n\n try {\n let url =\n 'https://store.messaggio.com/messaggio-api/offer/index.php?action=change-lead-info-from-lk-wizard';\n if (\n process.env.NODE_ENV !== 'production' ||\n window.location.host.startsWith('dev.')\n ) {\n url += '&env=dev';\n }\n\n await axios.post(url, { phone_unconfirmed: this.itemData.phone });\n } catch (e) {}\n } catch (e) {\n const eMsg = catchDispatchErrorMsg(this, e).toLowerCase();\n\n const errorVerificationsPhoneSessionExist = eMsg.match(\n /concurrent verifications to the same number are not allowed. (?<duration>\\d+)s./\n );\n if (errorVerificationsPhoneSessionExist) {\n window.PNotify.alert({\n title: this.$t('home.error'),\n text: this.$t(\n `${this.tForm}.error_verifications_phone_session_exist`,\n errorVerificationsPhoneSessionExist.groups\n ),\n addClass: 'bg-danger',\n });\n\n this.phoneSubmit = false;\n\n return;\n }\n\n if (eMsg.includes('phone attempt max')) {\n window.PNotify.alert({\n title: this.$t('home.error'),\n text: this.$t(\n 'company.user.edit_phone.error_verifications_phone_attempt_max'\n ),\n addClass: 'bg-danger',\n });\n\n this.phoneSubmit = false;\n\n return;\n }\n\n if (eMsg.includes('phone exist')) {\n window.PNotify.alert({\n title: this.$t('home.error'),\n text: this.$t(\n 'company.user.edit_phone.error_verifications_phone_exist'\n ),\n addClass: 'bg-danger',\n });\n\n this.phoneSubmit = false;\n\n return;\n }\n\n if (this.channel != 'sms' && eMsg.includes('msg not send')) {\n this.phoneSubmit = false;\n\n this.channel = 'sms';\n this.submitPhone();\n\n return;\n }\n\n catchDispatch(this, e);\n }\n\n this.phoneSubmit = false;\n },\n clearPhone() {\n this.itemData.phone = '';\n this.itemData.request_id = '';\n this.itemData.verification_ttl = 0;\n this.itemData.cooldown = 0;\n },\n async formCodeOnSuccess() {\n try {\n let url =\n 'https://store.messaggio.com/messaggio-api/offer/index.php?action=change-lead-info-from-lk-wizard';\n if (\n process.env.NODE_ENV !== 'production' ||\n window.location.host.startsWith('dev.')\n ) {\n url += '&env=dev';\n }\n\n axios.post(url, { phone: this.itemData.phone });\n } catch (e) {}\n\n track('link_testphone_success', 'Onboarding');\n\n this.$emit('success', { phone: this.itemData.phone });\n },\n },\n};\n</script>\n\n<style lang=\"scss\" scoped></style>\n","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--13-0!../../../../../node_modules/.pnpm/ts-loader@5.4.5_typescript@4.8.4/node_modules/ts-loader/index.js??ref--13-1!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"","\nimport { track } from '~/plugins/tracker/tracker';\nimport FormVerification from '~/components/Company/Testphone/FormVerificationTestphoneCompanyComponent.vue';\n\nexport default {\n components: {\n FormVerification,\n },\n props: {\n show: { type: Boolean },\n },\n data: () => ({\n formShow: 'form-phone',\n phone: '',\n request_id: '',\n code: '',\n }),\n computed: {\n show_: {\n get() {\n return this.show;\n },\n set(show) {\n if (!show) {\n this.formShow = 'form-phone';\n }\n this.$emit('update:show', show);\n },\n },\n },\n methods: {\n formCodeOnSuccess() {\n track('Link Phone Number', 'Setting');\n window.PNotify.alert({\n title: this.$t('home.success'),\n text: this.$t('client_sender.form.save_success'),\n addClass: 'bg-success',\n });\n this.$emit('onSuccess', true);\n this.show_ = false;\n },\n },\n};\n","import { render, staticRenderFns } from \"./FormVerificationTestphoneCompanyComponent.vue?vue&type=template&id=a98858e2&scoped=true&\"\nimport script from \"./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\nexport * from \"./FormVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a98858e2\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('form-phone',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.itemData.formShow === 'form-phone'),expression:\"itemData.formShow === 'form-phone'\"}],attrs:{\"method\":\"create\",\"channel\":_vm.channel,\"phone-submit\":_vm.phoneSubmit},on:{\"submit\":_vm.submitPhone}}),_vm._v(\" \"),_c('form-code',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.itemData.formShow === 'form-code'),expression:\"itemData.formShow === 'form-code'\"}],attrs:{\"method\":\"create\",\"channel\":_vm.channel,\"phone\":_vm.itemData.phone,\"request_id\":_vm.itemData.request_id,\"verification_ttl\":_vm.itemData.verification_ttl,\"cooldown\":_vm.itemData.cooldown},on:{\"update:channel\":function($event){_vm.channel=$event},\"onSuccess\":_vm.formCodeOnSuccess,\"onErrorSessionNotFound\":_vm.clearPhone,\"tryAgain\":function($event){_vm.channel = 'sms';\n _vm.submitPhone();}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./ModalVerificationTestphoneCompanyComponent.vue?vue&type=template&id=48263659&\"\nimport script from \"./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./ModalVerificationTestphoneCompanyComponent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"velocity col-md-12\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-header header-elements-inline\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.$t('company.testphone.title')))]),_vm._v(\" \"),_c('div',{staticClass:\"header-elements\"},[_c('a',{staticClass:\"btn btn-sm bg-green btn-labeled btn-labeled-left\",attrs:{\"href\":\"#\",\"type\":\"button\"},on:{\"click\":function($event){$event.preventDefault();_vm.modalVerificationShow = true}}},[_vm._m(0),_vm._v(\"\\n \"+_vm._s(_vm.$t('company.testphone.create'))+\"\\n \")])])]),_vm._v(\" \"),(_vm.showPhoneEmpty)?[_c('widget-stub-empty',{attrs:{\"icon-static\":\"image/scheme/contact-group.png\",\"trans-prefix\":\"company.testphone.phone_empty\",\"project-length-check\":false,\"route-create-event\":true},on:{\"on-route-create-click\":function($event){_vm.modalVerificationShow = true}}})]:[_c('testphone-table',{attrs:{\"currentPage\":_vm.table.currentPage,\"items\":_vm.table.items,\"loading\":_vm.table.loading,\"perPage\":_vm.table.perPage,\"sortBy\":_vm.table.sortBy,\"sortDesc\":_vm.table.sortDesc,\"totalRows\":_vm.table.totalRows},on:{\"update:currentPage\":function($event){return _vm.$set(_vm.table, \"currentPage\", $event)},\"update:current-page\":function($event){return _vm.$set(_vm.table, \"currentPage\", $event)},\"update:items\":function($event){return _vm.$set(_vm.table, \"items\", $event)},\"update:sortBy\":function($event){return _vm.$set(_vm.table, \"sortBy\", $event)},\"update:sort-by\":function($event){return _vm.$set(_vm.table, \"sortBy\", $event)},\"update:sortDesc\":function($event){return _vm.$set(_vm.table, \"sortDesc\", $event)},\"update:sort-desc\":function($event){return _vm.$set(_vm.table, \"sortDesc\", $event)},\"tableFetch\":_vm.tableFetch}})]],2),_vm._v(\" \"),_c('modal-verification',{attrs:{\"show\":_vm.modalVerificationShow},on:{\"update:show\":function($event){_vm.modalVerificationShow=$event},\"onSuccess\":_vm.modalVerificationOnSuccess}})],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('b',[_c('i',{staticClass:\"icon-plus3\"})])\n}]\n\nexport { render, staticRenderFns }","<template>\n <div class=\"row\">\n <div class=\"velocity col-md-12\">\n <div class=\"card\">\n <div class=\"card-header header-elements-inline\">\n <h5 class=\"card-title\">{{ $t('company.testphone.title') }}</h5>\n <div class=\"header-elements\">\n <a\n href=\"#\"\n @click.prevent=\"modalVerificationShow = true\"\n class=\"btn btn-sm bg-green btn-labeled btn-labeled-left\"\n type=\"button\">\n <b><i class=\"icon-plus3\"></i></b>\n {{ $t('company.testphone.create') }}\n </a>\n </div>\n </div>\n\n <template v-if=\"showPhoneEmpty\">\n <widget-stub-empty\n icon-static=\"image/scheme/contact-group.png\"\n trans-prefix=\"company.testphone.phone_empty\"\n :project-length-check=\"false\"\n :route-create-event=\"true\"\n @on-route-create-click=\"modalVerificationShow = true\"/>\n </template>\n <template v-else>\n <testphone-table\n :currentPage.sync=\"table.currentPage\"\n :items.sync=\"table.items\"\n :loading=\"table.loading\"\n :perPage=\"table.perPage\"\n :sortBy.sync=\"table.sortBy\"\n :sortDesc.sync=\"table.sortDesc\"\n :totalRows=\"table.totalRows\"\n @tableFetch=\"tableFetch\"/>\n </template>\n </div>\n <modal-verification\n :show.sync=\"modalVerificationShow\"\n @onSuccess=\"modalVerificationOnSuccess\"/>\n </div>\n </div>\n</template>\n\n<script>\n import debounce from 'lodash.debounce';\n import {sortString} from '~/utils/functions';\n import MixinTitle from '~/components/Mixin/MixinTitle'\n import TestphoneTable from '~/components/Company/Testphone/TableTestphoneCompanyComponent';\n import ModalVerification from '~/components/Company/Testphone/ModalVerificationTestphoneCompanyComponent';\n import WidgetStubEmpty from '~/components/Widget/WidgetStubEmpty';\n\n export default {\n scrollToTop: true,\n mixins: [MixinTitle],\n data() {\n return {\n title: 'company.title',\n subtitle: 'company.testphone.title',\n modalVerificationShow: false,\n table: {\n loading: true,\n filter: {\n q: this.$route.query.q || '',\n },\n items: [],\n totalRows: 0,\n currentPage: 1,\n perPage: 10,\n sortBy: 'created_at',\n sortDesc: true,\n },\n tableFetchDebounce: debounce(this.tableFetch, 300),\n };\n },\n methods: {\n async tableFetch() {\n this.table.loading = true;\n let sort = sortString(this.table);\n const result = await this.$store.dispatch('company/testphone/list', {\n page: this.table.currentPage,\n pagesize: this.table.perPage,\n sort,\n ...this.table.filter,\n });\n this.table.items = result.items;\n this.table.totalRows = result.totalRows;\n this.table.loading = false;\n },\n modalVerificationOnSuccess() {\n this.tableFetch();\n },\n },\n computed: {\n showPhoneEmpty() {\n const hasNotFilter = !Object.values(this.table.filter).filter(f => f !== '').length;\n const firstPage = this.table.currentPage === 1;\n const hasNotItems = !this.table.items.length;\n\n return hasNotFilter && firstPage && hasNotItems;\n },\n },\n watch: {\n 'table.currentPage'() {\n this.tableFetch();\n },\n 'table.sortBy'() {\n this.tableFetch();\n },\n 'table.sortDesc'() {\n this.tableFetch();\n },\n 'table.filter.q'() {\n this.tableFetchDebounce();\n },\n },\n async created() {\n this.tableFetch();\n },\n components: {\n TestphoneTable,\n ModalVerification,\n WidgetStubEmpty,\n },\n };\n</script>\n\n<style>\n</style>\n","import mod from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/.pnpm/babel-loader@8.3.0_@babel+core@7.24.9_webpack@4.46.0/node_modules/babel-loader/lib/index.js??ref--3-0!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7d822d9c&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/.pnpm/vue-loader@15.10.1_@vue+compiler-sfc@3.4.32_babel-core@7.0.0-bridge.0_@babel+core@7.24._816e0b0c944497fa0a7bff6d26d8b1fc/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}