1jQuery(document).ready(function ($) { 2 $(document).on('gform_post_render', function(event, form_id, current_page){ 3 var token_target = localStorage.getItem("token_target") || ''; 4 var company_target = localStorage.getItem("company_target") || ''; 5 6 $(".altares-db-search input").before('<div><i class="fa fa-search"></i></div>'); 7 $(".altares-db-search input").closest('form').append('<input class="token_target" name="token_target" type="text" value="' + token_target + '" style="display: none;" />'); 8 $(".altares-db-search input").closest('form').append('<input class="company_target" name="company_target" type="text" value="' + company_target + '" style="display: none;" />'); 9 var int = $(".altares-db-search.int")[0]; 10 var labels_language = int && int.className.split(' ').filter(function(klass) {return klass.split('_')[0] === 'label'}).length ? int.className.split(' ').filter(function(klass) {return klass.split('_')[0] === 'label'})[0] : 'label_fr'; 11 var top_countries = int ? int.className.split(' ').filter(function(klass) {return klass.split('/')[0] === 'top'}) : []; 12 var top_only = $(".altares-db-search.int.top_only")[0] ? $(".altares-db-search.int.top_only")[0] !== undefined : false; 13 var default_country = int && int.className.split(' ').filter(function(klass) {return klass.split('_')[0] === 'default'}).length ? int.className.split(' ').filter(function(klass) {return klass.split('_')[0] === 'default'})[0].split('_')[1].toUpperCase() : 'FR'; 14 var top_data = []; 15 var options = ''; 16 var placeholder = { 17 label_fr: 'Nom de l\'entreprise', 18 label_en: 'Search company name', 19 label_nl: 'Zoek bedrijf' 20 }; 21 var ginput_container_phone = $(".ginput_container_phone input")[0]; 22 if (!int && ginput_container_phone) { 23 $(".altares-db-search input").closest('form').append('<input id="phone_target" name="phone_target" type="text" value="' + ginput_container_phone.name + '" style="display: none;" />'); 24 } 25 26 $.getJSON(wnm_custom.siteurl + "/wp-content/plugins/altares-search-db/assets/countries.json", function (data, status, xhr) { 27 if (top_countries.length) { 28 top_countries[0].split('/').filter(function(code) {return code !== 'top'}).forEach(function(code) { 29 top_item = data.filter(function(item) {return item.alpha_2 === code})[0]; 30 if (top_item) { 31 top_data.push(top_item); 32 } 33 data = data.filter(function(item) {return item.alpha_2 !== code}); 34 }); 35 36 top_data.sort(function(a, b){ 37 return a[labels_language].localeCompare(b[labels_language]); 38 }); 39 } 40 41 data.sort(function(a, b){ 42 return a[labels_language].localeCompare(b[labels_language]); 43 }); 44 45 top_data.forEach(function(item) { 46 options += '<option value="' + item.alpha_2 + '" ' + (item.alpha_2 === default_country ? "selected" : "") + '>' + item[labels_language] + '</option>' 47 }); 48 49 if (!top_only) { 50 if (top_data.length) { 51 options += '<option disabled>----------</option>' 52 } 53 54 data.forEach(function(item) { 55 options += '<option value="' + item.alpha_2 + '" ' + (item.alpha_2 === default_country ? "selected" : "") + '>' + item[labels_language] + '</option>' 56 }); 57 } 58 59 $(".altares-db-search.int input").after('<select class="search_language">' + options + '</select>'); 60 61 $('.search_language').on('change', function() { 62 $(".altares-db-search input") 63 .removeClass("ui-autocomplete-selected") 64 .val('').change(); 65 $('[class*="alta_"]').find('input').val('').change(); 66 $("#data_token").val('').change(); 67 $("#data_company").val('').change(); 68 69 $(".ui-autocomplete.ui-menu li").remove(); 70 }); 71 }); 72 73 $(".altares-db-search div.ginput_container_text").addClass("searchbar center"); 74 75 $(".altares-db-search input").wrap('<div></div>'); 76 $(".altares-db-search input").attr({"autocomplete":"nope","role":"combobox","aria-autocomplete":"list", "aria-expanded":"false","placeholder": placeholder[labels_language]}); 77 78 $(".altares-db-search input").focus(function(){ 79 if ($(this)[0].value.length > 2) { 80 $(".ui-autocomplete.ui-menu").css("display","block"); 81 } 82 }); 83 84 $.widget("ui.altaSearch", $.ui.autocomplete, { 85 _resizeMenu: function () { 86 this.menu.element.outerWidth( this.element.outerWidth() ); 87 }, 88 _renderItem: function( ul, item ) { 89 return $( "<li>" ) 90 .append( "<div><strong>" + item.name + "</strong><br><small>" + item.activity + "<br>" + item.venue + "</small></div>" ) 91 .appendTo( ul ); 92 } 93 }); 94 95 $(".altares-db-search input").altaSearch({ 96 minLength: 2, 97 source: function (request, response) { 98 $(".altares-db-search input").removeClass("ui-autocomplete-selected"); 99 request.lang = $(".search_language").val() || 'FR'; 100 $.getJSON(wnm_custom.siteurl+"/wp-json/altares-search-db/v1/search", request, function (data, status, xhr) { 101 response(data); 102 $(".ui-autocomplete.ui-menu").css("display","block"); 103 }); 104 }, 105 select: function (event, ui) { 106 $('[class*="alta_"]').find('input').val('').change(); 107 $("#data_token").val('').change(); 108 $("#data_company").val('').change(); 109 var lang = $(".search_language").val() || 'FR'; 110 $.getJSON(wnm_custom.siteurl+"/wp-json/altares-search-db/v1/criteria", 'lang=' + lang + '&token='
110+ ui.item.token, function (dataCriteria, status, xhr) { 111 $(event.target).addClass("ui-autocomplete-selected"); 112 113 var required_fields = $('[class*="alta_"]').toArray(); 114 var formated_required_fields = []; 115 required_fields.forEach(function(item) { 116 var target = item.className.split(' ').filter( 117 function(i) { 118 return i.split('alta_')[0] === '' 119 } 120 ); 121 122 var fields_target = item.className.split(' ').filter( 123 function(i) { 124 return i.split('/')[0] === 'fields' 125 } 126 ); 127 128 if (fields_target.length === 1) { 129 $(item).find('input').val('alta>' + fields_target[0]).change(); 130 } else { 131 $(item).find('input').val('alta>' + target[0].split('alta_')[1]).change(); 132 } 133 }); 134 135 $(".token_target").each( function() { 136 $( this ).val(dataCriteria.token).change(); 137 }); 138 $(".company_target").each( function() { 139 $( this ).val(dataCriteria.company).change(); 140 }); 141 142 localStorage.setItem("token_target", dataCriteria.token); 143 localStorage.setItem("company_target", dataCriteria.company); 144 }); 145 }, 146 position: { my: "left-0 top", at: "left bottom", collision: "none" } 147 }); 148 }); 149 150 $(document).on('gform_confirmation_loaded', function(event, formId){ 151 localStorage.removeItem("token_target"); 152 localStorage.removeItem("company_target"); 153 }); 154 155});
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.