{"version":3,"sources":["loyaltyButton_A.js","loyaltyCartCouponForm_A.js"],"names":["Vendd","Scripts","load","$wrapper","$","length","consentManager","window","ConsentsManager","consentForm","$consentBar","removeClass","addClass","change","this","is","prop","click","checkbox","approved","data","type","source","insertConsents","toggleStickyConsentBar","scroll","debounce","MessageBus","subscribe","Consents","Messages","InsertConsents","redirectUrl","location","replace","scrollTop","innerHeight","outerHeight","offset","top"],"mappings":"AAAAA,MAAAC,QAAAC,KAAA,WAEA,IAAAC,SAAAC,EAAA,kBACA,KAAAD,SAAAE,OAAA,GAAA,CAGA,IAAAC,eAAAC,OAAAC,gBAEAC,YAAAL,EAAA,oBAEAM,YAAAN,EAAA,sBAAAD,UAEAM,YAAAE,YAAA,aAEAP,EAAA,QAAAQ,SAAA,oBAIAR,EAAA,iBAAAK,aAAAI,OAAA,WACAT,EAAAU,MAAAC,GAAA,aACAX,EAAA,kBAAAK,aAAAO,KAAA,YAAA,GACAZ,EAAA,cAAAK,aAAAG,SAAA,YAEAR,EAAA,kBAAAK,aAAAO,KAAA,YAAA,GACAZ,EAAA,cAAAK,aAAAE,YAAA,aAKAP,EAAA,kBAAAK,aAAAQ,MAAA,WACA,IAAAC,SAAAd,EAAA,cAAAK,aACA,GAAAS,SAAAb,OAAA,EAAA,CACA,IAAAc,SAAAD,SAAAH,GAAA,YAEA,GAAAI,SAAA,CACA,IACAC,KAAA,CAAA,CAAAC,KADAZ,YAAAW,KAAA,QACAE,OAAA,eAAAH,SAAAA,WAEAb,eAAAiB,eAAAH,UAkBAI,yBACApB,EAAAG,QAAAkB,OAAArB,EAAAsB,SAAA,GAAAF,yBAEAxB,MAAA2B,WAAAC,UAAA5B,MAAA6B,SAAAC,SAAAC,eAAA/B,MAAA6B,SAAA,WC3DA,IAAAG,YAAAvB,YAAAW,KAAA,YACAY,YACAzB,OAAA0B,SAAAC,QAAAF,aAEAzB,OAAA0B,SAAAC,QAAA,ODwCA,SAAAV,yBAEApB,EAAAG,QAAA4B,YAAA/B,EAAAG,QAAA6B,cACAjC,SAAAkC,cAAAlC,SAAAmC,SAAAC,IAGA7B,YAAAE,SAAA,cAEAF,YAAAC,YAAA","file":"Consents.js","sourcesContent":["Vendd.Scripts.load(function () {\n 'use strict';\n\n var $wrapper = $('.loyalty-page'), wrapper;\n\n if ($wrapper.length < 1)\n return;\n\n wrapper = $wrapper.get(0);\n\n var $button = $('.js-loyalty-to-coupons', $wrapper),\n $refreshButton = $('.response-fancybox-wrapper .js-refresh');\n\n wrapper.loading = function (loading) {\n if (loading) {\n $button.attr(\"disabled\", \"disabled\");\n } else {\n $button.removeAttr(\"disabled\");\n }\n };\n\n wrapper.openFancyBox = function (response) {\n $.fancybox.open({\n src: '#response',\n type: 'inline',\n baseClass: response,\n afterClose: function () { location.reload(); }\n });\n }\n\n $refreshButton.on('click', function (e) {\n e.preventDefault();\n e.stopPropagation();\n //refresh page\n location.reload();\n });\n\n $button.on('click', function (e) {\n e.preventDefault();\n e.stopPropagation();\n\n wrapper.loading(true);\n\n var accountId = parseInt($(this).data('account-id')); \n Vendd.MessageBus.publishAsync($wrapper, new Vendd.Account.Messages.ConvertPointsToCoupons(accountId));\n });\n \n wrapper.onSuccess = function (envelope) {\n wrapper.openFancyBox('response-success');\n wrapper.loading(false);\n };\n\n wrapper.onFailure = function (envelope) { \n wrapper.openFancyBox('response-failure');\n wrapper.loading(false);\n };\n \n Vendd.MessageBus.subscribe(Vendd.Account.Messages.ConvertPointsToCouponsSuccess, wrapper, wrapper.onSuccess);\n Vendd.MessageBus.subscribe(Vendd.Account.Messages.ConvertPointsToCouponsFailure, wrapper, wrapper.onFailure);\n\n});","Vendd.Scripts.load(function () {\n 'use strict';\n\n var $formWrapper = $('.x-loyalty-coupon-wrapper');\n\n if ($formWrapper.length > 0) {\n InitCouponForm($formWrapper);\n }\n\n function InitCouponForm($formWrapper) {\n\n var formData, valOpts, coupon, cartLoyaltyCouponPartial = \"cartLoyaltyCouponForm_A\";\n var $stepOne, $stepTwo, $submitButtonWrapper, $cancelButtonWrapper, $errorWrapper, $errorMessage, $successMessage, attempts = 0, maxAttempts = -1;\n\n var $form = $formWrapper;\n var form = $form.get(0);\n\n\n form.bindHtml = function bind(html) {\n $form.html(html);\n\n $submitButtonWrapper = $('.form-btn-submit', $form);\n $cancelButtonWrapper = $('.form-btn-cancel', $form);\n $stepOne = $('div.step-one-content', $form);\n $stepTwo = $('div.step-two-content', $form);\n\n $errorWrapper = $('.code-error-wrapper', form);\n $errorMessage = $('.code-error-message', $errorWrapper);\n $successMessage = $('.success-message');\n\n var validationCode = form.getValidationCode();\n if (validationCode) {\n $('input[name=\"code\"]', form).val(validationCode);\n }\n\n form.initForm();\n };\n\n form.bindFormData = function (mobile) {\n formData = {\n \"code\": $('input[name=\"code\"]', form).val(),\n \"mobile\": mobile\n };\n\n valOpts = {\n code: {\n required: 'code-required'\n }\n };\n\n $form.validationEngine(valOpts);\n };\n\n form.initForm = function (model) {\n if (model && model.SuccessfullySend) {\n toastr.success(model.SuccessfullySendText);\n\n $stepOne.hide();\n $stepTwo.show();\n form.activateSubmitButton();\n form.bindFormData(model.ValidationForm.Mobile);\n } else {\n form.bindFormData();\n }\n };\n\n /* Store coupon code for cancel after model change */\n form.getCouponCode = function () {\n return sessionStorage.getItem('SelectedCoupon');\n };\n\n form.setCouponCode = function (couponCode) {\n if (couponCode) {\n sessionStorage.setItem('SelectedCoupon', couponCode);\n }\n };\n\n form.removeCouponCode = function () {\n sessionStorage.removeItem('SelectedCoupon');\n };\n\n /* Store validation code for display */\n form.getValidationCode = function () {\n return sessionStorage.getItem('ValidationCode');\n };\n\n form.setValidationCode = function () {\n if (formData.code) {\n sessionStorage.setItem('ValidationCode', formData.code);\n }\n };\n\n form.removeValidationCode = function () {\n sessionStorage.removeItem('ValidationCode');\n };\n\n\n form.submitForm = function (cancel) {\n form.loading(true);\n\n if (cancel === true) {\n Vendd.MessageBus.publishAsync(form, new Vendd.Loyalty.Messages.ClearCoupon(form.getCouponCode()));\n } else {\n attempts ++;\n Vendd.MessageBus.publishAsync(form, new Vendd.Loyalty.Messages.ValidateSmsCode(formData.mobile, formData.code));\n }\n };\n\n form.reloadCart = function () {\n Vendd.Cart.ClearClientModel();\n Vendd.MessageBus.publishAsync(Vendd.Cart, new Vendd.Cart.Messages.GetModel());\n }\n\n form.activateSubmitButton = function () {\n $('input.js-submit', $submitButtonWrapper).prop(\"disabled\", false);\n }\n\n form.show = function show() {\n $form.show();\n };\n\n form.hide = function show() {\n $form.hide();\n };\n\n form.reset = function() {\n form.removeCouponCode();\n form.removeValidationCode();\n form.reloadCart();\n };\n\n form.loading = function (loading) {\n if (loading) {\n $form.addClass('x-loading');\n } else {\n $form.removeClass('x-loading');\n }\n }\n \n $form.on('click', '.js-submit', function (e) {\n valOpts = $form.validationEngine();\n\n $form.validationEngine(valOpts);\n var rf = $form.data('validationEngine');\n\n var valid = rf.validate();\n\n if (valid) {\n form.submitForm();\n }\n });\n\n $form.on('click', '.js-cancel', function (e) {\n valOpts = $form.validationEngine();\n\n $form.validationEngine(valOpts);\n var rf = $form.data('validationEngine');\n\n var valid = rf.validate();\n\n if (valid) {\n $errorMessage.hide();\n $successMessage.hide();\n form.submitForm(true);\n }\n });\n\n $form.on('keyup', 'input[name]', function (e) {\n var $this = $(this);\n var fieldName = $this.attr('name');\n\n formData[fieldName] = $this.val();\n var rf = $form.data('validationEngine');\n rf.validate(fieldName);\n });\n\n\n $form.on('change', 'select[name]', function (e) {\n form.loading(true);\n\n var $this = $(this);\n coupon = $(\"option:selected\", $this).val();\n\n if (coupon !== \"\" && coupon !== undefined) {\n Vendd.MessageBus.publishAsync(Vendd.Loyalty, new Vendd.Loyalty.Messages.ValidateCouponAndSendSms(coupon));\n }\n });\n\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.SendSmsSuccess, form, function (envelope) {\n var data = envelope.message.data;\n \n if (data.SuccessfullySend) {\n toastr.success(data.SuccessfullySendText);\n $stepOne.hide();\n $stepTwo.show();\n form.activateSubmitButton();\n\n if (data.ValidationForm.Mobile) {\n formData.mobile = data.ValidationForm.Mobile;\n }\n }\n\n form.loading(false);\n });\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.SendSmsFailure, form, function () {\n form.loading(false);\n toastr.error('Something went wrong');\n });\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.ValidateSmsCodeSuccess, form, function (envelope) {\n var data = envelope.message.data;\n\n if (data.StatusCode === 200) {\n attempts = 0;\n form.setValidationCode();\n Vendd.MessageBus.publishAsync(form, new Vendd.Loyalty.Messages.ApplyCoupon(coupon));\n } else {\n\n if (maxAttempts > 0 && maxAttempts === attempts) {\n attempts = 0;\n toastr.error('You have exceeded the maximum number of Tries (' + maxAttempts + '). Please try again.');\n form.reset();\n } else {\n $errorMessage.text(data.ResponseMessage);\n $errorMessage.show();\n form.loading(false);\n }\n }\n });\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.ValidateSmsCodeFailure, form, function () {\n form.loading(false);\n toastr.error('Something went wrong : Code could not be validated');\n });\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.ApplyCouponSuccess, form, function() {\n form.setCouponCode(coupon);\n form.reloadCart();\n });\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.ApplyCouponFailure, form, function () {\n form.loading(false);\n toastr.error('Something went wrong : Code could apply coupon');\n });\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.ClearCouponSuccess, form, function() {\n form.reset();\n });\n\n Vendd.MessageBus.subscribe(Vendd.Loyalty.Messages.ClearCouponFailure, form, function () {\n form.loading(false);\n toastr.error('Something went wrong : Clear coupon failed');\n });\n\n\n Vendd.MessageBus.subscribe(Vendd.Cart.Messages.Changed, form, function (envelope) {\n var model = envelope.message.data.Cart;\n\n if (model.LoyaltyCouponForm && !model.IsEmpty) {\n var html = Vendd.Handlebars.parse(cartLoyaltyCouponPartial, model.LoyaltyCouponForm);\n form.bindHtml(html);\n form.show();\n\n if (maxAttempts <= 0 || maxAttempts === undefined) {\n maxAttempts = model.LoyaltyCouponForm.MaxAttempts;\n }\n\n } else {\n form.hide();\n }\n\n form.loading(false);\n });\n }\n\n});"]}