{"version":3,"file":"post.min.js","names":["PhrasesService","constructor","phrases","window","_data","i","length","phrase","T","V","getPhrase","title","shared","SecurityService","siteKey","_siteKey","getGoogleReCaptchaToken","action","token","grecaptcha","execute","googleReCaptchaSiteKey","Vue","component","props","data","cities","addresses","editAddressData","id","cityId","address","comment","recipientName","recipientPhone","settings","showEditAddress","showAddAddress","succeeded","sendingData","resultMessage","submitted","step3sidebarcontent","methods","deleteAddress","_this","confirm","endpointUrl","profileApiUrl","axios","post","parseInt","langAbbr","languageAbbr","then","response","message","getAddresses","catch","e","finally","addAddress","closeAddAddress","resetFields","saveAddress","closeAddressEdit","openAddAddress","openAddressEdit","city","street","phone","cartApiUrl","selectAddress","getCities","mounted","computed","template","isProfileCompleted","Boolean","isAuthorized","cartItems","addAddressData","anotherRecipient","addAddressSettings","selectedOptions","selectedAddress","selectedDeliveryType","selectedShippingMethod","selectedPaymentMethod","selectedPaymentChannel","shipping","fee","days","checkoutSettings","success","availableOptions","shippingMethods","paymentChannels","isAllProductsFromLocalWarehouse","showProductsList","showAddAddressForm","standardShippingPrice","expressShippingPrice","estimateDeliveryDate","enableBuyButton","modalIsOpen","voucher","code","isValid","discount","applied","step1sidebarcontent","step2shippingcontent","step2shopcontent","openUrl","key","url","open","console","error","concat","openModal","document","getElementById","style","display","body","classList","add","closeModal","remove","checkVoucher","_formatMoney","_createConfetti","loadUserOptions","deliveryType","mainAddress","filter","a","isMain","getAvailableShippingMethods","isShippingMethodAvailable","getAvailablePaymentChannels","getStandardShippingPrice","getExpressShippingPrice","calculateShipping","shippingMethod","channels","isPaymentChannelAvailable","methodId","methodIdAsInt","includes","channelId","channelIdAsInt","changeDeliveryType","hideAddAddressForm","gotoHome","homeUrl","openProductUrl","toggleProductsList","changeAddress","undefined","changeShippingMethod","toFixed","getEstimateDeliveryDate","getCartItems","items","goToCart","cartUrl","changePaymentMethod","date","processCheckout","BOG","Calculator","bnpl","amount","parseFloat","productsSumPriceWithShipping","onClose","onRequest","selected","successCb","closeCb","month","discount_code","channel","addressId","loanTerm","voucherCode","discountCode","location","href","redirectUrl","paymentResultUrl","transactionId","$","val","value","submit","_createAndSubmitForm","transId","append","_calculateProductSumPrice","cartItem","quantity","price","_calculateProductSumWeight","product","weight","confetti","particleCount","spread","origin","y","called","setInterval","enable","productsSumPrice","sumPrice","productsSumPriceForSlider","hasFreeShipping","amountForFreeShipping","totalAmount","productsSumWeigth","sumWeight","productsSumWeightInKg","userInfo","Object","showHarryWarning","hasNoAddresses","showFreeShippingBar","freeShippingAmount","tableProduct","tableQuantity","tableSum","change","increaseCartItemQuantity","updateCartItem","decreaseCartItemQuantity","deleteCartItem","productId","getCartInfo","calculateProductSumPrice","singleCartItemPrice","gotoBuyPage","buyUrl","clearCart","gotoLoginPage","signInUrl","selectFirstElement","newArray","freeShippingFrom","setTimeout","t","querySelector","init","reload","calculateProductSumWeight","productsSumPriceProgressbarPercent","setByUser","oldPassword","newPassword","repeatNewPassword","repeatnewPassword","save","changePassword","recaptcha","String","userData","firstname","lastname","email","send","contactApiUrl","captcha","Number","showResult","showForm","apiBaseUrl","fullname","mobile","gender","gendeoptionchoose","genderoptionmale","genderoptionfemale","birthDate","updateInfo","name","allowNumbersOnly","evt","event","charCode","which","keyCode","preventDefault","Fullname","Email","Mobile","Code","authUrl","user","guid","password","repeatPassword","userId","additionalInfo","selectedDeliveryOption","isAddressSelected","setDeliveryOption","option","createAndSubmitForm","selectPaymentMethod","method","signInData","remember","signInSettings","passowrd","login","orsigninwith","googleauth","facebookauth","forgotpassword","resetpassword","donthaveaccount","signup","openPasswordRecoverPage","passwordRecoverPageUrl","signIn","reCaptchaToken","persistent","signUpData","type","signUpSettings","signUp","openTermsUrl","termsUrl","openSignUpUrl","trigger","companyName","identityCode","agree","openTerms","baseUrl","getIconUrl","icon","vm","el"],"sources":["post.min.js"],"sourcesContent":["class PhrasesService {\r\n constructor() {\r\n this.phrases = {};\r\n\r\n if (!window._data || !window._data.phrases) {\r\n return;\r\n }\r\n\r\n for (var i = 0; i < window._data.phrases.length; i++) {\r\n var phrase = window._data.phrases[i];\r\n this.phrases[phrase.T] = phrase.V;\r\n }\r\n }\r\n\r\n getPhrase(title) {\r\n if (!this.phrases[title]) {\r\n return title;\r\n }\r\n\r\n return this.phrases[title];\r\n }\r\n}\r\n\r\nPhrasesService.shared = new PhrasesService();\nclass SecurityService {\r\n constructor(siteKey) {\r\n this._siteKey = siteKey;\r\n }\r\n\r\n async getGoogleReCaptchaToken(action) {\r\n const token = await grecaptcha.execute(\r\n this._siteKey,\r\n {\r\n action: action\r\n }\r\n );\r\n return token;\r\n }\r\n}\r\n\r\nSecurityService.shared = new SecurityService(window._data.googleReCaptchaSiteKey)\nVue.component('addresses', {\r\n props: {\r\n },\r\n data: function () {\r\n return {\r\n cities: [],\r\n addresses: [],\r\n editAddressData: {\r\n id: 0,\r\n cityId: 0,\r\n address: '',\r\n comment: '',\r\n recipientName: '',\r\n recipientPhone: '',\r\n },\r\n settings: {\r\n showEditAddress: false,\r\n showAddAddress: false,\r\n succeeded: null,\r\n sendingData: false,\r\n resultMessage: '',\r\n submitted: false\r\n },\r\n phrases: {\r\n step3sidebarcontent: PhrasesService.shared.getPhrase('cart_step3sidebarcontent'),\r\n },\r\n };\r\n },\r\n methods: {\r\n deleteAddress(address) {\r\n var _this = this;\r\n\r\n if (confirm('დარწმუნებული ხართ რომ გსურთ მისამართის წაშლა?')) {\r\n // Save it!\r\n\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.resultMessage = '';\r\n var endpointUrl = window._data.profileApiUrl + 'DeleteAddress';\r\n\r\n _this.settings.sendingData = true;\r\n axios.post(endpointUrl,\r\n {\r\n id: parseInt(address.id),\r\n langAbbr: window._data.languageAbbr\r\n })\r\n .then(function (response) {\r\n _this.settings.succeeded = response.data.succeeded;\r\n\r\n _this.settings.resultMessage = response.data.message;\r\n\r\n if (response.data.succeeded) {\r\n _this.getAddresses();\r\n }\r\n })\r\n .catch(function (e) {\r\n\r\n })\r\n .finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n } else {\r\n }\r\n },\r\n addAddress() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.resultMessage = '';\r\n _this.settings.submitted = true;\r\n var endpointUrl = window._data.profileApiUrl + 'AddAddress';\r\n\r\n if (_this.editAddressData.cityId == null || _this.editAddressData.cityId.length == 0 || _this.editAddressData.cityId == 0 ||\r\n _this.editAddressData.address == null || _this.editAddressData.address.length == 0) {\r\n return;\r\n }\r\n\r\n _this.settings.sendingData = true;\r\n axios.post(endpointUrl,\r\n {\r\n cityId: parseInt(_this.editAddressData.cityId),\r\n address: _this.editAddressData.address,\r\n comment: _this.editAddressData.comment,\r\n recipientName: _this.editAddressData.recipientName,\r\n recipientPhone: _this.editAddressData.recipientPhone,\r\n langAbbr: window._data.languageAbbr\r\n })\r\n .then(function (response) {\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.sendingData = false;\r\n _this.settings.resultMessage = response.data.message;\r\n\r\n if (response.data.succeeded) {\r\n _this.getAddresses();\r\n _this.closeAddAddress();\r\n _this.resetFields();\r\n }\r\n })\r\n .catch(function (e) {\r\n _this.settings.sendingData = false;\r\n })\r\n .finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n saveAddress() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.resultMessage = '';\r\n _this.settings.submitted = true;\r\n var endpointUrl = window._data.profileApiUrl + 'editAddress';\r\n\r\n if (_this.editAddressData.cityId == null || _this.editAddressData.cityId.length == 0 || _this.editAddressData.cityId == 0 ||\r\n _this.editAddressData.address == null || _this.editAddressData.address.length == 0) {\r\n return;\r\n }\r\n\r\n _this.settings.sendingData = true;\r\n axios.post(endpointUrl,\r\n {\r\n id: parseInt(_this.editAddressData.id),\r\n cityId: parseInt(_this.editAddressData.cityId),\r\n address: _this.editAddressData.address,\r\n comment: _this.editAddressData.comment,\r\n recipientName: _this.editAddressData.recipientName,\r\n recipientPhone: _this.editAddressData.recipientPhone,\r\n langAbbr: window._data.languageAbbr\r\n })\r\n .then(function (response) {\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.sendingData = false;\r\n _this.settings.resultMessage = response.data.message;\r\n\r\n if (response.data.succeeded) {\r\n _this.getAddresses();\r\n _this.closeAddressEdit();\r\n _this.resetFields();\r\n }\r\n })\r\n .catch(function (e) {\r\n _this.settings.sendingData = false;\r\n })\r\n .finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n closeAddAddress() {\r\n this.settings.showAddAddress = false;\r\n },\r\n openAddAddress() {\r\n var _this = this;\r\n _this.settings.showAddAddress = true;\r\n },\r\n closeAddressEdit() {\r\n this.settings.showEditAddress = false;\r\n },\r\n openAddressEdit(address) {\r\n var _this = this;\r\n _this.settings.showEditAddress = true;\r\n _this.editAddressData.id = address.id;\r\n _this.editAddressData.cityId = address.city.id;\r\n _this.editAddressData.address = address.street;\r\n _this.editAddressData.comment = address.comment;\r\n _this.editAddressData.recipientName = address.recipientName;\r\n _this.editAddressData.recipientPhone = address.phone;\r\n\r\n },\r\n resetFields() {\r\n var _this = this;\r\n _this.editAddressData.cityId = 0;\r\n _this.editAddressData.address = '';\r\n _this.editAddressData.comment = '';\r\n _this.editAddressData.recipientName = '';\r\n _this.editAddressData.recipientPhone = '';\r\n _this.settings.submitted = false;\r\n },\r\n getAddresses() {\r\n var _this = this;\r\n\r\n //if (_this.settings.sendingData) { return; }\r\n _this.addresses = [];\r\n //_this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getaddresses';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.addresses = response.data.data.addresses;\r\n _this.selectAddress(_this.addresses[0]);\r\n }\r\n //_this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n //_this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n //_this.settings.sendingData = false;\r\n });\r\n },\r\n getCities() {\r\n var _this = this;\r\n if (_this.cities.length > 0) {\r\n return;\r\n }\r\n /* if (_this.settings.sendingData) { return; }*/\r\n\r\n //_this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getcities';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.cities = response.data.data.cities;\r\n //_this.addressData.city = _this.cities[0].id;\r\n }\r\n //_this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n //_this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n //_this.settings.sendingData = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n var _this = this;\r\n\r\n this.getCities();\r\n this.getAddresses(true, false);\r\n },\r\n computed: {\r\n\r\n }\r\n ,\ntemplate: `\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

\r\n {{address.city.title}}\r\n

\r\n
\r\n

{{address.recipientName}}

\r\n

{{address.phone}}

\r\n

{{address.street}}

\r\n

{{address.comment}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n {{settings.submitted && editAddressData.address.length == 0}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n შენახვა\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n შენახვა\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n`\n});\nVue.component('buy', {\r\n props: {\r\n isProfileCompleted: Boolean,\r\n isAuthorized: Boolean,\r\n //userInfo: Object\r\n },\r\n data: function () {\r\n return {\r\n cartItems: [],\r\n cities: [],\r\n addresses: [],\r\n addAddressData: {\r\n cityId: 0,\r\n anotherRecipient: false,\r\n recipientName: '',\r\n recipientPhone: '',\r\n address: '',\r\n comment: ''\r\n },\r\n addAddressSettings: {\r\n submitted: false,\r\n sendingData: false,\r\n resultMessage: '',\r\n },\r\n selectedOptions: {\r\n selectedAddress: null,\r\n selectedDeliveryType: -1,\r\n selectedShippingMethod: 0,\r\n selectedPaymentMethod: -1,\r\n selectedPaymentChannel: 0,\r\n },\r\n shipping: {\r\n fee: 0,\r\n days: '',\r\n },\r\n checkoutSettings: {\r\n sendingData: false,\r\n resultMessage: '',\r\n success: false,\r\n },\r\n availableOptions: {\r\n shippingMethods: [],\r\n paymentChannels: [],\r\n },\r\n settings: {\r\n sendingData: false,\r\n resultMessage: '',\r\n submitted: false,\r\n isAllProductsFromLocalWarehouse: false,\r\n showProductsList: false,\r\n showAddAddressForm: false,\r\n //isExpressDeliveryAvailable: false,\r\n langAbbr: window._data.languageAbbr,\r\n standardShippingPrice: 0,\r\n expressShippingPrice: 0,\r\n estimateDeliveryDate: '',\r\n\r\n enableBuyButton: false,\r\n\r\n modalIsOpen: false\r\n },\r\n voucher: {\r\n code: '',\r\n isValid: false,\r\n discount: 0,\r\n message: '',\r\n applied: false,\r\n },\r\n phrases: {\r\n step1sidebarcontent: PhrasesService.shared.getPhrase('cart_step1sidebarcontent'),\r\n step2shippingcontent: PhrasesService.shared.getPhrase('cart_step2shippingcontent'),\r\n step2shopcontent: PhrasesService.shared.getPhrase('cart_step2shopcontent'),\r\n step3sidebarcontent: PhrasesService.shared.getPhrase('cart_step3sidebarcontent'),\r\n },\r\n };\r\n },\r\n methods: {\r\n openUrl(key) {\r\n const url = window._data[key];\r\n if (url) {\r\n window.open(url, '_blank');\r\n } else {\r\n console.error(`URL for ${key} not found`);\r\n }\r\n },\r\n openModal() {\r\n document.getElementById('modal').style.display = 'flex';\r\n document.body.classList.add('no-scroll');\r\n },\r\n\r\n closeModal() {\r\n document.getElementById('modal').style.display = 'none';\r\n document.body.classList.remove('no-scroll');\r\n },\r\n\r\n //openmodal(phrase) {\r\n // this.settings.modalIsOpen = true;\r\n // //alert(phrase);\r\n //},\r\n checkVoucher() {\r\n var _this = this;\r\n _this.voucher.applied = false;\r\n _this.voucher.isValid = false;\r\n _this.voucher.discount = 0;\r\n _this.voucher.message = '';\r\n\r\n var endpointUrl = window._data.cartApiUrl + 'CheckVoucher';\r\n axios.post(endpointUrl,\r\n {\r\n code: _this.voucher.code,\r\n langAbbr: window._data.languageAbbr\r\n })\r\n .then(function (response) {\r\n _this.voucher.applied = true;\r\n _this.voucher.isValid = response.data.data.isValid;\r\n _this.voucher.discount = _this._formatMoney(response.data.data.discount);\r\n _this.voucher.message = response.data.data.message;\r\n\r\n if (_this.voucher.isValid) {\r\n _this._createConfetti();\r\n }\r\n })\r\n .catch(function (e) {\r\n })\r\n .finally(function (e) {\r\n });\r\n },\r\n\r\n loadUserOptions() {\r\n var _this = this;\r\n\r\n var endpointUrl = window._data.profileApiUrl + 'getuserconfig';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n })\r\n .then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.selectedOptions.selectedDeliveryType = parseInt(response.data.data.deliveryType);\r\n }\r\n _this.getAddresses();\r\n })\r\n .catch(function (e) {\r\n })\r\n .finally(function (e) {\r\n });\r\n },\r\n getAddresses() {\r\n var _this = this;\r\n _this.addresses = [];\r\n var endpointUrl = window._data.cartApiUrl + 'getaddresses';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.addresses = response.data.data.addresses;\r\n\r\n var mainAddress = _this.addresses.filter(function (a) { return a.isMain == true; })[0];\r\n\r\n if (mainAddress) {\r\n _this.selectedOptions.selectedAddress = mainAddress;\r\n } else if (_this.addresses != null && _this.addresses.length > 0) {\r\n _this.selectedOptions.selectedAddress = _this.addresses[0];\r\n }\r\n _this.getAvailableShippingMethods();\r\n }\r\n //_this.isExpressDeliveryAvailable();\r\n //_this.getStandardShippingPrice();\r\n //_this.getExpressShippingPrice();\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n getAvailableShippingMethods() {\r\n var _this = this;\r\n\r\n var endpointUrl = window._data.cartApiUrl + 'GetAvailableShippingMethods';\r\n _this.availableOptions.shippingMethods = [];\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions?.selectedAddress?.city?.id,\r\n deliveryType: parseInt(_this.selectedOptions.selectedDeliveryType),\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.availableOptions.shippingMethods = response.data.data.methods;\r\n\r\n if (!_this.isShippingMethodAvailable(_this.selectedOptions.selectedShippingMethod)) {\r\n _this.selectedOptions.selectedShippingMethod = 0;\r\n }\r\n\r\n } else {\r\n _this.selectedOptions.selectedShippingMethod = 0;\r\n }\r\n\r\n _this.getAvailablePaymentChannels();\r\n _this.getStandardShippingPrice();\r\n _this.getExpressShippingPrice();\r\n _this.calculateShipping();\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n getAvailablePaymentChannels() {\r\n var _this = this;\r\n\r\n var endpointUrl = window._data.cartApiUrl + 'getAvailablePaymentChannels';\r\n _this.availableOptions.paymentChannels = [];\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions?.selectedAddress?.city?.id,\r\n deliveryType: parseInt(_this.selectedOptions.selectedDeliveryType),\r\n shippingMethod: parseInt(_this.selectedOptions.selectedShippingMethod),\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.availableOptions.paymentChannels = response.data.data.channels;\r\n\r\n if (!_this.isPaymentChannelAvailable(_this.selectedOptions.selectedPaymentChannel)) {\r\n _this.selectedOptions.selectedPaymentChannel = 0;\r\n _this.selectedOptions.selectedPaymentMethod = -1;\r\n }\r\n } else {\r\n _this.selectedOptions.selectedPaymentChannel = 0;\r\n _this.selectedOptions.selectedPaymentMethod = -1;\r\n }\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n isShippingMethodAvailable(methodId) {\r\n var methodIdAsInt = parseInt(methodId);\r\n if (this.selectedOptions.selectedDeliveryType == 1) {\r\n return true;\r\n }\r\n return this.availableOptions.shippingMethods.includes(methodIdAsInt);\r\n },\r\n isPaymentChannelAvailable(channelId) {\r\n var channelIdAsInt = parseInt(channelId);\r\n return this.availableOptions.paymentChannels.includes(channelIdAsInt);\r\n },\r\n changeDeliveryType() {\r\n var _this = this;\r\n\r\n _this.selectedOptions.selectedDeliveryType = parseInt(_this.selectedOptions.selectedDeliveryType);\r\n\r\n var endpointUrl = window._data.cartApiUrl + 'changeDeliveryType';\r\n\r\n axios.post(endpointUrl,\r\n {\r\n deliveryType: _this.selectedOptions.selectedDeliveryType,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n //_this.calculateShipping();\r\n _this.getAvailableShippingMethods();\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n addAddress() {\r\n var _this = this;\r\n if (_this.addAddressSettings.sendingData) { return; }\r\n _this.addAddressSettings.resultMessage = '';\r\n _this.addAddressSettings.submitted = true;\r\n var endpointUrl = window._data.profileApiUrl + 'addaddress';\r\n\r\n if (_this.addAddressData.cityId == null || _this.addAddressData.cityId.length == 0 || _this.addAddressData.cityId == 0 ||\r\n _this.addAddressData.address == null || _this.addAddressData.address.length == 0 ||\r\n (_this.addAddressData.anotherRecipient && (_this.addAddressData.recipientName == null || _this.addAddressData.recipientName.length == 0 ||\r\n _this.addAddressData.recipientPhone == null || _this.addAddressData.recipientPhone.length == 0))) {\r\n return;\r\n }\r\n\r\n _this.addAddressSettings.sendingData = true;\r\n\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.addAddressData.cityId,\r\n address: _this.addAddressData.address,\r\n comment: _this.addAddressData.comment,\r\n recipientName: _this.addAddressData.recipientName,\r\n recipientPhone: _this.addAddressData.recipientPhone,\r\n langAbbr: window._data.languageAbbr\r\n })\r\n .then(function (response) {\r\n _this.addAddressSettings.succeeded = response.data.succeeded;\r\n _this.addAddressSettings.sendingData = false;\r\n _this.addAddressSettings.resultMessage = response.data.message;\r\n\r\n if (response.data.succeeded) {\r\n _this.getAddresses();\r\n _this.hideAddAddressForm();\r\n }\r\n })\r\n .catch(function (e) {\r\n _this.addAddressSettings.sendingData = false;\r\n })\r\n .finally(function (e) {\r\n _this.addAddressSettings.sendingData = false;\r\n });\r\n },\r\n getCities() {\r\n var _this = this;\r\n if (_this.cities.length > 0) {\r\n return;\r\n }\r\n /* if (_this.settings.sendingData) { return; }*/\r\n\r\n //_this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getcities';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.cities = response.data.data.cities;\r\n //_this.addressData.city = _this.cities[0].id;\r\n }\r\n //_this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n //_this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n //_this.settings.sendingData = false;\r\n });\r\n },\r\n gotoHome() {\r\n window.open(window._data.homeUrl, \"_self\");\r\n },\r\n openProductUrl(url) {\r\n window.open(url, \"_self\");\r\n },\r\n showAddAddressForm() {\r\n this.settings.showAddAddressForm = true;\r\n },\r\n hideAddAddressForm() {\r\n this.settings.showAddAddressForm = false;\r\n },\r\n toggleProductsList() {\r\n this.settings.showProductsList = !this.settings.showProductsList;\r\n },\r\n changeAddress() {\r\n var _this = this;\r\n if (_this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null) {\r\n var endpointUrl = window._data.profileApiUrl + 'ChangeMainAddress';\r\n axios.post(endpointUrl,\r\n {\r\n id: parseInt(_this.selectedOptions.selectedAddress.id),\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n //_this.calculateShipping();\r\n _this.getAddresses();\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n }\r\n },\r\n //isExpressDeliveryAvailable() {\r\n // var _this = this;\r\n // if (_this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null) {\r\n // var endpointUrl = window._data.cartApiUrl + 'ExpressDeliveryAvailable';\r\n\r\n // axios.post(endpointUrl,\r\n // {\r\n // cityId: _this.selectedOptions.selectedAddress.city.id,\r\n // }).then(function (response) {\r\n // _this.settings.isExpressDeliveryAvailable = response.data == true;\r\n // }).catch(function (e) {\r\n // }).finally(function (e) {\r\n // });\r\n // }\r\n //},\r\n changeShippingMethod() {\r\n //this.calculateShipping();\r\n //this.getAvailableShippingMethods();\r\n \r\n this.getAvailablePaymentChannels();\r\n this.calculateShipping();\r\n },\r\n getStandardShippingPrice() {\r\n var _this = this;\r\n\r\n if (_this.selectedOptions.selectedAddress == null || _this.selectedOptions.selectedAddress == undefined) {\r\n return;\r\n }\r\n var endpointUrl = window._data.cartApiUrl + 'getStandardShippingPrice';\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions.selectedAddress.city.id,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.settings.standardShippingPrice = response.data.data.fee;\r\n //_this.addressData.city = _this.cities[0].id;\r\n }\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n getExpressShippingPrice() {\r\n var _this = this;\r\n\r\n if (_this.selectedOptions.selectedAddress == null || _this.selectedOptions.selectedAddress == undefined) {\r\n return;\r\n }\r\n var endpointUrl = window._data.cartApiUrl + 'getExpressShippingPrice';\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions.selectedAddress.city.id,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.settings.expressShippingPrice = response.data.data.fee;\r\n //_this.addressData.city = _this.cities[0].id;\r\n }\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n calculateShipping() {\r\n var _this = this;\r\n _this.shipping.fee = 0;\r\n if (_this.selectedOptions.selectedDeliveryType == 1) {\r\n return _this.shipping.fee.toFixed(2);\r\n }\r\n if (_this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null) {\r\n //return _this.shipping.fee.toFixed(2);\r\n var endpointUrl = window._data.cartApiUrl + 'getshippingfee';\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions.selectedAddress.city.id,\r\n deliveryType: parseInt(_this.selectedOptions.selectedDeliveryType),\r\n shippingMethod: parseInt(_this.selectedOptions.selectedShippingMethod),\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.shipping.fee = response.data.data.fee.toFixed(2);\r\n _this.shipping.days = response.data.data.days;\r\n }\r\n _this.getEstimateDeliveryDate();\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n }\r\n },\r\n getCartItems() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getcartitems';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n\r\n if (response.data.succeeded) {\r\n\r\n _this.cartItems = response.data.items;\r\n //_this.settings.isAllProductsFromLocalWarehouse = response.data.data.isAllProductsFromLocalWarehouse;\r\n }\r\n _this.settings.sendingData = false;\r\n //_this.calculateShipping();\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n //_this.showHarryWarning();\r\n });\r\n },\r\n goToCart() {\r\n window.open(window._data.cartUrl, \"_self\");\r\n },\r\n\r\n changePaymentMethod() {\r\n var _this = this;\r\n\r\n _this.selectedOptions.selectedPaymentChannel = 0;\r\n //this.selectedOptions.selectedPaymentChannel = 0;\r\n //if (this.selectedOptions.selectedPaymentMethod == 2) {\r\n // this.selectedOptions.selectedPaymentChannel = 3;\r\n //} else\r\n if (_this.selectedOptions.selectedPaymentMethod == 3) {\r\n _this.selectedOptions.selectedPaymentChannel = 2;\r\n }\r\n //_this.enableBuyButton();\r\n },\r\n getEstimateDeliveryDate() {\r\n var _this = this;\r\n\r\n var endpointUrl = window._data.cartApiUrl + 'GetEstimateDeliveryDate';\r\n\r\n _this.settings.estimateDeliveryDate = '';\r\n\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions?.selectedAddress?.city?.id,\r\n deliveryType: parseInt(_this.selectedOptions.selectedDeliveryType),\r\n shippingMethod: parseInt(_this.selectedOptions.selectedShippingMethod),\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.settings.estimateDeliveryDate = response.data.data.date;\r\n }\r\n\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n\r\n processCheckout() {\r\n var _this = this;\r\n if (_this.checkoutSettings.sendingData) { return; }\r\n _this.checkoutSettings.resultMessage = '';\r\n _this.checkoutSettings.sendingData = false;\r\n _this.checkoutSettings.success = true;\r\n\r\n if (!_this.settings.enableBuyButton) {\r\n _this.checkoutSettings.resultMessage = 'Some options are not selected';\r\n return;\r\n }\r\n\r\n //_this.getCartItems();\r\n _this.checkoutSettings.sendingData = false;\r\n _this.calculateShipping();\r\n var endpointUrl = window._data.cartApiUrl + 'processCheckout';\r\n\r\n\r\n if (parseInt(_this.selectedOptions.selectedPaymentChannel) == 7) {\r\n BOG.Calculator.open({\r\n bnpl: false,\r\n amount: parseFloat(_this.productsSumPriceWithShipping),\r\n onClose: () => {\r\n // Modal close callback\r\n },\r\n onRequest: (selected, successCb, closeCb) => {\r\n const {\r\n amount, month, discount_code\r\n } = selected;\r\n\r\n _this.checkoutSettings.sendingData = true;\r\n\r\n axios.post(endpointUrl,\r\n {\r\n channel: parseInt(_this.selectedOptions.selectedPaymentChannel),\r\n shippingMethod: _this.selectedOptions.selectedDeliveryType == 1 ? 3 : parseInt(_this.selectedOptions.selectedShippingMethod),\r\n addressId: _this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null ? _this.selectedOptions.selectedAddress.id : null,\r\n loanTerm: month,\r\n langAbbr: window._data.languageAbbr,\r\n voucherCode: _this.voucher.code,\r\n discountCode: discount_code\r\n }).then(function (response) {\r\n _this.checkoutSettings.sendingData = false;\r\n _this.checkoutSettings.resultMessage = response.data.message;\r\n _this.checkoutSettings.success = response.data.succeeded;\r\n\r\n if (response.data.succeeded) {\r\n if (response.data.data.channel == 1 ||\r\n response.data.data.channel == 6 ||\r\n response.data.data.channel == 7 ||\r\n response.data.data.channel == 8 ||\r\n response.data.data.channel == 9 ||\r\n response.data.data.channel == 10 ||\r\n response.data.data.channel == 11 ||\r\n response.data.data.channel == 12) {\r\n location.href = response.data.data.redirectUrl;\r\n }\r\n //bank transfer || pos terminal\r\n else if (response.data.data.channel == 2 || response.data.data.channel == 3 || response.data.data.channel == 4) {\r\n location.href = window._data.paymentResultUrl + '?t=' + response.data.data.transactionId;\r\n }\r\n }\r\n else {\r\n _this.getCartItems();\r\n }\r\n }).catch(function (e) {\r\n _this.checkoutSettings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.checkoutSettings.sendingData = false;\r\n });\r\n\r\n }\r\n })\r\n } else if (parseInt(_this.selectedOptions.selectedPaymentChannel) == 12) {\r\n BOG.Calculator.open({\r\n bnpl: true,\r\n amount: parseFloat(_this.productsSumPriceWithShipping),\r\n onClose: () => {\r\n // Modal close callback\r\n },\r\n onRequest: (selected, successCb, closeCb) => {\r\n const {\r\n amount, month, discount_code\r\n } = selected;\r\n\r\n _this.checkoutSettings.sendingData = true;\r\n\r\n axios.post(endpointUrl,\r\n {\r\n channel: parseInt(_this.selectedOptions.selectedPaymentChannel),\r\n shippingMethod: _this.selectedOptions.selectedDeliveryType == 1 ? 3 : parseInt(_this.selectedOptions.selectedShippingMethod),\r\n addressId: _this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null ? _this.selectedOptions.selectedAddress.id : null,\r\n loanTerm: month,\r\n langAbbr: window._data.languageAbbr,\r\n voucherCode: _this.voucher.code,\r\n discountCode: discount_code\r\n }).then(function (response) {\r\n _this.checkoutSettings.sendingData = false;\r\n _this.checkoutSettings.resultMessage = response.data.message;\r\n _this.checkoutSettings.success = response.data.succeeded;\r\n\r\n if (response.data.succeeded) {\r\n if (response.data.data.channel == 1 ||\r\n response.data.data.channel == 6 ||\r\n response.data.data.channel == 7 ||\r\n response.data.data.channel == 8 ||\r\n response.data.data.channel == 9 ||\r\n response.data.data.channel == 10 ||\r\n response.data.data.channel == 11 ||\r\n response.data.data.channel == 12) {\r\n location.href = response.data.data.redirectUrl;\r\n }\r\n //bank transfer || pos terminal\r\n else if (response.data.data.channel == 2 || response.data.data.channel == 3 || response.data.data.channel == 4) {\r\n location.href = window._data.paymentResultUrl + '?t=' + response.data.data.transactionId;\r\n }\r\n }\r\n else {\r\n _this.getCartItems();\r\n }\r\n }).catch(function (e) {\r\n _this.checkoutSettings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.checkoutSettings.sendingData = false;\r\n });\r\n\r\n }\r\n })\r\n } else {\r\n\r\n _this.checkoutSettings.sendingData = true;\r\n axios.post(endpointUrl,\r\n {\r\n channel: parseInt(_this.selectedOptions.selectedPaymentChannel),\r\n shippingMethod: _this.selectedOptions.selectedDeliveryType == 1 ? 3 : parseInt(_this.selectedOptions.selectedShippingMethod),\r\n addressId: _this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null ? _this.selectedOptions.selectedAddress.id : null,\r\n //loanTerm: 0,\r\n langAbbr: window._data.languageAbbr,\r\n voucherCode: _this.voucher.code\r\n }).then(function (response) {\r\n _this.checkoutSettings.sendingData = false;\r\n _this.checkoutSettings.resultMessage = response.data.message;\r\n _this.checkoutSettings.success = response.data.succeeded;\r\n\r\n if (response.data.succeeded) {\r\n if (response.data.data.channel == 1 ||\r\n response.data.data.channel == 6 ||\r\n response.data.data.channel == 7 ||\r\n response.data.data.channel == 8 ||\r\n response.data.data.channel == 10 ||\r\n response.data.data.channel == 11 ||\r\n response.data.data.channel == 12) {\r\n location.href = response.data.data.redirectUrl;\r\n }\r\n //bank transfer || pos terminal\r\n else if (response.data.data.channel == 2 || response.data.data.channel == 3 || response.data.data.channel == 4) {\r\n location.href = window._data.paymentResultUrl + '?t=' + response.data.data.transactionId;\r\n } else if (response.data.data.channel == 9) {\r\n $('#credoInstallmentForm input').val(response.data.data.value);\r\n $('#credoInstallmentForm')[0].submit();\r\n }\r\n }\r\n else {\r\n _this.getCartItems();\r\n }\r\n }).catch(function (e) {\r\n _this.checkoutSettings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.checkoutSettings.sendingData = false;\r\n });\r\n }\r\n\r\n },\r\n\r\n\r\n //private methods\r\n _createAndSubmitForm(transId) {\r\n $(\"body\").append('
');\r\n $(\"#payform\")[0].submit();\r\n },\r\n _calculateProductSumPrice(cartItem) {\r\n return this._formatMoney(cartItem.quantity * cartItem.price);\r\n },\r\n _calculateProductSumWeight(cartItem) {\r\n return (cartItem.quantity * cartItem.product.weight).toFixed(3);\r\n },\r\n _formatMoney(value) {\r\n return value.toFixed(2);\r\n },\r\n //_createConfetti() {\r\n // const colors = ['#FF5733', '#33FF57', '#3357FF', '#FF33A6', '#33FFF5'];\r\n // const container = document.body;\r\n // for (let i = 0; i < 300; i++) {\r\n // const confetti = document.createElement('div');\r\n // confetti.classList.add('confetti');\r\n // confetti.style.backgroundColor = colors[Math.floor(Math.random() * colors.length)];\r\n // confetti.style.left = Math.random() * window.innerWidth + 'px';\r\n // confetti.style.top = Math.random() * window.innerHeight + 'px';\r\n // container.appendChild(confetti);\r\n // confetti.addEventListener('animationend', () => confetti.remove());\r\n // }\r\n //}\r\n _createConfetti() {\r\n confetti({\r\n particleCount: 100,\r\n spread: 70,\r\n origin: { y: 0.6 }\r\n });\r\n }\r\n },\r\n mounted() {\r\n var _this = this;\r\n var called\r\n _this.getCartItems();\r\n if (_this.isAuthorized) {\r\n _this.getCities();\r\n //_this.getAddresses();\r\n _this.loadUserOptions();\r\n //_this.getAvailablePaymentChannels();\r\n setInterval(function () {\r\n //_this.isExpressDeliveryAvailable();\r\n _this.getAvailableShippingMethods();\r\n }, 60000);\r\n }\r\n },\r\n computed: {\r\n enableBuyButton() {\r\n\r\n var enable = true;\r\n\r\n if (this.selectedOptions.selectedPaymentMethod != null && this.selectedOptions.selectedPaymentMethod != undefined) {\r\n this.selectedOptions.selectedPaymentMethod = parseInt(this.selectedOptions.selectedPaymentMethod);\r\n }\r\n\r\n if (this.selectedOptions.selectedPaymentChannel != null && this.selectedOptions.selectedPaymentChannel != undefined) {\r\n this.selectedOptions.selectedPaymentChannel = parseInt(this.selectedOptions.selectedPaymentChannel);\r\n }\r\n\r\n if (!this.cartItems.length) {\r\n enable = false;\r\n }\r\n\r\n if (this.selectedOptions.selectedDeliveryType == 0 && (this.selectedOptions.selectedAddress == null || this.selectedOptions.selectedAddress == undefined)) {\r\n enable = false;\r\n }\r\n\r\n if (this.selectedOptions.selectedDeliveryType < 0) {\r\n enable = false;\r\n }\r\n\r\n if (this.selectedOptions.selectedDeliveryType != 1 && this.selectedOptions.selectedShippingMethod <= 0) {\r\n enable = false;\r\n }\r\n\r\n if (this.selectedOptions.selectedPaymentMethod < 0) {\r\n enable = false;\r\n }\r\n\r\n if (this.selectedOptions.selectedPaymentChannel <= 0) {\r\n enable = false;\r\n }\r\n\r\n if (!this.isShippingMethodAvailable(this.selectedOptions.selectedShippingMethod)) {\r\n enable = false;\r\n }\r\n\r\n if (!this.availableOptions.paymentChannels.includes(this.selectedOptions.selectedPaymentChannel)) {\r\n enable = false;\r\n }\r\n\r\n this.settings.enableBuyButton = enable;\r\n return enable;\r\n },\r\n productsSumPrice() {\r\n var _this = this;\r\n var sumPrice = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumPrice += parseFloat(_this._calculateProductSumPrice(_this.cartItems[i]));\r\n }\r\n return sumPrice.toFixed(2);\r\n },\r\n productsSumPriceForSlider() {\r\n var _this = this;\r\n if (_this.productsSumPrice < 100) {\r\n return _this.productsSumPrice;\r\n }\r\n return 100;\r\n },\r\n hasFreeShipping() {\r\n return this.productsSumPrice > 100;\r\n },\r\n amountForFreeShipping() {\r\n var _this = this;\r\n var totalAmount = _this.productsSumPrice;\r\n if (totalAmount < 100) {\r\n return 100 - totalAmount;\r\n } else {\r\n return 0;\r\n }\r\n },\r\n productsSumPriceWithShipping() {\r\n var _this = this;\r\n var sumPrice = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumPrice += parseFloat(_this._calculateProductSumPrice(_this.cartItems[i]));\r\n }\r\n sumPrice += parseFloat(_this.shipping.fee);\r\n if (_this.voucher.applied && _this.voucher.isValid) {\r\n sumPrice -= parseFloat(_this.voucher.discount);\r\n }\r\n return sumPrice.toFixed(2);\r\n },\r\n productsSumWeigth() {\r\n var _this = this;\r\n var sumWeight = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumWeight += parseFloat(_this._calculateProductSumWeight(_this.cartItems[i]));\r\n }\r\n return sumWeight;\r\n },\r\n productsSumWeightInKg() {\r\n return this.productsSumWeigth.toFixed(2);\r\n },\r\n }\r\n ,\ntemplate: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Shopping cart

\r\n
\r\n
\r\n
\r\n
\r\n
Product image
\r\n
\r\n
\r\n
Description
\r\n
\r\n
Quantity
\r\n
Price
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
{{cartItem.quantity}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{cartItem.product.title}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {{cartItem.quantity}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{_calculateProductSumPrice(cartItem)}} ₾\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Cost summary

\r\n
\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_products-sum-amount')}}\r\n
\r\n
\r\n {{productsSumPrice}} ₾\r\n
\r\n
\r\n
\r\n
{{PhrasesService.shared.getPhrase('buy_products-weight')}}
\r\n
\r\n {{productsSumWeightInKg}} {{PhrasesService.shared.getPhrase('general_weight-kg')}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_products-shipping')}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n 0\" translate=\"yes\" class=\"_19gi7yt0 _19gi7ytl _1fragemkv _19gi7ytf _19gi7ytb notranslate\">{{shipping.fee}} ₾\r\n {{PhrasesService.shared.getPhrase('buy_products-choose-shipping-type')}}\r\n
\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_sum-amount')}}\r\n
\r\n
\r\n
\r\n \r\n {{productsSumPriceWithShipping}} ₾\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{PhrasesService.shared.getPhrase('buy_delivery-section-tite')}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_delivery-section-choose-delivery-type')}}\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('general_or')}}\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

{{PhrasesService.shared.getPhrase('buy_pickup-warning-title')}}

\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_pickup-warning')}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
0 && !settings.showAddAddressForm\">\r\n

{{PhrasesService.shared.getPhrase('buy_delivery-type-section-title')}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_delivery-type-choose-type')}}\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0 && !settings.showAddAddressForm\">\r\n
\r\n
\r\n
\r\n
\r\n

{{PhrasesService.shared.getPhrase('buy_payment-method-section-title')}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Choose a payment method\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_payment-method-tbc-content')}}\r\n
\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_payment-method-bog-content')}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('buy_payment-method-bank-transfer-content')}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

{{PhrasesService.shared.getPhrase('buy_voucher-section-title')}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n {{voucher.message}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n
\r\n {{checkoutSettings.resultMessage}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Order summary

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{PhrasesService.shared.getPhrase('buy_shipping-hint-title')}}
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n`\n});\nVue.component('cart', {\r\n props: {\r\n isProfileCompleted: Boolean,\r\n isAuthorized: Boolean,\r\n userInfo: Object\r\n },\r\n data: function () {\r\n return {\r\n cartItems: [],\r\n cities: [],\r\n addresses: [],\r\n addAddressData: {\r\n cityId: 0,\r\n address: '',\r\n comment: '',\r\n recipientName: '',\r\n recipientPhone: '',\r\n },\r\n checkoutSettings: {\r\n sendingData: false,\r\n resultMessage: '',\r\n },\r\n settings: {\r\n sendingData: false,\r\n resultMessage: '',\r\n submitted: false,\r\n isAllProductsFromLocalWarehouse: false,\r\n showHarryWarning: false,\r\n showAddAddressForm: false,\r\n hasNoAddresses: false,\r\n showFreeShippingBar: false,\r\n freeShippingAmount: 50,\r\n },\r\n shipping: {\r\n fee: 0,\r\n days: ''\r\n },\r\n selectedOptions: {\r\n selectedAddress: {},\r\n selectedDeliveryType: 0,\r\n anotherRecipient: false\r\n },\r\n phrases: {\r\n tableProduct: PhrasesService.shared.getPhrase('cart_table-product'),\r\n tableQuantity: PhrasesService.shared.getPhrase('cart_table-quantity'),\r\n tableSum: PhrasesService.shared.getPhrase('cart_table-sum'),\r\n step3sidebarcontent: PhrasesService.shared.getPhrase('cart_step3sidebarcontent'),\r\n },\r\n addAddressSettings: {\r\n submitted: false,\r\n sendingData: false,\r\n resultMessage: '',\r\n },\r\n };\r\n },\r\n methods: {\r\n changeDeliveryType(change) {\r\n var _this = this;\r\n\r\n if (change != null && change != undefined && change == true) {\r\n if (_this.selectedOptions.selectedDeliveryType == true) {\r\n _this.selectedOptions.selectedDeliveryType = 1;\r\n } else {\r\n _this.selectedOptions.selectedDeliveryType = 0;\r\n }\r\n }\r\n\r\n var endpointUrl = window._data.cartApiUrl + 'ChangeDeliveryType';\r\n\r\n axios.post(endpointUrl,\r\n {\r\n deliveryType: _this.selectedOptions.selectedDeliveryType,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n _this.calculateShipping();\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n showHarryWarning() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'showharrywarning';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n _this.settings.sendingData = false;\r\n _this.settings.showHarryWarning = response.data == true;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n gotoHome() {\r\n window.open(window._data.homeUrl, \"_self\");\r\n },\r\n openProductUrl(url) {\r\n window.open(url, \"_self\");\r\n },\r\n increaseCartItemQuantity(cartItem) {\r\n this.updateCartItem(cartItem, parseInt(cartItem.quantity) + 1);\r\n },\r\n decreaseCartItemQuantity(cartItem) {\r\n this.updateCartItem(cartItem, parseInt(cartItem.quantity) - 1);\r\n },\r\n deleteCartItem(cartItem) {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'remove';\r\n axios.post(endpointUrl,\r\n {\r\n productId: cartItem.product.id,\r\n }).then(function (response) {\r\n _this.settings.sendingData = false;\r\n if (response.data.succeeded) {\r\n _this.getCartItems();\r\n }\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n getCartItems() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getcartitems';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n\r\n if (response.data.succeeded) {\r\n\r\n _this.cartItems = response.data.items;\r\n //_this.settings.isAllProductsFromLocalWarehouse = response.data.data.isAllProductsFromLocalWarehouse;\r\n window.getCartInfo();\r\n }\r\n _this.settings.sendingData = false;\r\n _this.calculateShipping();\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n _this.showHarryWarning();\r\n });\r\n },\r\n calculateProductSumPrice(cartItem) {\r\n return (cartItem.quantity * cartItem.price).toFixed(2);\r\n },\r\n singleCartItemPrice(cartItem) {\r\n return (cartItem.price).toFixed(2);\r\n },\r\n updateCartItem(cartItem, quantity) {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'add';\r\n axios.post(endpointUrl,\r\n {\r\n productId: cartItem.product.id,\r\n quantity: quantity\r\n }).then(function (response) {\r\n _this.settings.sendingData = false;\r\n\r\n if (response.data.succeeded) {\r\n _this.getCartItems();\r\n }\r\n //else {\r\n // $('.notification').addClass('fail');\r\n // $('.notification .notification__text p')[0].innerText = response.data.message;\r\n // $('.notification').addClass('open');\r\n // setTimeout(function () {\r\n // $('.notification').removeClass('open success fail');\r\n // $('.notification .notification__text p')[0].innerText = '';\r\n // }, 3000);\r\n //}\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n gotoBuyPage() {\r\n window.open(window._data.buyUrl, \"_self\");\r\n },\r\n clearCart() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'clearcart';\r\n axios.post(endpointUrl,\r\n {\r\n }).then(function (response) {\r\n _this.settings.sendingData = false;\r\n if (response.data.succeeded) {\r\n _this.getCartItems();\r\n }\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n goToCart() {\r\n window.open(window._data.cartUrl, \"_self\");\r\n },\r\n gotoLoginPage() {\r\n window.open(window._data.signInUrl, \"_self\");\r\n },\r\n getCities() {\r\n var _this = this;\r\n if (_this.cities.length > 0) {\r\n return;\r\n }\r\n var endpointUrl = window._data.cartApiUrl + 'getcities';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n const cities = response.data.data.cities;\r\n const selectFirstElement = { id: 0, title: 'აირჩიე' };\r\n var newArray = [selectFirstElement].concat(cities);\r\n _this.cities = newArray;\r\n }\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n },\r\n getAddresses() {\r\n var _this = this;\r\n\r\n //if (_this.settings.sendingData) { return; }\r\n _this.addresses = [];\r\n //_this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getaddresses';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.addresses = response.data.data.addresses;\r\n\r\n if (_this.addresses.length > 0) {\r\n\r\n var mainAddress = _this.addresses.filter(function (a) { return a.isMain == true; })[0];\r\n\r\n if (mainAddress) {\r\n _this.selectedOptions.selectedAddress = mainAddress;\r\n } else {\r\n _this.selectedOptions.selectedAddress = _this.addresses[0];\r\n }\r\n _this.changeAddress(false);\r\n\r\n _this.settings.showFreeShippingBar = mainAddress.city.freeShippingFrom != null && mainAddress.city.freeShippingFrom != undefined;\r\n\r\n if (_this.settings.showFreeShippingBar) {\r\n _this.settings.freeShippingAmount = mainAddress.city.freeShippingFrom;\r\n setTimeout(function () {\r\n const t = document.querySelector(\"free-ship-progress-bar\");\r\n t && t.init(_this.productsSumPrice);\r\n }, 200);\r\n }\r\n\r\n } else {\r\n _this.settings.showAddAddressForm = true;\r\n _this.settings.hasNoAddresses = true;\r\n }\r\n }\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n changeAddress(reload) {\r\n var _this = this;\r\n if (_this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null) {\r\n\r\n var endpointUrl = window._data.profileApiUrl + 'ChangeMainAddress';\r\n\r\n axios.post(endpointUrl,\r\n {\r\n id: parseInt(_this.selectedOptions.selectedAddress.id),\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (reload) {\r\n _this.calculateShipping();\r\n _this.getAddresses();\r\n }\r\n }).catch(function (e) {\r\n }).finally(function (e) {\r\n });\r\n\r\n //_this.settings.showFreeShippingBar = _this.selectedOptions.selectedAddress.city.id == 1;\r\n }\r\n },\r\n showAddAddressForm() {\r\n this.settings.showAddAddressForm = true;\r\n },\r\n hideAddAddressForm() {\r\n this.settings.showAddAddressForm = false;\r\n },\r\n addAddress() {\r\n var _this = this;\r\n if (_this.addAddressSettings.sendingData) { return; }\r\n _this.addAddressSettings.resultMessage = '';\r\n _this.addAddressSettings.submitted = true;\r\n var endpointUrl = window._data.profileApiUrl + 'addaddress';\r\n\r\n if (_this.addAddressData.cityId == null || _this.addAddressData.cityId.length == 0 || _this.addAddressData.cityId == 0 ||\r\n _this.addAddressData.address == null || _this.addAddressData.address.length == 0 ||\r\n (_this.selectedOptions.anotherRecipient && (_this.addAddressData.recipientName == null || _this.addAddressData.recipientName.length == 0 ||\r\n _this.addAddressData.recipientPhone == null || _this.addAddressData.recipientPhone.length == 0))) {\r\n return;\r\n }\r\n\r\n _this.addAddressSettings.sendingData = true;\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.addAddressData.cityId,\r\n address: _this.addAddressData.address,\r\n comment: _this.addAddressData.comment,\r\n recipientName: _this.addAddressData.recipientName,\r\n recipientPhone: _this.addAddressData.recipientPhone,\r\n langAbbr: window._data.languageAbbr\r\n })\r\n .then(function (response) {\r\n _this.addAddressSettings.succeeded = response.data.succeeded;\r\n _this.addAddressSettings.sendingData = false;\r\n _this.addAddressSettings.resultMessage = response.data.message;\r\n\r\n if (response.data.succeeded) {\r\n _this.getAddresses();\r\n _this.hideAddAddressForm();\r\n }\r\n })\r\n .catch(function (e) {\r\n _this.addAddressSettings.sendingData = false;\r\n })\r\n .finally(function (e) {\r\n _this.addAddressSettings.sendingData = false;\r\n });\r\n },\r\n calculateProductSumWeight(cartItem) {\r\n return (cartItem.quantity * cartItem.product.weight).toFixed(3);\r\n },\r\n calculateShipping() {\r\n var _this = this;\r\n _this.shipping.fee = 0;\r\n\r\n var endpointUrl = window._data.cartApiUrl + 'getshippingfee';\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions.selectedAddress.city.id,\r\n deliveryType: _this.selectedOptions.selectedDeliveryType,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.shipping.fee = response.data.data.fee.toFixed(2);\r\n _this.shipping.days = response.data.data.days;\r\n }\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n var _this = this;\r\n _this.getCartItems();\r\n if (_this.isAuthorized) {\r\n _this.getCities();\r\n _this.getAddresses();\r\n _this.changeDeliveryType();\r\n //_this.loadUserConfig();\r\n }\r\n },\r\n computed: {\r\n productsSumPrice() {\r\n var _this = this;\r\n var sumPrice = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumPrice += parseFloat(_this.calculateProductSumPrice(_this.cartItems[i]));\r\n }\r\n return sumPrice.toFixed(2);\r\n },\r\n productsSumPriceForSlider() {\r\n var _this = this;\r\n if (_this.productsSumPrice < 100) {\r\n return _this.productsSumPrice;\r\n }\r\n return 100;\r\n },\r\n productsSumPriceProgressbarPercent() {\r\n var _this = this;\r\n if (_this.productsSumPrice < _this.settings.freeShippingAmount) {\r\n return (_this.productsSumPrice / _this.settings.freeShippingAmount) * 100;\r\n }\r\n return 100;\r\n },\r\n hasFreeShipping() {\r\n return this.productsSumPrice > this.settings.freeShippingAmount;\r\n },\r\n amountForFreeShipping() {\r\n var _this = this;\r\n var totalAmount = _this.productsSumPrice;\r\n if (totalAmount < _this.settings.freeShippingAmount) {\r\n return (_this.settings.freeShippingAmount - totalAmount).toFixed(2);\r\n } else {\r\n return 0;\r\n }\r\n },\r\n productsSumWeigth() {\r\n var _this = this;\r\n var sumWeight = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumWeight += parseFloat(_this.calculateProductSumWeight(_this.cartItems[i]));\r\n }\r\n return sumWeight;\r\n },\r\n productsSumWeightInKg() {\r\n return this.productsSumWeigth.toFixed(2);\r\n },\r\n productsSumPriceWithShipping() {\r\n var _this = this;\r\n var sumPrice = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumPrice += parseFloat(_this.calculateProductSumPrice(_this.cartItems[i]));\r\n }\r\n sumPrice += parseFloat(_this.shipping.fee);\r\n return sumPrice.toFixed(2);\r\n },\r\n }\r\n ,\ntemplate: `\r\n
\r\n\r\n
\r\n
\r\n {{PhrasesService.shared.getPhrase('cart_table-top-harry')}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{PhrasesService.shared.getPhrase('cart_yourcartisempty')}}\r\n {{PhrasesService.shared.getPhrase('cart_yourcartisemptysubcontent')}}\r\n

\r\n
\r\n
\r\n
\r\n
0\">\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n`\n});\nVue.component('changePassword', {\r\n props: {\r\n setByUser: Boolean\r\n },\r\n data: function () {\r\n return {\r\n oldPassword: '',\r\n newPassword: '',\r\n repeatNewPassword: '',\r\n settings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n phrases: {\r\n oldPassword: PhrasesService.shared.getPhrase('profilechangepassword_oldpassword'),\r\n newPassword: PhrasesService.shared.getPhrase('profilechangepassword_newpassword'),\r\n repeatnewPassword: PhrasesService.shared.getPhrase('profilechangepassword_repeatnewpassword'),\r\n save: PhrasesService.shared.getPhrase('profilechangepassword_save'),\r\n },\r\n };\r\n },\r\n methods: {\r\n changePassword() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.submitted = true;\r\n\r\n if (!_this.oldPassword.length || !_this.newPassword.length || !_this.repeatNewPassword.length) {\r\n return;\r\n }\r\n\r\n _this.settings.sendingData = true;\r\n _this.settings.resultMessage = '';\r\n\r\n axios.post(window._data.profileApiUrl + 'changepassword',\r\n {\r\n oldPassword: _this.oldPassword,\r\n newPassword: _this.newPassword,\r\n repeatNewPassword: _this.repeatNewPassword,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n //if (response.data.succeeded) {\r\n // // window.location.href = response.data.data.redirectUrl;\r\n //}\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.resultMessage = response.data.message;\r\n _this.settings.sendingData = false;\r\n if (_this.settings.succeeded) {\r\n _this.oldPassword = '';\r\n _this.newPassword = '';\r\n _this.repeatNewPassword = '';\r\n _this.settings.submitted = false;\r\n }\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n }\r\n },\r\n mounted() {\r\n }\r\n ,\ntemplate: `\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n

\r\n {{settings.resultMessage}}\r\n

\r\n\r\n
\r\n \r\n შენახვა\r\n \r\n \r\n
\r\n
\r\n`\n});\nVue.component('contact', {\r\n props: { recaptcha: String },\r\n data: function () {\r\n return {\r\n userData: {\r\n firstname: '',\r\n lastname: '',\r\n email: '',\r\n phone: '',\r\n message: ''\r\n },\r\n settings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n };\r\n },\r\n methods: {\r\n //enableBtn() {\r\n // $('.js-send').removeClass(\"disabled\");\r\n //},\r\n send() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.submitted = true;\r\n _this.settings.resultMessage = '';\r\n\r\n if (!_this.userData.firstname.length || !_this.userData.lastname.length\r\n || !_this.userData.email.length || !_this.userData.phone.length\r\n || !_this.userData.message.length) {\r\n return;\r\n }\r\n _this.settings.sendingData = true;\r\n\r\n axios.post(window._data.contactApiUrl + 'send',\r\n {\r\n firstname: _this.userData.firstname,\r\n lastname: _this.userData.lastname,\r\n email: _this.userData.email,\r\n phone: _this.userData.phone,\r\n message: _this.userData.message,\r\n captcha: $(\"#g-recaptcha-response\").val()\r\n }).then(function (response) {\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.resultMessage = response.data.message;\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n }\r\n ,\ntemplate: `\r\n
\r\n

მოგვწერეთ

\r\n
\r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {{settings.resultMessage}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n`\n});\nVue.component('priceRequest', {\r\n props: {\r\n productId: Number\r\n },\r\n data: function () {\r\n return {\r\n userData: {\r\n price: \"0\",\r\n quantity: \"1\",\r\n comment: ''\r\n },\r\n settings: {\r\n showResult: false,\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null,\r\n showForm: true\r\n },\r\n };\r\n },\r\n methods: {\r\n send() {\r\n var _this = this;\r\n\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.showResult = false;\r\n _this.settings.submitted = true;\r\n\r\n _this.settings.resultMessage = '';\r\n if (!_this.userData.price.length || _this.userData.price <= 0 || !_this.userData.quantity.length\r\n || _this.userData.quantity <= 0) {\r\n return;\r\n }\r\n _this.settings.sendingData = true;\r\n\r\n axios.post(window._data.apiBaseUrl + 'PriceRequestApi/send',\r\n {\r\n price: parseFloat(_this.userData.price),\r\n quantity: parseInt(_this.userData.quantity),\r\n comment: _this.userData.comment,\r\n productId: _this.productId,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n _this.settings.showResult = true;\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.resultMessage = response.data.message;\r\n _this.settings.sendingData = false;\r\n _this.settings.showForm = !_this.settings.succeeded;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n },\r\n mounted() {\r\n }\r\n ,\ntemplate: `\r\n
\r\n
\r\n

შემოგვთავაზე ფასი

\r\n
\r\n
\r\n\r\n

\r\n {{settings.resultMessage}}\r\n

\r\n

\r\n {{settings.resultMessage}}\r\n

\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n`\n});\nVue.component('profile', {\r\n props: {\r\n userInfo: Object\r\n },\r\n data: function () {\r\n return {\r\n settings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n userData: {\r\n fullname: '',\r\n mobile: '',\r\n code: '',\r\n //birthDate: '',\r\n //gender: 0,\r\n },\r\n phrases: {\r\n fullname: PhrasesService.shared.getPhrase('profile_fullname'),\r\n email: PhrasesService.shared.getPhrase('profile_email'),\r\n mobile: PhrasesService.shared.getPhrase('profile_mobile'),\r\n code: PhrasesService.shared.getPhrase('profile_code'),\r\n gender: PhrasesService.shared.getPhrase('profile_gender'),\r\n gendeoptionchoose: PhrasesService.shared.getPhrase('profile_gendeoptionchoose'),\r\n genderoptionmale: PhrasesService.shared.getPhrase('profile_genderoptionmale'),\r\n genderoptionfemale: PhrasesService.shared.getPhrase('profile_genderoptionfemale'),\r\n birthDate: PhrasesService.shared.getPhrase('profile_birthdate'),\r\n save: PhrasesService.shared.getPhrase('profile_save')\r\n },\r\n };\r\n },\r\n methods: {\r\n updateInfo() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.submitted = true;\r\n _this.settings.resultMessage = '';\r\n\r\n if ((_this.userData.fullname != null && !_this.userData.fullname.length) ||\r\n (_this.userData.mobile != null && !_this.userData.mobile.length) ||\r\n (_this.userData.code != null && !_this.userData.code.length)) {\r\n return;\r\n }\r\n _this.settings.sendingData = true;\r\n\r\n axios.post(window._data.profileApiUrl + 'updateinfo',\r\n {\r\n name: _this.userData.fullname,\r\n mobile: _this.userData.mobile,\r\n code: _this.userData.code,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n //if (response.data.succeeded) {\r\n // // window.location.href = response.data.data.redirectUrl;\r\n //}\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.resultMessage = response.data.message;\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n\r\n allowNumbersOnly(evt) {\r\n evt = (evt) ? evt : window.event;\r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if ((charCode > 31 && (charCode < 48 || charCode > 57)) && charCode !== 46) {\r\n evt.preventDefault();;\r\n } else {\r\n return true;\r\n }\r\n },\r\n },\r\n mounted() {\r\n var _this = this;\r\n\r\n _this.userData.fullname = _this.userInfo.Fullname;\r\n _this.userData.email = _this.userInfo.Email;\r\n _this.userData.mobile = _this.userInfo.Mobile;\r\n _this.userData.code = _this.userInfo.Code;\r\n }\r\n ,\ntemplate: `\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n {{settings.resultMessage}}\r\n
\r\n\r\n \r\n
\r\n`\n});\nVue.component('recoverPassword', {\r\n props: [],\r\n data: function () {\r\n return {\r\n userData: {\r\n email: ''\r\n },\r\n settings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null,\r\n },\r\n };\r\n },\r\n methods: {\r\n send() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.succeeded = null;\r\n _this.settings.submitted = true;\r\n _this.settings.resultMessage = '';\r\n\r\n if (!_this.userData.email.length) {\r\n return;\r\n }\r\n _this.settings.sendingData = true;\r\n\r\n axios.post(window._data.authUrl + 'recoverpassword',\r\n {\r\n email: _this.userData.email,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.resultMessage = response.data.message;\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n }\r\n },\r\n mounted() {\r\n },\r\n computed: {\r\n\r\n }\r\n ,\ntemplate: `\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n

\r\n {{settings.resultMessage}}\r\n

\r\n\r\n
\r\n \r\n გაგზავნა\r\n \r\n \r\n
\r\n
\r\n`\n});\nVue.component('resetPassword', {\r\n props: {\r\n user: Object,\r\n guid: Object\r\n },\r\n data: function () {\r\n return {\r\n userData: {\r\n password: '',\r\n repeatPassword: ''\r\n },\r\n settings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n };\r\n },\r\n methods: {\r\n send() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.submitted = true;\r\n _this.settings.resultMessage = '';\r\n\r\n if (!_this.userData.password.length || !_this.userData.repeatPassword.length) {\r\n return;\r\n }\r\n _this.settings.sendingData = true;\r\n\r\n axios.post(window._data.authUrl + 'resetpassword',\r\n {\r\n userId: _this.user,\r\n guid: _this.guid,\r\n password: _this.userData.password,\r\n langAbbr: window._data.languageAbbr,\r\n repeatPassword: _this.userData.repeatPassword\r\n }).then(function (response) {\r\n _this.settings.succeeded = response.data.succeeded;\r\n _this.settings.resultMessage = response.data.message;\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n }\r\n },\r\n mounted() {\r\n },\r\n computed: {\r\n\r\n }\r\n ,\ntemplate: `\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n

\r\n {{settings.resultMessage}}\r\n

\r\n\r\n
\r\n \r\n შენახვა\r\n \r\n \r\n
\r\n
\r\n`\n});\nVue.component('sideCart', {\r\n props: {\r\n isProfileCompleted: Boolean,\r\n isAuthorized: Boolean,\r\n userInfo: Object\r\n },\r\n data: function () {\r\n return {\r\n cartItems: [],\r\n cities: [],\r\n addresses: [],\r\n addAddressData: {\r\n city: null,\r\n address: null,\r\n additionalInfo: null\r\n },\r\n addAddressSettings: {\r\n succeeded: null,\r\n sendingData: false,\r\n resultMessage: '',\r\n },\r\n selectedOptions: {\r\n selectedAddress: {},\r\n selectedDeliveryOption: 0,\r\n selectedPaymentMethod: 0\r\n },\r\n\r\n shipping: {\r\n fee: 0,\r\n days: '',\r\n },\r\n checkoutSettings: {\r\n sendingData: false,\r\n resultMessage: '',\r\n },\r\n settings: {\r\n sendingData: false,\r\n resultMessage: '',\r\n submitted: false,\r\n isAllProductsFromLocalWarehouse: false,\r\n showFreeShippingBar: true,\r\n freeShippingAmount: 50\r\n },\r\n phrases: {\r\n step1sidebarcontent: PhrasesService.shared.getPhrase('cart_step1sidebarcontent'),\r\n step2shippingcontent: PhrasesService.shared.getPhrase('cart_step2shippingcontent'),\r\n step2shopcontent: PhrasesService.shared.getPhrase('cart_step2shopcontent'),\r\n step3sidebarcontent: PhrasesService.shared.getPhrase('cart_step3sidebarcontent'),\r\n },\r\n };\r\n },\r\n methods: {\r\n gotoBuyPage() {\r\n window.open(window._data.buyUrl, \"_self\");\r\n },\r\n gotoHome() {\r\n window.open(window._data.homeUrl, \"_self\");\r\n },\r\n openProductUrl(url) {\r\n window.open(url, \"_self\");\r\n },\r\n increaseCartItemQuantity(cartItem) {\r\n this.updateCartItem(cartItem, parseInt(cartItem.quantity) + 1);\r\n },\r\n decreaseCartItemQuantity(cartItem) {\r\n this.updateCartItem(cartItem, parseInt(cartItem.quantity) - 1);\r\n },\r\n deleteCartItem(cartItem) {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'remove';\r\n axios.post(endpointUrl,\r\n {\r\n productId: cartItem.product.id,\r\n }).then(function (response) {\r\n _this.settings.sendingData = false;\r\n if (response.data.succeeded) {\r\n _this.getCartItems();\r\n }\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n getCities() {\r\n var _this = this;\r\n if (_this.cities.length > 0) {\r\n return;\r\n }\r\n /* if (_this.settings.sendingData) { return; }*/\r\n\r\n //_this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getcities';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.cities = response.data.data.cities;\r\n //_this.addressData.city = _this.cities[0].id;\r\n }\r\n //_this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n //_this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n //_this.settings.sendingData = false;\r\n });\r\n },\r\n getAddresses() {\r\n var _this = this;\r\n\r\n //if (_this.settings.sendingData) { return; }\r\n _this.addresses = [];\r\n //_this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getaddresses';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.addresses = response.data.data.addresses;\r\n /* _this.selectAddress(_this.addresses[0]);*/\r\n if (_this.addresses.length > 0) {\r\n\r\n var mainAddress = _this.addresses.filter(function (a) { return a.isMain == true; })[0];\r\n\r\n if (mainAddress) {\r\n _this.selectedOptions.selectedAddress = mainAddress;\r\n } else {\r\n _this.selectedOptions.selectedAddress = _this.addresses[0];\r\n }\r\n\r\n //var selectedAddress = _this.addresses.find(item => item.isMain === true) != undefined && _this.addresses.find(item => item.isMain === true) != null ? _this.addresses.find(item => item.isMain === true) : _this.addresses[0];\r\n\r\n //_this.selectedOptions.selectedAddress = selectedAddress;\r\n _this.settings.showFreeShippingBar = mainAddress.city.freeShippingFrom != null && mainAddress.city.freeShippingFrom != undefined;\r\n\r\n if (_this.settings.showFreeShippingBar) {\r\n _this.settings.freeShippingAmount = mainAddress.city.freeShippingFrom;\r\n setTimeout(function () {\r\n const t = document.querySelector(\"free-ship-progress-bar\");\r\n t && t.init(_this.productsSumPrice);\r\n }, 200);\r\n }\r\n\r\n } else {\r\n _this.settings.showAddAddressForm = true;\r\n _this.settings.hasNoAddresses = true;\r\n }\r\n }\r\n\r\n\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n\r\n getCartItems() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getcartitems';\r\n axios.post(endpointUrl,\r\n {\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n\r\n if (response.data.succeeded) {\r\n\r\n _this.cartItems = response.data.items;\r\n //_this.settings.isAllProductsFromLocalWarehouse = response.data.data.isAllProductsFromLocalWarehouse;\r\n window.getCartInfo();\r\n }\r\n _this.settings.sendingData = false;\r\n _this.calculateShipping();\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n calculateProductSumPrice(cartItem) {\r\n return (cartItem.quantity * cartItem.price).toFixed(2);\r\n },\r\n calculateProductSumWeight(cartItem) {\r\n return (cartItem.quantity * cartItem.product.weight).toFixed(3);\r\n },\r\n updateCartItem(cartItem, quantity) {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'add';\r\n axios.post(endpointUrl,\r\n {\r\n productId: cartItem.product.id,\r\n quantity: quantity\r\n }).then(function (response) {\r\n _this.settings.sendingData = false;\r\n\r\n if (response.data.succeeded) {\r\n _this.getCartItems();\r\n }\r\n //else {\r\n // $('.notification').addClass('fail');\r\n // $('.notification .notification__text p')[0].innerText = response.data.message;\r\n // $('.notification').addClass('open');\r\n // setTimeout(function () {\r\n // $('.notification').removeClass('open success fail');\r\n // $('.notification .notification__text p')[0].innerText = '';\r\n // }, 3000);\r\n //}\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n isAddressSelected() {\r\n var _this = this;\r\n return _this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null;\r\n },\r\n selectAddress(address) {\r\n var _this = this;\r\n _this.selectedOptions.selectedAddress = address;\r\n _this.calculateShipping();\r\n },\r\n calculateShipping() {\r\n var _this = this;\r\n\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'getshippingfee';\r\n axios.post(endpointUrl,\r\n {\r\n cityId: _this.selectedOptions.selectedAddress.city.id,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n _this.shipping.fee = response.data.data.fee.toFixed(2);\r\n _this.shipping.days = response.data.data.days;\r\n }\r\n _this.settings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n setDeliveryOption(option) {\r\n var _this = this;\r\n //0-request, 1-takeaway\r\n this.selectedOptions.selectedDeliveryOption = option;\r\n if (option == 0) {\r\n _this.calculateShipping();\r\n } else {\r\n _this.shipping.fee = 0;\r\n _this.shipping.days = '';\r\n }\r\n },\r\n //processCheckout() {\r\n // var _this = this;\r\n // if (_this.checkoutSettings.sendingData) { return; }\r\n // _this.checkoutSettings.resultMessage = '';\r\n // _this.checkoutSettings.sendingData = false;\r\n // //_this.getCartItems();\r\n // _this.checkoutSettings.sendingData = false;\r\n // _this.calculateShipping();\r\n // _this.checkoutSettings.sendingData = true;\r\n // var endpointUrl = window._data.cartApiUrl + 'processCheckout';\r\n // axios.post(endpointUrl,\r\n // {\r\n // channel: _this.selectedOptions.selectedPaymentMethod,\r\n // requestDelivery: _this.selectedOptions.selectedDeliveryOption == 0 ? true : false,\r\n // addressId: _this.selectedOptions.selectedAddress != undefined && _this.selectedOptions.selectedAddress != null ? _this.selectedOptions.selectedAddress.id : null,\r\n // langAbbr: window._data.languageAbbr\r\n // }).then(function (response) {\r\n // _this.checkoutSettings.sendingData = false;\r\n // _this.checkoutSettings.resultMessage = response.data.message;\r\n\r\n // if (response.data.succeeded) {\r\n // //tbc\r\n // if (response.data.data.channel == 0) {\r\n // _this.createAndSubmitForm(response.data.data.transactionId);\r\n // }\r\n // //bog\r\n // else if (response.data.data.channel == 1) {\r\n // location.href = response.data.data.redirectUrl;\r\n // }\r\n // //tbc installment\r\n // else if (response.data.data.channel == 4) {\r\n // location.href = response.data.data.redirectUrl;\r\n // }\r\n // //bank transfer || pos terminal\r\n // else if (response.data.data.channel == 2 || response.data.data.channel == 3) {\r\n // location.href = window._data.paymentResultUrl + '?t=' + response.data.data.transactionId;\r\n // }\r\n // }\r\n // else {\r\n // _this.getCartItems();\r\n // }\r\n // }).catch(function (e) {\r\n // _this.checkoutSettings.sendingData = false;\r\n // }).finally(function (e) {\r\n // _this.checkoutSettings.sendingData = false;\r\n // });\r\n //},\r\n clearCart() {\r\n var _this = this;\r\n if (_this.settings.sendingData) { return; }\r\n\r\n _this.settings.sendingData = true;\r\n var endpointUrl = window._data.cartApiUrl + 'clearcart';\r\n axios.post(endpointUrl,\r\n {\r\n }).then(function (response) {\r\n _this.settings.sendingData = false;\r\n if (response.data.succeeded) {\r\n _this.getCartItems();\r\n }\r\n }).catch(function (e) {\r\n _this.settings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.settings.sendingData = false;\r\n });\r\n },\r\n createAndSubmitForm(transId) {\r\n $(\"body\").append('
');\r\n $(\"#payform\")[0].submit();\r\n },\r\n selectPaymentMethod(method) {\r\n var _this = this;\r\n _this.selectedOptions.selectedPaymentMethod = method;\r\n },\r\n goToCart() {\r\n window.open(window._data.cartUrl, \"_self\");\r\n }\r\n },\r\n mounted() {\r\n var _this = this;\r\n _this.getCartItems();\r\n if (_this.isAuthorized) {\r\n _this.getCities();\r\n _this.getAddresses();\r\n }\r\n },\r\n computed: {\r\n productsSumPrice() {\r\n var _this = this;\r\n var sumPrice = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumPrice += parseFloat(_this.calculateProductSumPrice(_this.cartItems[i]));\r\n }\r\n return sumPrice.toFixed(2);\r\n },\r\n productsSumPriceForSlider() {\r\n var _this = this;\r\n if (_this.productsSumPrice < _this.settings.freeShippingAmount) {\r\n return _this.productsSumPrice;\r\n }\r\n return 100;\r\n },\r\n productsSumPriceProgressbarPercent() {\r\n var _this = this;\r\n if (_this.productsSumPrice < _this.settings.freeShippingAmount) {\r\n return (_this.productsSumPrice / _this.settings.freeShippingAmount) * 100;\r\n }\r\n return 100;\r\n },\r\n hasFreeShipping() {\r\n return this.productsSumPrice > this.settings.freeShippingAmount;\r\n },\r\n amountForFreeShipping() {\r\n var _this = this;\r\n var totalAmount = _this.productsSumPrice;\r\n if (totalAmount < _this.settings.freeShippingAmount) {\r\n return (_this.settings.freeShippingAmount - totalAmount).toFixed(2);\r\n } else {\r\n return 0;\r\n }\r\n },\r\n productsSumPriceWithShipping() {\r\n var _this = this;\r\n var sumPrice = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumPrice += parseFloat(_this.calculateProductSumPrice(_this.cartItems[i]));\r\n }\r\n sumPrice += parseFloat(_this.shipping.fee);\r\n return sumPrice.toFixed(2);\r\n },\r\n productsSumWeigth() {\r\n var _this = this;\r\n var sumWeight = 0;\r\n for (var i = 0; i < _this.cartItems.length; i++) {\r\n sumWeight += parseFloat(_this.calculateProductSumWeight(_this.cartItems[i]));\r\n }\r\n return sumWeight;\r\n },\r\n productsSumWeightInKg() {\r\n return this.productsSumWeigth.toFixed(2);\r\n },\r\n }\r\n ,\ntemplate: `\r\n
\r\n
\r\n
\r\n
\r\n

კალათა

\r\n \r\n (0)\r\n \r\n
\r\n \r\n
\r\n უფასო მიწოდებით'\"\r\n data-fe-avaiable=\"გილოცავ, შენ სარგებლობ უფასო მიწოდებით\"\r\n class=\"cart_shipping cart_threshold mb-20\"\r\n :class=\"{'cart_shipping_free' : hasFreeShipping}\">\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n უფასო მიწოდება {{settings.freeShippingAmount}}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{PhrasesService.shared.getPhrase('cart_yourcartisempty')}}\r\n {{PhrasesService.shared.getPhrase('cart_yourcartisemptysubcontent')}}\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n
0\">\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n

\r\n {{cartItem.product.title}}\r\n

\r\n
    \r\n
    \r\n \r\n\r\n {{calculateProductSumPrice(cartItem)}} ₾\r\n\r\n \r\n \r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n წაშლა\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n`\n});\nVue.component('signIn', {\r\n props: {\r\n },\r\n data: function () {\r\n return {\r\n signInData: {\r\n email: '',\r\n password: '',\r\n remember: false\r\n },\r\n signInSettings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n phrases: {\r\n email: PhrasesService.shared.getPhrase('signinform_email'),\r\n passowrd: PhrasesService.shared.getPhrase('signinform_passowrd'),\r\n login: PhrasesService.shared.getPhrase('signinform_login'),\r\n orsigninwith: PhrasesService.shared.getPhrase('signinform_orsigninwith'),\r\n googleauth: PhrasesService.shared.getPhrase('signinform_googleauth'),\r\n facebookauth: PhrasesService.shared.getPhrase('signinform_facebookauth'),\r\n forgotpassword: PhrasesService.shared.getPhrase('signinform_forgotpassword'),\r\n resetpassword: PhrasesService.shared.getPhrase('signinform_resetpassword'),\r\n donthaveaccount: PhrasesService.shared.getPhrase('signinform_donthaveaccount'),\r\n signup: PhrasesService.shared.getPhrase('signinform_signup')\r\n },\r\n };\r\n },\r\n methods: {\r\n openPasswordRecoverPage() {\r\n location.href = window._data.passwordRecoverPageUrl;\r\n },\r\n async signIn() {\r\n var _this = this;\r\n if (_this.signInSettings.sendingData) { return; }\r\n _this.signInSettings.submitted = true;\r\n _this.signInSettings.resultMessage = '';\r\n\r\n if (!_this.signInData.email.length || !_this.signInData.password.length) {\r\n return;\r\n }\r\n\r\n const reCaptchaToken = await SecurityService.shared.getGoogleReCaptchaToken('emailsignin')\r\n\r\n _this.signInSettings.sendingData = true;\r\n _this.signInSettings.succeeded = null;\r\n axios.post(window._data.authUrl + 'emailsignin',\r\n {\r\n email: _this.signInData.email,\r\n password: _this.signInData.password,\r\n persistent: true,\r\n langAbbr: window._data.languageAbbr,\r\n reCaptchaToken: reCaptchaToken\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n location.href = window._data.homeUrl;\r\n }\r\n _this.signInSettings.succeeded = response.data.succeeded;\r\n _this.signInSettings.resultMessage = response.data.message;\r\n _this.signInSettings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.signInSettings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.signInSettings.sendingData = false;\r\n });\r\n }\r\n },\r\n mounted() {\r\n },\r\n computed: {\r\n\r\n }\r\n ,\ntemplate: `\r\n
    \r\n
    \r\n

    \r\n {{signInSettings.resultMessage}}\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n`\n});\nVue.component('signInPopup', {\r\n props: [],\r\n data: function () {\r\n return {\r\n signInData: {\r\n email: '',\r\n password: '',\r\n remember: false\r\n },\r\n signUpData: {\r\n type: '0',\r\n name: '',\r\n email: '',\r\n mobile: '',\r\n code: '',\r\n password: '',\r\n repeatPassword: ''\r\n },\r\n signUpSettings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n signInSettings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n //settings: {\r\n // //sendingSignUpData: false,\r\n // sendingSignInData: false,\r\n\r\n // submitted: false,\r\n // resultMessage: '',\r\n // signUpUrl: '',\r\n // recoverPasswordUrl: '',\r\n // succeeded: null\r\n //},\r\n phrases: {\r\n email: PhrasesService.shared.getPhrase('signinform_email'),\r\n passowrd: PhrasesService.shared.getPhrase('signinform_passowrd'),\r\n login: PhrasesService.shared.getPhrase('signinform_login'),\r\n orsigninwith: PhrasesService.shared.getPhrase('signinform_orsigninwith'),\r\n googleauth: PhrasesService.shared.getPhrase('signinform_googleauth'),\r\n facebookauth: PhrasesService.shared.getPhrase('signinform_facebookauth'),\r\n forgotpassword: PhrasesService.shared.getPhrase('signinform_forgotpassword'),\r\n resetpassword: PhrasesService.shared.getPhrase('signinform_resetpassword'),\r\n donthaveaccount: PhrasesService.shared.getPhrase('signinform_donthaveaccount'),\r\n signup: PhrasesService.shared.getPhrase('signinform_signup')\r\n },\r\n };\r\n },\r\n methods: {\r\n signUp() {\r\n var _this = this;\r\n if (_this.signUpSettings.sendingData) { return; }\r\n\r\n _this.signUpSettings.submitted = true;\r\n _this.signUpSettings.resultMessage = '';\r\n\r\n if (!_this.signUpData.name.length ||\r\n !_this.signUpData.email.length ||\r\n !_this.signUpData.mobile.length ||\r\n !_this.signUpData.password.length ||\r\n !_this.signUpData.repeatPassword.length ||\r\n (_this.signUpData.type == '1' && !_this.signUpData.code.length)\r\n ) {\r\n return;\r\n }\r\n\r\n _this.signUpSettings.sendingData = true;\r\n\r\n axios.post(window._data.authUrl + 'emailsignup',\r\n {\r\n type: parseInt(_this.signUpData.type),\r\n name: _this.signUpData.name,\r\n email: _this.signUpData.email,\r\n mobile: _this.signUpData.mobile,\r\n code: _this.signUpData.code,\r\n password: _this.signUpData.password,\r\n repeatPassword: _this.signUpData.repeatPassword,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n location.reload();\r\n }\r\n _this.signUpSettings.succeeded = response.data.succeeded;\r\n _this.signUpSettings.resultMessage = response.data.message;\r\n _this.signUpSettings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.signUpSettings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.signUpSettings.sendingData = false;\r\n });\r\n },\r\n signIn() {\r\n var _this = this;\r\n if (_this.signInSettings.sendingData) { return; }\r\n\r\n _this.signInSettings.sendingData = true;\r\n _this.signInSettings.submitted = true;\r\n _this.signInSettings.resultMessage = '';\r\n _this.signInSettings.succeeded = null;\r\n\r\n axios.post(window._data.authUrl + 'emailsignin',\r\n {\r\n email: _this.signInData.email,\r\n password: _this.signInData.password,\r\n persistent: _this.signInData.remember,\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n location.reload();\r\n }\r\n _this.signInSettings.succeeded = response.data.succeeded;\r\n _this.signInSettings.resultMessage = response.data.message;\r\n _this.signInSettings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.signInSettings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.signInSettings.sendingData = false;\r\n });\r\n },\r\n allowNumbersOnly(evt) {\r\n evt = (evt) ? evt : window.event;\r\n var charCode = (evt.which) ? evt.which : evt.keyCode;\r\n if ((charCode > 31 && (charCode < 48 || charCode > 57)) && charCode !== 46) {\r\n evt.preventDefault();;\r\n } else {\r\n return true;\r\n }\r\n },\r\n openTermsUrl() {\r\n window.open(window._data.termsUrl, \"_blank\");\r\n },\r\n openSignUpUrl() {\r\n $('#register-tab').trigger('click');\r\n },\r\n },\r\n mounted() {\r\n //this.settings.signUpUrl = window._data.signUpUrl;\r\n //this.settings.recoverPasswordUrl = window._data.recoverPasswordUrl;\r\n },\r\n computed: {\r\n\r\n }\r\n ,\ntemplate: `\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n დაგავიწყდა პაროლი?\r\n \r\n \r\n
    \r\n
    \r\n`\n});\nVue.component('signUp', {\r\n props: {\r\n },\r\n data: function () {\r\n return {\r\n signUpData: {\r\n type: \"0\",\r\n companyName: '',\r\n fullname: '',\r\n identityCode: '',\r\n phone: '',\r\n email: '',\r\n password: '',\r\n repeatPassword: '',\r\n agree: false\r\n },\r\n signUpSettings: {\r\n sendingData: false,\r\n submitted: false,\r\n resultMessage: '',\r\n succeeded: null\r\n },\r\n phrases: {\r\n email: PhrasesService.shared.getPhrase('signinform_email'),\r\n passowrd: PhrasesService.shared.getPhrase('signinform_passowrd'),\r\n login: PhrasesService.shared.getPhrase('signinform_login'),\r\n orsigninwith: PhrasesService.shared.getPhrase('signinform_orsigninwith'),\r\n googleauth: PhrasesService.shared.getPhrase('signinform_googleauth'),\r\n facebookauth: PhrasesService.shared.getPhrase('signinform_facebookauth'),\r\n forgotpassword: PhrasesService.shared.getPhrase('signinform_forgotpassword'),\r\n resetpassword: PhrasesService.shared.getPhrase('signinform_resetpassword'),\r\n donthaveaccount: PhrasesService.shared.getPhrase('signinform_donthaveaccount'),\r\n signup: PhrasesService.shared.getPhrase('signinform_signup')\r\n },\r\n };\r\n },\r\n methods: {\r\n openTerms() {\r\n window.open(window._data.termsUrl, '_blank');\r\n },\r\n signUp() {\r\n var _this = this;\r\n if (_this.signUpSettings.sendingData) { return; }\r\n _this.signUpSettings.submitted = true;\r\n _this.signUpSettings.resultMessage = '';\r\n\r\n if ((_this.signUpData.type == \"1\" && _this.signUpData.companyName.length == 0) ||\r\n _this.signUpData.fullname.length == 0 || _this.signUpData.identityCode.length == 0 ||\r\n _this.signUpData.phone.length == 0 || _this.signUpData.email.length == 0 ||\r\n _this.signUpData.password.length == 0 || _this.signUpData.repeatPassword.length == 0 ||\r\n (_this.signUpData.password != _this.signUpData.repeatPassword)) {\r\n return;\r\n }\r\n\r\n if (!_this.signUpData.agree) {\r\n return;\r\n }\r\n\r\n _this.signUpSettings.sendingData = true;\r\n\r\n _this.signUpSettings.succeeded = null;\r\n\r\n axios.post(window._data.authUrl + 'emailsignup',\r\n {\r\n type: parseInt(_this.signUpData.type),\r\n fullname: _this.signUpData.fullname,\r\n companyName: _this.signUpData.companyName,\r\n identityCode: _this.signUpData.identityCode,\r\n phone: _this.signUpData.phone,\r\n email: _this.signUpData.email,\r\n password: _this.signUpData.password,\r\n repeatPassword: _this.signUpData.repeatPassword,\r\n\r\n langAbbr: window._data.languageAbbr\r\n }).then(function (response) {\r\n if (response.data.succeeded) {\r\n location.href = window._data.homeUrl;\r\n }\r\n _this.signUpSettings.succeeded = response.data.succeeded;\r\n _this.signUpSettings.resultMessage = response.data.message;\r\n _this.signUpSettings.sendingData = false;\r\n }).catch(function (e) {\r\n _this.signUpSettings.sendingData = false;\r\n }).finally(function (e) {\r\n _this.signUpSettings.sendingData = false;\r\n });\r\n }\r\n },\r\n mounted() {\r\n },\r\n computed: {\r\n\r\n }\r\n ,\ntemplate: `\r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n

    \r\n {{signUpSettings.resultMessage}}\r\n

    \r\n\r\n
    \r\n \r\n {{PhrasesService.shared.getPhrase('signup_signupbuttontitle')}}\r\n \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n`\n});\nVue.component('svg-icon', {\r\n props: ['icon'],\r\n data: function () {\r\n return {\r\n baseUrl: window._data.baseUrl\r\n };\r\n },\r\n methods: {\r\n getIconUrl: function () {\r\n return this.baseUrl + 'm/i/icons.svg#' + this.icon;\r\n }\r\n },\r\n mounted() {\r\n }\r\n ,\ntemplate: `\r\n \r\n`\n});\nvar vm = new Vue({\r\n el: \"#vueapp\"\r\n});"],"mappings":"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"}