PageSourceSearch

https://sobanhang.com/wp-content/plugins/advanced-accordion-block/lib/js/group-accordion.js?ver=4.5.0

js sobanhang.com collected 2026-10-01 10:27:51 UTC 14,996 bytes, 426 lines download raw bytes

1/* eslint-disable no-undef */
2(function ($) {
3	// Accordion
4	const groupAccordions = $('.wp-block-aab-group-accordion.click');
5	groupAccordions.each(function () {
6		// accordion head
7		const accordionHeads = $(this).find('.aagb__accordion_head');
8		const accordionContents = $(this).find('.aagb__accordion_body');
9		const accordionIcons = $(this).find('.aagb__icon');
10
11		// active accordion
12		const activeAccordion = $(this).find('.aagb__accordion_body--show');
13		// all accordions
14		const accordions = $(this).find('.wp-block-aab-accordion-item');
15
16		// show active accrodion on load
17		if (activeAccordion.length) {
18			activeAccordion.slideDown();
19		}
20
21		// each btn click
22		accordionHeads.each(function () {
23			// click event
24			$(this).click(function () {
25				// get parent
26				const parent = $(this).parent();
27				// get panel
28				const panel = parent.children('.aagb__accordion_body');
29				// icon
30				const $icon = $(this).find('.aagb__icon');
31
32				if (panel.hasClass('aagb__accordion_body--show')) {
33					// active class to parent
34					parent.removeClass('aagb__accordion_active');
35					panel.removeClass('aagb__accordion_body--show');
36					panel.slideUp();
37					// icons
38					if ($icon.hasClass('dashicons-plus-alt2')) {
39						$icon.removeClass('dashicons-plus-alt2');
40						$icon.addClass('dashicons-minus');
41					} else if ($icon.hasClass('dashicons-minus')) {
42						$icon.removeClass('dashicons-minus');
43						$icon.addClass('dashicons-plus-alt2');
44					} else if ($icon.hasClass('dashicons-arrow-down-alt2')) {
45						$icon.removeClass('dashicons-arrow-down-alt2');
46						$icon.addClass('dashicons-arrow-up-alt2');
47					} else if ($icon.hasClass('dashicons-arrow-up-alt2')) {
48						$icon.removeClass('dashicons-arrow-up-alt2');
49						$icon.addClass('dashicons-arrow-down-alt2');
50					} else if ($icon.hasClass('dashicons-arrow-down')) {
51						$icon.removeClass('dashicons-arrow-down');
52						$icon.addClass('dashicons-arrow-up');
53					} else if ($icon.hasClass('dashicons-arrow-up')) {
54						$icon.removeClass('dashicons-arrow-up');
55						$icon.addClass('dashicons-arrow-down');
56					} else if ($icon.hasClass('dashicons-plus-alt')) {
57						$icon.removeClass('dashicons-plus-alt');
58						$icon.addClass('dashicons-dismiss');
59					} else if ($icon.hasClass('dashicons-dismiss')) {
60						$icon.removeClass('dashicons-dismiss');
61						$icon.addClass('dashicons-plus-alt');
62					} else if ($icon.hasClass('dashicons-insert')) {
63						$icon.removeClass('dashicons-insert');
64						$icon.addClass('dashicons-remove');
65					} else if ($icon.hasClass('dashicons-remove')) {
66						$icon.removeClass('dashicons-remove');
67						$icon.addClass('dashicons-insert');
68					}
69				} else {
70					accordionContents.each(function () {
71						if ($(this).hasClass('aagb__accordion_body--show')) {
72							$(this).removeClass('aagb__accordion_body--show');
73							$(this).slideUp();
74						}
75					});
76
77					// accordions
78					accordions.each(function () {
79						if ($(this).hasClass('aagb__accordion_active')) {
80							$(this).removeClass('aagb__accordion_active');
81						}
82					});
83
84					// icons
85					accordionIcons.each(function () {
86						if ($(this).hasClass('dashicons-minus')) {
87							$(this).removeClass('dashicons-minus');
88							$(this).addClass('dashicons-plus-alt2');
89						} else if ($(this).hasClass('dashicons-arrow-up')) {
90							$(this).removeClass('dashicons-arrow-up');
91							$(this).addClass('dashicons-arrow-down');
92						} else if (
93							$(this).hasClass('dashicons-arrow-up-alt2')
94						) {
95							$(this).removeClass('dashicons-arrow-up-alt2');
96							$(this).addClass('dashicons-arrow-down-alt2');
97						} else if ($(this).hasClass('dashicons-dismiss')) {
98							$(this).removeClass('dashicons-dismiss');
99							$(this).addClass('dashicons-plus-alt');
100						} else if ($(this).hasClass('dashicons-remove')) {
101							$(this).removeClass('dashicons-remove');
102							$(this).addClass('dashicons-insert');
103						}
104					});
105					parent.addClass('aagb__accordion_active');
106					panel.addClass('aagb__accordion_body--show');
107					panel.slideDown();
108					// icons
109					if ($icon.hasClass('dashicons-plus-alt2')) {
110						$icon.removeClass('dashicons-plus-alt2');
111						$icon.addClass('dashicons-minus');
112					} else if ($icon.hasClass('dashicons-minus')) {
113						$icon.removeClass('dashicons-minus');
114						$icon.addClass('dashicons-plus-alt2');
115					} else if ($icon.hasClass('dashicons-arrow-down-alt2')) {
116						$icon.removeClass('dashicons-arrow-down-alt2');
117						$icon.addClass('dashicons-arrow-up-alt2');
118					} else if ($icon.hasClass('dashicons-arrow-up-alt2')) {
119						$icon.removeClass('dashicons-arrow-up-alt2');
120						$icon.addClass('dashicons-arrow-down-alt2');
121					} else if ($icon.hasClass('dashicons-arrow-down')) {
122						$icon.removeClass('dashicons-arrow-down');
123						$icon.addClass('dashicons-arrow-up');
124					} else if ($icon.hasClass('dashicons-arrow-up')) {
125						$icon.removeClass('dashicons-arrow-up');
126						$icon.addClass('dashicons-arrow-down');
127					} else if ($icon.hasClass('dashicons-plus-alt')) {
128						$icon.removeClass('dashicons-plus-alt');
129						$icon.addClass('dashicons-dismiss');
130					} else if ($icon.hasClass('dashicons-dismiss')) {
131						$icon.removeClass('dashicons-dismiss');
132						$icon.addClass('dashicons-plus-alt');
133					} else if ($icon.hasClass('dashicons-insert')) {
134						$icon.removeClass('dashicons-insert');
135						$icon.addClass('dashicons-remove');
136					} else if ($icon.hasClass('dashicons-remove')) {
137						$icon.removeClass('dashicons-remove');
138						$icon.addClass('dashicons-insert');
139					}
140				}
141			});
142		});
143	});
144
145	// hover function js
146	if ($('.wp-block-aab-group-accordion.hover').length) {
147		const groupAccordions = $('.wp-block-aab-group-accordion.hover');
148		groupAccordions.each(function () {
149			// accordion head
150
151			const accordionHead = $(this).find('.aagb__accordion_container');
152			const accordionContents = $(this).find('.aagb__accordion_body');
153			const accordionIcons = $(this).find('.aagb__icon');
154
155			// active accordion
156			const activeAccordion = $(this).find('.aagb__accordion_body--show');
157			// all accordions
158			const accordions = $(this).find('.wp-block-aab-accordion-item');
159
160			// show active accrodion on load
161			if (activeAccordion.length) {
162				activeAccordion.slideDown();
163			}
164
165			// each btn click
166			accordionHead.each(function () {
167				// click event
168				$(this).hover(function () {
169					// get parent
170					const parent = $(this);
171					// get panel
172					const panel = parent.children('.aagb__accordion_body');
173					// icon
174					const $icon = $(this).find('.aagb__icon');
175
176					if (panel.hasClass('aagb__accordion_body--show')) {
177						// active class to parent
178						parent.removeClass('aagb__accordion_active');
179						panel.removeClass('aagb__accordion_body--show');
180						panel.slideUp();
181						// icons
182						if ($icon.hasClass('dashicons-plus-alt2')) {
183							$icon.removeClass('dashicons-plus-alt2');
184							$icon.addClass('dashicons-minus');
185						} else if ($icon.hasClass('dashicons-minus')) {
186							$icon.removeClass('dashicons-minus');
187							$icon.addClass('dashicons-plus-alt2');
188						} else if (
189							$icon.hasClass('dashicons-arrow-down-alt2')
190						) {
191							$icon.removeClass('dashicons-arrow-down-alt2');
192							$icon.addClass('dashicons-arrow-up-alt2');
193						} else if ($icon.hasClass('dashicons-arrow-up-alt2')) {
194							$icon.removeClass('dashicons-arrow-up-alt2');
195							$icon.addClass('dashicons-arrow-down-alt2');
196						} else if ($icon.hasClass('dashicons-arrow-down')) {
197							$icon.removeClass('dashicons-arrow-down');
198							$icon.addClass('dashicons-arrow-up');
199						} else if ($icon.hasClass('dashicons-arrow-up')) {
200							$icon.removeClass('dashicons-arrow-up');
201							$icon.addClass('dashicons-arrow-down');
202						} else if ($icon.hasClass('dashicons-plus-alt')) {
203							$icon.removeClass('dashicons-plus-alt');
204							$icon.addClass('dashicons-dismiss');
205						} else if ($icon.hasClass('dashicons-dismiss')) {
206							$icon.removeClass('dashicons-dismiss');
207							$icon.addClass('dashicons-plus-alt');
208						} else if ($icon.hasClass('dashicons-insert')) {
209							$icon.removeClass('dashicons-insert');
210							$icon.addClass('dashicons-remove');
211						} else if ($icon.hasClass('dashicons-remove')) {
212							$icon.removeClass('dashicons-remove');
213							$icon.addClass('dashicons-insert');
214						}
215					} else {
216						accordionContents.each(function () {
217							if (
218								$(this).hasClass('aagb__accordion_body--show')
219							) {
220								$(this).removeClass(
221									'aagb__accordion_body--show'
222								);
223								$(this).slideUp();
224							}
225						});
226
227						// accordions
228						accordions.each(function () {
229							if ($(this).hasClass('aagb__accordion_active')) {
230								$(this).removeClass('aagb__accordion_active');
231							}
232						});
233
234						// icons
235						accordionIcons.each(function () {
236							if ($(this).hasClass('dashicons-minus')) {
237								$(this).removeClass('dashicons-minus');
238								$(this).addClass('dashicons-plus-alt2');
239							} else if ($(this).hasClass('dashicons-arrow-up')) {
240								$(this).removeClass('dashicons-arrow-up');
241								$(this).addClass('dashicons-arrow-down');
242							} else if (
243								$(this).hasClass('dashicons-arrow-up-alt2')
244							) {
245								$(this).removeClass('dashicons-arrow-up-alt2');
246								$(this).addClass('dashicons-arrow-down-alt2');
247							} else if ($(this).hasClass('dashicons-dismiss')) {
248								$(this).removeClass('dashicons-dismiss');
249								$(this).addClass('dashicons-plus-alt');
250							} else if ($(this).hasClass('dashicons-remove')) {
251								$(this).removeClass('dashicons-remove');
252								$(this).addClass('dashicons-insert');
253							}
254						});
255						parent.addClass('aagb__accordion_active');
256						panel.addClass('aagb__accordion_body--show');
257						panel.slideDown();
258						// icons
259						if ($icon.hasClass('dashicons-plus-alt2')) {
260							$icon.removeClass('dashicons-plus-alt2');
261							$icon.addClass('dashicons-minus');
262						} else if ($icon.hasClass('dashicons-minus')) {
263							$icon.removeClass('dashicons-minus');
264							$icon.addClass('dashicons-plus-alt2');
265						} else if (
266							$icon.hasClass('dashicons-arrow-down-alt2')
267						) {
268							$icon.removeClass('dashicons-arrow-down-alt2');
269							$icon.addClass('dashicons-arrow-up-alt2');
270						} else if ($icon.hasClass('dashicons-arrow-up-alt2')) {
271							$icon.removeClass('dashicons-arrow-up-alt2');
272							$icon.addClass('dashicons-arrow-down-alt2');
273						} else if ($icon.hasClass('dashicons-arrow-down')) {
274							$icon.removeClass('dashicons-arrow-down');
275							$icon.addClass('dashicons-arrow-up');
276						} else if ($icon.hasClass('dashicons-arrow-up')) {
277							$icon.removeClass('dashicons-arrow-up');
278							$icon.addClass('dashicons-arrow-down');
279						} else if ($icon.hasClass('dashicons-plus-alt')) {
280							$icon.removeClass('dashicons-plus-alt');
281							$icon.addClass('dashicons-dismiss');
282						} else if ($icon.hasClass('dashicons-dismiss')) {
283							$icon.removeClass('dashicons-dismiss');
284							$icon.addClass('dashicons-plus-alt');
285						} else if ($icon.hasClass('dashicons-insert')) {
286							$icon.removeClass('dashicons-insert');
287							$icon.addClass('dashicons-remove');
288						} else if ($icon.hasClass('dashicons-remove')) {
289							$icon.removeClass('dashicons-remove');
290							$icon.addClass('dashicons-insert');
291						}
292					}
293				});
294			});
295		});
296	}
297
298	// accordion autoplay js
299	$(document).ready(function () {
300		var $item = 0,
301			$itemNo = $('.wp-block-aab-group-accordion.autoplay .panel').length;
302
303		function transitionSlide() {
304			$item++;
305			if ($item >= $itemNo) {
306				$item = 0;
307			}
308
309			// Reset all panels to initial state
310			$('.wp-block-aab-group-accordion.autoplay .panel')
311				.removeClass('aagb__accordion_active')
312				.find('.aagb__accordion_body')
313				.removeClass('aagb__accordion_body--show')
314				.slideUp();
315
316			// Activate the current panel
317			var $currentPanel = $(
318				'.wp-block-aab-group-accordion.autoplay .panel'
319			).eq($item);
320			$currentPanel.addClass('aagb__accordion_active');
321			$currentPanel
322				.find('.aagb__accordion_body')
323				.addClass('aagb__accordion_body--show')
324				.slideDown();
325
326			// Toggle icon classes based on panel state
327			$('.aagb__icon')
328				.removeClass('dashicons-minus')
329				.addClass('dashicons-plus-alt2');
330			if ($currentPanel.hasClass('aagb__accordion_active')) {
331				$currentPanel
332					.find('.aagb__icon')
333					.removeClass('dashicons-plus-alt2')
334					.addClass('dashicons-minus');
335			}
336		}
337
338		var $autoTransition = setInterval(transitionSlide, 2000);
339
340		$('.wp-block-aab-group-accordion.autoplay .panel').click(function () {
341			clearInterval($autoTransition);
342			$item = $(this).index();
343			$('.wp-block-aab-group-accordion.autoplay .panel').removeClass(
344				'aagb__accordion_active'
345			);
346			$(this).addClass('aagb__accordion_active');
347			$('.aagb__accordion_body')
348				.removeClass('aagb__accordion_body--show')
349				.slideUp();
350			$(this)
351				.find('.aagb__accordion_body')
352				.addClass('aagb__accordion_body--show')
353				.slideDown();
354			$autoTransition = setInterval(transitionSlide, 3500);
355		});
356	});
357
358	// accordion autoplay js
359
360	$('.content-accordion__show-all').on('click', function (e) {
361		e.preventDefault();
362		$('.aagb__accordion_body')
363			.addClass('aagb__accordion_body--show')
364			.slideDown();
365		$('.aagb__icon')
366			.removeClass('dashicons-plus-alt2')
367			.addClass('dashicons-minus');
368		$('.panel').addClass('aagb__accordion_active');
369	});
370	$('.content-accordion__close-all').on('click', function (e) {
371		e.preventDefault();
372		$('.aagb__accordion_body')
373			.removeClass('aagb__accordion_body--show')
374			.slideUp();
375		$('.aagb__icon')
376			.removeClass('dashicons-minus')
377			.addClass('dashicons-plus-alt2');
378		$('.panel').removeClass('aagb__accordion_active');
379	});
380
381	$('.noEnterSubmit').keypress(function (e) {
382		if (e.which == 13) e.preventDefault();
383	});
384
385	var $form = $('#aagb-search-form');
386	var $helpBlock = $('#aagb-search-help-block');
387
388	//Watch for user typing to refresh the filter
389	$('#aagb-search-id').keyup(function () {
390		var filter = $(this).val();
391		$form.removeClass('has-success has-error');
392
393		if (filter == '') {
394			$helpBlock.text('Nothing found');
395			$('.searchable .panel').show();
396		} else {
397			//Close any open panels
398			$('.collapse.in').removeClass('in');
399
400			//Hide questions, will show result later
401			$('.searchable .panel').hide();
402
403			var regex = new RegExp(filter, 'i');
404
405			var filterResult = $('.searchable .panel').filter(function () {
406				return regex.test($(this).text());
407			});
408
409			if (filterResult) {
410				if (filterResult.length != 0) {
411					$form.addClass('has-success');
412					$helpBlock.text(
413						filterResult.length + ' question(s) found.'
414					);
415					filterResult.show();
416				} else {
417					$form.addClass('has-error').removeClass('has-success');
418					$helpBlock.text('No questions found.');
419				}
420			} else {
421				$form.addClass('has-error').removeClass('has-success');
422				$helpBlock.text('No questions found.');
423			}
424		}
425	});
426})(jQuery);

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.