1(function($) { 2 3 function getSortQS() { 4 5 var sort = $('.dropdown-sort-option.active').data('sort'); 6 return "&wpsolr_sort="+sort; 7 } 8 9 function getFacetsQS() { 10 var qsvars = ""; 11 var searchCategories = []; 12 $("#res_facets select").each(function(i, e){ 13 var val = $(e).val(); 14 if (val != "all") { 15 16 var qsvar = $(e).data("qsvar"); 17 var facet_id = $(e).find('option:selected').data("facet_id"); 18 19 qsvars += "&"+(facet_id || qsvar)+val; 20 searchCategories.push(val); 21 } 22 }); 23 $("#res_facets .checkboxes input:checked").each(function(i, e){ 24 var val = $(e).val(); 25 var qsvar = $(e).data("qsvar"); 26 qsvars += "&"+qsvar+val; 27 searchCategories.push(val); 28 }); 29 // if (searchCategories.length) { 30 // return "&sc="+searchCategories.join("|")+qsvars; 31 // } 32 return qsvars; 33 } 34 35 function getFacetsQS2() { 36 var qsvars = ""; 37 38 $(".search-list").each(function(i, e){ 39 var qsvar = $(this).data("qsvar"); 40 var selected = $(this).find('.search-list-input'); 41 42 43 44 if(selected.val()) { 45 var value = 46 //console.log(qsvar); 47 //console.log(selected.val()); 48 qsvars += "&"+(qsvar)+selected.val(); 49 } 50 51 }); 52 53 if(qsvars == "") { 54 $(".search-button-clear-option-qsvar").each(function(i, e){ 55 var qsvar = $(this).data("qsvar"); 56 qsvars += "&"+(qsvar); 57 }); 58 } 59 60 return qsvars; 61 62 } 63 64 function applyFilters() { 65 var baseURL = $('form.searchform').attr('action'); 66 var search = $('#vrc-search-input').val() ? $('#vrc-search-input').val() : $('#vrc-search-input-header').val(); 67 var view = ($('.vrc-component.content-list').hasClass('grid')) ? 'grid' : 'list'; 68 69 var urlParams = new URLSearchParams(window.location.href); 70 var context = urlParams.get('c'); 71 var area = urlParams.get('area') || ''; 72 73 74 var url = baseURL+"?s="+search+"&query="+search+"&area="+area+"&view="+view+getFacetsQS2()+getSortQS(); 75 76 if(null !== context) { 77 url = url+"&c="+context; 78 } 79 80 window.location = url; 81 } 82 83 $("#res_facets select#categories:first").off("change.categories").on("change.categories", function(e){ 84 $("#res_facets select#categories:not(:first)").val("all"); 85 }); 86 $("#res_facets select:not(#categories,.subcategory), #res_facets .checkboxes input, #sortby select").off("change.any").on("change.any", function(e){ 87 if($('input#has_events').prop("checked")) { 88 $('input#has_events').trigger("change"); 89 return; 90 } 91 applyFilters(); 92 }); 93 94 var originalCat = $("#res_facets select#categories option:selected").val(); 95 var originalSubcat = $('.subcategories-wrap select.subcategory:not([disabled])').val(); 96 97 if($("#res_facets select#categories option:selected").data('has_subcats')) { 98 $('.vrc-advanced-filters .filter-select-wrap.categories').addClass('has-subcategories'); 99 } 100 101 $("#res_facets select#categories").off("change.categories").on("change.categories", function(e) { 102 103 var selectedOption = $(this).find('option:selected'); 104 105 $('.subcategories-wrap select').prop('disabled', true); 106 $('.subcategories-wrap select.subcategory').val('all'); 107 108 if( selectedOption.data('has_subcats') ) { 109 110 var selectedValue = selectedOption.val(); 111 var subcats = $('.subcategories-wrap select[id="'+selectedValue+'"]'); 112 113 if(subcats.length) { 114 $('.vrc-advanced-filters .filter-select-wrap.categories').css("transition", "none"); 115 $('.vrc-advanced-filters .filter-select-wrap.categories').addClass('has-subcategories'); 116 $('.subcategories-wrap button.category-button').prop('disabled', false); 117 subcats.prop('disabled', false); 118 } 119 120 return; 121 } else { 122 123 $('.vrc-advanced-filters .filter-select-wrap.categories').css("transition", "none"); 124 $('.vrc-advanced-filters .filter-select-wrap.categories').removeClass('has-subcategories'); 125 $('.subcategories-wrap button.category-button').prop('disabled', true); 126 if( $("#res_facets select#categories option:selected").val() != originalCat ) { 127 applyFilters(); 128 } 129 130 } 131 }) 132 133 $('.vrc-advanced-filters button[data-filter="categories"]').off("
133click.transitionfix").on("click.transitionfix", function(e) { 134 $('.vrc-advanced-filters .filter-select-wrap.categories').css("transition", ""); 135 }); 136 137 138 139 $("#res_facets select.subcategory").off("change.subcategory").on("change.subcategory", function(e) { 140 if( $(this).val() != originalSubcat ) { 141 $('.subcategories-wrap button.category-button').prop('disabled', true); 142 applyFilters(); 143 } 144 }) 145 146 $('.vrc-advanced-filters .filter-select-wrap button#category-apply').off('click').on('click', function( e ) { 147 applyFilters(); 148 }) 149 150 $('.vrc-advanced-filters .filter-select-wrap button#category-cancel').off('click').on('click', function( e ) { 151 $("#res_facets select#categories").val(originalCat); 152 $("#res_facets select#categories").trigger('change'); 153 $('.subcategories-wrap button.category-button').prop('disabled', true); 154 $('.subcategories-wrap select.subcategory:not([disabled])').val(originalSubcat); 155 $('.adv-filter-selection button[data-filter="categories"]').trigger('click'); 156 }) 157 158 $('.vrc-search-advanced, #filter-close').on('click', function( e ) { 159 e.preventDefault(); 160 $('#vrc-search-wrapper').find('.vrc-advanced-filters').toggleClass('open'); 161 }); 162 163 $('[data-filter]').on('click', function( e ) { 164 e.preventDefault(); 165 const self = $(e.target); 166 const parent = self.parent(); 167 const filter = self.attr('data-filter'); 168 169 if ( filter === 'clear' ) { 170 const inputVal = document.getElementById('vrc-search-input').value; 171 self.parent().find('[data-filter]').removeClass('active'); 172 self.parent().find('.visible') 173 .removeClass('visible') 174 .children('select') 175 .prop('selectedIndex', 0); 176 // Don't allow blank re-submission 177 if ( inputVal !== '' ) { 178 document.querySelector('.searchform').submit(); 179 } 180 } else { 181 self.toggleClass('active'); 182 self.siblings('.filter-select-wrap').toggleClass('visible'); 183 parent.siblings('.adv-filter-selection, [data-filter="clear"]').toggleClass('hidden'); 184 } 185 }); 186 187 // if(typeof wp_localize_script_autocomplete !== "undefined") 188 // { 189 // if(wp_localize_script_autocomplete && wp_localize_script_autocomplete.data && wp_localize_script_autocomplete.data.wpsolr_autocomplete_selector) { 190 // var inputSelector = wp_localize_script_autocomplete.data.wpsolr_autocomplete_selector; 191 // $(inputSelector).parents('form').submit(function(e) { 192 // var search = $(inputSelector).val(); 193 // 194 // 195 // if( $("#vrc-search-input").length && '' == search) { 196 // search = ($("#vrc-search-input").val() == '') ? '' : $("#vrc-search-input").val(); 197 // $("#vrc-search-input-header").val($("#vrc-search-input").val()); 198 // } 199 // 200 // if( '' == search ) { 201 // e.preventDefault(); 202 // } 203 // }); 204 // 205 // 206 // $(inputSelector).parents('form').on('keypress', function(e) { 207 // var search = $(inputSelector).val(); 208 // 209 // if(13 == e.keyCode && '' == search && $("#vrc-search-input").length) { 210 // search = ($("#vrc-search-input").val() == '') ? '' : $("#vrc-search-input").val(); 211 // $("#vrc-search-input-header").val($("#vrc-search-input").val()); 212 // } 213 // 214 // if( 13 == e.keyCode && '' == search ) { 215 // alert('Search box is empty.') 216 // e.preventDefault(); 217 // } 218 // }); 219 // } 220 // } 221 222 223 // $('input#current-page').on('keypress', function(e) { 224 // if( 13 == e.keyCode ) { 225 // var currentPage = $(this).data('current_page'), 226 // totalPages = $(this).data('total_pages'), 227 // newPage = parseInt( $(this).val() ); 228 // if( newPage !== currentPage && newPage >= 1 && newPage <= totalPages && search !== '' ) { 229 // var baseURL = $('form.searchform').attr('action'); 230 // var search = $('#vrc-search-input').val(); 231 // var url = baseURL+"page/"+newPage+"/?s="+search+getFacetsQS2()+getSortQS(); 232 // window.location = url; 233 // } else { 234 // $(this).val(currentPage); 235 // } 236 // 237 // } 238 // }); 239 240 241 242 $(document).ready(function() { 243 244 245 246 validate_filter_buttons_visibility(); 247 248 if($('#filters').hasClass('no-results')) { 249 $('.search-list').parent().hide();
250 $("#solr-search-clear-button").attr("disabled",false); 251 } 252 253 $("#solr-search-apply-button").click(function() { 254 applyFilters(); 255 // getFacetsQS2(); 256 }); 257 258 $("#solr-search-clear-button").click(function() { 259 $(".search-button-option-active").removeClass("search-button-option-active"); 260 $(".search-list-input").val(""); 261 applyFilters(); 262 }); 263 264 $('#filter_results').click( function(e) { 265 $('#filter_results').toggleClass('active'); 266 267 var $window = $(window); 268 var windowsize = $window.width(); 269 270 if($('#filter_results').hasClass('active')) { 271 $(".solr-header-facets").addClass('active'); 272 $(".solr-active-facets").removeClass("active"); 273 } else { 274 $(".solr-header-facets").removeClass('active'); 275 $(".solr-active-facets").addClass("active"); 276 } 277 278 if (windowsize <= 768) { 279 $(".solr-active-facets").addClass("active"); 280 } 281 282 }); 283 284 $(".search-button-option").click(function () { 285 var facet = $(this).data('facet'); 286 if($(this).hasClass('search-button-option-active')) { 287 $("."+facet+"-search-button-option").removeClass("search-button-option-active"); 288 $("#"+facet+"-search-value").val(""); 289 } else { 290 $("."+facet+"-search-button-option").removeClass("search-button-option-active"); 291 $(this).addClass('search-button-option-active'); 292 $("#"+facet+"-search-value").val($(this).val()); 293 } 294 295 validate_filter_buttons_visibility(); 296 }); 297 298 299 $('.dropdown-sort-option').click(function(e) { 300 e.preventDefault(); 301 $('.dropdown-sort-option').removeClass('active'); 302 $(this).addClass('active'); 303 applyFilters(); 304 }); 305 306 if( $('.search-button-option-active').length) { 307 $(".solr-active-facets").append('<label class="search-active-label">Filtering by: </label>'); 308 $('.search-button-option-active').each(function(i, e){ 309 var btn = "<button id='clear-option-"+i+"' class='search-button-clear-option' data-facet='"+$(this).data("facet")+"'>"+$(this).text()+"<span>x</span></button>"; 310 $(".solr-active-facets").append(btn); 311 $(".solr-active-facets").addClass("active"); 312 }); 313 } else { 314 var url_string = window.location.href; 315 316 var is_ie11 = check_ie11(); 317 if(is_ie11){ 318 var wpsolr_fq_1 = getQueryString("wpsolr_fq[1]"); 319 var wpsolr_fq_2 = getQueryString("wpsolr_fq[2]"); 320 }else{ 321 var url = new URL(url_string); 322 var wpsolr_fq_1 = url.searchParams.get("wpsolr_fq[1]"); 323 var wpsolr_fq_2 = url.searchParams.get("wpsolr_fq[2]"); 324 } 325 326 if(wpsolr_fq_1 || wpsolr_fq_2) { 327 $(".solr-active-facets").append('<label class="search-active-label">Filtering by: </label>'); 328 if(wpsolr_fq_1) { 329 var fq1 = wpsolr_fq_1.split(':'); 330 var btn = "<button class='search-button-clear-option' data-qsvar='wpsolr_fq[1]="+fq1[0]+":"+fq1[1]+"' data-facet='"+fq1[0]+"'>"+fq1[1]+"<span>x</span></button>"; 331 $(".solr-active-facets").append(btn); 332 333 } 334 if(wpsolr_fq_2) { 335 var fq2 = wpsolr_fq_2.split(':'); 336 var btn = "<button class='search-button-clear-option' data-qsvar='wpsolr_fq[2]="+fq2[0]+":"+fq2[1]+"' data-facet='"+fq2[0]+"'>"+fq2[1]+"<span>x</span></button>"; 337 $(".solr-active-facets").append(btn); 338 339 } 340 $(".solr-active-facets").addClass("active"); 341 } 342 } 343 344 345 $(".search-button-clear-option").click(function () { 346 var facet = $(this).data('facet'); 347 $("."+facet+"-search-button-option").removeClass("search-button-option-active"); 348 $("#"+facet+"-search-value").val($(this).val()); 349 $(".search-button-clear-option").addClass('search-button-clear-option-qsvar'); 350 $(this).removeClass('search-button-clear-option-qsvar'); 351 352 353 applyFilters(); 354 }); 355 356 $('.toggle-facet-button').click(function() { 357 //console.log($(this).data('target')); 358 $("#"+$(this).data('target')).slideToggle(200); 359 }); 360 }); 361 362 function validate_filter_buttons_visibility() { 363 if($(".search-button-option-active").length) { 364 $("#solr-search-apply-button, #solr-search-clear-button").attr("disabled",fal
364se); 365 } else { 366 $("#solr-search-apply-button, #solr-search-clear-button").attr("disabled",true); 367 } 368 } 369 370 $('.data-display-grid').click(function() { 371 //console.log('data-display-grid'); 372 $('.vrc-component.content-list').addClass('grid'); 373 $('.vrc-component.content-list').removeClass('list'); 374 375 }); 376 377 $('.data-display-list').click(function() { 378 //console.log('data-display-list'); 379 $('.vrc-component.content-list').addClass('list'); 380 $('.vrc-component.content-list').removeClass('grid'); 381 }); 382 383 $(document).ready(function() { 384 // Optimalisation: Store the references outside the event handler: 385 var $window = $(window); 386 var $pane = $('#pane1'); 387 388 function checkWidth() { 389 var windowsize = $window.width(); 390 if (windowsize <= 685) { 391 if($('.solr-search-sort').length) { 392 $('.vrc-component.category-suggestions').hide(); 393 } 394 } else { 395 $('.vrc-component.category-suggestions').show(); 396 } 397 398 if (windowsize <= 768) { 399 $(".solr-active-facets").addClass("active"); 400 } 401 } 402 // Execute on load 403 checkWidth(); 404 // Bind event listener 405 $(window).resize(checkWidth); 406 }); 407 408 function check_ie11(){ 409 var r = false; 410 if (navigator.appName == 'Microsoft Internet Explorer' || 411 !!(navigator.userAgent.match(/Trident/) 412 || navigator.userAgent.match(/rv:11/)) 413 || (typeof $.browser !== "undefined" && $.browser.msie == 1)){ 414 r = true; 415 } 416 return r; 417 } 418 419 function getQueryString() { 420 var key = false, res = {}, itm = null; 421 // get the query string without the ? 422 var qs = location.search.substring(1); 423 // check for the key as an argument 424 if (arguments.length > 0 && arguments[0].length > 1) 425 key = arguments[0]; 426 // make a regex pattern to grab key/value 427 var pattern = /([^&=]+)=([^&]*)/g; 428 // loop the items in the query string, either 429 // find a match to the argument, or build an object 430 // with key/value pairs 431 while (itm = pattern.exec(qs)) { 432 if (key !== false && decodeURIComponent(itm[1]) === key) 433 return decodeURIComponent(itm[2]); 434 else if (key === false) 435 res[decodeURIComponent(itm[1])] = decodeURIComponent(itm[2]); 436 } 437 438 return key === false ? res : null; 439 } 440 441})(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.