PageSourceSearch

https://www.grosshansdorf.de/:res/modules/common/common/content/newsSlider/js/newsSlider.js?fp=4ca997596d95

js grosshansdorf.de collected 2026-10-02 20:32:25 UTC 6,033 bytes, 174 lines download raw bytes

1var NewsSlider=(function(){
2function waitForImages(images){
3return Promise.all(
4images.map(img=>{
5if(img.complete&&img.naturalWidth!==0){
6return Promise.resolve();
7}
8return new Promise((resolve,reject)=>{
9img.addEventListener("load",resolve,{once:true});
10img.addEventListener("error",()=>reject(new Error(`Bild konnte nicht geladen werden: ${img.src}`)),{once:true});
11});
12})
13).then(()=>undefined);
14}
15return function($slider,_slickSliderProperties){
16var $caption=$slider.find('.stage-slider__caption-inner');
17var slickSliderProperties=_slickSliderProperties;
18slickSliderProperties.accessibility=true;
19const pinFirstSlide=slickSliderProperties.pinFirstSlide&&!$("body.mode-editor").length;
20var $slickSliderWrapper=$slider.closest(".news-slider-wrapper");
21let $firstSlide=null;
22function onBreakpointChange(slick){
23let settingForBreakpoint=slick.options.responsive.find(resp=>{
24if(resp.breakpoint===slick.activeBreakpoint){
25return true
26}
27return false;
28});
29if(settingForBreakpoint){
30settingForBreakpoint=settingForBreakpoint.settings;
31}
32if(!settingForBreakpoint){
33settingForBreakpoint={
34slidesToShow:slick.options.slidesToShow,
35slidesToScroll:slick.options.slidesToScroll,
36slidesToShowInitial:slick.options.slidesToShowInitial,
37slidesToScrollInitial:slick.options.slidesToScrollInitial,
38}
39}
40if(settingForBreakpoint.slidesToShowInitial===1){
41$slickSliderWrapper.find(".news-teaser-slider__pinned-slide").addClass("news-teaser-slider__pinned-slide--hidden");
42if(!$slider.find("[data-is-pinned]").length){
43$slider.slick('slickAdd',$($firstSlide.prop("outerHTML")),0,true);
44}
45}else{
46$slickSliderWrapper.find(".news-teaser-slider__pinned-slide").removeClass("news-teaser-slider__pinned-slide--hidden");
47if($slider.find("[data-is-pinned]").length){
48$slider.slick('slickRemove',0);
49}
50}
51$slickSliderWrapper[0].style.setProperty("--news-teaser-slider--slider-size",settingForBreakpoint.slidesToShow/settingForBreakpoint.slidesToShowInitial);
52$slickSliderWrapper[0].style.setProperty("--news-teaser-slider--margin-bottom",getComputedStyle($slider[0]).getPropertyValue("margin-bottom"));
53setTimeout(()=>{
54slick.setPosition();
55},0);
56}
57if(pinFirstSlide&&slickSliderProperties.slidesToShow&&slickSliderProperties.slidesToShow>1){
58$slickSliderWrapper.addClass("news-teaser-slider--pinned-first-slide");
59slickSliderProperties.slidesToShowInitial=slickSliderProperties.slidesToShow;
60slickSliderProperties.slidesToShow=slickSliderProperties.slidesToShow-1;
61slickSliderProperties.slidesToScrollInitial=slickSliderProperties.slidesToScroll;
62slickSliderProperties.slidesToScroll=slickSliderProperties.slidesToScroll-1;
63slickSliderProperties.responsive=slickSliderProperties.responsive||[];
64slickSliderProperties.responsive.forEach(resp=>{
65const slidesToShow=resp.settings.slidesToShow;
66resp.settings.slidesToShowInitial=resp.settings.slidesToShow;
67resp.settings.slidesToScrollInitial=resp.settings.slidesToShow;
68if(slidesToShow>1){
69resp.settings.slidesToShow=slidesToShow-1
70resp.settings.slidesToScroll=slidesToShow-1
71}
72});
73}
74$slider.on('init',function(e,slick){
75if($slickSliderWrapper.closest(".c-c-advanced-flex-nav__mega-menu__content").length>0){
76document.addEventListener('flexnavMenuItemRevealed',(event)=>{
77if(event?.detail?.menuItemEl){
78slick.setPosition();
79}
80});
81}
82var ariaLabel=$slickSliderWrapper.attr("data-aria-label");
83if(ariaLabel.length>0){
84$slider.find(".slick-track").attr("aria-label",ariaLabel)
85}
86if(pinFirstSlide&&slickSliderProperties?.slidesToShowInitial>1){
87$firstSlide=$slider.find('[data-slick-index="'+0+'"]');
88$firstSlide.attr("data-is-pinned","true");
89if($firstSlide.length===1){
90const $firstSlideClone=$($firstSlide.prop("outerHTML"));
91$firstSlideClone.removeAttr("data-slick-index");
92$firstSlideClone.removeAttr("aria-hidden");
93$firstSlideClone.removeAttr("style");
94$firstSlideClone.removeClass("slick-active");
95$firstSlideClone.removeClass("slick-current");
96$firstSlide=$firstSlideClone.clone();
97$firstSlideClone.addClass("news-teaser-slider__pinned-slide");
98$slickSliderWrapper.prepend($firstSlideClone);
99setTimeout(()=>{
100onBreakpointChange(slick)
101},0);
102}
103}
104var $nextButton=$slickSliderWrapper.find(".slick-next");
105var $prevButton=$slickSliderWrapper.find(".slick-prev");
106$('body').trigger('teaserSlider.init',
107{
108'element':'#'+$slider.attr("id"),
109'slick':slick
110}
111);
112$('body').trigger('manualSlider.slickInit',
113{
114element:"#"+$slider.attr("id"),
115slick:slick
116}
117);
118const imgs=Array.from($slickSliderWrapper.get(0).querySelectorAll(".article-teaser__picture img"));
119waitForImages(imgs)
120.then(()=>{
121setTimeout(()=>{
122slick.setPosition();
123},0)
124})
125.catch(err=>console.error(err));
126setTimeout(()=>{
127slick.setPosition();
128},0);
129$(window).on("load",function(){
130slick.setPosition();
131setTimeout(function(){
132slick.setPosition();
133},1000)
134}
134)
135});
136$slider.on('beforeChange',function(event,slick,currentSlide,nextSlide){
137$('body').trigger('teaserSlider.beforeChange',
138{
139'element':'#'+$slider.attr("id"),
140'slick':slick,
141'currentSlide':currentSlide,
142'nextSlide':nextSlide
143}
144);
145});
146$slider.on('breakpoint',function(event,slick){
147if(pinFirstSlide&&slickSliderProperties.slidesToShow&&slickSliderProperties.slidesToShow>1){
148onBreakpointChange(slick)
149}
150});
151$slider.on('afterChange',function(event,slick,currentSlide){
152var $currentSlide=$slider.find('[data-slick-index="'+currentSlide+'"]');
153var firstFocusable=$currentSlide.find('a, input, button, select, [role="link"]').not("[aria-hidden='true']").not("[role='presentation']").first();
154let $dots=$slickSliderWrapper.find(".slick-dots");
155$dots.find("li.slick-active button").attr("aria-current","true");
156$dots.find("li:not(.slick-active) button").attr("aria-current","false");
157setTimeout(function(){
158if(slick.paused&&whatInput&&whatInput.ask('loose')==='keyboard'&&firstFocusable){
159firstFocusable.focus();
160}
161slick.setPosition();
162},1);
163});
164slickSliderProperties.customPaging=function(slider,i){
165let ariaCurrentValue="false";
166if(i===0){
167ariaCurrentValue="true";
168}
169return'<button aria-current="'+ariaCurrentValue+'" type="button">Slide '+(i+1)+'</button>';
170}
171$slider.slick(slickSliderProperties);
172}
173}
174)();

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.