{"version":3,"file":"Src_Scripts_components_modal_js.2fbbeadf01a9b773c5af.js","sources":["webpack://haveselskabet/./Src/Scripts/components/modal.js"],"sourcesContent":["//Should be changed to be conditionally imported\nimport VimeoPlayer from '@vimeo/player';\n\nexport default class Modal {\n constructor(elm) {\n if (!elm.dataset.modalId) {\n return;\n }\n\n let opener = document.querySelector('[data-modal-opens=' + elm.dataset.modalId + ']');\n let closers = document.querySelectorAll('[data-modal-closes=' + elm.dataset.modalId + ']');\n let iframe = elm.querySelector('iframe');\n let videoPlayer = elm.dataset.videoPlayer;\n let vimeoPlayer = null;\n let body = document.body;\n\n if (elm.dataset.videoPlayer === 'vimeo') {\n if (iframe) {\n vimeoPlayer = new VimeoPlayer(iframe);\n }\n }\n\n closers.forEach(x => x.onclick = () => { toggleModal(elm) });\n opener?.addEventListener('click', function () { toggleModal(elm); });\n elm.addEventListener('click', function (e) {\n if (!e.target.closest('.modal__video, .modal__content')) {\n toggleModal(elm);\n }\n });\n\n window.addEventListener('keydown', (e) => {\n if (e.keyCode == 27) {\n toggleModal(elm, true);\n }\n });\n\n var toggleModal = function (modal, setDisabled) {\n if (modal.classList.contains('modal--active') || setDisabled) {\n //Closing\n modal.classList.remove('modal--active');\n body.classList.remove('modal-active');\n\n //Stopping & resetting video if any\n if (iframe) {\n if (videoPlayer == \"vimeo\") {\n if (vimeoPlayer) {\n vimeoPlayer.setCurrentTime(0);\n vimeoPlayer.pause();\n }\n } else if (videoPlayer == \"youtube\") {\n\n if (iframe.src.indexOf('?autoplay=1') > -1){\n iframe.src = iframe.src.replace('?autoplay=1', '');\n } else {\n iframe.src = iframe.src.replace('&autoplay=1', '');\n }\n }\n } else {\n //For potential mp4 player\n var video = modal.querySelector('video');\n if (video) {\n video.pause();\n }\n }\n } else {\n //Opening\n modal.classList.add('modal--active');\n body.classList.add('modal-active');\n\n //Playing video if any\n if (iframe) {\n if (videoPlayer == \"vimeo\") {\n if (vimeoPlayer) {\n vimeoPlayer.setCurrentTime(0);\n vimeoPlayer.play();\n }\n } else if (videoPlayer == \"youtube\") {\n document.resetUrl = iframe.src;\n\n if (iframe.src.indexOf('?autoplay=1') == -1 && iframe.src.indexOf('&autoplay=1') == -1) {\n if (iframe.src.indexOf('?') > -1) {\n iframe.src += \"&autoplay=1\";\n } else {\n iframe.src += \"?autoplay=1\";\n }\n } else {\n iframe.src = iframe.src;\n }\n }\n } else {\n //For potential mp4 player\n var video = modal.querySelector('video');\n if (video) {\n video.play();\n }\n }\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA;AAAA;AADA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;;A;;A","sourceRoot":""}