1(self.webpackChunk=self.webpackChunk||[]).push([[704,243],{704:(module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _url=__webpack_require__(4749),_jquery=_interopRequireDefault(__webpack_require__(8291)),_formSimple=_interopRequireDefault(__webpack_require__(243));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}const checkIfStringIsBoolean=string=>"string"!=typeof string||"true"!==string&&"false"!==string?string:"true"===string;class InterestRatesForm extends _formSimple.default{constructor(element){super(element)}onPostFail(postData){var _postData$data,_postData$data$errors;400===postData.status&&(null!=postData&&null!==(_postData$data=postData.data)&&void 0!==_postData$data&&null!==(_postData$data$errors=_postData$data.errors)&&void 0!==_postData$data$errors&&_postData$data$errors.Email&&setTimeout((()=>{this.$buttons.attr("disabled",!1).removeClass("is-loading"),this.showErrorMessage((0,_jquery.default)('input[type="email"]'),{valid:!1,error:"invalid"})}),500))}generateFormData(postData){const productKeys=["productType","isNewBuilding","bvp","rvp","energyLabel"],product={},formData={products:[],officeId:postData.OfficeId,OnlyTopListed:checkIfStringIsBoolean(postData.OnlyTopListed),email:postData.email,language:(0,_url.getLanguageFromUrl)()};return Object.keys(postData).forEach((key=>{-1!==productKeys.indexOf(key)&&(product[key]=checkIfStringIsBoolean(postData[key]))})),formData.products.push(product),""===formData.products[0].energyLabel&&delete formData.products[0].energyLabel,formData}}var _default=InterestRatesForm;exports.default=_default,module.exports=exports.default},243:(module,exports,__webpack_require__)=>{Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _form=function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}(__webpack_require__(4614));class SimpleForm extends _form.default{constructor(element){super(element),this.element=element,this.fieldsets=Array.from(element.querySelectorAll("fieldset")),this.successMessageHook=element.querySelector(`[js-hook-${element.dataset.successMessageHook}]`),this.failMessageHook=element.querySelector(`[js-hook-${element.dataset.failMessageHook}]`),this.toggleFieldsetsValue="show"!==this.element.getAttribute("fieldsets")}onSuccess(){this.toggleFieldsets(this.toggleFieldsetsValue),this.showSuccess(),this.onPostSuccess&&this.onPostSuccess()}onFail(postData){400!==postData.status&&(this.toggleFieldsets(this.toggleFieldsetsValue),this.showFail()),this.onPostFail&&this.onPostFail(postData)}showSuccess(){this.toggleMessage(!1,this.successMessageHook),this.scrollToFormTop()}showFail(){this.toggleMessage(!1,this.failMessageHook),this.scrollToFormTop()}scrollToFormTop(){window.scroll(0,this.element.offsetTop-100)}toggleMessage(hidden,element){const method=!0===hidden?"add":"remove";element.classList[method]("u-hidden")}toggleFieldsets(hidden){const method=!0===hidden?"add":"remove";this.fieldsets.forEach((fieldset=>fieldset.classList[method]("u-hidden")))}}var _default=SimpleForm;exports.default=_default,module.exports=exports.default}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.