1"use strict";(globalThis.webpackChunkbrom_web=globalThis.webpackChunkbrom_web||[]).push([[7030],{7959:(e,t,s)=>{s.r(t),s.d(t,{Feedback:()=>r});var i=s(4146),o=s(2983);class r{constructor(){this.block=document.querySelector("#feedback"),this.block&&(this.form=this.block.querySelector("#form-feedback"),this.form&&(this.loocked=!1,this.btnSumbit=this.form.querySelector("button[type=submit]"),this.btnClose=this.form.querySelector("button[type=button]"),this.message=this.form.querySelector(".form-message"),this.formValidate=new i.b3(this.form),this.form.addEventListener("submit",this.submit.bind(this)),this.btnClose.addEventListener("click",this.close.bind(this)),this.btnYes=this.block.querySelector(".feedback-btn-yes"),this.btnNo=this.block.querySelector(".feedback-btn-no"),this.btnYes.addEventListener("click",this.yes.bind(this))))}yes(){this.block.childNodes.forEach((e=>{e.remove()})),this.block.classList.add("feedback--done"),this.block.innerText="Tack för dina synpunkter, det hjälper oss att bli bättre.",setTimeout((()=>{this.elementInViewport(this.block)||(0,o.e)(this.block,{offset:150})}))}close(){this.btnNo.click()}submit(e){if(e.preventDefault(),this.loocked)return!1;if(this.message.classList.remove("form-message-error"),this.message.classList.add("form-message--hidden"),!this.formValidate.isFormValid())return!1;const t=new FormData(this.form);this.postData={},t.forEach(((e,t)=>this.postData[t]=e)),(this.postData.message.length||this.postData.choice&&this.postData.choice.length)&&(this.loocked=!0,this.btnSumbit.disabled=!0,this.btnClose.disabled=!0,this.form.classList.add("submitting"),fetch("/api/feedback/post",{method:"POST",mode:"cors",cache:"no-cache",credentials:"same-origin",headers:{"Content-Type":"application/json"},redirect:"follow",referrerPolicy:"no-referrer",body:JSON.stringify(this.postData)}).then((e=>e.json())).then((e=>{this.done(e)})).catch((e=>{console.error("Error:",e),this.done({status:!1,message:e})})))}done(e){setTimeout((()=>{if(this.message.innerText="Tack för dina synpunkter, det hjälper oss att bli bättre.",e.status)return this.block.childNodes.forEach((e=>{e.remove()})),this.block.classList.add("feedback--done"),this.block.innerText=e.message,setTimeout((()=>{this.elementInViewport(this.block)||(0,o.e)(this.block,{offset:150})}),200),this.btnYes.disabled=!0,void(this.btnNo.disabled=!0);this.message.classList.add("form-message-error"),this.message.classList.remove("form-message--hidden"),this.loocked=!1,this.btnSumbit.disabled=!1,this.btnClose.disabled=!1,this.form.classList.remove("submitting")}),500)}elementInViewport(e){let t=e.offsetTop,s=e.offsetLeft;const i=e.offsetWidth,o=e.offsetHeight;for(;e.offsetParent;)t+=(e=e.offsetParent).offsetTop,s+=e.offsetLeft;return t>=window.scrollY&&s>=window.scrollX&&t+o<=window.scrollY+window.innerHeight&&s+i<=window.scrollX+window.innerWidth}}}}]);
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.