PageSourceSearch

https://tvrelectrical.co.uk/app/themes/generatepress-child/blocks/post-archive/post-archive.js?ver=7.1

js tvrelectrical.co.uk collected 2026-10-05 18:49:46 UTC 1,963 bytes, 54 lines download raw bytes

1document.addEventListener('DOMContentLoaded', function() {
2    if(!document.getElementById('tvr-post-container')) {
3        return;
4    } 
5    var page = 2; // Starting page number
6    var loading = false; // To prevent multiple AJAX requests
7    var loadMoreButton = document.getElementById('tvr-load-more');
8    var postContainer = document.getElementById('tvr-post-container');
9    var maxPages = parseInt(postContainer.dataset.postMaxPages);
10
11    if (page > maxPages) {
12        loadMoreButton.style.display = 'none';
13    }
14
15    loadMoreButton.addEventListener('click', function() {
16        if (loading) return;
17        loading = true;
18        loadMoreButton.classList.toggle('loading');
19
20        var formData = new FormData();
21        formData.append('action', 'load_more_posts');
22        formData.append('page', page);
23        formData.append('post_per_page', postContainer.dataset.postPerPage);
24        formData.append('post_type', postContainer.dataset.postTypeArchive); // Can be changed to any post type
25
26        fetch('/wp/wp-admin/admin-ajax.php', {
27            method: 'POST',
28            body: formData
29        })
30        .then(response => response.text())
31        .then(data => {
32            if (data) {
33                var tempDiv = document.createElement('div');
34                tempDiv.innerHTML = data;
35                while (tempDiv.firstChild) {
36                    postContainer.appendChild(tempDiv.firstChild);
37                }
38                page++;
39                loading = false;
40                loadMoreButton.classList.toggle('loading');
41                if (page > maxPages) {
42                    loadMoreButton.style.display = 'none';
43                }
44            } else {
45                loadMoreButton.style.display = 'none';
46            }
47        })
48        .catch(error => {
49            console.error('Error:', error);
50            loading = false;
51            loadMoreButton.classList.toggle('loading');
52        });
53    });
54});

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.