1"use strict";(self.webpackChunkcrownpeak_opus2=self.webpackChunkcrownpeak_opus2||[]).push([["deckcalculator-component-loader"],{"./src/js/opus2/helperModules/deckCalculator.ts"(e,t,l){l.r(t),l.d(t,{DeckCalculator:()=>n});var c=l(/*! ../util/scrollToSection */"./src/js/opus2/util/scrollToSection.ts");class n{static getInstance(){return n.instance||(n.instance=new n),n.instance}constructor(){this.activeTooltip=null,this.init()}init(){this.initializeDeckCalculator()}initializeDeckCalculator(){const e=document.getElementById("calculate-deck"),t=document.querySelector(".reset-btn"),l=document.querySelector(".infowindow-container"),c=document.querySelector(".info-window-btn"),n=document.getElementById("material-results-group");n&&l&&n.addEventListener("click",e=>{var t;const c=e.target;if(c.closest(".info-circle-red")){const e=c.closest("li");if(null==e?void 0:e.id){null===(t=this.activeTooltip)||void 0===t||t.classList.add("hidden");const c=document.querySelector(`.infowindow-container #${e.id}-tooltip`);c&&(c.classList.remove("hidden"),this.activeTooltip=c),null==l||l.classList.remove("hide-container")}}}),c&&l&&(null==c||c.addEventListener("click",function(){document.querySelectorAll(".infowindow-container .info-window-text").forEach(e=>{e.classList.contains("hidden")||e.classList.add("hidden")}),null==l||l.classList.add("hide-container")})),e&&e.addEventListener("click",e=>{e.preventDefault(),this.calculateDeckMaterials()}),t&&t.addEventListener("click",e=>{e.preventDefault(),this.resetCalculator()})}resetCalculator(){var e;const t=document.getElementById("deck-length-ft");t&&(t.value="");const l=document.getElementById("deck-length-in");l&&(l.value="");const c=document.getElementById("deck-width-ft");c&&(c.value="");const n=document.getElementById("deck-width-in");n&&(n.value=""),null===(e=document.querySelector(".calculate-materials-errors"))||void 0===e||e.classList.add("hidden"),document.querySelectorAll(".calculated-result .value").forEach(e=>e.textContent=""),document.querySelectorAll(".calculated-result .sub-text").forEach(e=>e.textContent="")}calculateDeckMaterials(){var e,t,l,n,o,s;let a=Number.parseInt(null===(e=document.getElementById("deck-length-ft"))||void 0===e?void 0:e.value)||0,i=Number.parseInt(null===(t=document.getElementById("deck-length-in"))||void 0===t?void 0:t.value)||0,r=Number.parseInt(null===(l=document.getElementById("deck-width-ft"))||void 0===l?void 0:l.value)||0,u=Number.parseInt(null===(n=document.getElementById("deck-width-in"))||void 0===n?void 0:n.value)||0,d=12*a+i,m=12*r+u,h=d*m;if(d<12||m<12)return null===(o=document.querySelector(".calculate-materials-errors"))||void 0===o||o.classList.remove("hidden"),document.querySelectorAll(".calculated-result .value").forEach(e=>e.textContent=""),void document.querySelectorAll(".calculated-result .sub-text").forEach(e=>e.textContent="");null===(s=document.querySelector(".calculate-materials-errors"))||void 0===s||s.classList.add("hidden");let v,p=Math.ceil(1.15*h/5.5),f=1+Math.ceil(d/12/8),k=1+Math.ceil(m/12/8),y=Math.ceil(p/96),g=Math.ceil(a/8)*(1+Math.ceil(r/8)),w=Math.ceil(m/12/8*6),E=f*k;v=d>=180?12:d>144&&d<180?10:8;let S={decking:y||0,bearers:g?2*g:0,joists:w||0,footings:E||0,bolts:2*E||0,hangers:2*w||0,d_screws:Math.ceil(h/144/100*350)||0,j_screws:4*w||0,concrete:4*E||0,stain:Math.ceil(h/144/250)||0};Object.entries(S).forEach(([e,t])=>{const l=e.replace("_","-");this.updateResultValue(l,t)}),this.updateResultNote("joists",a,i,v),this.updateResultNote("bearers",r,u,v),(0,c.smoothScrollToElement)(".material-results")}updateResultValue(e,t){let l=document.querySelector(`#material-results-${e} .value`);l&&(l.textContent=null!==t?t.toString():"0")}updateResultNote(e,t,l,c){let n=document.querySelector(`#material-results-${e} .sub-text`);n&&(n.textContent=`${t}' ${l}", 2x${c}`)}}document.addEventListener("DOMContentLoaded",()=>{document.querySelector(".deck-calculator-section")&&n.getInstance()})},"./src/js/opus2/util/scrollToSection.ts"(e,t,l){l.d(t,{smoothScrollToElement:()=>c});const c=(e,t=10)=>{const l=document.querySelector(e);if(!l)return;const c=(()=>{const e=document.querySelector(".second-head");return e?e.offsetHeight:0})(),n=l.getBoundingClientRect().top+window.scrollY;window.scrollTo({top:n-c-t,behavior:"smooth"})}}}]); 2//# sourceMappingURL=opus2.deckcalculator-component-loader.a59f992ae072c515e06e.js.map
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.