{"version":3,"sources":["webpack:///./js/PFF/controllers/registerProduct.ts"],"names":["PFF","$","__webpack_require__","countryStateSetup","fileInput","formValidation","translationsService_1","controllers","registerProduct","translationsService","default","getInstance","translationStrings","JSON","parse","html","init","$form","$registerForm","$alertSuccess","$alertDanger","$alertDangerFields","$errorList","$firstName","$lastName","$email","$emailConfirm","$address","$address2","$country","$city","$stateProvince","$postalCode","$phone","$upc","$datePurchased","$purchaseLocation","$uploadDocument","uploadPhotoTranslation","translate","$submit","$pleaseWait","constraints","first-name","presence","allowEmpty","message","last-name","email","email-confirm","equality","attribute","address","address2","country","city","state-province","postal-code","format","pattern","phone","upc","date-purchased","datetime","dateOnly","latest","Date","now","purchase-location","recaptcha-token","validateField","this","addClass","validateWrapper","values","val","grecaptcha","getResponse","setupHandlers","setTimeout","off","on","$value","siblings","$this","files","data","fileAssocArray","split","fileExt","name","pop","toLowerCase","indexOf","append","alert","e","preventDefault","setUPCValue","upcParam","URLSearchParams","window","location","search","get","length","inputEventListeners","ready","render","document","getElementById","callback","submitEventListener","removeClass","$fileHasValue","validateWrapperSubmit","appendTo","animate","scrollTop","done","result","FormData","contactInfo","stringify","FirstName","LastName","Email","Address1","Address2","Country","City","State","PostalCode","Phone","product","UpcCode","DatePurchased","PurchaseLocation","ajax","url","type","dataType","processData","contentType","reset","resetForm","text","dataLayer","push","event","console","log","fail","response","find","always","scrollTo","upcNotValid"],"mappings":"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","file":"controllers/registerProduct.js","sourcesContent":["import * as $ from 'jquery';\r\nimport * as countryStateSetup from '../modules/countryStateSetup';\r\nimport * as fileInput from \"../modules/fileInput\";\r\nimport * as formValidation from \"../modules/formValidation\";\r\nimport TranslationsService from '../services/translationsService'\r\nimport 'url-search-params-polyfill';\r\n\r\ndeclare const grecaptcha: any;\r\n\r\nnamespace PFF.controllers.registerProduct {\r\n\r\n\t// Init translations service\r\n\tconst translationsService = TranslationsService.getInstance();\r\n\tlet translationStrings = JSON.parse($(\"#translations\").html());\r\n\ttranslationsService.init(translationStrings);\r\n\r\n\tlet $form = $('form');\r\n\tlet $registerForm = $('#register-product-form');\r\n\tlet $alertSuccess = $('.js-alert-success');\r\n\tlet $alertDanger = $('.js-alert-danger');\r\n\tlet $alertDangerFields = $('.js-alert-danger-fields');\r\n\tlet $errorList = $('.js-issues-need-correction');\r\n\tlet $firstName = $('#first-name');\r\n\tlet $lastName = $('#last-name');\r\n\tlet $email = $('#email');\r\n\tlet $emailConfirm = $('#email-confirm');\r\n\tlet $address = $('#address');\r\n\tlet $address2 = $('#address2');\r\n\tlet $country = $('#country');\r\n\tlet $city = $('#city');\r\n\tlet $stateProvince = $('#state-province');\r\n\tlet $postalCode = $('#postal-code');\r\n\tlet $phone = $('#phone');\r\n\tlet $upc = $('#upc');\r\n\tlet $datePurchased = $('#date-purchased');\r\n\tlet $purchaseLocation = $('#purchase-location');\r\n\tlet $uploadDocument = $('#upload-document');\r\n\tlet uploadPhotoTranslation = translationsService.translate('FormValidationErrors.UploadPhotoRequired');\r\n\r\n\tlet $submit = $('#submit');\r\n\tlet $pleaseWait = $('#please-wait');\r\n\r\n\t//patternChecks\r\n\tlet zipcodePattern = /^(\\d{5}(-\\d{4})?|[A-Z]\\d[A-Z] ?\\d[A-Z]\\d)$/;\r\n\tlet datePattern = /([12]\\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01]))/;\r\n\r\n\tlet constraints = {\r\n\t\t'first-name': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.FirstNameRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'last-name': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.LastNameRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\temail: {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.EmailRequired')\r\n\t\t\t},\r\n\t\t\temail: {\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.EmailInvalid')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'email-confirm': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.ConfirmEmailRequired')\r\n\t\t\t},\r\n\t\t\tequality: {\r\n\t\t\t\tattribute: 'email',\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.ConfirmEmailInvalid')\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress: {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.AddressRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\taddress2: {\r\n\t\t\tpresence: false\r\n\t\t},\r\n\t\tcountry: {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.CountryRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\tcity: {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.CityRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'state-province': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.StateRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'postal-code': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PostalCodeRequired')\r\n\t\t\t},\r\n\t\t\tformat: {\r\n\t\t\t\tpattern: zipcodePattern,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PostalCodeFormat')\r\n\t\t\t}\r\n\t\t},\r\n\t\tphone: {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PhoneRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\tupc: {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.UPCRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'date-purchased': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage:'^' + translationsService.translate('FormValidationErrors.DatePurchasedRequired')\r\n\t\t\t},\r\n\t\t\tformat: {\r\n\t\t\t\tpattern: datePattern,\r\n\t\t\t\tmessage:'^' + translationsService.translate('FormValidationErrors.DateInvalid')\r\n\t\t\t},\r\n\t\t\tdatetime: {\r\n\t\t\t\tdateOnly: true,\r\n\t\t\t\tlatest: Date.now(),\r\n\t\t\t\tmessage:'^' + translationsService.translate('FormValidationErrors.DateFutureDate')\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\t'purchase-location': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PurchaseLocationRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'recaptcha-token': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.CaptchaRequired')\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\r\n\tlet validateField = function () {\r\n\t\t$(this).addClass('dirty');\r\n\t\tif (formValidation.validateWrapper({\r\n\t\t\tconstraints: constraints,\r\n\t\t\tvalues: {\r\n\t\t\t\t'first-name': $firstName.val(),\r\n\t\t\t\t'last-name': $lastName.val(),\r\n\t\t\t\temail: $email.val(),\r\n\t\t\t\t'email-confirm': $emailConfirm.val(),\r\n\t\t\t\taddress: $address.val(),\r\n\t\t\t\taddress2: $address2.val(),\r\n\t\t\t\tcountry: $country.val(),\r\n\t\t\t\tcity: $city.val(),\r\n\t\t\t\t'state-province': $stateProvince.val(),\r\n\t\t\t\t'postal-code': $postalCode.val(),\r\n\t\t\t\tphone: $phone.val(),\r\n\t\t\t\tupc: $upc.val(),\r\n\t\t\t\t'date-purchased': $datePurchased.val(),\r\n\t\t\t\t'purchase-location': $purchaseLocation.val(),\r\n\t\t\t\t'recaptcha-token': grecaptcha.getResponse()\r\n\t\t\t}\r\n\t\t})) {\r\n\t\t\t// check form\r\n\t\t}\r\n\t};\r\n\r\n\tlet setupHandlers = function(){\r\n\t\t//waiting a second here so that the fileinput.ts binding that happens can be turned off.\r\n\t\tsetTimeout(function(){\r\n\t\t\t$('input[type=file]').off('change.file');\r\n\t\t\t$('#upload-document').on('change.upload', function(){\r\n\t\t\t\tvar $value = $(this).siblings('.js-file-input-value');\r\n\t\t\t\tvar $this = $(this);\r\n\t\t\t\tif ( this.files && this.files[0] ) {\r\n\t\t\t\t\tif($this.data(\"accept\")) {\r\n\t\t\t\t\t\tlet fileAssocArray = $this.data(\"accept\").split(',');\r\n\t\t\t\t\t\tlet fileName = this.files[0].name;\r\n\t\t\t\t\t\tlet fileExt = fileName.split(/[. ]+/).pop().toLowerCase();\r\n\t\t\t\t\t\t// console.log(`${fileAssocArray}, ${fileName}, ${fileExt}`);\r\n\r\n\t\t\t\t\t\tif(fileAssocArray.indexOf(`.${fileExt}`) > -1) {\r\n\t\t\t\t\t\t\t$value.html( this.files[0].name );\r\n\t\t\t\t\t\t\t$value.append('<i class=\"icon icon-close file-input-close js-reset-file\" title=\"Remove Image\"></i>');\r\n\t\t\t\t\t\t\tvalidateField();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(`.${fileExt} files are not allowed. Please choose one of the following file types: (${fileAssocArray})`);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$value.html( this.files[0].name );\r\n\t\t\t\t\t\t$value.append('<i class=\"icon icon-close file-input-close js-reset-file\" title=\"Remove Image\"></i>');\r\n\t\t\t\t\t\tvalidateField();\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$value.html('');\r\n\t\t\t\t\tvalidateField();\r\n\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}, 1000);\r\n\r\n\t\t$('body').on('click.register', '.js-reset-file', function(e){\r\n\t\t\tvalidateField();\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t};\r\n\r\n\tlet setUPCValue = function(){\r\n\t\tlet urlParams = new URLSearchParams(window.location.search);\r\n\t\tlet upcParam = urlParams.get('upc');\r\n\r\n\t\tif(upcParam && upcParam.length) {\r\n\t\t\t$upc.val(upcParam);\r\n\t\t}\r\n\t};\r\n\r\n\tlet trackRegisterProductSubmit = function () {\r\n\t\twindow.dataLayer = window.dataLayer || [];\r\n\t\twindow.dataLayer.push({\r\n\t\t\t'event' : 'register_a_product_submitted'\r\n\t\t});\r\n\t\tconsole.log(window.dataLayer);\r\n\t};\r\n\r\n\r\n\tlet inputEventListeners = function () {\r\n\t\t$firstName.on('blur change', validateField);\r\n\t\t$lastName.on('blur change', validateField);\r\n\t\t$email.on('blur change', validateField);\r\n\t\t$emailConfirm.on('blur change', validateField);\r\n\t\t$address.on('blur change', validateField);\r\n\t\t$address2.on('blur change', validateField);\r\n\t\t$country.on('blur change', validateField);\r\n\t\t$city.on('blur change', validateField);\r\n\t\t$stateProvince.on('blur change', validateField);\r\n\t\t$postalCode.on('blur change', validateField);\r\n\t\t$phone.on('blur change', validateField);\r\n\t\t$upc.on('blur change', validateField);\r\n\t\t$datePurchased.on('blur change', validateField);\r\n\t\t$purchaseLocation.on('blur change', validateField);\r\n\t\tgrecaptcha.ready(() => {\r\n\t\t\tgrecaptcha.render( document.getElementById('g-recaptcha'), {\r\n\t\t\t\tcallback: validateField\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tlet submitEventListener = function () {\r\n\t\t$submit.on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\t$submit.addClass('hidden');\r\n\t\t\t$pleaseWait.removeClass('hidden');\r\n\r\n\t\t\t$('.js-alert').addClass('hidden');\r\n\r\n\t\t\tlet $fileHasValue = $uploadDocument.val() != \"\";\r\n\r\n\t\t\tif (formValidation.validateWrapperSubmit({\r\n\t\t\t\t\tconstraints: constraints,\r\n\t\t\t\t\tvalues: {\r\n\t\t\t\t\t\t'first-name': $firstName.val(),\r\n\t\t\t\t\t\t'last-name': $lastName.val(),\r\n\t\t\t\t\t\temail: $email.val(),\r\n\t\t\t\t\t\t'email-confirm': $emailConfirm.val(),\r\n\t\t\t\t\t\taddress: $address.val(),\r\n\t\t\t\t\t\taddress2: $address2.val(),\r\n\t\t\t\t\t\tcountry: $country.val(),\r\n\t\t\t\t\t\tcity: $city.val(),\r\n\t\t\t\t\t\t'state-province': $stateProvince.val(),\r\n\t\t\t\t\t\t'postal-code': $postalCode.val(),\r\n\t\t\t\t\t\tphone: $phone.val(),\r\n\t\t\t\t\t\tupc: $upc.val(),\r\n\t\t\t\t\t\t'date-purchased': $datePurchased.val(),\r\n\t\t\t\t\t\t'purchase-location': $purchaseLocation.val(),\r\n\t\t\t\t\t\t'recaptcha-token': grecaptcha.getResponse()\r\n\t\t\t\t\t}\r\n\t\t\t\t}) && $fileHasValue === true) {\r\n\t\t\t\t// check form\r\n\t\t\t} else {\r\n\t\t\t\tif($fileHasValue === false) {\r\n\t\t\t\t\t$(`<li>${uploadPhotoTranslation}</li>`).appendTo($errorList);\r\n\t\t\t\t}\r\n\t\t\t\t$alertDangerFields.removeClass('hidden');\r\n\t\t\t\t$(\"html, body\").animate({ scrollTop: 0 }, 500);\r\n\t\t\t\t$submit.removeClass('hidden');\r\n\t\t\t\t$pleaseWait.addClass('hidden');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t$.get(\"/api/salesforce/validate-upc?upc=\" + $upc.val())\r\n\t\t\t\t.done(function (result) {\r\n\t\t\t\t\tif (result) {\r\n\t\t\t\t\t\tlet data = new FormData();\r\n\r\n\t\t\t\t\t\tlet contactInfo = JSON.stringify({\r\n\t\t\t\t\t\t\tFirstName: $firstName.val(),\r\n\t\t\t\t\t\t\tLastName: $lastName.val(),\r\n\t\t\t\t\t\t\tEmail: $email.val(),\r\n\t\t\t\t\t\t\tAddress1: $address.val(),\r\n\t\t\t\t\t\t\tAddress2: $address2.val(),\r\n\t\t\t\t\t\t\tCountry: $country.val(),\r\n\t\t\t\t\t\t\tCity: $city.val(),\r\n\t\t\t\t\t\t\tState: $stateProvince.val(),\r\n\t\t\t\t\t\t\tPostalCode: $postalCode.val(),\r\n\t\t\t\t\t\t\tPhone: $phone.val()\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlet product = JSON.stringify({\r\n\t\t\t\t\t\t\tUpcCode: $upc.val(),\r\n\t\t\t\t\t\t\tDatePurchased: $datePurchased.val(),\r\n\t\t\t\t\t\t\tPurchaseLocation: $purchaseLocation.val()\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tdata.append(\"ContactInfo\", contactInfo);\r\n\t\t\t\t\t\tdata.append(\"Product\", product);\r\n\t\t\t\t\t\tdata.append(\"File\", $uploadDocument[0].files[0]);\r\n\r\n\t\t\t\t\t\t$.ajax({\r\n\t\t\t\t\t\t\turl: '/api/salesforce/post-register-product',\r\n\t\t\t\t\t\t\ttype: 'POST',\r\n\t\t\t\t\t\t\tdataType: 'json',\r\n\t\t\t\t\t\t\tdata: data,\r\n\t\t\t\t\t\t\tprocessData: false,\r\n\t\t\t\t\t\t\tcontentType: false // not json\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.done(function () {\r\n\t\t\t\t\t\t\t\t$alertSuccess.removeClass('hidden');\r\n\t\t\t\t\t\t\t\t$registerForm[0].reset();\r\n\t\t\t\t\t\t\t\tformValidation.resetForm($form);\r\n\t\t\t\t\t\t\t\t$('.js-file-input-value').text('');\r\n\t\t\t\t\t\t\t\ttrackRegisterProductSubmit();\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.fail(function (response) {\r\n\t\t\t\t\t\t\t\t$alertDanger\r\n\t\t\t\t\t\t\t\t\t.removeClass('hidden')\r\n\t\t\t\t\t\t\t\t\t.find('.alert__text');\r\n\t\t\t\t\t\t\t\t\t//.text(response.responseJSON.ExceptionMessage);\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t.always(function () {\r\n\t\t\t\t\t\t\t\twindow.scrollTo(0, 0);\r\n\t\t\t\t\t\t\t\t$submit.removeClass('hidden');\r\n\t\t\t\t\t\t\t\t$pleaseWait.addClass('hidden');\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet upcNotValid = translationsService.translate('FormValidationErrors.UPCCodeNotValid');\r\n\t\t\t\t\t\t$alertDanger\r\n\t\t\t\t\t\t\t.removeClass('hidden')\r\n\t\t\t\t\t\t\t.find('.js-alert-text')\r\n\t\t\t\t\t\t\t// TODO: verify this text\r\n\t\t\t\t\t\t\t.text(upcNotValid);\r\n\r\n\t\t\t\t\t\twindow.scrollTo(0, 0);\r\n\t\t\t\t\t\t$submit.removeClass('hidden');\r\n\t\t\t\t\t\t$pleaseWait.addClass('hidden');\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.fail(function (response) {\r\n\t\t\t\t\t$alertDanger\r\n\t\t\t\t\t\t.removeClass('hidden')\r\n\t\t\t\t\t\t.find('.js-alert-text');\r\n\t\t\t\t\t\t//.text(response.responseJSON.ExceptionMessage);\r\n\r\n\t\t\t\t\twindow.scrollTo(0, 0);\r\n\t\t\t\t\t$submit.removeClass('hidden');\r\n\t\t\t\t\t$pleaseWait.addClass('hidden');\r\n\t\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\texport function init() {\r\n\t\tsetupHandlers();\r\n\t\tcountryStateSetup.init($country, $stateProvince);\r\n\t\tfileInput.init();\r\n\t\tinputEventListeners();\r\n\t\tsubmitEventListener();\r\n\t\tsetUPCValue();\r\n\t}\r\n}\r\n\r\nPFF.controllers.registerProduct.init();\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/PFF/controllers/registerProduct.ts"],"sourceRoot":""}