PageSourceSearch

https://www.springfieldlittletheatre.org/wp-content/plugins/wp-res…/assets/js/wprmenu.js?ver=1783824935

js springfieldlittletheatre.org collected 2026-10-02 17:40:28 UTC 15,900 bytes, 476 lines download raw bytes

1( function( window ) {
2
3	'use strict';
4	
5	function classReg( className ) {
6	  return new  ("(^|\\s+)" + className + "(\\s+|$)");
7	}
8	// classList support for class management
9	// although to be fair, the api sucks because it won't accept multiple classes at once
10	var hasClass, addClass, removeClass;
11	
12	if ( 'classList' in document.documentElement ) {
13	  hasClass = function( elem, c ) {
14		return elem.classList.contains( c );
15	  };
16	  addClass = function( elem, c ) {
17		elem.classList.add( c );
18	  };
19	  removeClass = function( elem, c ) {
20		elem.classList.remove( c );
21	  };
22	}
23	else {
24	  hasClass = function( elem, c ) {
25		return classReg( c ).test( elem.className );
26	  };
27	  addClass = function( elem, c ) {
28		if ( !hasClass( elem, c ) ) {
29		  elem.className = elem.className + ' ' + c;
30		}
31	  };
32	  removeClass = function( elem, c ) {
33		elem.className = elem.className.replace( classReg( c ), ' ' );
34	  };
35	}
36	
37	function toggleClass( elem, c ) {
38	  var fn = hasClass( elem, c ) ? removeClass : addClass;
39	  fn( elem, c );
40	}
41	
42	window.classie = {
43	  // full names
44	  hasClass: hasClass,
45	  addClass: addClass,
46	  removeClass: removeClass,
47	  toggleClass: toggleClass,
48	  // short names
49	  has: hasClass,
50	  add: addClass,
51	  remove: removeClass,
52	  toggle: toggleClass
53	};
54	
55	})( window );
56	
57	
58	jQuery( document ).ready( function($) {
59	
60		/**
61		-------------------------------------------------------------
62		* 
63		* Fix the issue menu background overlay apply on menu style -> icon 
64		*
65		-------------------------------------------------------------
66		**/
67		
68	
69		$(".wpr_open,.hamburger-box").on("click", function() {
70		  $(".wprm-overlay").toggleClass("active");
71		});
72	
73		$(".wpr_close,#mg-wprm-wrap ul li a").on("click", function() {
74		  $(".wprm-overlay").removeClass("active");
75		});
76		/*fix the issue - close menu sidebar when click on overlay */
77		$('.wprm-overlay').click(function(e){
78		   $('#mg-wprm-wrap').removeClass('cbp-spmenu-open');
79		   $('.wprm-overlay').removeClass('active');
80		   $('.wpr-custom-menu').removeClass('active');
81		   $('.cbp-spmenu-push').removeClass('cbp-spmenu-push-toright');
82		   $('.js').removeClass('wprmenu-body-fixed');
83		   $('body').css('left','0px');
84		   $('#custom_menu_icon').removeClass('is-active');
85		});
86
87		jQuery('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu').on('keydown', function(e) {
88			if (e.key === 'Enter' || e.key === ' ') {
89				e.preventDefault();
90				jQuery(this).trigger('click');
91			}
92		});
93
94		jQuery(document).on('keydown', function(e) {
95			if (e.key === 'Escape' && jQuery('#mg-wprm-wrap').hasClass('cbp-spmenu-open')) {
96				var menu_el = jQuery('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu');
97				if (menu_el.hasClass('is-active')) {
98					menu_el.trigger('click');
99				}
100			}
101		});
102	
103		/*issue fixed - overlay hide issue on click submenu dorpdown */
104		jQuery(function($){
105			$("#mg-wprm-wrap").on("click", function() {
106				  $(".wprm-overlay").removeClass("active");
107				});
108			$("#mg-wprm-wrap ul li span,.wpr-search-field").on("click",function() { return false; });
109		});
110				
111	
112		function toggle_menu_elements() {
113	
114			if( jQuery('.wprmenu_bar').hasClass('bodyslide') ) {
115				if( jQuery('.wprmenu_bar').hasClass('left') || jQuery('.wprmenu_bar').hasClass('right') ) {
116					
117					doc_width = jQuery(document).width() * (wprmenu.menu_width/100);
118					push_width = ( wprmenu.push_width != '' && wprmenu.push_width < doc_width ) ? wprmenu.push_width : doc_width;
119	
120					if( jQuery('.wprmenu_bar').hasClass('left') ) {
121	
122						classie.toggle(body, 'cbp-spmenu-push-toright');
123	
124						if( jQuery('body').hasClass('cbp-spmenu-push-toright') )
125							jQuery('body').css('left',push_width+'px');
126						else
127							jQuery('body').css('left','0px');
128					}
129	
130					if( jQuery('.wprmenu_bar').hasClass('right') ) {
131						classie.toggle(body, 'cbp-spmenu-push-toleft');
132	
133						if( jQuery('body').hasClass('cbp-spmenu-push-toleft') )
134							jQuery('body').css('left','-'+push_width+'px');
135						else
136							jQuery('body').css('left','0px');
137					}
138	
139				}
140			}
141	
142			classie.toggle(Mgwprm, 'cbp-spmenu-open');
143	
144			if( wprmenu.SubmenuOpened == 1 ) 
145				toggle_sub_uls('open');
146			else
147				toggle_sub_uls('close');
148		}
149	
150		var	Mgwprm = document.getElementById( 'mg-wprm-wrap' );
151		var MgWidgetMenu = document.getElementById( 'mg-widgetmenu-wrap' );
152		var	wprm_menuDir = document.getElementById( 'wprMenu' );
153		body = document.body;
154	
155	
156	  /**
157	  -------------------------------------------------------------
158	  * 
159	  * Fix the scaling issue by adding/replacing viewport metatag
160	  *
161	  -------------------------------------------------------------
162	  **/
163	  var mt = jQuery( 'meta[name=viewport]' );
164	  mt = mt.length ? mt : jQuery('<meta name="viewport" />').appendTo('head');
165	  if( wprmenu.zooming === '' ) {
166		mt.attr( 'content', 'user-scalable=no, width=device-width, maximum-scale=1, minimum-scale=1' );
167	  } else {
168		mt.attr( 'content', 'user-scalable=yes, width=device-width, initial-scale=1.0, minimum-scale=1' );
169	  }
170	
171		//Body slide from one side ( left, right or top )
172		if( jQuery('.wprmenu_bar').hasClass('bodyslide') )
173			
174			jQuery('body').addClass('cbp-spmenu-push cbp-spmenu-widget-push');
175			
176			jQuery('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu').click( function() {
177	
178				if( jQuery(this).parents('.wprm-wrapper').find('#mg-widgetmenu-wrap').hasClass('cbp-spmenu-widget-open') ) {
179					jQuery('#wprmenu_bar').find('div.wpr-widget-menu').trigger('click');
180				}
181	
182				classie.toggle( this, 'active' );
183				jQuery(this).toggleClass('is-active');
184	
185				//Overlay Options Starts Here
186				if( jQuery(this).hasClass('is-active') ) {
187	
188					if( wprmenu.enable_fullwidth == 1 
189						&& ( wprmenu.menu_open_direction == 'left' || wprmenu.menu_open_direction == 'right' ) ) {
190						jQuery('#wprmenu_bar').addClass('hide-menu-bar');
191					}
192	
193					jQuery('html').addClass('wprmenu-body-fixed');
194					
195					if( wprmenu.enable_overlay == '1' ) {
196						jQuery('div.wprm-wrapper').find('.wprm-overlay').addClass('active');
197					}
198	
199				}
200				else {
201	
202					if( wprmenu.enable_fullwidth == 1 
203						&& ( wprmenu.menu_open_direction == 'left' || wprmenu.menu_open_direction == 'right' ) ) {
204						jQuery('#wprmenu_bar').removeClass('hide-menu-bar');
205						
206					}
207	
208					jQuery('html').removeClass('wprmenu-body-fixed');
209					
210					if( wprmenu.enable_overlay == '1' ) {
211						jQuery('div.wprm-wrapper').find('.wprm-overlay').removeClass('active');
212					}
213	
214				}
215				//Overlay Options Ends Here
216	
217				$('#wprmenu_bar').find('.wpr_widget_menu_open').show();
218				$('#wprmenu_bar').find('.wpr_widget_menu_close').hide();
219	
220				toggle_menu_elements();
221			});
222
223			var wprmenuDemoId = wprmenu.wprmenuDemoId;
224			
225			if ( wprmenuDemoId ==  15 ) {
226				jQuery('div.wprm-wrapper').addClass('wp-responsive-menu-demo15');
227				
228			}else if ( wprmenuDemoId ==  16 ) {
229				jQuery('div.wprm-wrapper').addClass('wp-responsive-menu-demo16');
230				
231			}else if ( wprmenuDemoId ==  17 ) {
232				jQuery('div.wprm-wrapper').addClass('wp-responsive-menu-demo17');
233				
234			}else if ( wprmenuDemoId ==  13 ) {
235				jQuery('div.wprm-wrapper').addClass('wp-responsive-menu-demo13');
236					
237			}else if ( wprmenuDemoId ==  14 ) {
238				jQuery('div.wprm-wrapper').addClass('wp-responsive-menu-demo14');
239				
240			}
241				
242			//Widget Menu Toggle Options
243			$('.wprmenu_bar .wpr-widget-menu').click(function() {
244	
245				if( $(this).parents('.wprm-wrapper').find('#mg-wprm-wrap').hasClass('cbp-spmenu-open') ) {
246					$('#wprmenu_bar').find('div.hamburger').trigger('click');
247				}
248	
249				
250				classie.toggle( this, 'active' );
251				$(this).toggleClass('is-active');
252	
253				// Overlay Options Starts Here
254				if( $(this).hasClass('is-active') ) {
255					$('html').addClass('wprmenu-body-fixed');
256					if( wprmenu.enable_overlay == '1' ) {
257						$('div.wprm-wrapper').find('.wprm-overlay').addClass('active');
258					}
259	
260					if( wprmenu.enable_fullwidth == 1 
261						&& ( wprmenu.widget_menu_open_direction == 'left' || wprmenu.widget_menu_open_direction == 'right' ) ) {
262						$('#wprmenu_bar').addClass('widget-hide-menu-bar');
263					}
264				}
265				else {
266					$('html').removeClass('wprmenu-body-fixed');
267					if( wprmenu.enable_overlay == '1' ) {
268						$('div.wprm-wrapper').find('.wprm-overlay').removeClass('active');
269					}
270	
271					if( wprmenu.enable_fullwidth == 1 
272						&& ( wprmenu.widget_menu_open_direction == 'left' || wprmenu.widget_menu_open_direction == 'right' ) ) {
273						$('#wprmenu_bar').removeClass('widget-hide-menu-bar');
274					}
275	
276				}
277				//Overlay Options Ends Here
278				if ($('.wprmenu_bar').hasClass('bodyslide') && $('.wprmenu_bar').hasClass('widget-menu-left')) {
279					doc_width = $(document).width()*(wprmenu.menu_width/100);
280					push_width = (wprmenu.push_width != '' && wprmenu.push_width < doc_width) ? wprmenu.push_width : doc_width;
281					classie.toggle(body, 'cbp-spmenu-widget-push-toright');
282			
283					if( $('body').hasClass('cbp-spmenu-widget-push-toright') )
284						$('body').css('left',push_width+'px');
285					else
286						$('body').css('left','0px');
287				}
288	
289				// For the left side body push
290				if ($('.wprmenu_bar').hasClass('bodyslide') &&  $('.wprmenu_bar').hasClass('widget-menu-right')) {
291					doc_width = $(document).width()*(wprmenu.menu_width/100);
292					push_width = (wprmenu.push_width != '' && wprmenu.push_width < doc_width) ? wprmenu.push_width : doc_width;
293					classie.toggle(body, 'cbp-spmenu-widget-push-toleft');
294					if( $('body').hasClass('cbp-spmenu-widget-push-toleft') )
295						$('body').css('left','-'+push_width+'px');
296					else
297						$('body').css('left','0px');
298				}
299				classie.toggle(MgWidgetMenu, 'cbp-spmenu-widget-open');
300	
301			});
302	
303		// From the top and bottom slide
304		var topmenu = $('#mg-wprm-wrap.cbp-spmenu-top ul').height()+800;
305		var bottommenu = $('#mg-wprm-wrap.cbp-spmenu-bottom').height();
306		$('#mg-wprm-wrap.cbp-spmenu-top').css( 'top', -topmenu+'px' );
307		$('#mg-wprm-wrap.cbp-spmenu-bottom').css( {
308			'bottom' : -bottommenu+'px',
309			'top'    : 'auto' 
310		});
311	
312		//widget menu slide from top and bottom
313		var WidgetTopMenu = $('#mg-widgetmenu-wrap.cbp-spmenu-widget-top ul').height()+1000;
314		var WidgetBottomMenu = $('#mg-widgetmenu-wrap.cbp-spmenu-widget-bottom').height();
315		$('#mg-widgetmenu-wrap.cbp-spmenu-widget-top').css( 'top', -WidgetTopMenu+'px' );
316		$('#mg-widgetmenu-wrap.cbp-spmenu-widget-bottom').css( {
317			'bottom' : -WidgetBottomMenu+'px',
318			'top'    : 'auto' 
319		});
320	
321		// Click on body remove the menu
322		$('body').click( function( event ) {
323			if ( $( '#wprmenu_bar' ).hasClass( 'active' ) ) {
324				$('#wprmenu_bar .wprmenu_icon').addClass('open');
325			}	
326			else {
327				$('#wprmenu_bar .wprmenu_icon').removeClass('open');
328			}
329		});
330	
331		var menu = $('#mg-wprm-wrap');
332		var menu_ul = $('#wprmenu_menu_ul'); //the menu ul
333		var menu_a = menu_ul.find('a'); //single menu link
334	
335		$(document).mouseup(function (e) {
336			if( ! $('.cbp-spmenu').hasClass('cbp-spmenu-open') && !$(e.target).hasClass('wprmenu_bar') )
337				return;
338	
339			if ( ($(e.target).hasClass('wprmenu_bar') || $(e.target).parents('.wprmenu_bar').length == 0) && 
340				($(e.target).hasClass('cbp-spmenu') || $(e.target).parents('.cbp-spmenu').length == 0)) {
341				if(menu.is(':visible') ) {
342					 $('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu').trigger('click');
343				}
344			}
345		});
346	
347	
348		//add arrow element to the parent li items and chide its child uls
349		menu.find('ul.sub-menu').each(function() {
350			var sub_ul = $(this),
351			parent_a = sub_ul.prev('a'),
352			parent_li = parent_a.parent('li').first();
353	
354			parent_a.addClass('wprmenu_parent_item');
355			parent_li.addClass('wprmenu_parent_item_li');
356	
357			var expand = parent_a.before('<span class="wprmenu_icon wprmenu_icon_par '+ wprmenu.submenu_open_icon +'"></span> ').find('.wprmenu_icon_par');
358			sub_ul.hide();
359		});
360	
361		//Toggle search
362		$('#wprmenu_bar .toggle-search').click(function(){
363			$('.search-expand').toggle(300)
364		});
365	
366		//expand / collapse action (SUBLEVELS)
367		$('.wprmenu_icon_par').on('click',function() {
368			var t = $(this),
369			child_ul = t.parent('li').find('ul.sub-menu').first();
370			child_ul.slideToggle('300');
371			t.toggleClass( wprmenu.submenu_open_icon ).toggleClass( wprmenu.submenu_close_icon );
372			t.parent('li').first().toggleClass('wprmenu_no_border_bottom');
373		});
374	
375	
376		function toggle_sub_uls($action) {
377			$('#mg-wprm-wrap').find('ul.sub-menu').each(function() {
378				var ul = $(this),
379				icon = ul.parent('li').find('.wprmenu_icon_par'),
380				li = ul.parent('li');
381	
382				if( $action == 'open' ) {
383					ul.slideDown(300);
384					icon.removeClass( wprmenu.submenu_open_icon ).addClass( wprmenu.submenu_close_icon );
385				}
386				else {
387					if(ul.is(':visible')) ul.slideUp(300);
388					icon.removeClass( wprmenu.submenu_close_icon ).addClass( wprmenu.submenu_open_icon );
389					li.removeClass('wprmenu_no_border_bottom');
390				}
391				
392			});
393		}
394	
395		$('#wprmenu_menu_ul a').click(function(){
396			if( wprmenu.parent_click !='yes' || (wprmenu.parent_click == 'yes' && !$(this).hasClass('wprmenu_parent_item')) )
397				$('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu').trigger('click');
398		});
399	
400		if( menu.hasClass('cbp-spmenu-top') && $('body').hasClass('cbp-spmenu-push') ){
401			$('body').prepend(menu);
402			//show / hide the menu
403			$('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu').on('click', function(e) {
404				if( $(e.target).hasClass('bar_logo') )
405					return;
406				//scroll window top
407				$("html, body").animate({ scrollTop: 0 }, 300);
408	
409				toggle_sub_uls('close');
410				menu.stop(true, false).slideToggle(300);
411			});
412		}
413		
414		if( wprmenu.parent_click == 'yes' ) {
415			$('a.wprmenu_parent_item').on('click', function(e){
416				e.preventDefault();
417				$('.wprmenu_icon_par').trigger('click');
418			});
419		}
420			
421		if( wprmenu.swipe == 'yes' ) {
422			$('body').swipe({
423				excludedElements: "button, input, select, textarea, .noSwipe",
424				fallbackToMouseEvents: false,
425				threshold: 200,
426				swipe:function(event, direction, distance, duration, fingerCount, fingerData) {
427					menu_el = $('.wprmenu_bar .hamburger, .wprmenu_bar .wpr-custom-menu');
428					if( direction =='left' && menu_el.hasClass('is-active') )
429						menu_el.trigger('click');
430					
431					if( direction =='right' && !menu_el.hasClass('is-active') )
432						menu_el.trigger('click');
433				}
434			});
435		}
436	
437		$('body').on('click', 'div.menu_title', function() {
438			//due to munu title click humbler working not needed.
439			// $(this).prev('.hamburger').toggleClass('is-active');
440			// classie.toggle( this, 'active' );
441		});
442	
443		jQuery('body').on('click', '.wpr-widget-menu .wpr_widget_icon', function() {
444			
445			jQuery(this).hide();
446	
447			if( jQuery(this).hasClass('wpr_widget_menu_open') ) {
448				jQuery(this).parent('.wpr-widget-menu').find('.wpr_widget_menu_close').show();
449			}
450			else {
451				jQuery(this).parent('.wpr-widget-menu').find('.wpr_widget_menu_open').show();
452			}
453		});
454	
455	
456	
457	  if( wprmenu.hide_menubar_on_scroll == '1' ) {
458		  var _current, currentScrollTop = 0,
459		  navbar = jQuery('#wprmenu_bar');
460	
461		  jQuery(window).scroll(function () {
462			  var _scroll = jQuery(window).scrollTop();
463			var _navbarHeight = navbar.height();
464		 
465			currentScrollTop = _scroll;
466		 
467			if (_current < currentScrollTop && _scroll > _navbarHeight + _navbarHeight) {
468				navbar.addClass("scrollUp");
469			} else if (_current > currentScrollTop && !(_scroll <= _navbarHeight)) {
470				navbar.removeClass("scrollUp");
471			}
472			_current = currentScrollTop;
473		  });
474	  }
475	
476	});

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.