1 2let token = sh_data.dadata_api_key; 3let count = sh_data.dadata_count_r; 4let hint = sh_data.dadata_hint; 5let minchars = sh_data.dadata_minchars; 6let locations = sh_data.dadata_locations.split(","); 7let ids_input = [ 8 ['dadata_custom_name', 'NAME', 'NAME'], // id, type, parts 9 ['dadata_custom_surname', 'NAME', 'SURNAME'], 10 ['dadata_custom_fio', 'NAME'], 11 ['dadata_custom_address', 'ADDRESS'], 12 ['dadata_custom_party', 'PARTY'], 13 ['dadata_custom_bank', 'BANK'], 14 ['dadata_custom_email', 'EMAIL'], 15 ['dadata_custom_domain', 'domain'], 16 ['dadata_custom_oktmo', 'oktmo'], 17 ['dadata_custom_fms_unit', 'fms_unit'], 18 ['dadata_custom_postal_unit', 'postal_unit'], 19 ['dadata_custom_fns_unit', 'fns_unit'], 20 ['dadata_custom_fts_unit', 'fts_unit'], 21 ['dadata_custom_region_court', 'region_court'], 22 ['dadata_custom_metro', 'metro'], 23 ['dadata_custom_car_brand', 'car_brand'], 24 ['dadata_custom_mktu', 'mktu'], 25 ['dadata_custom_country', 'country'], 26 ['dadata_custom_currency', 'currency'], 27 ['dadata_custom_okved2', 'okved2'], 28 ['dadata_custom_okpd2', 'okpd2'], 29]; 30 31// Support woo 32if(sh_data.dadata_woo_off != "1") { 33 ids_input.push(['billing_first_name', 'NAME', 'NAME']); 34 ids_input.push(['shipping_first_name', 'NAME', 'NAME']); 35 ids_input.push(['billing_last_name', 'NAME', 'SURNAME']); 36 ids_input.push(['shipping_last_name', 'NAME', 'SURNAME']); 37 ids_input.push(['billing_country', 'country']); 38 ids_input.push(['shipping_country', 'country']); 39 ids_input.push(['billing_address_1', 'ADDRESS']); 40 ids_input.push(['shipping_address_1', 'ADDRESS']); 41 ids_input.push(['billing_email', 'EMAIL']); 42 ids_input.push(['billing_company', 'PARTY']); 43 ids_input.push(['billing_bank', 'BANK']); 44} 45 46let loca = []; 47for (let loc of locations) { 48 loca.push({country_iso_code: loc.trim()}); 49} 50 51function dadata_query(id, count= 5, hint = ' ', minChars = 1, mobileWidth = 980, token,type="NAME", parts=''){ 52 53 jQuery('#'+id).suggestions({ 54 token: token, 55 type: type, 56 partner: "WORDPRESS.143338", 57 count: count, 58 hint: hint.toString(), 59 minChars: minChars, 60 mobileWidth: mobileWidth, 61 params: { 62 parts: [parts] 63 }, 64 constraints: { 65 locations: loca, 66 }, 67 onSelect: function(suggestion) { 68 if(id === 'billing_address_1') { 69 jQuery("#billing_city").val(suggestion.data.city); 70 jQuery("#billing_country").val(suggestion.data.country_iso_code).change(); 71 jQuery("#billing_state").val(suggestion.data.region_with_type).change(); 72 jQuery("#billing_postcode").val(suggestion.data.postal_code); 73 } 74 if(id === 'shipping_address_1') { 75 jQuery("#shipping_city").val(suggestion.data.city); 76 jQuery("#shipping_country").val(suggestion.data.country_iso_code).change(); 77 jQuery("#shipping_state").val(suggestion.data.region_with_type).change(); 78 jQuery("#shipping_postcode").val(suggestion.data.postal_code); 79 } 80 if(id === 'billing_company') { 81 jQuery('#billing_company').val(suggestion.unrestricted_value); 82 jQuery('#billing_address').val(suggestion.data.address.value); 83 jQuery('#billing_inn').val(suggestion.data.inn);
84 jQuery('#billing_kpp').val(suggestion.data.kpp); 85 jQuery('#billing_ogrn').val(suggestion.data.ogrn); 86 } 87 if(id === 'billing_bank') { 88 jQuery('#billing_bank').val(suggestion.value); 89 jQuery('#billing_bank_address').val(suggestion.data.address.unrestricted_value); 90 jQuery('#billing_bank_bic').val(suggestion.data.bic); 91 jQuery('#billing_bank_swift').val(suggestion.data.swift); 92 jQuery('#billing_bank_correspondent_account').val(suggestion.data.correspondent_account); 93 } 94 if(id === 'dadata_custom_fio') { 95 jQuery('#dadata_custom_fio_surname').val(suggestion.data.surname); 96 jQuery('#dadata_custom_fio_name').val(suggestion.data.name); 97 jQuery('#dadata_custom_fio_patronymic').val(suggestion.data.patronymic); 98 jQuery('#dadata_custom_fio_gender').val(suggestion.data.gender); 99 } 100 if(id === 'dadata_custom_address') { 101 jQuery('#dadata_custom_address_postal_code').val(suggestion.data.postal_code); 102 jQuery('#dadata_custom_address_country').val(suggestion.data.country); 103 jQuery('#dadata_custom_address_region').val(suggestion.data.region); 104 jQuery('#dadata_custom_address_city').val(suggestion.data.city); 105 jQuery('#dadata_custom_address_street').val(suggestion.data.street); 106 jQuery('#dadata_custom_address_house').val(suggestion.data.house); 107 jQuery('#dadata_custom_address_flat').val(suggestion.data.flat); 108 } 109 if(id === 'dadata_custom_party') { 110 jQuery('#dadata_custom_party_inn').val(suggestion.data.inn);
111 jQuery('#dadata_custom_party_kpp').val(suggestion.data.kpp); 112 jQuery('#dadata_custom_party_ogrn').val(suggestion.data.ogrn); 113 jQuery('#dadata_custom_party_type').val(suggestion.data.type); 114 jQuery('#dadata_custom_party_name_full_with_opf').val(suggestion.data.name.full_with_opf); 115 jQuery('#dadata_custom_party_address_value').val(suggestion.data.address.value); 116 } 117 if(id === 'dadata_custom_bank') { 118 jQuery('#dadata_custom_bank_bic').val(suggestion.data.bic); 119 jQuery('#dadata_custom_bank_swift').val(suggestion.data.swift); 120 jQuery('#dadata_custom_bank_inn').val(suggestion.data.inn); 121 jQuery('#dadata_custom_bank_kpp').val(suggestion.data.kpp); 122 jQuery('#dadata_custom_bank_registration_number').val(suggestion.data.registration_number); 123 jQuery('#dadata_custom_bank_correspondent_account').val(suggestion.data.correspondent_account); 124 jQuery('#dadata_custom_bank_opf_type').val(suggestion.data.opf.type); 125 jQuery('#dadata_custom_bank_address').val(suggestion.data.address.unrestricted_value); 126 } 127 if(id === 'dadata_custom_domain') { 128 jQuery('#dadata_custom_domain_type').val(suggestion.data.type); 129 jQuery('#dadata_custom_domain_name').val(suggestion.data.name); 130 jQuery('#dadata_custom_domain_inn').val(suggestion.data.inn);
131 jQuery('#dadata_custom_domain_ogrn').val(suggestion.data.ogrn); 132 jQuery('#dadata_custom_domain_okved').val(suggestion.data.okved); 133 jQuery('#dadata_custom_domain_okved_name').val(suggestion.data.okved_name); 134 jQuery('#dadata_custom_domain_employee_count').val(suggestion.data.employee_count); 135 jQuery('#dadata_custom_domain_income').val(suggestion.data.income); 136 jQuery('#dadata_custom_domain_city').val(suggestion.data.city); 137 } 138 if(id === 'dadata_custom_fms_unit') { 139 jQuery('#dadata_custom_fms_unit_code').val(suggestion.data.code); 140 jQuery('#dadata_custom_fms_unit_name').val(suggestion.data.name); 141 jQuery('#dadata_custom_fms_unit_region_code').val(suggestion.data.region_code); 142 jQuery('#dadata_custom_fms_unit_type').val(suggestion.data.type); 143 } 144 145 } 146 }); 147} 148 149 150jQuery(document).ready(function ($) { 151 152 // hint - ÐоÑÑнÑÑÑий ÑекÑÑ, коÑоÑÑй показÑваеÑÑÑ Ð² вÑпадаÑÑем ÑпиÑке над подÑказками. 153 // minChars - ÐинималÑÐ½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑекÑÑа, поÑле коÑоÑой вклÑÑаÑÑÑÑ Ð¿Ð¾Ð´Ñказки. 154 // mobileWidth - ÐакÑималÑÐ½Ð°Ñ ÑиÑина ÑкÑана, пÑи коÑоÑой бÑÐ´ÐµÑ Ð¿Ñименен вид, адапÑиÑованнÑй Ð´Ð»Ñ Ð¼Ð¾Ð±Ð¸Ð»ÑнÑÑ ÑÑÑÑойÑÑв. 155 for(let i = 1; i <= ids_input.length; i++ ) { 156 dadata_query(ids_input[i-1][0], count, hint,minchars,980,token, ids_input[i-1][1],ids_input[i-1][2]); 157 } 158 159}); 160 161if(!sh_data.dadata_use_mask) { 162 document.addEventListener("DOMContentLoaded", function () { 163 var phoneInputs = document.querySelectorAll('input#billing_phone, input#dadata_custom_phone'); 164 165 var getInputNumbersValue = function (input) { 166 // Return stripped input value â just numbers 167 return input.value.replace(/\D/g, ''); 168 } 169 170 var onPhonePaste = function (e) { 171 var input = e.target, 172 inputNumbersValue = getInputNumbersValue(input); 173 var pasted = e.clipboardData || window.clipboardData; 174 if (pasted) { 175 var pastedText = pasted.getData('Text'); 176 if (/\D/g.test(pastedText)) { 177 // Attempt to paste non-numeric symbol â remove all non-numeric symbols, 178 // formatting will be in onPhoneInput handler 179 input.value = inputNumbersValue; 180 return; 181 } 182 } 183 } 184 185 var onPhoneInput = function (e) { 186 var input = e.target, 187 inputNumbersValue = getInputNumbersValue(input), 188 selectionStart = input.selectionStart, 189 formattedInputValue = ""; 190 191 if (!inputNumbersValue) { 192 return input.value = ""; 193 } 194 195 if (input.value.length != selectionStart) { 196 // Editing in the middle of input, not last symbol 197 if (e.data && /\D/g.test(e.data)) { 198 // Attempt to input non-numeric symbol 199 input.value = inputNumbersValue; 200 } 201 return; 202 } 203 204 if (["7", "8", "9"].indexOf(inputNumbersValue[0]) > -1) { 205 if (inputNumbersValue[0] == "9") inputNumbersValue = "7" + inputNumbersValue; 206 var firstSymbols = (inputNumbersValue[0] == "8") ? "8" : "+7"; 207 formattedInputValue = input.value = firstSymbols + " "; 208 if (inputNumbersValue.length > 1) { 209 formattedInputValue += '(' + inputNumbersValue.substring(1, 4); 210 } 211 if (inputNumbersValue.length >= 5) { 212 formattedInputValue += ') ' + inputNumbersValue.substring(4, 7); 213 } 214 if (inputNumbersValue.length >= 8) { 215 formattedInputValue += '-' + inputNumbersValue.substring(7, 9); 216 } 217 if (inputNumbersValue.length >= 10) { 218 formattedInputValue += '-' + inputNumbersValue.substring(9, 11); 219 } 220 } else { 221 formattedInputValue = '+' + inputNumbersValue.substring(0, 16); 222 } 223 input.value = formattedInputValue; 224 } 225 var onPhoneKeyDown = function (e) { 226 // Clear input after remove last symbol 227 var inputValue = e.target.value.replace(/\D/g, ''); 228 if (e.keyCode == 8 && inputValue.length == 1) { 229 e.target.value = ""; 230 } 231 }
232 for (var phoneInput of phoneInputs) { 233 phoneInput.addEventListener('keydown', onPhoneKeyDown); 234 phoneInput.addEventListener('input', onPhoneInput, false); 235 phoneInput.addEventListener('paste', onPhonePaste, false); 236 } 237 }) 238} 239 240jQuery(document.body).on('updated_checkout', function () { 241 for(let i = 1; i <= ids_input.length; i++ ) { 242 dadata_query(ids_input[i-1][0], count, hint,minchars,980,token, ids_input[i-1][1],ids_input[i-1][2]); 243 } 244});
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.