|
1 | | -document.getElementById('jstoyopta').addEventListener('keyup', function(){converter(true);}, false); |
2 | | -document.getElementById('yopta').addEventListener('keyup', function(){converter(false);}, false); |
| 1 | +const jstoyopta = document.getElementById('jstoyopta'); |
| 2 | +const yopta = document.getElementById('yopta'); |
3 | 3 |
|
| 4 | +jstoyopta.addEventListener('keyup', function(){converter(true);}, false); |
| 5 | +yopta.addEventListener('keyup', function(){converter(false);}, false); |
| 6 | + |
| 7 | +jstoyopta.addEventListener('keydown', onKeyDown); |
| 8 | +yopta.addEventListener('keydown', onKeyDown); |
| 9 | + |
| 10 | + |
| 11 | +function onKeyDown(event) { |
| 12 | + if (event.key !== 'Tab') return; |
| 13 | + |
| 14 | + event.preventDefault(); |
| 15 | + |
| 16 | + const textarea = event.target; |
| 17 | + |
| 18 | + const start = textarea.selectionStart; |
| 19 | + const end = textarea.selectionEnd; |
| 20 | + |
| 21 | + textarea.value = textarea.value.substring(0, start) + ' ' + textarea.value.substring(end); |
| 22 | + |
| 23 | + textarea.selectionStart = textarea.selectionEnd = start + 4; |
| 24 | +} |
4 | 25 |
|
5 | 26 | function converter(lang) { |
6 | 27 | if(lang) { |
7 | 28 | //переводим в йопту |
8 | | - const jstoyopta = document.getElementById('jstoyopta').value; |
9 | | - document.getElementById('yopta').value = window.yopta(jstoyopta, 'js'); |
| 29 | + yopta.value = window.yopta(jstoyopta.value, 'js'); |
10 | 30 | } else { |
11 | 31 | //переводим из йопты |
12 | | - const ystojs = document.getElementById('yopta').value; |
13 | | - document.getElementById('jstoyopta').value = window.yopta(ystojs, 'ys'); |
| 32 | + jstoyopta.value = window.yopta(yopta.value, 'ys'); |
14 | 33 | } |
15 | 34 | } |
0 commit comments