PageSourceSearch

https://driveguard.ch/wp-content/plugins/luxride-addons/includes/Extensions/ajax/js/main.js?ver=1.0

js driveguard.ch collected 2026-10-06 22:52:02 UTC 3,133 bytes, 75 lines download raw bytes

1(function($) {
2    "use strict";
3    $(document).ready(function() {
4        var form = $('form[name="post-search"]'), // Changed form name
5            searchCache = {},
6            debounceTimeout = null;
7
8        function debounce(func, wait) {
9            return function(...args) {
10                clearTimeout(debounceTimeout);
11                debounceTimeout = setTimeout(() => func.apply(this, args), wait);
12            };
13        }
14
15        form.each(function() {
16            var currentForm = $(this);
17            var search = currentForm.find('.search');
18            var resultsContainer = currentForm.next('.luxride_search-results');
19            var currentQuery = '';
20
21            search.on('input', debounce(function() {
22                var query = $(this).val();
23                searchPostsPages(currentForm, resultsContainer, query, currentQuery); // Pass specific form and results container
24            }, 300));
25        });
26
27        function searchPostsPages(form, resultsContainer, query, currentQuery) {
28            resultsContainer.html('').removeClass('active');
29            query = query.trim();
30            if (query.length >= 3) {
31                resultsContainer.removeClass('empty');
32                form.find('.search').addClass('loading');
33                if (query != currentQuery) {
34                    if (searchCache[query]) {
35                        displayResults(searchCache[query], resultsContainer);
36                    } else {
37                        $.ajax({
38                            url: opt.ajaxUrl,
39                            type: 'post',
40                            data: {
41                                action: 'search_all_posts_pages', // Adjusted action for searching all posts and pages
42                                keyword: query
43                            },
44                            success: function(data) {
45                                currentQuery = query;
46                                searchCache[query] = data;
47                                displayResults(data, resultsContainer);
48                            }
49                        });
50                    }
51                }
52            } else {
53                form.find('.search').removeClass('loading');
54                resultsContainer.empty().removeClass('active').addClass('empty');
55            }
56        }
57
58        function displayResults(data, resultsContainer) {
59            resultsContainer.prev('.search').removeClass('loading');
60            if (!resultsContainer.hasClass('empty')) {
61                if (data.length) {
62                    resultsContainer.html('<div class="search_inner_box">' + data + '</div>').addClass('active success');
63                } else {
64                    resultsContainer.html(opt.noResults).addClass('active');
65                }
66            }
67        }
68
69        $(document).on('click', function(e) {
70            if (!$(e.target).closest('.box-header-search').length) {
71                $('.luxride_search-results').removeClass('active');
72            }
73        });
74    });
75})(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.