PageSourceSearch

https://solisworld.com/wp-content/plugins/wp-event-manager/assets/js/event-ajax-filters.min.js?ver=3.2.2

js solisworld.com collected 2026-10-04 07:03:15 UTC 27,735 bytes, 508 lines download raw bytes

1var EventAjaxFilters = function() {
2    var supportHtml5History;
3    var xmlHttpRequest = [];
4    return {
5        init: function() {
6            Common.logInfo("EventAjaxFilters.init...");
7            jQuery('#search_fromdate, #search_todate').each(function() {
8                var dateFormat = jQuery(this).attr('data-date-format') || 'mm/dd/yy';
9        
10                jQuery(this).datepicker({
11                    dateFormat: dateFormat.replace('yy', 'yy').replace('mm', 'mm').replace('dd', 'dd'),
12                    changeMonth: true,
13                    changeYear: true
14                });
15            });
16            // After deactivate calendar addon load box layout as default 
17            if(localStorage.getItem("layout")==="calendar-layout" ){
18				jQuery('.event_listings').on('update_event_listings', EventAjaxFilters.actions.getEventListings);
19				jQuery("#wpem-event-box-layout").addClass("wpem-active-layout");
20				localStorage.setItem("layout", "box-layout"); 
21			}
22
23            jQuery("#wpem-event-filter-version-2-filter-action").click(function(){
24                jQuery("#wpem-event-filter-version-2-dropdown").toggle();
25            });
26
27            if (jQuery(".showing_applied_filters").hasClass("showing-applied-filters")) {
28                jQuery(".showing_applied_filters").show();
29            }else{
30                jQuery(".showing_applied_filters").hide();
31            }
32
33            //set datepicker default range 
34            var form = jQuery(this).closest('form');
35            form.find(':input[name^="search_datetimes"]').not(':input[type="hidden"]').val(0).trigger('chosen:updated');
36
37            //more filters
38             if (jQuery('.wpem-search-event-more-filter').length > 0) {
39                //hide advance filter
40                jQuery('.wpem-event-advance-filter').hide();
41                jQuery('.wpem-search-event-more-filter').on('click',function(){
42                    jQuery('.wpem-event-advance-filter').slideToggle( "slow");
43                })
44             }
45             
46            if (jQuery.isFunction(jQuery.fn.chosen)) {
47                if (event_manager_ajax_filters.is_rtl == 1) {
48                    jQuery('select[name^="search_datetimes"]').addClass('chosen-rtl');
49                    jQuery('select[name^="search_categories"]').addClass('chosen-rtl');
50                    jQuery('select[name^="search_event_types"]').addClass('chosen-rtl');
51                    jQuery('select[name^="search_ticket_prices"]').addClass('chosen-rtl')
52                }
53                jQuery('select[name^="search_datetimes"]').chosen({
54                    search_contains: true
55                });
56                jQuery('select[name^="search_categories"]').chosen({
57                    search_contains: true
58                });
59                jQuery('select[name^="search_event_types"]').chosen({
60                    search_contains: true
61                });
62                jQuery('select[name^="search_ticket_prices"]').chosen({
63                    search_contains: true
64                })
65            }
66            if (window.history && window.history.pushState) {
67                supportHtml5History = true
68            } else {
69                supportHtml5History = false
70            }
71            jQuery(document).ready(EventAjaxFilters.actions.windowLoad);
72
73            jQuery(document.body).on('click', '.load_more_upcoming_events', EventAjaxFilters.actions.loadMoreUpcomingEvents);
74            jQuery(document.body).on('click', '.load_more_events', EventAjaxFilters.actions.loadMoreEvents);
75            jQuery('#event_filters').on('click', '.reset', EventAjaxFilters.actions.eventAjaxFiltersReset); 
76            jQuery('div.event_listings_main').on('click', '.event-manager-pagination a', EventAjaxFilters.actions.eventPagination);
77            jQuery('.event_listings').on('update_event_listings', EventAjaxFilters.actions.getEventListings);
78            if (jQuery('.event_listings_upcoming').length > 0) {
79                jQuery('#search_keywords, #search_location, #search_datetimes, #search_categories, #search_event_types, #search_ticket_prices, .event-manager-filter').change(EventAjaxFilters.actions.getUpcomingEvents);
80            } else {
81                jQuery('#search_keywords, #search_location, #search_datetimes, #search_categories, #search_event_types, #search_ticket_prices, .event-manager-filter').change(function() {
82                    var target = jQuery(this).closest('div.event_listings');
83                    target.triggerHandler('update_event_listings', [1, false]);
84                    EventAjaxFilters.actions.event_manager_store_state(target, 1)
85                }).on("change", function(e) {
86                    EventAjaxFilters.actions.getEventListings(e);
87                    if (e.which === 13) {
88                        jQuery(this).trigger('change')
89                    }
90                });
91            }
92            jQuery('.wpem-event-filter-version-2-search-btn').change(function() {
93                var target = jQuery(this).closest('div.event_listings');
94                target.triggerHandler('update_event_listings', [1, false]);
95                EventAjaxFilters.actions.event_manager_store_state(target, 1)
96            }).on("click", function(e) {
97                jQuery("#wpem-event-filter-version-2-dropdown").toggle(false);
98                EventAjaxFilters.actions.getEventListings(e);
99                if (e.which === 13) {
100                    jQuery(this).trigger('change')
101                }
102            });
103            
104        },
105        
106        actions: {
107            event_manager_store_state: function(target, page) {
108           
109                Common.logInfo("EventAjaxFilters.event_manager_store_state...");
110                var location = document.location.href.split('#')[0];
111                var url = document.location.href;
112                if (url.match(/\/page\/\d+/)) {
113                    url = url.replace(/(\/page\/)\d+/, '/page/' + page);
114                    }else{
115                    if (url.endsWith('/')) {
116                        url += 'page/' + page;
117                    }else{
118                        url += '/page/' + page;
119                    }
120                }
121               
122                if (supportHtml5History) {
123                    var form = target.find('.event_filters');
124                    var data = jQuery(form).serialize();
125                    var index = jQuery('div.event_listings').index(target);
126                    window.history.replaceState({
127                        id: 'event_manager_state',
128                        page: page,
129                        data: data,
130                        index: index
131                    }, '',location)
132                }
133            },
134            windowLoad: function(event) {
135                Common.logInfo("EventAjaxFilters.actions.windowLoad...");
136                jQuery('.event_filters').each(function() {
137                    var target = jQuery(this).closest('div.event_listings');
138                    var form = target.find('.event_filters');
139                    var inital_page = 1;
140                    var index = jQuery('div.event_listings').index(target);
141                    if (window.history.state && window.location.hash) {
142                        var state = window.history.state;
143                        if (state.id && 'event_manager_state' === state.id && index == state.index) {
144                           //set initial_page with 1 on page refresh
145                            inital_page = 1;
146                            form.deserialize(state.data);
147                            form.find(':input[name^="search_datetimes"]').not(':input[type="hidden"]').trigger('chosen:updated');
148                            form.find(':input[name^="search_categories"]').not(':input[type="hidden"]').trigger('chosen:updated');
149                            form.find(':input[name^="search_event_types"]').not(':input[type="hidden"]').trigger('chosen:updated');
150                            form.find(':input[name^="search_ticket_prices"]').not(':input[type="hidden"]').trigger('chosen:updated')
151                        }
152                    }
153                    target.triggerHandler('update_event_listings', [inital_page, false])
154                });
155            },
156            eventAjaxFiltersReset: function(event) {
157                Common.logInfo("EventAjaxFilters.actions.eventAjaxFiltersReset...");
158                
159                var target = jQuery(this).closest('div.event_listings');
160                var form = jQuery(this).closest('form');
161                form.find(':input[name="search_keywords"], :input[name="search_location"], .event-manager-filter').not(':input[type="hidden"]').val('').trigger('chosen:updated');
162                form.find(':input[name^="search_fromdate"]').not(':input[type="hidden"]').val('').trigger('chosen:updated');
163                form.find(':input[name^="search_todate"]').not(':input[type="hidden"]').val('').trigger('chosen:updated');
164                form.find(':input[name^="search_datetimes"]').not(':input[type="hidden"]').val('').trigger('chosen:updated');
165                form.find(':input[name^="search_categories"]').not(':input[type="hidden"]').val('').trigger('chosen:updated');
166                form.find(':input[name^="search_event_types"]').not(':input[type="hidden"]').val(0).trigger('chosen:updated');
167                form.find(':input[name^="search_ticket_prices"]').not(':input[type="hidden"]').val(0).trigger('chosen:updated');
168                target.triggerHandler('reset');
169                target.triggerHandler('update_event_listings', [1, false]);
170                jQuery('.event_listings').on('update_event_listings', EventAjaxFilters.actions.getEventListings);
171                EventAjaxFilters.actions.event_manager_store_state(target, 1);
172                return false;
173                event.preventDefault()
174            },
175            loadMoreEvents: function(event) {
176                //Common.logInfo("EventAjaxFilters.actions.loadMoreEvents...");
177                jQuery('.event_listings').on('update_event_listings', EventAjaxFilters.actions.getEventListings);
178                var target = jQuery(this).closest('div.event_listings');
179                var page = parseInt(jQuery(this).data('page') || 1);
180                var loading_previous = false;
181                jQuery(this).parent().addClass('wpem-loading');               
182                page = page + 1;
183                jQuery(this).data('page', page);
184                EventAjaxFilters.actions.event_manager_store_state(target, page);
185                target.triggerHandler('update_event_listings', [page, true, loading_previous]);
186                return false;
187                event.preventDefault()
188            },
189            eventPagination: function(event) {
190                Common.logInfo("EventAjaxFilters.actions.eventPagination...");
191                var target = jQuery(this).closest('div.event_listings');
192                var page = jQuery(this).data('page');
193                EventAjaxFilters.actions.event_manager_store_state(target, page);
194                EventAjaxFilters.actions.getEventListings(event, page, false, false);
195            },
196            getEventListings: function(event, page=1, append, loading_previous) {
197                event.preventDefault();
198                Common.logInfo("EventAjaxFilters.actions.getEventListings...");
199
200                jQuery('.load_more_events').hide();
201                var data = '';
202                var target = jQuery('.event_listings');
203                var form = target.find('.event_filters');
204                var filters_bar = target.find('.showing_applied_filters');
205                var results = target.find('.event_listings');
206                var per_page = target.data('per_page');
207                var orderby = target.data('orderby');
208                var order = target.data('order');
209                var featured = target.data('featured');
210                var cancelled = target.data('cancelled');
211                var event_online = target.data('event_online');
212                var index = jQuery('div.event_listings').index(this);
213               
214                if (xmlHttpRequest[index]) {
215                    xmlHttpRequest[index].abort()
216                }
217                if (!append) {
218                    
219                    jQuery(results).parent().addClass('wpem-loading');
220                    jQuery('div.event_listing, div.no_event_listings_found', results).css('visibility', 'hidden');         
221                    target.find('.load_more_events').data('page', page);
222                }
223
224                if (true == target.data('show_filters')) {
225                    var filter_event_type = [];
226
227                    if(form.find(':input[name^="search_datetimes"]').length > 0) {
228                        var datetimes = form.find(':input[name^="search_datetimes"]').map(function () {
229                            return jQuery(this).val()
230                        }).get();
231                    } else {
232                        var startDate = form.find('#search_fromdate').val();
233                        var endDate = form.find('#search_todate').val();
234
235                        var datetimes = (startDate || endDate) ? JSON.stringify({ start: startDate, end: endDate }) : '';
236                        var datetimes = datetimes ? { '': datetimes } : {};
237                    }
238
239                    if(jQuery( 'input.date_range_picker').length > 0) {
240                        jQuery( 'input.date_range_picker').daterangepicker();
241                    }
242                    var categories = form.find(':input[name^="search_categories"]').map(function() {
243                        return jQuery(this).val()
244                    }).get();
245                    var event_types = form.find(':input[name^="search_event_types"]').map(function() {
246                        return jQuery(this).val()
247                    }).get();
248                    var ticket_prices = form.find(':input[name^="search_ticket_prices"]').map(function() {
249                        return jQuery(this).val()
250                    }).get();
251                    var keywords = '';
252                    var location = '';
253                    var $keywords = form.find(':input[name="search_keywords"]');
254                    var $location = form.find(':input[name="search_location"]');
255                    if ($keywords.val() !== $keywords.attr('placeholder')) {
256                        keywords = $keywords.val()
257                    }
258                    if ($location.val() !== $location.attr('placeholder')) {
259                        location = $location.val()
260                    }
261
262                    if(jQuery( ':input[name="event_online"]').length > 0){
263                        if(jQuery(':input[name="event_online"]').prop("checked") == true) {
264                            var event_online = 'true';
265                        }else{
266                            var event_online = '';
267                        }
268                    }
269
270                    data = {
271                        lang: event_manager_ajax_filters.lang,
272                        search_keywords: keywords,
273                        search_location: location,
274                        search_datetimes: datetimes,
275                        search_categories: categories,
276                        search_event_types: event_types,
277                        search_ticket_prices: ticket_prices,
278                        per_page: per_page,
279                        orderby: orderby,
280                        order: order,
281                        page: page,
282                        featured: featured,
283                        cancelled: cancelled,
284                        event_online: event_online,
285                        show_pagination: target.data('show_pagination'),
286                        form_data: form.serialize()
287                    }
288                } else {
289                    
290                    var keywords = target.data('keywords');
291                    var location = target.data('location');
292                    if(form.find(':input[name^="search_datetimes"]').length > 0) {
293                        var datetimes = JSON.stringify(target.data('datetimes'));
294                    } else {
295
296                    }
297                    var categories = target.data('categories');
298                    var event_types = target.data('event_types');
299                    var ticket_prices = target.data('ticket_prices');
300                    if (categories) {
301                        categories = categories.split(',')
302                    }
303                    if (event_types) {
304                        event_types = event_types.split(',')
305                    }
306                    data = {
307                        lang: event_manager_ajax_filters.lang,
308                        search_keywords: keywords,
309                        search_location: location,
310                        search_datetimes: datetimes,
311                        search_categories: categories,
312                        search_event_types: event_types,
313                        search_ticket_prices: ticket_prices,
314                        per_page: per_page,
315                        orderby: orderby,
316                        order: order,
317                        page: page,
318                        featured: featured,
319                        cancelled: cancelled,
320                        event_online: event_online,
321                        show_pagination: target.data('show_pagination')
322                    }
323                }
324                xmlHttpRequest[index] = jQuery.ajax({
325                    type: 'POST',
326                    url: event_manager_ajax_filters.ajax_url.toString().replace("%%endpoint%%", "get_listings"),
327                    data: data,
328                    success: function(result) {
329                        if (result) {
330                            try {
331                                jQuery('.no_event_listings_found').remove();
332                                if (result.filter_value) {
333                                    jQuery(filters_bar).show().html('<span>' + result.filter_value + '</span>' + result.showing_links)
334                                } else {
335                                    jQuery(filters_bar).hide()
336                                }
337                                if (result.showing_applied_filters) {
338                                    jQuery(filters_bar).addClass('showing-applied-filters');
339                                } else {
340                                    jQuery(filters_bar).removeClass('showing-applied-filters');
341                                }
342                                if (result.html) {
343                                    if (append && loading_previous) {
344                                        jQuery(results).prepend(result.html);
345										if(jQuery('div.google-map-loadmore').length > 0) {
346											jQuery('div .google-map-loadmore').not('div.google-map-loadmore:first').remove();
347										}
348                                    } else if (append) { 
349									   jQuery(results).append(result.html);
350									    if(jQuery('div.google-map-loadmore').length > 0){
351											jQuery('div .google-map-loadmore').not('div.google-map-loadmore:first').remove();
352										}
353                                    } else {
354                                        jQuery(results).html(result.html);
355                                    }
356                                }
357                                if (true == target.data('show_pagination')) {
358                                  
359                                    if (result.pagination) {
360                                        jQuery('.event-manager-pagination').html(result.pagination)
361                                    }
362                                } else {
363                                    localStorage.setItem( 'total_event_page', result.max_num_pages);
364                                    localStorage.setItem( 'current_event_page', page);
365                                    if (!result.found_events || result.max_num_pages <= page) {
366                                        jQuery('.load_more_events:not(.load_previous)', target).hide()
367                                    } else if (!loading_previous) {
368                                        jQuery('.load_more_events', target).show()
369                                    }
370                                    jQuery('#load_more_events_loader').removeClass('wpem-loading');
371                                    jQuery('li.event_listing', results).css('visibility', 'visible')
372                                }
373                                jQuery(results).parent().removeClass('wpem-loading');
374                                target.triggerHandler('updated_results', result)
375                            } catch (err) {
376                                if (window.console) {
377                                    Common.logError(err)
378                                }
379                            }
380                        }
381                    },
382                    error: function(jqXHR, textStatus, error) {
383                        if (window.console && 'abort' !== textStatus) {
384                            Common.logError(textStatus + ': ' + error)
385                        }
386                    },
387                    statusCode: {
388                        404: function() {
389                            if (window.console) {
390                                Common.logError("Error 404: Ajax Endpoint cannot be reached. Go to Settings > Permalinks and save to resolve.")
391                            }
392                        }
393                    }
394                });
395                event.preventDefault();
396            },
397
398            /**
399             * this function is used to load more upcoming events
400             * @param {*} event 
401             */
402            loadMoreUpcomingEvents: function(event){
403                if(jQuery('#upcoming_event_listing').length > 0) {
404                    event.preventDefault();
405                    jQuery(this).parent().addClass('wpem-loading');
406                    var search_keywords = jQuery('#search_keywords').val();
407                    var search_location = jQuery('#search_location').val();
408                    var search_categories = jQuery('#search_categories').val();
409                    var search_event_types = jQuery('#search_event_types').val();
410                    var search_datetimes = jQuery('#search_datetimes').val();
411                    var order = jQuery('#upcoming_event_listing').data('order');
412                    var orderby = jQuery('#upcoming_event_listing').data('orderby');
413                    var currentPage = jQuery('.load_more_upcoming_events').attr('data-page');
414                    var per_page = jQuery('#per-page-settings').data('per-page');
415                    jQuery.ajax({
416                        type: 'POST',
417                        url: event_manager_ajax_filters.ajax_url.toString().replace("%%endpoint%%", "get_upcoming_listings"),
418                        data: {
419                            action: 'get_upcoming_listings',
420                            search_keywords: search_keywords,
421                            search_location: search_location,
422                            search_datetimes: search_datetimes,
423                            search_categories: search_categories,
424                            search_event_types: search_event_types,
425                            order: order,
426                            orderby: orderby,
427                            value: currentPage,
428                            per_page: per_page,
429                        },
430                        success: function(response) {
431                            jQuery('#load_more_events_loader').removeClass('wpem-loading');
432                            if (response.success) {
433                                jQuery('.event_listings').append(response.data.events_html);                            
434                                var nextPage = parseInt(currentPage) + 1;
435                                jQuery('#load_more_events').attr('data-page', nextPage);
436                                if (response.data.no_more_events===true) {
437                                    jQuery('#load_more_events').hide();
438                                }
439                            } else {
440                                console.error('Failed to load events:', response.data.error);
441                                if (response.data.error === 'No more events found.') {
442                                    jQuery('#load_more_events').hide();
443                                }
444                            }
445                        },
446                        error: function(xhr, status, error) {
447                            console.error('AJAX Error:', status, error);
448                        }
449                    });
450                };                
451            },
452
453            /**
454             * this function is used to get upcoming events
455             * @param {*} event 
456             */
457            getUpcomingEvents: function(event){
458                event.preventDefault();
459                var search_keywords = jQuery('#search_keywords').val();
460                var search_location = jQuery('#search_location').val();
461                var search_categories = jQuery('#search_categories').val();
462                var search_event_types = jQuery('#search_event_types').val();
463                var search_datetimes = jQuery('#search_datetimes').val();
464                var order = jQuery('#upcoming_event_listing').data('order');
465                var orderby = jQuery('#upcoming_event_listing').data('orderby');
466                var currentPage = jQuery('#upcoming_event_listing').attr('data-page');
467                var per_page = jQuery('#per-page-settings').data('per-page');
468                jQuery.ajax({
469                    type: 'POST',
470                    url: event_manager_ajax_filters.ajax_url.toString().replace("%%endpoint%%", "get_upcoming_listings"),
471                    data: {
472                        action: 'get_upcoming_listings',
473                        search_keywords: search_keywords,
474                        search_location: search_location,
475                        search_datetimes: search_datetimes,
476                        search_categories: search_categories,
477                        search_event_types: search_event_types,
478                        order: order,
479                        orderby: orderby,
480                        value: currentPage,
481                        per_page: per_page,
482                    },
483                    success: function(response) {
484                        if (response.success) {
485                            jQuery('#event-listing-view').html(response.data.events_html);
486                            jQuery('#event-listing-view').data('locked', true);
487                            var nextPage = parseInt(currentPage)+1;
488                            jQuery('#load_more_events').attr('data-page', nextPage);
489                            if (response.data.no_more_events===true) {
490                                jQuery('#load_more_events').hide();
491                            }      
492                        } else {
493                            console.error('Failed to load events:', response.data.error);
494                             jQuery('#load_more_events').hide();
495                        }
496                    },
497                    error: function(xhr, status, error) {
498                        console.error('AJAX Error:', status, error);
499                    }
500                });
501            },
502        }
503    }
504};
505EventAjaxFilters = EventAjaxFilters();
506jQuery(document).ready(function($) {
507    EventAjaxFilters.init()
508});

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.