PageSourceSearch

https://www.westofengland-ca.gov.uk/wp-content/themes/weca/assets/new-js/common.js?ver=1.1.1790267898

js westofengland-ca.gov.uk collected 2026-09-27 21:31:34 UTC 5,456 bytes, 126 lines download raw bytes

1/* -------------------------------------- 
2Header
3-------------------------------------- */
4
5/* Desktop Search toggle */
6document.querySelectorAll('.header__middle-btn').forEach(function (searchBtn) {
7    searchBtn.addEventListener('click', function () {
8        document.querySelector('.header #mega-menu-wrap-primary').classList.remove('is-active');
9        document.querySelector('.header__middle-hamburger').classList.remove('is-open');
10        document.querySelector('.header__middle-hamburger .hb-text').innerHTML = 'Menu';
11        let searchBox = document.querySelector('.header__search');
12        let searchInput = document.querySelector('.header__search.round-input input[type="text"]');
13        
14        document.querySelectorAll('.header nav#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item').forEach(function (item) {
15            item.classList.remove('mega-toggle-on');
16        });
17
18        if (searchBtn.classList.contains('is-open')) {
19            searchBtn.setAttribute('aria-expanded', 'false');
20            searchBtn.classList.remove('is-open');
21            searchBox.style.display = 'none';
22        } else {
23            searchBtn.setAttribute('aria-expanded', 'true');
24            searchBtn.classList.add('is-open');
25            searchBox.style.display = 'block';
26            searchInput.focus();
27        }
28    });
29});
30document.addEventListener('click', function (event) {
31    if (!document.querySelector('.header').contains(event.target)) {
32
33        let button = document.querySelector('.header__middle-btn');
34        if (button && button.classList.contains('is-open')) {
35            button.classList.remove('is-open');
36            button.setAttribute('aria-expanded', 'false');
37        }
38        
39        document.querySelector('.header__search').style.display = 'none';
40    }
41});
42/* Desktop Search toggle 
43-------------------------------------- */
44/* Used Escape key Search hide */
45window.addEventListener('keydown', function (event) { 
46    let searchBox = document.querySelector('.header__search');
47    let button = document.querySelector('.header__middle-btn');
48    
49    
50    if (event.key === "Escape") {
51        if (button && button.classList.contains('is-open')) {
52            button.classList.remove('is-open');
53            button.setAttribute('aria-expanded', 'false');
54            searchBox.style.display = 'none';
55        }       
56    }
57});
58/* Used Escape key Search hide 
59-------------------------------------- */
60/* Mobile hamburger */
61document.querySelectorAll('.header__middle-hamburger').forEach(function (hamburgerBtn) {
62    hamburgerBtn.addEventListener('click', function () {
63        let searchBox = document.querySelector('.header__search');
64        searchBox.style.display = 'none';
65        let button = document.querySelector('.header__middle-btn');
66        if (button && button.classList.contains('is-open')) {
67            button.classList.remove('is-open');
68        }
69        if (hamburgerBtn.classList.contains('is-open')) {
70            document.querySelectorAll('.header #mega-menu-wrap-primary').forEach(function (item) {
71                item.classList.remove('is-active');
72            });
73            hamburgerBtn.setAttribute('aria-expanded', 'false');
74            hamburgerBtn.classList.remove('is-open');
75            document.querySelector('.header__middle-hamburger .hb-text').innerHTML = 'Menu';
76        } else {
77            document.querySelectorAll('.header #mega-menu-wrap-primary').forEach(function (item) {
78                item.classList.add('is-active');
79            });
80            hamburgerBtn.setAttribute('aria-expanded', 'true');
81            hamburgerBtn.classList.add('is-open');
82            document.querySelector('.header__middle-hamburger .hb-text').innerHTML = 'Close';
83        }
84    });
85});
86/* Mobile hamburger 
87-------------------------------------- */
88
89
90/* mobile submenu open button */
91
92document.querySelectorAll(".header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul > li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > .so-widget-menu-text-widget > ul > li").forEach(function (item) {
93    if (item.querySelector("ul")) {
94        item.classList.add('is-child')
95        var btnIndicator = document.createElement("button");
96        btnIndicator.classList.add('mega-indicator', 'open-sub-menu');
97        btnIndicator.setAttribute('aria-expanded', 'false');
98        btnIndicator.textContent = 'open menu';
99        var anchor = item.querySelector("a");
100        anchor.insertAdjacentElement('afterend', btnIndicator);
101    }
102});
103document.querySelectorAll('.header .mega-menu-wrap .open-sub-menu').forEach(function (openMenuBtn) {
104    let allMenu = document.querySelectorAll('.header .mega-menu-wrap .open-sub-menu');
105    openMenuBtn.addEventListener('click', function () {
106        if (openMenuBtn.classList.contains('is-open')) {
107            openMenuBtn.setAttribute('aria-expanded', 'false');
108            openMenuBtn.classList.remove('is-open');
109        } else {
110            allMenu.forEach(function (item) {
111                item.classList.remove('is-open');
112            });
113            openMenuBtn.setAttribute('aria-expanded', 'true');
114            openMenuBtn.classList.add('is-open');
115        }
116    });
117});
118
119/* -------------------------------------- 
120Header End
121-------------------------------------- */
122 
123
124/* -------------------------------------- 
125Header
126-------------------------------------- */

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.