1"use strict";(self.webpackChunkevo=self.webpackChunkevo||[]).push([[6050],{7737(e,t,r){r.r(t),r.d(t,{default:()=>p});var s=r(4692),n=r.n(s),i=r(8850),a=r.n(i),l=r(663),o=r(411);function u(e,t){let r=0,s=Object.keys(e).length-1,n=!0,i=0;for(let a=0;a<=s;a++)if(n){let l=Object.keys(e)[a],o=parseInt(l.substring(1),10),u=e[l];n=(s===a||0===o?0:t/o)>1,r+=n?(o-i)*u:(t-i)*u,i=o}return r}function h(e){return e*l.A.fernwaermeRechner.ust}function d(e,t){let r=parseInt(e,10)*l.A.fernwaermeRechner.entgeltEmissionen.preis.netto._0,s=function(e){let t;for(const[r,s]of Object.entries(l.A.fernwaermeRechner.messungUndAbrechnung.preis.netto))if(t=s,e&&e-parseInt(r.substring(1),10)<=0)break;return t}(t),n={tarife:{},rang:[]};for(const[i,a]of Object.entries(l.A.fernwaermeRechner.tarife)){let l=u(a.preis.verbrauchspreis.netto,e),o=u(a.preis.grundpreis.netto,t);n.tarife[i]={name:a.name,verbrauchspreis:{netto:l,brutto:h(l)},grundpreis:{netto:o,brutto:h(o)},messungUndAbrechnung:{netto:s,brutto:h(s)},entgeltEmissionen:{netto:r,brutto:h(r)},gesamtsumme:{netto:l+o+s+r,brutto:h(l+o+s+r)}}}return n.rang=Object.keys(n.tarife).sort((e,t)=>{let r=n.tarife[e].gesamtsumme.netto,s=n.tarife[t].gesamtsumme.netto;return r<s?-1:r>s?1:0}),n}const p=class{constructor(){this.$calcResult=[],this.$b=n()(document.body),this.$toolwrapper=this.$b.find(".bb-fernwaermerechner"),this.$toolInput=this.$toolwrapper.find(".tool-input"),this.$result=this.$toolwrapper.find(".result"),this.$errorMessageHolder=this.$toolwrapper.find(".error-msg > div"),this.$startButton=this.$toolwrapper.find(".bb-button--primary[type=submit]"),this.$warningHolder=this.$toolwrapper.find(".high-consumption-container"),o.A.load(n()(".mdc-select").length,o.A.modules.selectComponent,()=>{this.$tarifSelect=this.$toolwrapper.find(".mdc-select").parent(),this.$tarifSelectInput=this.$tarifSelect.find("input")}),this.$verbrauchInput=this.$toolwrapper.find("input#verbrauch"),this.$anschlusswertInput=this.$toolwrapper.find("input#anschlusswert"),this.ANInputs={anschlusswert:new(a())(this.$anschlusswertInput[0],l.A.fernwaermeRechner.input.kW),verbrauch:new(a())(this.$verbrauchInput[0],l.A.fernwaermeRechner.input.kWh)},n()(this.$verbrauchInput).data("autoNumeric",this.ANInputs.verbrauch),n()(this.$anschlusswertInput).data("autoNumeric",this.ANInputs.anschlusswert),this.$toolwrapper.on("input",n()(this.ANInputs.anschlusswert.node()),this._checkInputs.bind(this)).on("input",n()(this.ANInputs.verbrauch.node()),this._checkInputs.bind(this)).on("focusout",n()(this.ANInputs.anschlusswert.node()),this._preventEmptyInputs.bind(this)).on("focusout",n()(this.ANInputs.verbrauch.node()),this._preventEmptyInputs.bind(this)).on("click",".button.submit",this._errorHandling.bind(this)).on("click","a.back",this._backToInput.bind(this)),this.$toolInput.find("select").on("focus",this._hideErrorMessage.bind(this)),this.$toolInput.find("input").on("input",this._hideErrorMessage.bind(this))}_errorHandling(e){e.preventDefault();let t=!1;""===this.$tarifSelectInput.val()&&(t=!0,this.$errorMessageHolder.html(l.A.fernwaermeRechner.error.tarifauswaehlen)),this.$tarifSelectInput.val()===l.A.fernwaermeRechner.tarife.komfort.key&&this.ANInputs.anschlusswert.getNumber()>l.A.fernwaermeRechner.tarife.komfort.maxAnschlusswert&&(t=!0,this.$errorMessageHolder.html(l.A.fernwaermeRechner.error.komfort.maxAnschlusswert)),t?this._showErrorMessage():(this._hideErrorMessage(),this._calcAndShowResult())}_showErrorMessage(){this.$errorMessageHolder.slideDown(300),this.$tarifSelect.addClass("error")}_hideErrorMessage(){this.$errorMessageHolder.slideUp(300),this.$tarifSelect.removeClass("error")}_preventEmptyInputs(){""==this.ANInputs.anschlusswert.get()&&this.ANInputs.anschlusswert.set(0),""==this.ANInputs.verbrauch.get()&&this.ANInputs.verbrauch.set(0)}_checkInputs(){this.ANInputs.anschlusswert.getNumber()>=this.ANInputs.anschlusswert.getSettings().maximumValue||this.ANInputs.verbrauch.getNumber()>=this.ANInputs.verbrauch.getSettings().maximumValue?this._disableStartButton():this.$startButton.hasClass("bb-button--disabled")&&this._enableStartButton()}_disableStartButton(){this.$startButton.addClass("bb-button--disabled"),this.$warningHolder.addClass("show")}_enableStartButton(){this.$startButton.removeClass("bb-button--disabled"),this.$warningHolder.removeClass("show")}_calcAndShowResult(){this.$startButton.hasClass("bb-button--disabled")||(this.$tarif=this.$tarifSelectInput.val(),this.$verbrauch=this.ANInputs.verbrauch.getNumber(),this.$anschlusswert=this.ANInputs.anschlusswert.getNumber(),this.$calcResult=d(this.$verbrauch,this.$anschlusswert),this._showResult(),this._toggleContent())}_showResult(){let e,t=this.$tarif;this.$result.find(".tarif-name").html(l.A.fernwaermeRechner.tarife[t].name),this.$result.find(".
1input-data .verbrauch span").text(this.$verbrauchInput.val()),this.$result.find(".input-data .anschlusswert span").text(this.$anschlusswertInput.val()),this.$toolwrapper.find(".tarif-vertrag").hide().filter(".tarif-vertrag-"+t).show(),this.$tarif===l.A.fernwaermeRechner.tarife.komfort.key&&l.A.fernwaermeRechner.compareKomfortwithDirekt&&this.$calcResult.rang.indexOf(l.A.fernwaermeRechner.tarife.komfort.key)>this.$calcResult.rang.indexOf(l.A.fernwaermeRechner.tarife.direkt.key)&&(t=l.A.fernwaermeRechner.tarife.direkt.key,this.$result.find(".bestpreis, .note-bestpreis").show()),n().each(l.A.fernwaermeRechner.messungUndAbrechnung.range,(t,r)=>{if(e=r,this.ANInputs.anschlusswert.getNumber()<=parseInt(t.substring(1),10))return!1}),this.$toolwrapper.find(".bonus").hide(),this.$toolwrapper.find(".bonus-"+this.$tarif).show(),this.$toolwrapper.find(".jahresgrundpreis .preis-brutto").html(this._numberFormat(this.$calcResult.tarife[t].grundpreis.brutto,",",".",2)),this.$toolwrapper.find(".jahresgrundpreis .preis-netto").html(this._numberFormat(this.$calcResult.tarife[t].grundpreis.netto,",",".",2)),this.$toolwrapper.find(".jahresverbrauchspreis .preis-brutto").html(this._numberFormat(this.$calcResult.tarife[t].verbrauchspreis.brutto,",",".",2)),this.$toolwrapper.find(".jahresverbrauchspreis .preis-netto").html(this._numberFormat(this.$calcResult.tarife[t].verbrauchspreis.netto,",",".",2)),this.$toolwrapper.find(".messung-und-abrechnung .preis-brutto").html(this._numberFormat(this.$calcResult.tarife[t].messungUndAbrechnung.brutto,",",".",2)),this.$toolwrapper.find(".messung-und-abrechnung .preis-netto").html(this._numberFormat(this.$calcResult.tarife[t].messungUndAbrechnung.netto,",",".",2)),this.$toolwrapper.find(".messung-und-abrechnung .messung-und-abrechnung-bis-ab").html(e),this.$toolwrapper.find(".jahresentgelt-emissionen .preis-brutto").html(this._numberFormat(this.$calcResult.tarife[t].entgeltEmissionen.brutto,",",".",2)),this.$toolwrapper.find(".jahresentgelt-emissionen .preis-netto").html(this._numberFormat(this.$calcResult.tarife[t].entgeltEmissionen.netto,",",".",2)),this.$toolwrapper.find(".gesamtpreis .preis-brutto").html(this._numberFormat(this.$calcResult.tarife[t].gesamtsumme.brutto,",",".",2)),this.$toolwrapper.find(".gesamtpreis .preis-netto").html(this._numberFormat(this.$calcResult.tarife[t].gesamtsumme.netto,",",".",2))}_numberFormat(e,t,r,s,n){if(e=parseFloat(e),isNaN(e))return void 0!==n?n:"";let i="";e<0&&(e=-e,i="-");let a=(e=isNaN(s)||s<0?e.toString(10):e.toFixed(s)).split(".");for(let e=a[0].length-3;e>0;e-=3)a[0]=a[0].substr(0,e)+r+a[0].substr(e);return i+a.join(t)}_backToInput(e){e.preventDefault(),this.$result.find(".bestpreis, .note-bestpreis").hide(),this._toggleContent()}_toggleContent(){this.$toolInput.is(":visible")?(this.$toolInput.slideUp(300),this.$result.slideDown(300)):(this.$toolInput.slideDown(300),this.$result.slideUp(300))}}},3782(e,t,r){r.r(t),r.d(t,{default:()=>l});var s=r(4692),n=r.n(s),i=r(7187);let a=null;const l=new class{constructor(){if(a)return a;document.querySelectorAll(".input-file .bb-button").forEach(e=>{e.addEventListener("click",e=>{e.preventDefault(),e.stopPropagation(),n()(e.currentTarget).closest(".bb-fileupload-wrapper").find("input").click()})}),document.querySelectorAll(".input-file .file-submit").forEach(e=>{e.addEventListener("change",e=>{this._uploadImage(e)})}),n()(".file-submit").on("change",this._validate.bind(this)),n()(".input-area").find(".input-file-names").on("click",".label-names i",this._removeSelectedFile.bind(this)),a=this}_uploadImage(e){const t=e.target.id+"-extendedBase64Element",r=document.getElementById(t),s=e.target.files[0];this._convertBase64(s).then(e=>{r&&(r.value=s.name+","+e)})}_convertBase64(e){return new Promise((t,r)=>{const s=new FileReader;s.readAsDataURL(e),s.onload=()=>{t(s.result)},s.onerror=e=>{r(e)}})}_validate(e){let t=n()(e.currentTarget),r=n()(e.target).closest(".bb-fileupload-wrapper"),s=t.val().split("\\").pop(),a=r.find(".input-file-names"),l=e.currentTarget.files;if(a.find(".input-file-hidden").remove(),t.attr("multiple"))if(l.length<=e.currentTarget.dataset.limit){let e="";""!==s?(r.removeClass("error"),r.find(".error-msg").slideUp(),Object.keys(l).forEach(r=>{let s=l[r].name,n=s.length>16?s.substring(0,6)+" ... "+s.substring(s.length-10,s.length):s;e+=`<span class="label-names" data-index="${this._setFileIndex(l[r])}"><span>${n}<i class="icon"></i></span></span>`,(0,i.ej)(l[r],(e,r)=>{a.append(`<input type="hidden" name="${t[0].name}" value="${e}" class="input-file-hidden" data-index="${this._setFileIndex(r)}"/>`)})}),a.removeClass("is-hidden").find(".label-names").remove(),r.find("span.label").hide(),a.append(e),r.removeClass("error"),r.find(".error-msg").slideUp()):(a.find(".label-names").remove(),r.find(".label").show())}else a.addClass("is-hidden").find(".label-names").remove(),r.find("span.label").show(),r.addClass("error"),r.find(".error-msg").slideDown();else if(""!==s){let e=`<span class="label-names">${s.length>16?s.substring(0,6)+" ... "+s.substring(s.length-10,s.length):s}</span>`;a.find(".label-names").remove(),r.find(".label").hide(),a.append(e),r.removeClass("error"),r.find(".error-msg").slideUp()}else a.find(".label-names").remove(),r.find("span.label").show()}_setFileIndex(e){return e.name+e.size+e.lastModified}_removeSelectedFile(e){let t=n()(e.currentTarget).closest(".label-names"),r=t.closest(".input-file-names"),s=t.attr("data-index");t.remove(),r.find('.input-file-hidden[data-index="'+s+'"]').remove(),n()(".input-file-hidden").length<1&&r.closest(".input-area").find("span.label").show()}_fileListItem(e){for(var t,r=t=(e=[].slice.call(Array.isArray(e)?e:arguments)).length,s=!0;r--&&s;)s=e[r]instanceof File;if(!s)throw new TypeError("expected argument to FileList is File or array of File objects");for(r=new ClipboardEvent("").clipboardData||new DataTransfer;t--;)r.items.add(e[t]);return r.files}validate(e){let t=!0,r=e.querySelector("input");r.hasAttribute("multiple")?r.hasAttribute("required")&&n()(e).find(".input-file-names input").length<1&&(t=!1):r.hasAttribute("required")&&n()(r).get(0).files.length<1&&(t=!1);const s=e.querySelector(".bb-inputfield__error-text").dataset.errormsg;return t?(e.classList.remove("error"),n()(e).find(".bb-inputfield__error-text").text(""),n()(e).find(".error-msg").slideUp()):(e.classList.add("error"),n()(e).find(".bb-inputfield__error-text").text(s),n()(e).find(".error-msg").slideDown()),t}}}}]);
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.