PageSourceSearch

https://www.simrishamn.se/2.17f76b1d185fe62c44b8747b/91.777cedee18…/1790924998000/HEAD/0/sv-template-asset.js

js simrishamn.se collected 2026-10-02 09:54:57 UTC 10,703 bytes, 215 lines download raw bytes

1svDocReady(function() {
2
3   const searchButton = document.getElementById("ws-headerlink--search");
4   const searchContainer = document.getElementById("svid12_53bffb85187eac287ee3c0b");
5   if (searchButton && searchContainer) {
6   	searchButton.setAttribute('aria-expanded', 'false');
7   	searchButton.setAttribute('aria-controls', 'svid10_53bffb85187eac287ee3c0a');
8
9   	searchButton.addEventListener('click', event => {
10      	event.preventDefault();
11
12      	var expandedAttr = searchButton.getAttribute('aria-expanded');
13      	if (expandedAttr && expandedAttr === 'true') {
14	         searchContainer.className = "sv-searchform-portlet sv-portlet sv-skip-spacer ws-searchform sv-template-portlet";
15   	      searchButton.setAttribute('aria-expanded', 'false');
16      	} else {
17         	searchContainer.className = 'sv-searchform-portlet sv-portlet sv-skip-spacer sv-template-portlet ws-searchform--active';
18         	searchButton.setAttribute('aria-expanded', 'true');
19         	var searchForm = document.querySelector('#svid10_53bffb85187eac287ee3c0a input[name="query"]');
20         	searchForm.focus();
21      	}
22
23   	});
24   }
25
26   const panicButton = document.getElementById("ws-panic-button");
27   if (panicButton) {
28      panicButton.addEventListener('click', event => {
29         history.replaceState(null, 'Nyheter', '/nyheter');
30      });
31   }
32
33   const pushbar = new Pushbar({
34      blur:true,
35      overlay:true,
36   });
37
38   var navCloseButton = document.getElementById("ws-mainnavigation__closebutton");
39
40   navCloseButton.addEventListener("click", function () {
41      pushbar.close();
42   });
43
44
45   var pushbarContainer = document.getElementById("ws-mainnavigation-container");
46   pushbarContainer.addEventListener("pushbar_opening", function(e) {
47      e.detail.element.setAttribute('aria-expanded', 'true');
48      e.detail.element.setAttribute('aria-hidden', 'false');
49      e.detail.element.removeAttribute('style');
50
51      // Om sökformuläret är öppet, stäng det i samband med att navigationen öppnas.
52      if (searchButton && searchContainer) {
53      searchContainer.className = "sv-searchform-portlet sv-portlet sv-skip-spacer ws-searchform sv-template-portlet";
54      searchButton.setAttribute('aria-expanded', 'false');
55      }
56   });
57
58   pushbarContainer.addEventListener("pushbar_closing", function(e) {
59      e.detail.element.setAttribute('aria-expanded', 'false');
60      e.detail.element.setAttribute('aria-hidden', 'true');
61      e.detail.element.setAttribute('style', 'display: none');
62   });
63
64   /** Undernavigation/Sidonavigation */
65   const subNavBtns = document.querySelectorAll('.ws-navigation__list__item-button');
66   subNavBtns.forEach(subNavBtn => {
67      subNavBtn.addEventListener('click', event => {
68         var correspondingListAttr = event.currentTarget.getAttribute('aria-controls');
69         var correspondingList = document.getElementById(correspondingListAttr);
70
71         var parentRow = event.currentTarget.parentElement.parentElement;
72
73         var expandedAttr = event.currentTarget.getAttribute('aria-expanded');
74         if (expandedAttr && expandedAttr === 'true') {
75
76            event.currentTarget.setAttribute('aria-expanded', 'false');
77            correspondingList.className = correspondingList.className.replace(' ws-navigation__submenu--expanded', '');
78            correspondingList.setAttribute('aria-expanded', 'false');
79            correspondingList.setAttribute('aria-hidden', 'true');
80            parentRow.className = parentRow.className.replace('ws-navigation__item--expanded', '');
81
82            var underlyingBtns = correspondingList.querySelectorAll('.ws-navigation__list__item-button');
83            underlyingBtns.forEach(underlyingBtn => {
84               underlyingBtn.setAttribute('aria-expanded', 'false');
85               var underlyingListAttr = underlyingBtn.getAttribute('aria-controls');
86               var underlyingList = document.getElementById(underlyingListAttr);
87               underlyingList.className = correspondingList.className.replace(' ws-navigation__submenu--expanded', '');
88            });
89
90         } else {
91
92            event.currentTarget.setAttribute('aria-expanded', 'true');
93            event.currentTarget.setAttribute('aria-label', 'Fäll ihop undermeny');
94            correspondingList.className = correspondingList.className + ' ws-navigation__submenu--expanded';
95            correspondingList.setAttribute('aria-expanded', 'true');
96            correspondingList.setAttribute('aria-hidden', 'false');
97            parentRow.className = parentRow.className +  ' ws-navigation__item--expanded';
98         }
99
100      });
101   });
102
103
104
105    /*
106       Skript för att hantera dekorationsmallen med de kollapsboxar
107       som bygger på envision
108    */
109    $svjq('.ws-accessibility-hook').remove();
110    $svjq('.ws-collapsebox').each(function(box) {
111
112       var collapseContainer = $svjq(this).parent().next('.env-collapse');
113       if (collapseContainer.length) {
114          var containerId = $svjq(this).data('containerid');
115          collapseContainer.attr('id', containerId);
116       } else {
117          console.error('Couldn\'t find container to associate button with');
118       }
119
120    });
121
122
123    // Se till att räknaren för servicemeddelanden är helt rund.
124    var serviceMessageCounter = $svjq('.ws-servicemessages-container__counts');
125    if (serviceMessageCounter && serviceMessageCounter[0]) {
126      var counterWidth = serviceMessageCounter[0].clientWidth;
127      var counterHeight = serviceMessageCounter[0].clientHeight;
128
129      if (counterWidth > counterHeight) {
130         serviceMessageCounter.css('height', counterWidth);
131      } else if (counterHeight > counterWidth) {
132         serviceMessageCounter.css('width', counterHeight);
133      }
134    }
135
136
137    /** Specialhack för att sätta höjden på iframe för kommunkartan. Chrome tillåter
138     * inte manipulation genom javascript eftersom vi inte har korrekt X-FRAME-OPTIONS-header.
139     * Det här blir tillräckligt bra och gör att redaktörerna slipper sätta höjden manuellt.
140     */
141    /*
142    $svjq('iframe[src^="https://simrishamn.maps.arcgis.com"]').each(function() {
143      $svjq(this).css('min-height', '98vh');
144    });
145    */
146    $svjq('iframe[src^="https://simrishamn.maps.arcgis.com"]').each(function () {
147       var $iframe = $svjq(this);
148       
149       if (!$iframe.hasClass('b3-eventplace__columns__map-iframe')) {
150          $iframe.css('min-height', '98vh');
151       }
152    });
153   
154    /** Oklart om det här är samma som den föregående eller något annat. För säkerhets skull får
155    den en egen hantering.
156    */
157    $svjq('iframe[src^="https://storymaps.arcgis.com"]').each(function() {
158      $svjq(this).css('min-height', '98vh');
159    });
160
161
162});
163var Pushbar=function(a){a=void 0===a?{overlay:!0,blur:!1}:a;(this.activeId,this.activeElement,this.overlayElement,a.overlay&&(this.overlayElement=document.createElement("div"),this.overlayElement.classList.add("pushbar_overlay"),document.querySelector("body").appendChild(this.overlayElement)),a.blur)&&(a=document.querySelector(".pushbar_main_content"))&&a.classList.add("pushbar_blur");this.bindEvents()};
164Pushbar.prototype.emitOpening=function(){var a=new CustomEvent("pushbar_opening",{bubbles:!0,detail:{element:this.activeElement,id:this.activeId}});this.activeElement.dispatchEvent(a)};Pushbar.prototype.emitClosing=function(){var a=new CustomEvent("pushbar_closing",{bubbles:!0,detail:{element:this.activeElement,id:this.activeId}});this.activeElement.dispatchEvent(a)};Pushbar.prototype.handleOpenEvent=function(a){a.preventDefault();a=a.currentTarget.getAttribute("data-pushbar-target");this.open(a)};
165Pushbar.prototype.handleCloseEvent=function(a){a.preventDefault();this.close()};Pushbar.prototype.handleKeyEvent=function(a){27===a.keyCode&&this.close()};
166Pushbar.prototype.bindEvents=function(){var a=this,c=document.querySelectorAll("[data-pushbar-target]"),d=document.querySelectorAll("[data-pushbar-close]");
166c.forEach(function(b){return b.addEventListener("click",function(b){return a.handleOpenEvent(b)},!1)});d.forEach(function(b){return b.addEventListener("click",function(b){return a.handleCloseEvent(b)},!1)});this.overlayElement&&this.overlayElement.addEventListener("click",function(b){return a.handleCloseEvent(b)},!1);document.addEventListener("keyup",
167function(b){return a.handleKeyEvent(b)})};Pushbar.prototype.open=function(a){if(this.activeId!==String(a)&&a&&(this.activeId&&this.activeId!==String(a)&&this.close(),this.activeId=a,this.activeElement=document.querySelector('[data-pushbar-id\x3d"'+this.activeId+'"]'),this.activeElement)){this.emitOpening();this.activeElement.classList.add("opened");var c=document.querySelector("html");c.classList.add("pushbar_locked");c.setAttribute("pushbar",a)}};
168Pushbar.prototype.close=function(){if(this.activeId){this.emitClosing();this.activeElement.classList.remove("opened");var a=document.querySelector("html");a.classList.remove("pushbar_locked");a.removeAttribute("pushbar");this.activeElement=this.activeId=null}};
169document.addEventListener('DOMContentLoaded', function () {
170
171	const quicklinkcontainer = document.querySelector('.ws-startpage-quicklinks__linkcontainer');
172
173	if (quicklinkcontainer) {
174   	quicklinkcontainer.addEventListener('click', function (event) {
175			const clickedElement = event.target.closest('a');
176
177			if (clickedElement && quicklinkcontainer.contains(clickedElement)) {
178        
179//				console.log('Event click:', clickedElement.href);
180				_paq.push(['trackEvent', 'Link click', 'Direktlänkar', clickedElement.href]);
181      	}
182    	});
183	}
184   
185	const popularlinkscontainer = document.querySelector('.ws-linkblurb-container');
186  
187	if (popularlinkscontainer) {
188		popularlinkscontainer.addEventListener('click', function (event) {
189      	const clickedElement = event.target.closest('a');
190
191			if (clickedElement && popularlinkscontainer.contains(clickedElement)) {
192
193//				console.log('Event click:', clickedElement.href);
194            _paq.push(['trackEvent', 'Link click', 'Populära länkar', clickedElement.href]);
195			}
196		});
197	}
198
199/*
200   document.querySelectorAll('.env-collapse-header').forEach(header => {
201      header.addEventListener('click', function () {
202         requestAnimationFrame(() => {
203            if (header.getAttribute('aria-expanded') === 'true') {
204               let pageTitle = document.querySelector('meta[property="og:title"]').getAttribute('content');
205               let collapseboxTitle = header.querySelector('.ws-collapsebox__title').textContent;
206               _paq.push(['trackEvent', 'Link click', 'Kollapsbox', pageTitle, collapseboxTitle]);
207               //console.log('Kollapsbox öppnad:', header);
208            }
209         });
210      });
211   });
212*/
213   
214});
215

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.