Changeset 2854582
- Timestamp:
- 01/25/2023 05:37:34 PM (3 years ago)
- Location:
- dadata-ru
- Files:
-
- 12 added
- 2 deleted
- 3 edited
-
tags/1.0.5 (added)
-
tags/1.0.5/assets (added)
-
tags/1.0.5/assets/img (added)
-
tags/1.0.5/assets/img/dadata-logo.svg (added)
-
tags/1.0.5/assets/index.php (added)
-
tags/1.0.5/assets/jquery.suggestions.min.js (added)
-
tags/1.0.5/assets/main.css (added)
-
tags/1.0.5/assets/main.js (added)
-
tags/1.0.5/dadata-ru.php (added)
-
tags/1.0.5/index.php (added)
-
tags/1.0.5/readme.txt (added)
-
tags/1.0.5/uninstall.php (added)
-
trunk/assets/cleave-phone.ru.js (deleted)
-
trunk/assets/cleave.min.js (deleted)
-
trunk/assets/main.js (modified) (2 diffs)
-
trunk/dadata-ru.php (modified) (4 diffs)
-
trunk/readme.txt (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
dadata-ru/trunk/assets/main.js
r2852907 r2854582 5 5 let hint = sh_data.dadata_hint; 6 6 let minchars = sh_data.dadata_minchars; 7 let dadata_use_mask = sh_data.dadata_use_mask;8 7 let ids_input = [ 9 8 ['dadata_custom_name', 'NAME', 'NAME'], // id, type, parts … … 143 142 } 144 143 145 if(dadata_use_mask){146 new Cleave('#billing_phone', {147 phone: true,148 phoneRegionCode: 'RU',149 });150 new Cleave('#dadata_custom_phone', {151 phone: true,152 phoneRegionCode: 'RU',153 });154 }155 156 157 158 144 }); 159 145 160 146 147 if(sh_data.dadata_use_mask) { 148 document.addEventListener("DOMContentLoaded", function () { 149 var phoneInputs = document.querySelectorAll('input#billing_phone, input#dadata_custom_phone'); 150 151 var getInputNumbersValue = function (input) { 152 // Return stripped input value — just numbers 153 return input.value.replace(/\D/g, ''); 154 } 155 156 var onPhonePaste = function (e) { 157 var input = e.target, 158 inputNumbersValue = getInputNumbersValue(input); 159 var pasted = e.clipboardData || window.clipboardData; 160 if (pasted) { 161 var pastedText = pasted.getData('Text'); 162 if (/\D/g.test(pastedText)) { 163 // Attempt to paste non-numeric symbol — remove all non-numeric symbols, 164 // formatting will be in onPhoneInput handler 165 input.value = inputNumbersValue; 166 return; 167 } 168 } 169 } 170 171 var onPhoneInput = function (e) { 172 var input = e.target, 173 inputNumbersValue = getInputNumbersValue(input), 174 selectionStart = input.selectionStart, 175 formattedInputValue = ""; 176 177 if (!inputNumbersValue) { 178 return input.value = ""; 179 } 180 181 if (input.value.length != selectionStart) { 182 // Editing in the middle of input, not last symbol 183 if (e.data && /\D/g.test(e.data)) { 184 // Attempt to input non-numeric symbol 185 input.value = inputNumbersValue; 186 } 187 return; 188 } 189 190 if (["7", "8", "9"].indexOf(inputNumbersValue[0]) > -1) { 191 if (inputNumbersValue[0] == "9") inputNumbersValue = "7" + inputNumbersValue; 192 var firstSymbols = (inputNumbersValue[0] == "8") ? "8" : "+7"; 193 formattedInputValue = input.value = firstSymbols + " "; 194 if (inputNumbersValue.length > 1) { 195 formattedInputValue += '(' + inputNumbersValue.substring(1, 4); 196 } 197 if (inputNumbersValue.length >= 5) { 198 formattedInputValue += ') ' + inputNumbersValue.substring(4, 7); 199 } 200 if (inputNumbersValue.length >= 8) { 201 formattedInputValue += '-' + inputNumbersValue.substring(7, 9); 202 } 203 if (inputNumbersValue.length >= 10) { 204 formattedInputValue += '-' + inputNumbersValue.substring(9, 11); 205 } 206 } else { 207 formattedInputValue = '+' + inputNumbersValue.substring(0, 16); 208 } 209 input.value = formattedInputValue; 210 } 211 var onPhoneKeyDown = function (e) { 212 // Clear input after remove last symbol 213 var inputValue = e.target.value.replace(/\D/g, ''); 214 if (e.keyCode == 8 && inputValue.length == 1) { 215 e.target.value = ""; 216 } 217 } 218 for (var phoneInput of phoneInputs) { 219 phoneInput.addEventListener('keydown', onPhoneKeyDown); 220 phoneInput.addEventListener('input', onPhoneInput, false); 221 phoneInput.addEventListener('paste', onPhonePaste, false); 222 } 223 }) 224 } 225 161 226 -
dadata-ru/trunk/dadata-ru.php
r2852907 r2854582 3 3 * Plugin Name: «Подсказки» от DaData.ru 4 4 * Plugin URI: https://shafeev.net/plugins/podskazki-ot-dadata-ru 5 * Description: Быстрый ввод адресов, компаний, банков, ФИО, email и ещё много чего. 5 * Description: Быстрый ввод адресов, компаний, банков, ФИО, email и ещё много чего. Маска ввода телефона для российских и других номеров. 6 6 * Text Domain: dadata-ru 7 * Version: 1.0. 47 * Version: 1.0.5 8 8 * Author: Shamil Shafeev 9 9 * Author URI: https://shafeev.net/ … … 29 29 30 30 define("SHDADATA_PATH", plugin_dir_path(__FILE__)); 31 define("SHDADATA_VERSION", '1.0. 4');31 define("SHDADATA_VERSION", '1.0.5'); 32 32 33 33 … … 55 55 public function Shdadata_enqueue_scripts() { 56 56 wp_enqueue_script('shdadata-jquery-suggestions-min', plugins_url( '/assets/jquery.suggestions.min.js', __FILE__), array('jquery'),SHDADATA_VERSION ); 57 wp_enqueue_script('cleave-min', plugins_url( '/assets/cleave.min.js', __FILE__ ), array(),SHDADATA_VERSION );58 wp_enqueue_script('cleave-phone-ru', plugins_url( '/assets/cleave-phone.ru.js', __FILE__ ), array(),SHDADATA_VERSION );59 57 wp_enqueue_style('shdadata-main-css', plugins_url( '/assets/main.css', __FILE__ ), array(), SHDADATA_VERSION ); 60 58 … … 147 145 add_settings_field( 148 146 'dadata_use_mask', 149 ' Выключить поддержку масок ввода',147 'Поддержка маски ввода телефонного номера', 150 148 [$this,'dadata_api_field_'], 151 149 'general', -
dadata-ru/trunk/readme.txt
r2852907 r2854582 4 4 Tags: dadata, WooCommerce, dadata-ru, dadata.ru, shdadata, wpcf7 5 5 Tested up to: 6.1.1 6 Stable tag: 1.0. 46 Stable tag: 1.0.5 7 7 Requires PHP: 5.6 8 8 License: GPLv2 or later … … 11 11 12 12 Интеграция сервиса «Подсказки» от DaData.ru. Позволяет подключить подсказки: автозаполнение полей ФИО, Адреса, данные по ИНН и тд. 13 Поддерживает возможность установить маску ввода телефонного номера. 13 14 14 15 == Description == … … 16 17 Плагин позволяет подключить подсказки DaData.ru на своем сайте WordPress. 17 18 Подсказки Dadata: автозаполнение полей ФИО, Адреса, данные по ИНН и тд. 19 Поддерживает возможность установки маски ввода телефонного номера у полей. 18 20 19 21 **Демо**: [на сайте](https://demo.wpsham.ru/checkout/?add-to-cart=13) … … 44 46 * Быстрый ввод ОКВЭД. 45 47 * Быстрый ввод ОКПД. 48 * Маска ввода телефона для российских и других номеров 46 49 47 50 **Пример работы в Contact Form 7** … … 66 69 == Changelog == 67 70 71 = 1.0.5 = 72 * Добавлено: маска ввода телефона для российских и других номеров 73 * Мелкие правки 74 68 75 = 1.0.4 = 69 76 * Добавлено форматирование номера телефона (Cleave.js)
Note: See TracChangeset
for help on using the changeset viewer.