1import Swiper from "../../../js/libs/swiper/swiper-bundle.esm.browser.js"; 2 3export function initializeSwiper(playPauseButton, swiperSettings) { 4 5 if (document.querySelector('.hw_banner__swiper')) { 6 7 let initialSwiper = new Swiper('.hw_banner__swiper', swiperSettings); 8 9 if (playPauseButton) { 10 11 if (!getGeneralCookieValue('imagebanner')) { 12 playPauseButton.style.display = 'none'; 13 playPauseButton.dataset.cookiebannervergessen = 'true'; 14 return; 15 } 16 17 if (initialSwiper.autoplay.running) { 18 playPauseButton.classList.add('control_pause'); 19 playPauseButton.dataset.playState = 'play'; 20 playPauseButton.title = playPauseButton.dataset.textPause; 21 } else { 22 playPauseButton.classList.add('control_play'); 23 playPauseButton.dataset.playState = 'pause'; 24 playPauseButton.title = playPauseButton.dataset.textPlay; 25 } 26 playPauseButton.addEventListener('click', playPauseSwiper); 27 } 28 } else { 29 if (document.getElementById('hw_banner__prev_next')) document.getElementById('hw_banner__prev_next').style.display = 'none'; 30 if (document.getElementById('hw_banner__scrollbar')) document.getElementById('hw_banner__scrollbar').style.display = 'none'; 31 32 if (playPauseButton) { 33 playPauseButton.addEventListener('click', playPauseVideo); 34 } 35 } 36} 37 38 39export function playPauseSwiper() { 40 41 let playPauseButton = document.getElementById('hw_banner__play_pause'); 42 let swiper = document.querySelector('.hw_banner__swiper').swiper; 43 44 if (document.body.classList.contains('banner_paused') || !swiper.autoplay.running) { 45 document.body.classList.remove('banner_paused'); 46 playPauseButton.classList.remove('control_play'); 47 playPauseButton.classList.add('control_pause'); 48 playPauseButton.title = playPauseButton.dataset.textPause; 49 playPauseButton.dataset.playState = 'play'; 50 swiper.autoplay.start(); 51 setPlayPauseCookie('play'); 52 } else { 53 document.body.classList.add('banner_paused'); 54 playPauseButton.classList.remove('control_pause'); 55 playPauseButton.classList.add('control_play'); 56 playPauseButton.title = playPauseButton.dataset.textPlay; 57 playPauseButton.dataset.playState = 'pause'; 58 swiper.autoplay.stop(); 59 setPlayPauseCookie('pause'); 60 } 61} 62 63export function playPauseVideo() { 64 let playPauseButton = document.getElementById('hw_banner__play_pause'); 65 let video = document.querySelector('.hw_banner__video'); 66 67 if (video && video.nodeName === 'VIDEO') { 68 69 if (video.paused || video.src === '') { 70 playPauseButton.classList.remove('control_play'); 71 playPauseButton.classList.add('control_pause'); 72 playPauseButton.title = playPauseButton.dataset.textPause; 73 playPauseButton.dataset.playState = 'play'; 74 if (video.src === '') { 75 video.src = video.dataset.src; 76 video.classList.add('hw_banner__video--playing'); 77 delete video.dataset.src; 78 } 79 video.play(); 80 setPlayPauseCookie('play'); 81 } else { 82 playPauseButton.classList.remove('control_pause'); 83 playPauseButton.classList.add('control_play'); 84 playPauseButton.title = playPauseButton.dataset.textPlay; 85 playPauseButton.dataset.playState = 'pause'; 86 video.pause(); 87 setPlayPauseCookie('pause'); 88 } 89 } 90} 91 92function setPlayPauseCookie(playState) { 93 94 if (getGeneralCookieValue('imagebanner')) { 95 96 const expires = "expires=0"; 97 98 document.cookie = "hwbanner_cookie_banner_playstate=" + playState + "; " + expires + "; path=/"; 99 } 100} 101 102export function getPlayPauseCookie() { 103 104 const cookieNameComplete = "hwbanner_cookie_banner_playstate="; 105 const cookieArray = document.cookie.split('; '); 106 let returnValue = 'false'; 107 108 const reducedMotionMediaQuery = window.matchMedia("(prefers-reduced-motion: reduce)"); 109 if (!reducedMotionMediaQuery || reducedMotionMediaQuery.matches) { 110 returnValue = 'paused'; 111 } 112 113 cookieArray.forEach(value => { 114 if (value.indexOf(cookieNameComplete) === 0) { 115 returnValue = value.substring(cookieNameComplete.length); 116 } 117 }) 118 119 return returnValue; 120} 121 122export function getGeneralCookieValue(name) { 123 124 const cookieNameComplete = "hwdatenschutz_cookie_" + name + "="; 125 const cookieArray = document.cookie.split('; '); 126 127 let returnValue = false;
128 129 130 cookieArray.forEach(value => { 131 if (value.indexOf(cookieNameComplete) === 0) { 132 returnValue = value.substring(cookieNameComplete.length) === '1'; 133 } 134 }) 135 136 return returnValue; 137}
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.