{"version":3,"sources":["webpack:///./js/PFF/controllers/askAQuestion.ts","webpack:///./js/PFF/modules/finishSelector.ts"],"names":["PFF","$","__webpack_require__","countryStateSetup","fileInput","finishSelector","formValidation","translationsService_1","controllers","askAQuestion","translationsService","default","getInstance","translationStrings","JSON","parse","html","init","$form","$aaqForm","$alertSuccess","$alertDanger","$alertDangerFields","$errorList","$firstName","$lastName","$email","$emailConfirm","$address","$address2","$country","$city","$stateProvince","$postalCode","$phone","$helpCategory","$originalOwner","$productCategory","$finish","$model","$purchaseYear","$questionComment","$uploadPhoto","$gdprConsent","$troubleshootingCategory","$troubleshootingTopic","$submit","$pleaseWait","$loadIndicator","$generalInquiry","uploadPhotoTranslation","translate","uploadFiles","constraints","first-name","presence","allowEmpty","message","last-name","email","email-confirm","equality","attribute","address","address2","country","city","state-province","postal-code","phone","format","pattern","original-owner","product-category","finish","purchase-year","numericality","onlyInteger","greaterThan","help-category","question-comment","gdpr-consent","recaptcha-token","constraintsGeneral","validateField","this","addClass","validateWrapper","is","values","val","filter","model","prop","undefined","grecaptcha","getResponse","setupHandlers","setTimeout","off","on","e","$value","siblings","$this","files","target","length","output","i","push","removeLink","name","append","join","data","fileAssocArray","split","fileExt","pop","toLowerCase","indexOf","alert","preventDefault","fileName","parent","children","text","splice","remove","$productInformation","removeClass","inputEventListeners","ready","render","document","getElementById","callback","submitEventListener","fileHasValue","validateWrapperSubmit","appendTo","animate","scrollTop","FormData","contactInfo","stringify","FirstName","LastName","Email","Address1","Address2","Country","City","State","PostalCode","Phone","fileAtIndex","ajax","url","type","dataType","processData","contentType","done","getCaseKeyForFileUpload","CaseNumber","reset","resetForm","window","dataLayer","event","console","log","fail","response","find","responseJSON","Message","always","caseNumber","get","uploadCaseFiles","caseKey","setHiddenInputs","urlParams","URLSearchParams","location","search","helpCategoryParam","each","index","attr","addTranslations","finishData","polished-chrome","options","image","brushed","bronze","copper","other","exports","select2","placeholder","minimumResultsForSearch","templateResult","item","element","family","familyData","resultHTML","optionResult","_i","options_1","renderFinishFamilyOptions"],"mappings":"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","file":"controllers/askAQuestion.js","sourcesContent":["import * as $ from 'jquery';\r\nimport * as countryStateSetup from '../modules/countryStateSetup';\r\nimport * as fileInput from '../modules/fileInput';\r\nimport * as finishSelector from '../modules/finishSelector';\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.askAQuestion {\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 $aaqForm = $('#aaq-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 $helpCategory = $('[name=\"help-category\"]');\r\n\tlet $originalOwner = $('[name=\"original-owner\"]');\r\n\tlet $productCategory = $('#product-category');\r\n\tlet $finish = $('#finish');\r\n\tlet $model = $('#model');\r\n\tlet $purchaseYear = $('#purchase-year');\r\n\tlet $questionComment = $('#question-comment');\r\n\tlet $uploadPhoto = $('#upload-photo');\r\n\tlet $gdprConsent = $('#gdpr-consent');\r\n\tlet $troubleshootingCategory = $('#trouble-shooting-category');\r\n\tlet $troubleshootingTopic = $('#trouble-shooting-topic');\r\n\tlet $submit = $('#submit');\r\n\tlet $pleaseWait = $('#please-wait');\t\r\n\tlet $loadIndicator = $('.js-load-indicator');\r\n\tlet $generalInquiry = $('.js-general-inquiry');\r\n\tlet uploadPhotoTranslation = translationsService.translate('FormValidationErrors.UploadPhotoRequired');\r\n\tlet uploadFiles = [];\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},\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\tformat: {\r\n\t\t\t\tpattern: /^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$/,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PhoneInvalid')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'original-owner': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.OriginalOwnerRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'product-category': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.ProductCategoryRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'finish': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.FinishRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'purchase-year': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PurchaseYearRequired')\r\n\t\t\t},\r\n\t\t\tnumericality: {\r\n\t\t\t\tonlyInteger: true,\r\n\t\t\t\tgreaterThan: 0,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PurchaseYearInvalid')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'help-category': {\r\n\t\t\tpresence: {\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.HelpCategoryRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'question-comment': {\r\n\t\t\tpresence: false\r\n\t\t},\r\n\t\t'gdpr-consent': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PrivacyPolicyRequired')\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 constraintsGeneral = {\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},\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\tformat: {\r\n\t\t\t\tpattern: /^(\\+\\d{1,2}\\s)?\\(?\\d{3}\\)?[\\s.-]?\\d{3}[\\s.-]?\\d{4}$/,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PhoneInvalid')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'help-category': {\r\n\t\t\tpresence: {\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.HelpCategoryRequired')\r\n\t\t\t}\r\n\t\t},\r\n\t\t'question-comment': {\r\n\t\t\tpresence: false\r\n\t\t},\r\n\t\t'gdpr-consent': {\r\n\t\t\tpresence: {\r\n\t\t\t\tallowEmpty: false,\r\n\t\t\t\tmessage: '^' + translationsService.translate('FormValidationErrors.PrivacyPolicyRequired')\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\tlet validateField = function () {\r\n\t\t$(this).addClass('dirty');\r\n\t\tif (formValidation.validateWrapper({\r\n\t\t\tconstraints: $generalInquiry.is(\":checked\") ? constraintsGeneral : 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\t'original-owner': $originalOwner.filter(':checked').val(),\r\n\t\t\t\t'product-category': $productCategory.val(),\r\n\t\t\t\t'finish': $finish.val(),\r\n\t\t\t\t'model': $model.val(),\r\n\t\t\t\t'purchase-year': $purchaseYear.val(),\r\n\t\t\t\t'help-category': $helpCategory.filter(':checked').val(),\r\n\t\t\t\t'question-comment': $questionComment.val(),\r\n\t\t\t\t'gdpr-consent': $gdprConsent.prop('checked') ? 1 : undefined,\r\n\t\t\t\t'recaptcha-token': grecaptcha.getResponse()\r\n\t\t\t}\r\n\t\t})) {\r\n\t\t\t// disable submit button\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-photo').on('change.upload', function (e) {\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 (e.target.files.length <= 5) {\r\n\t\t\t\t\t\tuploadFiles = [];\r\n\t\t\t\t\t\tvar output = [];\r\n\t\t\t\t\t\tfor (var i = 0; i < e.target.files.length; i++) {\r\n\t\t\t\t\t\t\tuploadFiles.push(e.target.files[i]);\r\n\t\t\t\t\t\t\tlet removeLink = '<i data-fileid=\\\"' + i + '\\\" class=\"icon icon-close file-input-close js-remove-file\" title=\"Remove Image\"></i>';\r\n\t\t\t\t\t\t\toutput.push('<li><strong>' + e.target.files[i].name + '</strong>' + removeLink + '</li> ');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$value.html('');\r\n\t\t\t\t\t\t$value.append(output.join(\"\"));\r\n\t\t\t\t\t\tif ($this.data(\"accept\")) {\r\n\t\t\t\t\t\t\tlet fileAssocArray = $this.data(\"accept\").split(',');\r\n\t\t\t\t\t\t\tfor (var i = 0; i < e.target.files.length; i++) {\r\n\t\t\t\t\t\t\t\tlet fileName = e.target.files[i].name;\r\n\t\t\t\t\t\t\t\tlet fileExt = (fileName.split(/[. ]+/).pop()).toLowerCase();\r\n\t\t\t\t\t\t\t\tif (fileAssocArray.indexOf(`.${fileExt}`) > -1) {\r\n\t\t\t\t\t\t\t\t\tvalidateField();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t\t\t$value.html('');\r\n\t\t\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\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\talert(`Cannot upload more than 5 files`);\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}\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\r\n\t\t// remove clicked file\r\n\t\t$('body').on('click.register', '.js-remove-file', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar fileName = $(this).parent().children(\"strong\").text();\r\n\t\t\tfor (let i = 0; i < uploadFiles.length; ++i) {\r\n\t\t\t\tif (uploadFiles[i].name == fileName) {\r\n\t\t\t\t\tuploadFiles.splice(i, 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t$(this).parent().remove();\r\n\t\t});\r\n\r\n\r\n\t\t//show/hide my question relates to\r\n\t\t$('body').on('change', 'input[type=\"radio\"][name=\"help-category\"]', function () {\r\n\t\t\tvar $productInformation = $('.js-product-info');\r\n\t\t\tif ($generalInquiry.is(':checked')) {\r\n\t\t\t\t$productInformation.addClass('hidden');\r\n\t\t\t} else {\r\n\t\t\t\t$productInformation.removeClass('hidden');\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tlet trackAskQuestionSubmit = function () {\r\n\t\twindow.dataLayer = window.dataLayer || [];\r\n\t\twindow.dataLayer.push({\r\n\t\t\t'event' : 'ask_a_question_submitted'\r\n\t\t});\r\n\t\tconsole.log(window.dataLayer);\r\n\t};\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$originalOwner.on('blur change', validateField);\r\n\t\t$productCategory.on('blur change', validateField);\r\n\t\t$purchaseYear.on('blur change', validateField);\r\n\t\t$helpCategory.on('blur change', validateField);\r\n\t\t$questionComment.on('blur change', validateField);\r\n\t\t$gdprConsent.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');\t\t\r\n\t\t\tlet fileHasValue: boolean = uploadFiles && uploadFiles.length > 0;\r\n\r\n\t\t\tif (formValidation.validateWrapperSubmit({\r\n\t\t\t\tconstraints: $generalInquiry.is(\":checked\") ? constraintsGeneral : constraints,\r\n\t\t\t\tvalues: {\r\n\t\t\t\t\t'first-name': $firstName.val(),\r\n\t\t\t\t\t'last-name': $lastName.val(),\r\n\t\t\t\t\temail: $email.val(),\r\n\t\t\t\t\t'email-confirm': $emailConfirm.val(),\r\n\t\t\t\t\taddress: $address.val(),\r\n\t\t\t\t\taddress2: $address2.val(),\r\n\t\t\t\t\tcountry: $country.val(),\r\n\t\t\t\t\tcity: $city.val(),\r\n\t\t\t\t\t'state-province': $stateProvince.val(),\r\n\t\t\t\t\t'postal-code': $postalCode.val(),\r\n\t\t\t\t\tphone: $phone.val(),\r\n\t\t\t\t\t'original-owner': $originalOwner.filter(':checked').val(),\r\n\t\t\t\t\t'product-category': $productCategory.val(),\r\n\t\t\t\t\t'finish': $finish.val(),\r\n\t\t\t\t\t'model': $model.val(),\r\n\t\t\t\t\t'purchase-year': $purchaseYear.val(),\r\n\t\t\t\t\t'help-category': $helpCategory.filter(':checked').val(),\r\n\t\t\t\t\t'question-comment': $questionComment.val(),\r\n\t\t\t\t\t'gdpr-consent': $gdprConsent.prop('checked') ? 1 : undefined,\r\n\t\t\t\t\t'recaptcha-token': grecaptcha.getResponse()\r\n\t\t\t\t}\r\n\t\t\t}) && ((fileHasValue === true && !$generalInquiry.is(\":checked\")) || $generalInquiry.is(\":checked\")) ) {\r\n\t\t\t// Do nothing if ok\r\n\t\t\t} else {\r\n\t\t\t\tif(fileHasValue === false && !$generalInquiry.is(\":checked\")) {\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);\t\t\t\t\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\t\t\t$(\"html, body\").animate({ scrollTop: 0 }, 500);\r\n $loadIndicator.addClass('state-loading');\r\n\r\n\t\t\tlet data = new FormData();\r\n\r\n\t\t\tlet contactInfo = JSON.stringify({\r\n\t\t\t\tFirstName: $firstName.val(),\r\n\t\t\t\tLastName: $lastName.val(),\r\n\t\t\t\tEmail: $email.val(),\r\n\t\t\t\tAddress1: $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\tState: $stateProvince.val(),\r\n\t\t\t\tPostalCode: $postalCode.val(),\r\n\t\t\t\tPhone: $phone.val()\r\n\t\t\t});\r\n\r\n\t\t\tdata.append(\"ContactInfo\", contactInfo);\r\n\t\t\tdata.append(\"HelpCategory\", $helpCategory.filter(':checked').val());\r\n\t\t\tdata.append(\"OriginalOwner\", $originalOwner.filter(':checked').val());\r\n\t\t\tdata.append(\"Question\", $questionComment.val());\r\n\t\t\tdata.append(\"Product\", $productCategory.val());\r\n\t\t\tdata.append(\"PurchaseYear\", $purchaseYear.val());\r\n\t\t\tdata.append(\"Finish\", $finish.val());\r\n\t\t\tdata.append(\"Model\", $model.val());\r\n\t\t\tdata.append(\"File\", fileInput.fileAtIndex($uploadPhoto[0], 0));\r\n\t\t\tdata.append(\"GdprConsent\", $gdprConsent.val());\r\n\t\t\tdata.append(\"SubProduct\", $troubleshootingCategory.val());\r\n\t\t\tdata.append(\"TroubleshootingTopic\", $troubleshootingTopic.val());\r\n\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: '/api/salesforce/post-ask-a-question',\r\n\t\t\t\ttype: 'POST',\r\n\t\t\t\tdataType: 'json',\r\n\t\t\t\tdata: data,\r\n\t\t\t\tprocessData: false,\r\n\t\t\t\tcontentType: false // not json\r\n\t\t\t})\r\n\t\t\t\t.done(function (data) {\r\n\t\t\t\t\t// upload files\r\n\t\t\t\t\tif(uploadFiles.length >0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tgetCaseKeyForFileUpload(data.CaseNumber);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t$alertSuccess.removeClass('hidden');\r\n\t\t\t\t\t$aaqForm[0].reset();\r\n\t\t\t\t\tformValidation.resetForm($form);\r\n\t\t\t\t\t$('.js-file-input-value').text('');\r\n\t\t\t\t\t$('#case-number').text(data.CaseNumber)\r\n\t\t\t\t\ttrackAskQuestionSubmit();\r\n\t\t\t\t})\r\n\t\t\t\t.fail(function (response) {\r\n\t\t\t\t\tconsole.log(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('.alert__text').text(response.responseJSON.Message);\r\n\t\t\t\t})\r\n\t\t\t\t.always(function () {\r\n\t\t\t\t\t$(\"html, body\").animate({ scrollTop: 0 }, 500);\t\r\n\t\t\t\t\t$loadIndicator.removeClass('state-loading');\t\t\t\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\tlet getCaseKeyForFileUpload = function (caseNumber) {\r\n\t\tlet data = {\r\n\t\t\temail: $email.val(),\r\n\t\t\tcaseNumber: caseNumber,\r\n\t\t};\r\n\t\t$.get('/api/salesforce/get-case-id', data)\r\n\t\t\t.done(function (data) {\r\n\t\t\t\tuploadCaseFiles(data);\r\n\t\t\t})\r\n\t\t\t.fail(function (response: any) {\r\n\t\t\t\tconsole.log(response);\r\n\t\t\t\t$alertDanger\r\n\t\t\t\t\t.removeClass('hidden')\r\n\t\t\t\t\t.find('.js-alert-text')\r\n\t\t\t\t\t.text('Error getting case info to upload documents');\r\n\t\t\t})\r\n\t};\r\n\r\n\tlet uploadCaseFiles = function (caseKey) {\r\n\t\tlet data = new FormData();\r\n\t\tdata.append(\"Id\", caseKey);\r\n\t\tdata.append(\"Comment\", \"\");\r\n\r\n\t\tfor (var i = 0; i < uploadFiles.length; i++)\r\n\t\t\tdata.append(\"Files\" + i, uploadFiles[i]);\r\n\r\n\t\t$.ajax({\r\n\t\t\turl: '/api/salesforce/upload-file',\r\n\t\t\ttype: 'POST',\r\n\t\t\tdataType: 'json',\r\n\t\t\tdata: data,\r\n\t\t\tprocessData: false,\r\n\t\t\tcontentType: false // not json\r\n\t\t})\r\n\t\t\t.done(function () {\r\n\t\t\t\tconsole.log('case files uploaded');\r\n\t\t\t})\r\n\t\t\t.fail(function (response) {\r\n\t\t\t\t$alertDanger\r\n\t\t\t\t\t.removeClass('hidden')\r\n\t\t\t\t\t.find('.alert__text').text(\"Error uploading files\");\r\n\t\t\t})\r\n\r\n\t};\r\n\r\n\tlet setHiddenInputs = function () {\r\n\t\t// This may need a polyfill or fallback it is not supported in IE11\r\n\t\tlet urlParams = new URLSearchParams(window.location.search);\r\n\t\tlet helpCategoryParam = urlParams.get('helpCategory');\r\n\t\t$troubleshootingCategory.val(urlParams.get('subProduct'));\r\n\t\t$troubleshootingTopic.val(urlParams.get('troubleshootingTopic'));\r\n\t\t$model.val(urlParams.get('modelNumber'));\r\n\r\n\t\t//precheck the HelpCategory 'My question relates to:'\r\n\t\t$('input[name=help-category]').each(function(index) {\r\n\t\t\tif ( helpCategoryParam === $(this).val() ) {\r\n\t\t\t\t$(this).attr('checked', true);\r\n\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\tfinishSelector.init();\r\n\t\tsetHiddenInputs();\r\n\t\tinputEventListeners();\r\n\t\tsubmitEventListener();\r\n\t}\r\n}\r\n\r\nPFF.controllers.askAQuestion.init();\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/PFF/controllers/askAQuestion.ts","import * as $ from \"jquery\";\r\nimport \"select2\";\r\nimport TranslationsService from '../services/translationsService';\r\n\r\n// Init translations\r\nconst translationsService = TranslationsService.getInstance();\r\ntranslationsService.addTranslations('translations');\r\n\r\n/**\r\n * Finish options\r\n */\r\nlet finishData: any = {\r\n\t'polished-chrome': {\r\n\t\tname: translationsService.translate('FormValues.PolishedChromeFinishes'),\r\n\t\toptions: [\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.MidnightChrome'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-midnight-chrome?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.PolishedChrome'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-polished-chrome?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.PolishedBrass'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-polished-brass?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.PolishedNickel'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-polished-nickel?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.PolishedChromePolishedBlack'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-polished-chrome-polished-black?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.PolishedChromePolishedBrass'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-polished-chrome-polished-brass?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.PolishedChromeWhite'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-polished-chrome-white?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.PolishedChromeWhitePorcelain'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-polished-chrome-white-porcelain?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t'brushed': {\r\n\t\tname: translationsService.translate('FormValues.BrushedFinishes'),\r\n\t\toptions: [\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.BrushedBrass'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-brushed-brass?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.BrushedNickel'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-brushed-nickel?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.BrushedNickelPolishedBrass'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-brushed-nickel-polished-brass?pfFinishSwatch$&fmt=png-alpha '\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.BrushedNickelPolishedChrome'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-brushed-nickel-polished-chrome?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.BrushedStainlessSteel'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-brushed-stainless-steel?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.StainlessSteel'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-stainless-steel?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.StainlessSteelBlack'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-stainless-steel-black?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.Slate'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-slate?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t'bronze': {\r\n\t\tname: translationsService.translate('FormValues.BronzeFinishes'),\r\n\t\toptions: [\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.OilRubbedBronze'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-oil-rubbed-bronze?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.RusticBronze'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-rustic-bronze?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.TuscanBronze'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-tuscan-bronze?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.VelvetAgedBronze'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-velvet-aged-bronze?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t'copper': {\r\n\t\tname: translationsService.translate('FormValues.CopperFinishes'),\r\n\t\toptions: [\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.AntiqueCopper'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-antique-copper?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.FiredCopper'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-fired-copper?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t}\r\n\t\t]\r\n\t},\r\n\t'other': {\r\n\t\tname: translationsService.translate('FormValues.Other'),\r\n\t\toptions: [\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.Biscuit'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-biscuit?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.Black'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-black?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.RusticPewter'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-rustic-pewter?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.UnpolishedChrome'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-unpolished-chrome?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: translationsService.translate('FormValues.White'),\r\n\t\t\t\timage: '//images.pfisterfaucets.com/is/image/Pfister/finish-white?pfFinishSwatch$&fmt=png-alpha'\r\n\t\t\t}\r\n\t\t]\r\n\t}\r\n};\r\n\r\nfunction renderFinishFamilyOptions(options) {\r\n\r\n\tlet optionResult = '';\r\n\r\n\tfor (let i of options) {\r\n\t\toptionResult += `\r\n\t\t\t<li class=\"finish-family-result__item\">\r\n\t\t\t\t<img class=\"finish-family-result__item-img\" src=\"${i.image}\">\r\n\t\t\t\t<span class=\"finish-family-result__item-name\">${i.name}</span>\r\n\t\t\t</li>`;\r\n\t}\r\n\r\n\treturn optionResult;\r\n}\r\n\r\nfunction initFinishSelectors() {\r\n\t$('.finish-selector').select2({\r\n\t\tplaceholder: 'Select a Finish',\r\n\t\tminimumResultsForSearch: -1, // hide the search box\r\n\t\ttemplateResult: function (item) {\r\n\t\t\tif (!item.element) return;\r\n\r\n\t\t\tlet family: string = $(item.element).data('finish-family');\r\n\t\t\tlet familyData: any = finishData[family];\r\n\r\n\t\t\tlet resultHTML = `\r\n\t\t\t\t<div class=\"finish-family-result\">\r\n\t\t\t\t\t<div class=\"finish-family-result__title\">${familyData.name}</div>\r\n\t\t\t\t\t<ul class=\"finish-family-result__list\">\r\n\t\t\t\t\t\t${renderFinishFamilyOptions(familyData.options)}\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</div>`;\r\n\r\n\t\t\treturn $(resultHTML);\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport function init() {\r\n\tinitFinishSelectors();\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./js/PFF/modules/finishSelector.ts"],"sourceRoot":""}