{"version":3,"file":"js/484.js","mappings":"g1BAwGA,YAxGgB,WACd,c,4FAAc,SACZA,KAAKC,UAAY,CACfC,UAAW,cACXC,gBAAiB,cACjBC,iBAAkB,eAClBC,cAAe,4BACfC,SAAU,oBACVC,aAAc,0CACdC,gBAAiB,wBACjBC,iBAAkB,qBAEtB,C,UAyFC,O,EAzFA,G,EAAA,yBAED,WAAa,WACXC,EAAEV,KAAKC,UAAUG,kBAAkBO,GAAG,SAAS,SAACC,GAC9CF,EAAE,EAAKT,UAAUI,eAAeQ,cAChCH,EAAEE,EAAME,eAAeC,YAAY,wBACrC,GACF,GAAC,uBAED,WAAY,WACVL,EAAEV,KAAKC,UAAUE,iBAAiBQ,GAAG,SAAS,WAC5CD,EAAE,EAAKT,UAAUI,eAAeW,UAChCN,EAAE,EAAKT,UAAUG,kBAAkBa,YAAY,yBAE/C,EAAKC,oBACP,GACF,GAAC,gCAED,WAAqB,WACnBC,YAAW,WACT,IACMC,EAAUC,SAASC,cAAc,EAAKrB,UAAUC,WACnDqB,wBAAwBC,IAAMC,OAAOC,aAFxB,IAGhBD,OAAOE,SAAS,CACdH,IAAKJ,EACLQ,KAAM,EACNC,SAAU,UAEd,GAAG,IACL,GAEA,0BACA,WAAe,WACbnB,EAAEV,KAAKC,UAAUM,cAAcI,GAAG,SAAS,WAExB,IAAImB,kBAAiB,SAACC,GACrCA,EAAUC,SAAQ,SAACC,GACjB,GAAKA,EAASC,WAId,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAASC,WAAWE,OAAQD,GAAK,EAAG,CACtD,IAAME,EAAOJ,EAASC,WAAWC,GAE7BzB,EAAE2B,GAAMC,SAAS,4BACnB5B,EAAE,2BAA2B6B,OAC7B7B,EAAE,6BAA6B8B,OAC/B9B,EAAE,qBAAqB6B,OACvB7B,EAAE,yBAAyB8B,OAC3B,EAAKtB,qBAET,CACF,GACF,IAESuB,QAAQpB,SAASqB,KAAM,CAC9BC,WAAW,EACXC,SAAS,EACTC,YAAY,EACZC,eAAe,GAEnB,IAEApC,EAAEV,KAAKC,UAAUQ,kBAAkBE,GAAG,SAAS,SAACC,GAC9CA,EAAMmC,iBAEN,IAAMC,EAAU,CACdC,QAASxB,OAAOyB,SAASC,KACzBC,MAAO1C,EAAEE,EAAME,eAAeuC,OAGhC3C,EAAE4C,KAAK,CACLC,IAAK,kBACLC,KAAM,OACNC,SAAU,OACVC,KAAM,CAAEC,KAAMC,KAAKC,UAAUb,MAE5Bc,QAAO,WACNpD,EAAE,6BAA6B8B,OAC/B9B,EAAE,qBAAqB6B,OACvB7B,EAAE,yBAAyB8B,MAC7B,GACJ,GACF,GAAC,kBAED,WACExC,KAAK+D,aACL/D,KAAKgE,YACLhE,KAAKiE,cACP,M,8EAAC,EArGa,G","sources":["webpack://t2u/./src/js/components/PageUseful.js"],"sourcesContent":["class PageUseful {\r\n  constructor() {\r\n    this.selectors = {\r\n      component: '.pageUseful',\r\n      closeFormButton: '#close-form',\r\n      toggleFormButton: '#toggle-form',\r\n      formContainer: '.pageUseful__form-wrapper',\r\n      formArea: '.pageUseful__form',\r\n      submitButton: '.pageUseful__form button[type=\"submit\"]',\r\n      thankyouMessage: '.pageUseful__thankYou',\r\n      quickReplyButton: '.button-quickReply',\r\n    };\r\n  }\r\n\r\n  toggleForm() {\r\n    $(this.selectors.toggleFormButton).on('click', (event) => {\r\n      $(this.selectors.formContainer).slideToggle();\r\n      $(event.currentTarget).toggleClass('pageUseful__form-open');\r\n    });\r\n  }\r\n\r\n  closeForm() {\r\n    $(this.selectors.closeFormButton).on('click', () => {\r\n      $(this.selectors.formContainer).slideUp();\r\n      $(this.selectors.toggleFormButton).removeClass('pageUseful__form-open');\r\n\r\n      this.scrollToElementTop();\r\n    });\r\n  }\r\n\r\n  scrollToElementTop() {\r\n    setTimeout(() => {\r\n      const offset = -400;\r\n      const yScroll = document.querySelector(this.selectors.component)\r\n        .getBoundingClientRect().top + window.pageYOffset + offset;\r\n      window.scrollTo({\r\n        top: yScroll,\r\n        left: 0,\r\n        behavior: 'smooth',\r\n      });\r\n    }, 200);\r\n  }\r\n\r\n  // to be completed based on BE requirements\r\n  handleSubmit() {\r\n    $(this.selectors.submitButton).on('click', () => {\r\n      // When form is ok to submit.\r\n      const observer = new MutationObserver((mutations) => {\r\n        mutations.forEach((mutation) => {\r\n          if (!mutation.addedNodes) {\r\n            return;\r\n          }\r\n\r\n          for (let i = 0; i < mutation.addedNodes.length; i += 1) {\r\n            const node = mutation.addedNodes[i];\r\n\r\n            if ($(node).hasClass('formwidget-submit-text')) {\r\n              $('.formwidget-submit-text').hide();\r\n              $('.pageUseful__form-wrapper').show();\r\n              $('.pageUseful__form').hide();\r\n              $('.pageUseful__thankYou').show();\r\n              this.scrollToElementTop();\r\n            }\r\n          }\r\n        });\r\n      });\r\n\r\n      observer.observe(document.body, {\r\n        childList: true,\r\n        subtree: true,\r\n        attributes: false,\r\n        characterData: false,\r\n      });\r\n    });\r\n\r\n    $(this.selectors.quickReplyButton).on('click', (event) => {\r\n      event.preventDefault();\r\n\r\n      const dataObj = {\r\n        PageUrl: window.location.href,\r\n        Value: $(event.currentTarget).val(),\r\n      };\r\n\r\n      $.ajax({\r\n        url: '/T2U/UsefulPage',\r\n        type: 'POST',\r\n        dataType: 'JSON',\r\n        data: { json: JSON.stringify(dataObj) },\r\n      })\r\n        .always(() => {\r\n          $('.pageUseful__form-wrapper').show();\r\n          $('.pageUseful__form').hide();\r\n          $('.pageUseful__thankYou').show();\r\n        });\r\n    });\r\n  }\r\n\r\n  init() {\r\n    this.toggleForm();\r\n    this.closeForm();\r\n    this.handleSubmit();\r\n  }\r\n}\r\n\r\nexport default new PageUseful();\r\n"],"names":["this","selectors","component","closeFormButton","toggleFormButton","formContainer","formArea","submitButton","thankyouMessage","quickReplyButton","$","on","event","slideToggle","currentTarget","toggleClass","slideUp","removeClass","scrollToElementTop","setTimeout","yScroll","document","querySelector","getBoundingClientRect","top","window","pageYOffset","scrollTo","left","behavior","MutationObserver","mutations","forEach","mutation","addedNodes","i","length","node","hasClass","hide","show","observe","body","childList","subtree","attributes","characterData","preventDefault","dataObj","PageUrl","location","href","Value","val","ajax","url","type","dataType","data","json","JSON","stringify","always","toggleForm","closeForm","handleSubmit"],"sourceRoot":""}