{"version":3,"file":"visitamodeljs.js","sources":["../../../ClientApp/src/js/components/QuickViewDesignModal.ts","../../../ClientApp/src/js/page/visitamodel.ts"],"sourcesContent":["const QuickViewDesignModal = (modalId: string) => {\r\n const overlay = document.getElementById(modalId);\r\n const closeButtons = overlay?.querySelectorAll(\r\n '.js-btn-modal-close',\r\n );\r\n let isModalOpen = false;\r\n\r\n const open = (id: number) => {\r\n if (overlay) {\r\n overlay.classList.add('active');\r\n document.body.style.overflow = 'hidden';\r\n isModalOpen = true;\r\n\r\n fetchData(id);\r\n // Add event listener to overlay only if not already added\r\n if (!overlay.classList.contains('modal-listener-attached')) {\r\n overlay.addEventListener('click', handleOutsideClick);\r\n overlay.classList.add('modal-listener-attached');\r\n }\r\n }\r\n };\r\n\r\n const close = () => {\r\n if (overlay && isModalOpen) {\r\n overlay.classList.remove('active');\r\n document.body.style.overflow = '';\r\n isModalOpen = false;\r\n\r\n // Remove event listener only if present\r\n if (overlay.classList.contains('modal-listener-attached')) {\r\n overlay.removeEventListener('click', handleOutsideClick);\r\n overlay.classList.remove('modal-listener-attached');\r\n }\r\n }\r\n };\r\n\r\n const fetchData = (id: number) => {\r\n const _url = `/quick-view/designs/${id}`;\r\n\r\n fetch(_url)\r\n .then(response => {\r\n if (!response.ok) {\r\n throw new Error('Network response was not ok ' + response.statusText);\r\n }\r\n return response.text();\r\n })\r\n .then(html => {\r\n // Get the div element where the content will be embedded\r\n const contentDiv = document.getElementById('js-quickview-content');\r\n\r\n // Set the HTML content of the div\r\n if (contentDiv) {\r\n contentDiv.innerHTML = html;\r\n }\r\n })\r\n .catch(error => {\r\n console.error(\r\n 'There has been a problem with your fetch operation:',\r\n error,\r\n );\r\n });\r\n };\r\n\r\n const handleOutsideClick = (event: MouseEvent) => {\r\n if (isModalOpen) {\r\n // Check if the click target is the overlay itself, not the child elements\r\n if (event.target === overlay) {\r\n console.log('Click outside detected');\r\n close();\r\n }\r\n }\r\n };\r\n\r\n closeButtons?.forEach(closeButton => {\r\n closeButton.addEventListener('click', close);\r\n });\r\n\r\n return {\r\n open,\r\n close,\r\n };\r\n};\r\n\r\nexport default QuickViewDesignModal;\r\n","import { initMap } from '../components/CommunityMap';\r\nimport { initDesignPhotoSlideShows } from '../components/DesignPhotoSlideshow';\r\nimport QuickViewDesignModal from '../components/QuickViewDesignModal';\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n initDesignPhotoSlideShows();\r\n\r\n const quickviewModal = QuickViewDesignModal('js-quickview-modal');\r\n const quickviewBtns = document.querySelectorAll('.js-btn-quickview');\r\n quickviewBtns.forEach(quickviewBtn => {\r\n quickviewBtn.addEventListener('click', event => {\r\n event.preventDefault();\r\n const target = event.target as HTMLElement;\r\n const dataId = target.dataset.id;\r\n\r\n if (dataId) {\r\n // Now you have the data-id value, you can pass it to your function\r\n quickviewModal.open(Number(dataId));\r\n }\r\n });\r\n });\r\n});\r\n\r\nwindow.addEventListener('load', () => {\r\n //initialize map\r\n initMap('js-community-map-info-window').catch(error => {\r\n console.error('Failed to initialize map:', error);\r\n });\r\n});\r\n"],"names":["QuickViewDesignModal","modalId","overlay","closeButtons","isModalOpen","open","id","fetchData","handleOutsideClick","close","_url","response","html","contentDiv","error","event","closeButton","initDesignPhotoSlideShows","quickviewModal","quickviewBtn","dataId","initMap"],"mappings":"uOAAA,MAAMA,EAAwBC,GAAoB,CAC1C,MAAAC,EAAU,SAAS,eAAeD,CAAO,EACzCE,EAAeD,GAAA,YAAAA,EAAS,iBAC5B,uBAEF,IAAIE,EAAc,GAEZ,MAAAC,EAAQC,GAAe,CACvBJ,IACMA,EAAA,UAAU,IAAI,QAAQ,EACrB,SAAA,KAAK,MAAM,SAAW,SACjBE,EAAA,GAEdG,EAAUD,CAAE,EAEPJ,EAAQ,UAAU,SAAS,yBAAyB,IAC/CA,EAAA,iBAAiB,QAASM,CAAkB,EAC5CN,EAAA,UAAU,IAAI,yBAAyB,GAEnD,EAGIO,EAAQ,IAAM,CACdP,GAAWE,IACLF,EAAA,UAAU,OAAO,QAAQ,EACxB,SAAA,KAAK,MAAM,SAAW,GACjBE,EAAA,GAGVF,EAAQ,UAAU,SAAS,yBAAyB,IAC9CA,EAAA,oBAAoB,QAASM,CAAkB,EAC/CN,EAAA,UAAU,OAAO,yBAAyB,GAEtD,EAGIK,EAAaD,GAAe,CAC1B,MAAAI,EAAO,uBAAuBJ,CAAE,GAEhC,MAAAI,CAAI,EACP,KAAiBC,GAAA,CACZ,GAAA,CAACA,EAAS,GACZ,MAAM,IAAI,MAAM,+BAAiCA,EAAS,UAAU,EAEtE,OAAOA,EAAS,MAAK,CACtB,EACA,KAAaC,GAAA,CAEN,MAAAC,EAAa,SAAS,eAAe,sBAAsB,EAG7DA,IACFA,EAAW,UAAYD,EACzB,CACD,EACA,MAAeE,GAAA,CACN,QAAA,MACN,sDACAA,CAAA,CACF,CACD,CAAA,EAGCN,EAAsBO,GAAsB,CAC5CX,GAEEW,EAAM,SAAWb,IACnB,QAAQ,IAAI,wBAAwB,EAC9BO,IAEV,EAGF,OAAAN,GAAA,MAAAA,EAAc,QAAuBa,GAAA,CACvBA,EAAA,iBAAiB,QAASP,CAAK,CAAA,GAGtC,CACL,KAAAJ,EACA,MAAAI,CAAA,CAEJ,EC7EA,SAAS,iBAAiB,mBAAoB,IAAM,CACxBQ,IAElB,MAAAC,EAAiBlB,EAAqB,oBAAoB,EAC5C,SAAS,iBAAiB,mBAAmB,EACrD,QAAwBmB,GAAA,CACvBA,EAAA,iBAAiB,QAAkBJ,GAAA,CAC9CA,EAAM,eAAe,EAEb,MAAAK,EADSL,EAAM,OACC,QAAQ,GAE1BK,GAEeF,EAAA,KAAK,OAAOE,CAAM,CAAC,CACtC,CACH,CAAA,CACF,CACH,CAAC,EAED,OAAO,iBAAiB,OAAQ,IAAM,CAE5BC,EAAA,8BAA8B,EAAE,MAAeP,GAAA,CAC7C,QAAA,MAAM,4BAA6BA,CAAK,CAAA,CACjD,CACH,CAAC"}