PageSourceSearch

https://www.amutaiaf.org.il/wp-content/plugins/astra-addon/addons/…/unminified/ast-above-header.js?ver=1.6.7

js amutaiaf.org.il collected 2026-10-03 01:22:12 UTC 7,885 bytes, 233 lines download raw bytes

1/**
2 * Above Header Header Styling
3 *
4 * @package Astra Addon
5 * @since 1.0.0
6 */
7
8( function() {
9
10	var above_header 	= document.querySelector( '.ast-above-header' ),
11	above_header_nav 	= document.querySelector( '.ast-above-header-navigation' ),
12	top_menu_toggle 	= document.querySelector( '.menu-above-header-toggle' ),
13	main_menu_toggle 	= document.querySelector( '.main-header-menu-toggle' ),
14	below_header_toggle = document.querySelector( '.menu-below-header-toggle' );
15
16	var html                 = document.querySelector( 'html' );
17	var __main_header_all    = document.querySelectorAll( '.ast-above-header' );
18	var menu_toggle_all      = document.querySelectorAll( '.menu-above-header-toggle' );
19	var above_header_nav_all = document.querySelectorAll( '.ast-above-header-navigation' );
20
21	if ( menu_toggle_all.length > 0 ) {
22
23		for (var i = 0; i < menu_toggle_all.length; i++) {
24			
25			menu_toggle_all[i].setAttribute('data-index', i);
26
27			menu_toggle_all[i].addEventListener( 'click', function( event ) {
28		    	event.preventDefault();
29
30		    	var event_index = this.getAttribute( 'data-index' );
31
32		    	var menuHasChildren = __main_header_all[event_index].querySelectorAll( '.menu-item-has-children, .page_item_has_children' );
33				for ( var i = 0; i < menuHasChildren.length; i++ ) {
34					menuHasChildren[i].classList.remove( 'ast-submenu-expanded' );
35					var menuHasChildrenSubMenu = menuHasChildren[i].querySelectorAll( '.sub-menu, .children' );		
36					for (var j = 0; j < menuHasChildrenSubMenu.length; j++) {		
37						menuHasChildrenSubMenu[j].style.display = 'none';		
38					};
39				}
40
41				var rel = this.getAttribute( 'rel' ) || '';
42				switch ( rel ) {
43					case 'above-header':
44							toggleClass( __main_header_all[event_index], 'toggle-on' );
45							toggleClass( menu_toggle_all[event_index], 'toggled' );
46							if ( __main_header_all[event_index].classList.contains( 'toggle-on' ) ) {
47								//__main_header_all[event_index].style.display = 'block';
48								above_header_nav_all[event_index].style.display = 'block';
49								html.classList.add( 'above-header-toggle-on' );
50							} else {		
51								//__main_header_all[event_index].style.display = '';
52								above_header_nav_all[event_index].style.display = '';
53								html.classList.remove( 'above-header-toggle-on' );
54							}
55
56							document.body.classList.add( "ast-above-header-nav-open" );	
57						break;
58				}
59
60				var elm = document.querySelector( '.ast-above-header-navigation' );
61				var rect = elm.getBoundingClientRect();
62				var vph = Math.max( document.documentElement.clientHeight, window.innerHeight || 0 );
63
64				elm.style.maxHeight = Math.abs( vph - rect.top ) + 'px';
65
66		    }, false);
67			
68			if( 'undefined' !== typeof __main_header_all[i] ) {
69				var parentList = __main_header_all[i].querySelectorAll( 'ul.ast-above-header-menu li' );
70				AstraNavigationMenu( parentList );
71		 	
72				if ( document.querySelector("header.site-header").classList.contains("ast-menu-toggle-link") ) {
73				 	var astra_menu_toggle = __main_header_all[i].querySelectorAll( '.ast-header-break-point .ast-above-header-menu .ast-menu-toggle, .ast-header-break-point .ast-above-header-menu .menu-item-has-children > a' );
74				} else {
75	               	var astra_menu_toggle = __main_header_all[i].querySelectorAll( 'ul.ast-above-header-menu .ast-menu-toggle' );
76				}
77				
78				AstraToggleMenu( astra_menu_toggle );
79			}
80
81		};
82	} else{
83		var __primary_menu = document.querySelectorAll( '.main-header-menu' );
84		var __above_main_header_all = document.querySelectorAll( '.ast-above-header-menu-items' );
85		var above_menu_toggle_all 	= document.querySelectorAll( '.main-header-menu-toggle' );
86
87		if ( above_menu_toggle_all.length > 0 && __above_main_header_all.length > 0 && __primary_menu.length == 0  ) {
88
89			for (var i = 0; i < above_menu_toggle_all.length; i++) {
90				var parentListAboveHeader = __above_main_header_all[i].querySelectorAll( 'li' );
91				AstraNavigationMenu( parentListAboveHeader );
92			 	
93			 	var astra_menu_toggle_above_header = __above_main_header_all[i].querySelectorAll( '.ast-menu-toggle' );
94				AstraToggleMenu( astra_menu_toggle_above_header );
95
96			};
97
98		}
99	}
100
101	/* Above Header Menu toggle click */
102	if ( null != top_menu_toggle ) {
103
104			/* Main Menu toggle click */
105		if ( null != main_menu_toggle && null != above_header_nav ) {
106			main_menu_toggle.addEventListener( 'click', function( event ) {
107
108				above_header.classList.remove( 'toggle-on' );
109				//above_header.style.display = 'none';
110				above_header_nav.style.display = 'none';
111				if ( null != top_menu_toggle ){
112					top_menu_toggle.classList.remove( 'toggled' );
113				}
114				if ( null != below_header_toggle ) {
115					below_header_toggle.classList.remove( 'toggled' );	
116				}
117
118			}, false);
119		}
120
121		top_menu_toggle.addEventListener( 'click', function( event ) {
122			event.preventDefault();
123
124			if ( null != main_menu_toggle ) {
125				main_menu_toggle.classList.remove( 'toggled' );
126			}
127
128			if ( null != below_header_toggle ){
129				below_header_toggle.classList.remove( 'toggled' );
130			}
131
132			var ast_below_header = document.querySelector( '.ast-below-header' );
133			if ( null != ast_below_header ) {
134
135				var ast_below_header_nav = document.querySelector( '.ast-below-header-actual-nav' );
136
137				ast_below_header.classList.remove( 'toggle-on' );
138				//ast_below_header.style.display = '';
139				
140				if ( null != ast_below_header_nav ) {
141					ast_below_header_nav.style.display = '';
142				}
143			}
144
145			var main_header_bar = document.querySelector( '.main-header-bar-navigation' );
146			if ( null != main_header_bar ) {
147				main_header_bar.classList.remove( 'toggle-on' );
148				main_header_bar.style.display = '';
149			}
150		}, false);
151}
152
153
154	/**
155	 * Navigation Keyboard Navigation.
156	 */
157	var container, button, menu, links, subMenus, i, len;
158
159	container = document.getElementById( 'ast-above-header-navigation' );
160	if ( ! container ) {
161		return;
162	}
163
164	button = container.getElementsByTagName( 'button' )[0];
165	if ( 'undefined' === typeof button ) {
166		return;
167	}
168
169	menu = container.getElementsByTagName( 'ul' )[0];
170
171	// Hide menu toggle button if menu is empty and return early.
172	if ( 'undefined' === typeof menu ) {
173		button.style.display = 'none';
174		return;
175	}
176
177	menu.setAttribute( 'aria-expanded', 'false' );
178	if ( -1 === menu.className.indexOf( 'nav-menu' ) ) {
179		menu.className += ' nav-menu';
180	}
181
182	button.onclick = function() {
183		console.log('yes4: ');
184		if ( -1 !== container.className.indexOf( 'toggled' ) ) {
185			container.className = container.className.replace( ' toggled', '' );
186			button.setAttribute( 'aria-expanded', 'false' );
187			menu.setAttribute( 'aria-expanded', 'false' );
188		} else {
189			container.className += ' toggled';
190			button.setAttribute( 'aria-expanded', 'true' );
191			menu.setAttribute( 'aria-expanded', 'true' );
192		}
193	};
194
195	// Get all the link elements within the menu.
196	links    = menu.getElementsByTagName( 'a' );
197	subMenus = menu.getElementsByTagName( 'ul' );
198
199
200	// Set menu items with submenus to aria-haspopup="true".
201	for ( i = 0, len = subMenus.length; i < len; i++ ) {
202		subMenus[i].parentNode.setAttribute( 'aria-haspopup', 'true' );
203	}
204
205	// Each time a menu link is focused or blurred, toggle focus.
206	for ( i = 0, len = links.length; i < len; i++ ) {
207		links[i].addEventListener( 'focus', toggleFocus, true );
208		links[i].addEventListener( 'blur', toggleFocus, true );
209	}
210
211	/**
212	 * Sets or removes .focus class on an element.
213	 */
214	function toggleFocus() {
215		var self = this;
216
217		// Move up through the ancestors of the current link until we hit .nav-menu.
218		while ( -1 === self.className.indexOf( 'nav-menu' ) ) {
219
220			// On li elements toggle the class .focus.
221			if ( 'li' === self.tagName.toLowerCase() ) {
222				if ( -1 !== self.className.indexOf( 'focus' ) ) {
223					self.className = self.className.replace( ' focus', '' );
224				} else {
225					self.className += ' focus';
226				}
227			}
228
229			self = self.parentElement;
230		}
231	}
232
233})();

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.