PageSourceSearch

https://sman2solo.sch.id/wp-content/themes/news-portal/assets/js/np-custom-scripts.js?ver=1.0.7

js sman2solo.sch.id collected 2026-10-03 02:49:41 UTC 9,606 bytes, 343 lines download raw bytes

1jQuery(document).ready(function($) {
2
3	"use strict";
4
5	/**
6	 * Preloader
7	 */
8	if ($('#news-portal-preloader').length > 0) {
9		setTimeout(function() {
10			$('#news-portal-preloader').hide();
11		}, 600);
12	}
13
14	/**
15	 * Ticker script
16	 */
17	$("#newsTicker").lightSlider({
18		item: 1,
19		vertical: true,
20		loop: true,
21		verticalHeight: 35,
22		pager: false,
23		enableTouch: false,
24		enableDrag: false,
25		auto: true,
26		controls: true,
27		speed: 2000,
28		pause: 6000,
29		prevHtml: '<i class="fa fa-arrow-left"></i>',
30		nextHtml: '<i class="fa fa-arrow-right"></i>',
31		onSliderLoad: function() {
32			$('#np-newsTicker').removeClass('cS-hidden');
33		}
34	});
35
36	/**
37	 * Slider script
38	 */
39	$('.slider-posts').each(function() {
40		$(".np-main-slider").lightSlider({
41			item: 1,
42			auto: true,
43			pager: false,
44			loop: true,
45			slideMargin: 0,
46			speed: 2000,
47			pause: 6000,
48			enableTouch: false,
49			enableDrag: false,
50			prevHtml: '<i class="fa fa-angle-left"></i>',
51			nextHtml: '<i class="fa fa-angle-right"></i>',
52			onSliderLoad: function() {
53				$('.np-main-slider').removeClass('cS-hidden');
54			}
55		});
56	});
57
58	/**
59	 * Block carousel layout
60	 */
61	$('.carousel-posts').each(function() {
62		var Id = $(this).parent().attr('id');
63		var NewId = Id;
64		var crsItem = $(this).data('items');
65
66		NewId = $('#' + Id + " #blockCarousel").lightSlider({
67			auto: true,
68			loop: true,
69			pauseOnHover: true,
70			pager: false,
71			speed: 2000,
72			pause: 6000,
73			controls: false,
74			prevHtml: '<i class="fa fa-angle-left"></i>',
75			nextHtml: '<i class="fa fa-angle-right"></i>',
76			item: 4,
77			onSliderLoad: function() {
78				$('#' + Id + " #blockCarousel").removeClass('cS-hidden');
79			},
80			responsive: [{
81					breakpoint: 840,
82					settings: {
83						item: 2,
84						slideMove: 1,
85						slideMargin: 6,
86					}
87				},
88				{
89					breakpoint: 480,
90					settings: {
91						item: 1,
92						slideMove: 1,
93					}
94				}
95			]
96		});
97
98		$('#' + Id + ' .np-navPrev').click(function() {
99			NewId.goToPrevSlide();
100		});
101		$('#' + Id + ' .np-navNext').click(function() {
102			NewId.goToNextSlide();
103		});
104	});
105
106	/**
107	 * Default widget tabbed
108	 */
109	$("#np-tabbed-widget").tabs();
110
111	// Search toggle
112	$('.np-header-search-wrapper .search-main').click(function() {
113		$('.search-form-main').toggleClass('active-search');
114		$('.search-form-main .search-field').focus();
115		var element = document.querySelector('.np-header-search-wrapper');
116		if (element) {
117			$(document).on('keydown', function(e) {
118				if (element.querySelectorAll('.search-form-main.active-search').length === 1) {
119					var focusable = element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
120					var firstFocusable = focusable[0];
121					var lastFocusable = focusable[focusable.length - 1];
122					news_portal_focus_trap(firstFocusable, lastFocusable, e);
123				}
124			})
125		}
126	});
127
128	// responsive menu toggle
129	$('.np-header-menu-wrapper .menu-toggle').click(function(event) {
130		$('.np-header-menu-wrapper #site-navigation').toggleClass('isActive').slideToggle('slow');
131		var element = document.querySelector('.mt-header-menu-wrap');
132		if (element) {
133			$(document).on('keydown', function(e) {
134				if (element.querySelectorAll('.np-header-menu-wrapper #site-navigation.isActive').length === 1) {
135					var focusable = element.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
136					var firstFocusable = focusable[0];
137					var lastFocusable = focusable[focusable.length - 1];
138					news_portal_focus_trap(firstFocusable, lastFocusable, e);
139				}
140			})
141		}
142	});
143
144	// responsive sub menu toggle
145	$('<a class="sub-toggle" href="javascript:void(0);"><i class="fa fa-angle-right"></i></a>').insertAfter('#site-navigation .menu-item-has-children>a, #site-navigation .page_item_has_children>a');
146
147	$('#site-navigation .sub-toggle').click(function() {
148		$(this).parent('.menu-item-has-children').children('ul.sub-menu').first().slideToggle('1000');
149		$(this).parent('.page_item_has_children').children('ul.children').first().slideToggle('1000');
150		$(this).children('.fa-angle-right').first().toggleClass('fa-angle-down');
151	});
152
153	// Scroll To Top
154	$(window).scroll(function() {
155		if ($(this).scrollTop() > 1000) {
156			$('#np-scrollup').fadeIn('slow');
157		} else {
158			$('#np-scrollup').fadeOut('slow');
159		}
160	});
161
162	$('#np-scrollup').click(function() {
163		$("html, body").animate({
164			scrollTop: 0
165		}, 600);
166		return false;
167	});
168
169	/**
170	 * Focus trap in popup.
171	 */
172	var KEYCODE_TAB = 9;
173	function news_portal_focus_trap(firstFocusable, lastFocusable, e) {
174		if (e.key === 'Tab' || e.keyCode === KEYCODE_TAB) {
175			if (e.shiftKey) {
176				if (document.activeElement === firstFocusable) {
177					lastFocusable.focus();
178					e.preventDefault();
179				}
180			} else {
181				if (document.activeElement === lastFocusable) {
182					firstFocusable.focus();
183					e.preventDefault();
184				}
185			}
186		}
187	}
188
189	/**
190	 * Close popups on escape key.
191	 */
192	$(document).on('keydown', function(event) {
193		if (event.keyCode === 27) {
194			event.preventDefault();
195			$('.search-form-main').removeClass('active-search');
196		}
197	});
198
199	/**
200	 * Settings of the sticky menu
201	 */
202	var menuStickyVal = mtObject.menu_sticky;
203	if (menuStickyVal === 'true') {
204		var wpAdminBar = $('#wpadminbar');
205		if (wpAdminBar.length) {
206			$("#np-menu-wrap").sticky({ topSpacing: wpAdminBar.height() });
207		} else {
208			$("#np-menu-wrap").sticky({ topSpacing: 0 });
209		}
210	}
211
212	/**
213	 * theia sticky sidebar
214	 */
215	var innerStickyVal = mtObject.inner_sticky;
216	if (innerStickyVal === 'true') {
217		$('#primary, #secondary').theiaStickySidebar({
218			additionalMarginTop: 30
219		});
220	}
221
222	var frontStickyVal = mtObject.front_sticky;
223	if (frontStickyVal === 'true') {
224		$('.middle-primary, .middle-aside').theiaStickySidebar({
225			additionalMarginTop: 30
226		});
227	}
228
229	/**
230	 * Live Search
231	 */
232	var ajaxUrl = mtObject.ajaxUrl;
233	var _wpnonce = mtObject._wpnonce;
234	var liveSearch = mtObject.liveSearch;
235
236	if (liveSearch === 'true') {
237		var searchContainer = $(".np-header-search-wrapper");
238
239		if (searchContainer.length > 0) {
240			var searchFormContainer = searchContainer.find("form");
241
242			searchContainer.on('input', 'input[type="search"]', function() {
243				var searchKey = $(this).val();
244
245				if (searchKey) {
246					$.ajax({
247						method: 'post',
248						url: ajaxUrl,
249						data: {
250							action: 'news_portal_search_posts_content',
251							search_key: searchKey,
252							security: _wpnonce
253						},
254						beforeSend: function() {
255							searchFormContainer.addClass('retrieving-posts');
256							searchFormContainer.removeClass('results-loaded');
257						},
258						success: function(res) {
259							var parsedRes = JSON.parse(res);
260							searchContainer.find(".news-portal-search-results-wrap").remove();
261							searchFormContainer.after(parsedRes.posts);
262							searchFormContainer.removeClass('retrieving-posts').addClass('results-loaded');
263						},
264						error: function(xhr, status, error) {
265							console.error("AJAX Error:", error);
266						}
267					});
268				} else {
269					searchContainer.find(".news-portal-search-results-wrap").remove();
270					searchFormContainer.removeClass('results-loaded');
271				}
272			});
273		}
274	}
275
276	$(document).mouseup(function(e) {
277		var container = $(".np-header-search-wrapper");
278		if (!container.is(e.target) && container.has(e.target).length === 0) {
279			container.find(".news-portal-search-results-wrap").remove();
280			container.removeClass('results-loaded');
281		}
282	});
283
284});
285
286/**
287 * Site mode switcher cookie
288 */
289document.addEventListener("DOMContentLoaded", function() {
290	var modeSwitcher = document.getElementById("mode-switcher");
291	var templateBodyClass = document.body;
292
293	if (!modeSwitcher) {
294		// If #mode-switcher does not exist, stop execution safely
295		return;
296	}
297
298	function setSiteMode(mode) {
299		localStorage.setItem("site-mode", mode);
300	}
301
302	function getSiteMode() {
303		return localStorage.getItem("site-mode");
304	}
305
306	var modeStored = getSiteMode();
307	if (modeStored) {
308		if (modeStored === "dark-mode") {
309			modeSwitcher.classList.remove("light-mode");
310			modeSwitcher.classList.add("dark-mode");
311			modeSwitcher.setAttribute("data-site-mode", "dark-mode");
312			templateBodyClass.classList.remove('site-mode--light');
313			templateBodyClass.classList.add('site-mode--dark');
314		} else {
315			modeSwitcher.classList.remove("dark-mode");
316			modeSwitcher.classList.add("light-mode");
317			modeSwitcher.setAttribute("data-site-mode", "light-mode");
318			templateBodyClass.classList.remove('site-mode--dark');
319			templateBodyClass.classList.add('site-mode--light');
320		}
321	}
322
323	modeSwitcher.addEventListener("click", function(e) {
324		e.preventDefault();
325		var currentMode = modeSwitcher.getAttribute("data-site-mode");
326
327		if (currentMode === "light-mode") {
328			setSiteMode("dark-mode");
329			modeSwitcher.classList.remove("light-mode");
330			modeSwitcher.classList.add("dark-mode");
331			modeSwitcher.setAttribute("data-site-mode", "dark-mode");
332			templateBodyClass.classList.remove('site-mode--light');
333			templateBodyClass.classList.add('site-mode--dark');
334		} else {
335			setSiteMode("light-mode");
336			modeSwitcher.classList.remove("dark-mode");
337			modeSwitcher.classList.add("light-mode");
338			modeSwitcher.setAttribute("data-site-mode", "light-mode");
339			templateBodyClass.classList.remove('site-mode--dark');
340			templateBodyClass.classList.add('site-mode--light');
341		}
342	});
343});

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.