diff --git a/docs/assets/js/converter.js b/docs/assets/js/converter.js index f5cb09e..2f31998 100644 --- a/docs/assets/js/converter.js +++ b/docs/assets/js/converter.js @@ -1,15 +1,34 @@ -document.getElementById('jstoyopta').addEventListener('keyup', function(){converter(true);}, false); -document.getElementById('yopta').addEventListener('keyup', function(){converter(false);}, false); +const jstoyopta = document.getElementById('jstoyopta'); +const yopta = document.getElementById('yopta'); +jstoyopta.addEventListener('keyup', function(){converter(true);}, false); +yopta.addEventListener('keyup', function(){converter(false);}, false); + +jstoyopta.addEventListener('keydown', onKeyDown); +yopta.addEventListener('keydown', onKeyDown); + + +function onKeyDown(event) { + if (event.key !== 'Tab') return; + + event.preventDefault(); + + const textarea = event.target; + + const start = textarea.selectionStart; + const end = textarea.selectionEnd; + + textarea.value = textarea.value.substring(0, start) + ' ' + textarea.value.substring(end); + + textarea.selectionStart = textarea.selectionEnd = start + 4; +} function converter(lang) { if(lang) { //переводим в йопту - const jstoyopta = document.getElementById('jstoyopta').value; - document.getElementById('yopta').value = window.yopta(jstoyopta, 'js'); + yopta.value = window.yopta(jstoyopta.value, 'js'); } else { //переводим из йопты - const ystojs = document.getElementById('yopta').value; - document.getElementById('jstoyopta').value = window.yopta(ystojs, 'ys'); + jstoyopta.value = window.yopta(yopta.value, 'ys'); } }