1var $formSearchPlayers = jQuery('#form-search-players'); 2var $resultsSearchPlayers = jQuery('#search-player-results-wrapper'); 3var $paginationSearchPlayers = jQuery('#search-player-pagination-wrapper'); 4var $inputSearchPlayer = jQuery('#search_player'); 5var $inputSearchPlayerSort = jQuery('#search_player_sort'); 6var $inputSearchPlayerOrder = jQuery('#search_player_order'); 7var $inputSearchPlayerOffset = jQuery('#search_player_offset'); 8var $inputSearchPlayerFlagEligible = jQuery('#search_player_flag_eligible'); 9var $inputSearchPlayerSchoolClass = jQuery('#search_player_schoolclass'); 10var $inputSearchPlayerTeamPosition = jQuery('#search_player_teamposition'); 11var $inputSearchPlayerBirthDate = jQuery('#search_player_birthdate'); 12 13// bind our pagination links 14jQuery(document).on('click', '#search-player-pagination-wrapper a', function (e) { 15 e.preventDefault(); 16 17 var link = e.currentTarget.href.split('?')[1]; 18 var parsedLink = new URLSearchParams(link); 19 20 if (parsedLink.has('offset')) { 21 $inputSearchPlayerOffset.val(parsedLink.get('offset')); 22 } else { 23 $inputSearchPlayerOffset.val('0'); 24 } 25 26 fetchSearchPlayerResults(); 27}); 28 29// bind our sorting links 30jQuery(document).on('click', '#search-player-results-wrapper th a', function (e) { 31 e.preventDefault(); 32 33 var link = e.currentTarget.href.split('?')[1]; 34 var parsedLink = new URLSearchParams(link); 35 36 if (parsedLink.has('sort')) { 37 $inputSearchPlayerSort.val(parsedLink.get('sort')); 38 } else { 39 // default sort field 40 $inputSearchPlayerSort.val('first_name'); 41 } 42 43 if (parsedLink.has('orderBy')) { 44 $inputSearchPlayerOrder.val(parsedLink.get('orderBy')); 45 } else { 46 // default order 47 $inputSearchPlayerOrder.val('ASC'); 48 } 49 50 fetchSearchPlayerResults(); 51}); 52 53jQuery(document).ready(function () { 54 // add event listener to our form 55 $formSearchPlayers.on('submit', function (e) { 56 e.preventDefault(); 57 58 // reset our page to 0 59 $inputSearchPlayerOffset.val('0'); 60 61 fetchSearchPlayerResults(); 62 }); 63 64 // fetch default results upon page load 65 fetchSearchPlayerResults(); 66}); 67 68function fetchSearchPlayerResults() { 69 loadingSearchPlayers(); 70 71 var formData = { 72 action: 'search_players', 73 search_player: $inputSearchPlayer.val(), 74 offset: $inputSearchPlayerOffset.val(), 75 sort: $inputSearchPlayerSort.val(), 76 orderBy: $inputSearchPlayerOrder.val(), 77 flag_eligible: $inputSearchPlayerFlagEligible.val(), 78 schoolclass: $inputSearchPlayerSchoolClass.val(), 79 teamposition: $inputSearchPlayerTeamPosition.val(), 80 birthdate: $inputSearchPlayerBirthDate.val(), 81 }; 82 83 jQuery.ajax({ 84 type: 'GET', 85 dataType: 'json', 86 url: playerSearch.ajaxurl, 87 data: formData, 88 success: displaySearchPlayerResults, 89 }); 90} 91 92function loadingSearchPlayers() { 93 $resultsSearchPlayers.html('Loading players..'); 94 $paginationSearchPlayers.html(''); 95} 96 97function displaySearchPlayerResults(response) { 98 $resultsSearchPlayers.html(response.results); 99 $paginationSearchPlayers.html(response.pagination); 100 101 updateFacetLinks(); 102} 103 104function updateFacetLinks() { 105 // update facet links to include the queried player name 106 jQuery('.facet-widget-content a').each(function () { 107 var href = jQuery(this).prop('href').split('?'); 108 var base = href[0]; 109 var link = href[1]; 110 var parsedLink = new URLSearchParams(link); 111 112 parsedLink.set('search_player', $inputSearchPlayer.val()); 113 114 jQuery(this).prop('href', base + '?' + parsedLink.toString()); 115 }); 116}
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.