{"version":3,"sources":["helpSelector.js"],"names":["document","getElementById","Vue","use","window","vuelidate","_window$validators","validators","required","email","minLength","helpers","referenceIdCheck","value","test","toUpperCase","replace","formQA","el","data","loading","helpSelector","showTicket","ticket","ticketReferenceID","qsReferenceID","ticketEmail","qsEmail","responseHasError","emailHasError","referenceIdHasError","responseData","validations","mounted","self","this","$v","$reset","$","removeClass","history","replaceState","title","location","href","split","onpopstate","event","url","state","path","indexOf","methods","otherTicket","scrollToElement","next","search","newurl","protocol","host","pathname","pushState","sendTicket","$touch","$invalid","axios","post","referenceID","then","response","MPRN","ResponseCode","error","console","log","refNumber","computed","errorMsg","ResponseMessage","validationMessageApiErrorReference","validationMessageApiErrorEmail"],"mappings":"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","file":"helpSelector.min.js","sourcesContent":["if (document.getElementById('helpSelector')) {\r\n Vue.use(window.vuelidate.default);\r\n var { required, email, minLength, helpers } = window.validators;\r\n const referenceIdCheck = (value) => /(^ENQ)([ -])?(\\d)[0-9]{1,7}$|(^INC)([ -])?(\\d)[0-9]{1,7}$/.test(value.toUpperCase().replace(/\\s/g, ''))\r\n\r\n var formQA = new Vue({\r\n el: '#helpSelector',\r\n data: () => ({\r\n loading: false,\r\n helpSelector: '',\r\n showTicket: \"showQueryTicket\",\r\n ticket: {\r\n ticketReferenceID: qsReferenceID,\r\n ticketEmail: qsEmail\r\n },\r\n responseHasError: false,\r\n emailHasError: false,\r\n referenceIdHasError: false,\r\n responseData: null\r\n }),\r\n validations: {\r\n ticket: {\r\n ticketReferenceID: {\r\n required,\r\n referenceIdCheck,\r\n minLength: minLength(5)\r\n },\r\n ticketEmail: {\r\n required,\r\n email\r\n },\r\n }\r\n },\r\n mounted() {\r\n var self = this;\r\n self.loading = false;\r\n this.$v.$reset();\r\n this.ticket.ticketReferenceID = '';\r\n this.ticket.ticketEmail = '';\r\n $('#helpSelector').removeClass('d-none');\r\n window.history.replaceState(null, document.title, window.location.href.split(\"?\")[0]);\r\n window.onpopstate = function (event) {\r\n const url = window.location.href.split(\"?\")[0];\r\n\r\n if (url == window.location.href || event.state == null || (event.state.path && !event.state.path.indexOf('checkStatus') >= 0)) {\r\n window.history.replaceState(null, document.title, url);\r\n self.showTicket = false;\r\n self.helpSelector = '';\r\n self.ticket.ticketEmail = '';\r\n self.ticket.ticketReferenceID = '';\r\n self.responseHasError = false;\r\n }\r\n };\r\n },\r\n methods: {\r\n otherTicket() {\r\n this.$v.$reset();\r\n this.showTicket = 'showQueryTicket';\r\n this.ticket.ticketReferenceID = '';\r\n this.ticket.ticketEmail = '';\r\n this.responseData = null;\r\n this.referenceIdHasError = false;\r\n this.emailHasError = false;\r\n this.responseHasError = false;\r\n window.location.href = \"/help-and-support/check-status-of-an-existing-support-request/\";\r\n //if (history.pushState) {\r\n // var newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + '?checkStatus';\r\n // window.history.pushState({ path: newurl }, '', newurl);\r\n //};\r\n scrollToElement('body');\r\n },\r\n next() {\r\n this.$v.$reset();\r\n this.referenceIdHasError = false;\r\n this.emailHasError = false;\r\n switch (this.helpSelector) {\r\n case 'showCustomer': window.location.href = \"/help-and-support/raise-a-new-support-request/reason-of-query/\";\r\n break;\r\n case 'showGasCustomer': window.location.href = \"/help-and-support/raise-a-new-support-request/question-answer?query-type=gas-consumer\";\r\n break;\r\n case 'showTicket': {\r\n this.showTicket = \"showQueryTicket\";\r\n if (!window.location.search.indexOf('checkStatus') >= 0) {\r\n var newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + '?checkStatus';\r\n window.history.pushState({ path: newurl }, '', newurl);\r\n }\r\n }\r\n break;\r\n case 'showTicketQuery': this.showTicket = 'showTicketQuery'\r\n }\r\n scrollToElement('body')\r\n },\r\n sendTicket() {\r\n const self = this;\r\n this.$v.$reset();\r\n this.$v.ticket.$touch();\r\n //this.responseHasError = false;\r\n if (this.$v.ticket.$invalid) {\r\n scrollToElement('h4.section-title');\r\n return false;\r\n } else {\r\n if (this.ticket.ticketReferenceID.toUpperCase().indexOf('ENQ') == 0) {\r\n self.loading = true;\r\n axios.post('/umbraco/api/ContactApi/CheckTicketStatus', {\r\n referenceID: this.ticket.ticketReferenceID.toUpperCase(),\r\n email: this.ticket.ticketEmail\r\n })\r\n .then(function (response) {\r\n self.responseData = response.data;\r\n if (!self.responseData.MPRN) {\r\n self.responseData.MPRN = \"N/A\"\r\n }\r\n if (response.data.ResponseCode == 200) {\r\n self.showTicket = 'showTicketQuery';\r\n if (history.pushState) {\r\n var newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + \"?ReferenceID=\" + self.ticket.ticketReferenceID + \"&Email=\" + self.ticket.ticketEmail;\r\n window.history.pushState({ path: newurl }, '', newurl);\r\n }\r\n self.ticket.ticketEmail = '';\r\n self.ticket.ticketReferenceID = '';\r\n } else {\r\n self.responseHasError = true\r\n }\r\n self.loading = false;\r\n })\r\n .catch(function (error) {\r\n self.loading = false;\r\n console.log(error);\r\n return false;\r\n })\r\n .finally(function () { scrollToElement('#ticketSection') })\r\n } else {\r\n self.loading = false;\r\n let refNumber = self.ticket.ticketReferenceID.toUpperCase().replace(/[\\. ,:-]+/g, \"\");\r\n window.location.href = 'https://servicedesk.xoserve.com/Portal/Checkstatus.xhtml?T=' + refNumber+'&E=' + self.ticket.ticketEmail;\r\n }\r\n }\r\n }\r\n\r\n },\r\n computed: { \r\n errorMsg() {\r\n if (this.responseData != null && this.responseData.ResponseCode == 406) {\r\n if (this.responseData.ResponseMessage == \"The given reference ID is wrong\") {\r\n this.referenceIdHasError = true;\r\n return validationMessageApiErrorReference;\r\n } else {\r\n this.emailHasError = true;\r\n return validationMessageApiErrorEmail;\r\n }\r\n } else {\r\n return ''\r\n }\r\n }\r\n },\r\n }) \r\n}\r\n"]}