PageSourceSearch

https://mineshield.store/wp-content/plugins/dadata-ru/assets/main.js?ver=1.0.6

js mineshield.store collected 2026-09-28 06:38:33 UTC 12,186 bytes, 244 lines download raw bytes

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.