PageSourceSearch

https://www.zbb.ch/_assets/feb1d86054ab2e718cccf9db6ed46074/Javascripts/search-loadmore.js?1782301574

js zbb.ch collected 2026-09-27 21:50:43 UTC 1,489 bytes, 46 lines download raw bytes

1jQuery(function ($) {
2	var $button = $('.search-loadmore');
3	if (!$button.length) return;
4
5	var $form = $('#tx_indexedsearch');
6	var $pointer = $form.find('#tx_indexedsearch_pointer');
7	var $resultsList = $('.search-results-list');
8	if (!$form.length || !$pointer.length || !$resultsList.length) return;
9
10	$button.on('click', function (e) {
11		e.preventDefault();
12		if ($button.prop('disabled')) return;
13
14		var currentPointer = parseInt($button.data('current-pointer'), 10) || 0;
15		var perPage = parseInt($button.data('results-per-page'), 10) || 10;
16		var total = parseInt($button.data('total-count'), 10) || 0;
17		var nextPointer = currentPointer + 1;
18
19		$pointer.val(nextPointer);
20		$button.prop('disabled', true).addClass('loading');
21
22		$.ajax({
23			url: $form.attr('action') || window.location.href,
24			method: ($form.attr('method') || 'post').toUpperCase(),
25			data: $form.serialize(),
26			dataType: 'html'
27		}).done(function (html) {
28			var $doc = $('<div>').append($.parseHTML(html));
29			var $newRows = $doc.find('.search-results-list').children();
30			if ($newRows.length) {
31				$resultsList.append($newRows);
32			}
33
34			var shown = (nextPointer + 1) * perPage;
35			if (shown >= total || !$newRows.length) {
36				$button.closest('.search-loadmore-wrapper').remove();
37			} else {
38				$button.data('current-pointer', nextPointer)
39					.prop('disabled', false)
40					.removeClass('loading');
41			}
42		}).fail(function () {
43			$button.prop('disabled', false).removeClass('loading');
44		});
45	});
46});

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.