{"version":3,"sources":["survey.ts"],"names":[],"mappings":"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","file":"survey.js","sourcesContent":["enum EFormOption {\r\n JustCurious = 'JustCurious',\r\n TooLong = 'TooLong',\r\n PersonalDetails = 'PersonalDetails',\r\n BusinessLoanOrAlternative = 'BusinessLoanOrAlternative',\r\n WorriedSpam = 'WorriedSpam',\r\n DrivingLicence = 'DrivingLicence',\r\n Other = 'Other'\r\n}\r\nenum EVersions {\r\n a = 'a',\r\n b = 'b'\r\n}\r\ninterface ILeavingCookie {\r\n started: boolean, \r\n viewed: boolean,\r\n submitted: boolean\r\n}\r\ninterface ISurveyObject {\r\n version: EVersions\r\n hasClickedSubmit: boolean,\r\n modal: HTMLElement | null,\r\n setVersion: Function,\r\n getTprGuid: Function,\r\n getLeavingModalCookie: Function, \r\n setLeavingModalCookie: Function, \r\n getCookie: Function, \r\n validateForm: Function, \r\n handleChange: Function, \r\n submitForm: Function, \r\n postForm: Function\r\n}\r\ninterface IFormOption \r\n{\r\n value: EFormOption, \r\n label: string,\r\n}\r\n\r\nconst survey: ISurveyObject = {\r\n version: (Math.round(Math.random() * 10 + 1) % 2) ? EVersions.a : EVersions.b,\r\n hasClickedSubmit: false,\r\n modal: document.getElementById('survey-modal'),\r\n setVersion: (): void => {\r\n const vEls = survey.modal?.querySelectorAll('.tb-survey-form-version');\r\n if (!vEls) return;\r\n for (let i = 0; i != vEls.length; ++i){\r\n const v: EVersions = ((vEls[i].getAttribute('data-version') || '') as EVersions);\r\n if (v != survey.version){\r\n vEls[i].innerHTML = '';\r\n vEls[i].setAttribute('style','display:none');\r\n }\r\n }\r\n },\r\n getTprGuid: (): string => {\r\n return survey.getCookie('tprguid') || '';\r\n },\r\n getLeavingModalCookie: (): ILeavingCookie => {\r\n const cook: string = survey.getCookie('leavingmodal');\r\n const defaultCook: ILeavingCookie = {\r\n started: false, \r\n viewed: false,\r\n submitted: false\r\n };\r\n try {\r\n return cook ? JSON.parse(cook) : defaultCook;\r\n }\r\n catch(e){\r\n console.log(e);\r\n return defaultCook;\r\n }\r\n },\r\n setLeavingModalCookie: (started: boolean, viewed: boolean, submitted: boolean): void => {\r\n const cook: string = survey.getCookie('leavingmodal');\r\n try {\r\n const arr: ILeavingCookie = cook ? JSON.parse(cook) : {\r\n started: started || true, \r\n viewed: viewed || false,\r\n submitted: submitted || false\r\n };\r\n if (typeof started == 'boolean'){\r\n arr.started = started;\r\n }\r\n if (typeof viewed == 'boolean'){\r\n arr.viewed = viewed;\r\n }\r\n if (typeof submitted == 'boolean'){\r\n arr.submitted = submitted;\r\n }\r\n const dateexp = new Date();\r\n dateexp.setFullYear(dateexp.getFullYear()+1);\r\n const expires = \"expires=\"+ dateexp.toString();\r\n const cookieData = \";\" + expires + ';path=/';\r\n // if (location.host.indexOf('localhost') == -1){\r\n // \tcookieData += \";domain=.\" + location.host\r\n // }\r\n document.cookie = `leavingmodal=${JSON.stringify(arr)}` + cookieData;\r\n }\r\n catch(e){\r\n console.log(e)\r\n }\r\n }, \r\n getCookie: (sName: string): string => { \r\n var oCrumbles = document.cookie.split(';');\r\n for(var i=0; i1 ? oPair[1] : '';\r\n if(sKey == sName) {\r\n return decodeURIComponent(sValue);\r\n }\r\n }\r\n return '';\r\n }, \r\n validateForm: (form: HTMLFormElement): boolean => {\r\n const formData = new FormData(form);\r\n const otherVal = formData.get('other');\r\n const vals = formData.getAll('reasons');\r\n const isError = !vals.length || (vals.length == 1 && vals[0] == EFormOption.Other && !otherVal);\r\n const errorMessage = form.querySelector('.tb-survey-error');\r\n const errorServerMessage = form.querySelector('.tb-survey-server-error');\r\n\r\n errorServerMessage && errorServerMessage.setAttribute('aria-hidden', 'true');\r\n errorMessage && errorMessage.setAttribute('aria-hidden', (!isError).toString().toLowerCase());\r\n return !isError;\r\n }, \r\n handleChange: (form: HTMLFormElement): void => {\r\n if (survey.hasClickedSubmit){\r\n survey.hasClickedSubmit = false;\r\n survey.validateForm(form);\r\n }\r\n }, \r\n submitForm: async (surveyForm: HTMLFormElement): Promise => {\r\n const cancelBtn = surveyForm.querySelector('.tb-survey-buttons .button-small-caps');\r\n const submitBtn = surveyForm.querySelector('.tb-survey-buttons button[type=submit]');\r\n\r\n cancelBtn?.setAttribute('disabled', '');\r\n submitBtn?.setAttribute('disabled', '');\r\n submitBtn?.classList.add('is-loading');\r\n\r\n const isSuccess = await survey.postForm(surveyForm);\r\n \r\n cancelBtn?.removeAttribute('disabled');\r\n submitBtn?.removeAttribute('disabled');\r\n submitBtn?.classList.remove('is-loading');\r\n\r\n if (isSuccess){\r\n document.body.setAttribute('data-modal-open', 'false');\r\n survey.modal?.setAttribute('aria-hidden', 'true');\r\n }\r\n else {\r\n const errorServerMessage = surveyForm.querySelector('.tb-survey-server-error');\r\n errorServerMessage && errorServerMessage.setAttribute('aria-hidden', 'false');\r\n }\r\n }, \r\n postForm: async (form: HTMLFormElement): Promise => {\r\n\t\tconst baseUrl = 'https://tpr-survey.azurewebsites.net/tprsurvey/v1/';\r\n const url = survey.version == EVersions.b ? `${baseUrl}SurveyVersionB` : `${baseUrl}SurveyVersionA`;\r\n const dataLayer = (window as any).dataLayer || [];\r\n const dealerId = parseInt(survey.modal?.dataset.dealerid || '');\r\n const dealerName = survey.modal?.dataset.dealername || '';\r\n const enquirySource = survey.modal?.dataset.enquirysource || '';\r\n const formData = new FormData(form);\r\n const otherVal = formData.get('other');\r\n const vals: Array = formData.getAll('reasons');\r\n // const urlSearchParams = new URLSearchParams(window.location.search);\r\n // const enquirySource = urlSearchParams.get('enquiry_source') || urlSearchParams.get('utm_source');\r\n const sharedData = {\r\n 'ResponseDate': (new Date()).toISOString(),\r\n 'DealerID': dealerId, \r\n 'DealerName': dealerName, \r\n 'Other': vals.includes('Other') ? otherVal : '', \r\n \"Source\": enquirySource\r\n };\r\n const dataAB = survey.version == EVersions.b ? {\r\n 'TooLong': vals.includes('TooLong'), \r\n 'QuoteInPerson': vals.includes('QuoteInPerson'), \r\n 'NoBalloons': vals.includes('NoBalloons'), \r\n 'DontKnowFinance': vals.includes('DontKnowFinance'), \r\n 'WorriedSpam': vals.includes('WorriedSpam')\r\n } : {\r\n 'TooLong': vals.includes('TooLong'), \r\n 'WorriedSecurity': vals.includes('WorriedSecurity'), \r\n 'OtherFinance': vals.includes('OtherFinance'), \r\n 'UnderstandBalloon': vals.includes('UnderstandBalloon'), \r\n 'Salesperson': vals.includes('Salesperson')\r\n };\r\n const data = {...sharedData, ...dataAB};\r\n if (isNaN(dealerId)){\r\n console.log('dealerId nan');\r\n return false;\r\n }\r\n dataLayer.push({\r\n 'eventCategory': 'Form Submission',\r\n 'eventAction': 'Toyota Personalised Rate Form - Reasons For Leaving - Submitted',// static value\r\n 'eventLabel': 'Submit - Click', // text copy\r\n 'eventValue': 0,\r\n 'nonInteraction': false, \r\n 'tprDealerContact': '(not set)'\r\n });\r\n // survey.setLeavingModalCookie(null, null, true); not used on tpr \r\n const result = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify(data)\r\n }).then((response) => {\r\n return response.ok;\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n return false;\r\n });\r\n return result;\r\n }\r\n}\r\n\r\nwindow.addEventListener('load', function(){\r\n const surveyForm: Element | null = document.getElementById('survey-form');\r\n const leavingArr = survey.getLeavingModalCookie();\r\n const guid = survey.getTprGuid();\r\n\r\n if (!guid && survey.modal && leavingArr.started && !leavingArr.viewed){\r\n survey.setVersion();\r\n survey.setLeavingModalCookie(null, true, null);\r\n document.body.setAttribute('data-modal-open', 'true');\r\n survey.modal.setAttribute('aria-hidden', 'false');\r\n\r\n const firstInput: HTMLInputElement | null = survey.modal.querySelector('input[type=checkbox]');\r\n firstInput && firstInput.focus();\r\n\r\n const cancel = survey.modal.querySelector('.button-small-caps');\r\n cancel && cancel.addEventListener('click', function(e){\r\n e.preventDefault();\r\n document.body.setAttribute('data-modal-open', 'false');\r\n survey.modal?.setAttribute('aria-hidden', 'true');\r\n });\r\n\r\n const datacheckdiv: Element | null | undefined = surveyForm?.querySelector('.tb-survey-form-field[data-check]');\r\n if (datacheckdiv){\r\n const datacheckid: string | null = datacheckdiv.getAttribute('data-check');\r\n if (datacheckid){\r\n const datacheckinput: Element | null = document.getElementById(datacheckid);\r\n datacheckinput && datacheckinput.addEventListener('change', function(){\r\n datacheckdiv.setAttribute('aria-hidden', (!this.checked).toString().toLowerCase())\r\n });\r\n }\r\n }\r\n\r\n surveyForm?.addEventListener('submit', function(e){\r\n e.preventDefault();\r\n survey.hasClickedSubmit = true;\r\n\r\n if (survey.validateForm(this)){\r\n survey.submitForm(surveyForm);\r\n }\r\n });\r\n\r\n const surveyFields: NodeListOf | undefined = surveyForm?.querySelectorAll('input[type=checkbox], input[type=text]');\r\n for (const f of surveyFields as any){ // as any because of ts compiler thing.\r\n f.addEventListener('change', function(){\r\n survey.handleChange(surveyForm);\r\n })\r\n }\r\n }\r\n});"]}