PageSourceSearch

https://kcconvention.com/wp-content/themes/kcconvention/js/post-filters/kc-venue.js

js kcconvention.com collected 2026-10-03 21:06:23 UTC 4,095 bytes, 121 lines download raw bytes

1(function ($) {
2    $( document ).ready( function( $ ) {
3         /**********************************************************************
4         /
5         /         BINDINGS
6         /
7         **********************************************************************/
8        //click event types filtering
9        $('.event-type-select').click(function(event){
10            if($(event.target).hasClass("jq-event-box"))
11            {
12                show_or_hide_filters();
13            }
14        });
15
16        //close filters when clicked outside
17        $("body").click(function(event){
18            // close venue filtering if clicked anywhere outside of event filtering dropdown
19            if(!$(event.target).hasClass("event-type-select", "jq-event-box") &&
20                !$(event.target).parent().hasClass("event-type-select", "jq-event-box") &&
21                !$(".event-type-select.jq-event-box").hasClass("filter-closed") &&
22                !$(event.target).parents("div").hasClass("venues-filtering")
23            )
24            {
25                show_or_hide_filters();
26            }
27        });
28
29        //reset filters
30        $('#venue-reset-filters').click(function(){
31            venue_reset_filters();
32        });
33
34
35        // filter dropdown input selected
36        $(".event-types-list li").click(function(){
37            updateFilterTitleText();
38        });
39
40        /**********************************************************************
41         /
42         /         AJAX FILTERING
43         /
44         **********************************************************************/
45        $( '#view-venue-results' ).click( function( event ) {
46            $( ".spinner" ).show();
47            $('.event-types').addClass('hide');
48            $('#event-type-select').addClass('filter-closed');
49            //updateFilterTitleText();
50
51            var values = $('input:checkbox:checked').map(function () {
52                return this.value;
53            }).get();
54
55            values = values.toString();
56
57            $.ajax({
58                type: 'GET',
59                url: dv.ajaxurl,
60                data: {
61                    action: 'display_venues_filter',
62                    event_categories: values,
63                },
64            }).done( function( msg ) {
65                $('.spinner').hide();
66                $('#display-venue-results').html( msg );
67            });
68        });
69
70    });
71
72    /**********************************************************************
73     /
74     /         FUNCTIONS
75     /
76     **********************************************************************/
77
78    function show_or_hide_filters() {
79        if( $('#event-type-select').hasClass('filter-closed') ){
80            $('.event-types').removeClass('hide');
81            $('#event-type-select').removeClass('filter-closed');
82        }
83        else{
84            $('.event-types').addClass('hide');
85            $('#event-type-select').addClass('filter-closed');
86        }
87    }
88
89    function updateFilterTitleText(){
90        var changeFilterText = "";
91        $(".event-types-list li input:checked").each(function(index) {
92            if(index !== 0)
93                changeFilterText = changeFilterText + ", ";
94            changeFilterText = changeFilterText + $(this).next("label").text();
95        })
96
97        if(changeFilterText === ""){changeFilterText = "Event Type";}
98        $("#event-type-select .ml-15.jq-event-box").text(changeFilterText);
99    };
100
101    function venue_reset_filters() {
102        $( ".spinner" ).show();
103        $('input:checkbox').removeAttr('checked');
104        $('.event-types').addClass('hide');
105        $('#event-type-select').addClass('filter-closed');
106
107        $.ajax({
108            type: 'GET',
109            url: dv.ajaxurl,
110            data: {
111                action: 'display_venues_filter',
112                event_categories: 'all',
113            },
114        }).done( function( msg ) {
115            $('.spinner').hide();
116            $('#display-venue-results').html( msg );
117        });
118
119        $("#event-type-select .ml-15.jq-event-box").text("Event Type");
120    }
121})(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.